This plugin embeds the content of a public GitHub repository into your WordPress posts. It's capable of retrieving either the full content or a snippet of a file. The code will be displayed with syntax highlighting and line numbers.
Now supports content caching for improved page responsiveness and load times.
Syntax highlighting is provided by the
Sunlight JS syntax highlighter. Many thanks to those involved in that project!
Usage
This plugin registers a shortcode that allows for embedding GitHub repo content into blog posts. To embed content into your post, use the
github
shortcode like so:
[github userid="[target user id]" repoid="[target repo id]" path="[path to content]" language="[language of target content]"]
Attributes used by the
github
shortcode:
- userid - The user ID of the repository owner.
- repoid - The ID of the repository that contains the target content.
- path - The full path to the content. This path should start at the repository root, not inclusive of the leading
/
, and terminate with the name of the target content's filename.
- language - The programming language of the code contained in the content. This information will be passed to the syntax highlighter. The value must match one of the recognized values for the Sunlight JS engine. For a list of values, see the Sunlight documentation.
- startloc - Optional. The starting line of code to display in the code snippet. If this attribute is ommitted, the first line of retrieved file will be the first line of code displayed in the snippet.
- stoploc - Optional. The final line of code (inclusive) to display in the code snippet. If this attribute is ommitted, the final line of content shown in the snippet will be the last line of the retrieved file.
Examples
Retrieve
src/support.js
from the jQuery project repo:
[getgit repoid="jquery" userid="jquery" path="src/support.js" language="javascript"]
Retrieve lines 39 through 64 of this plugin's content retrieval class:
[getgit repoid=github-wordpress-plugin userid=claycarpenter path="src/php/github_repo_content_retriever.php" language="php" startloc=39 stoploc=64]