android.moparisthebest.org/source/docs/plugins/codeblock/index.markdown

2.9 KiB

layout title date sidebar footer
page Codeblock 2011-07-22 09:13 false false

With this plugin you can write blocks of code directly in your posts and optionally add titles and links.

Syntax

{{ "{% codeblock [lang:language] [title] [url] [link text] [start:#] [mark:#,#-#] [linenos:false]" }} %}
code snippet
{{ "{% endcodeblock" }} %}

Basic options

  • [lang:language] - Choose a language for the syntax highlighter. Passing 'plain' disables highlighting. (Supported languages.)
  • [title] - Add a figcaption to your code block.
  • [url] - Download or reference link for your code.
  • [link text] - Text for the link, defaults to 'link'.

{% render_partial docs/plugins/_partials/options.markdown %}

Examples

1. Here's an example without setting the language.

{% codeblock %} Awesome code snippet {% endcodeblock %}

The source:

{{ "{% codeblock" }} %}
Awesome code snippet
{{ "{% endcodeblock" }} %}

2. This example uses syntax highlighting.

{% codeblock lang:objc %} [rectangle setX: 10 y: 10 width: 20 height: 20]; {% endcodeblock %}

The source:

{% raw %}{% codeblock lang:objc %}
[rectangle setX: 10 y: 10 width: 20 height: 20];
{% endcodeblock %}{% endraw %}

3. Including a file extension in the title can also trigger highlighting.

{% codeblock Time to be Awesome - awesome.rb %} puts "Awesome!" unless lame {% endcodeblock %}

The source:

{{ "{% codeblock Time to be Awesome - awesome.rb" }} %}
puts "Awesome!" unless lame
{{ "{% endcodeblock" }} %}

4. Add an optional URL for downloading or linking to a source.

{% codeblock Javascript Array Syntax lang:js http://j.mp/pPUUmW MDN Documentation %} var arr1 = new Array(arrayLength); var arr2 = new Array(element0, element1, ..., elementN); {% endcodeblock %}

The source:

{% raw %}{% codeblock Javascript Array Syntax lang:js http://j.mp/pPUUmW MDN Documentation %}
var arr1 = new Array(arrayLength);
var arr2 = new Array(element0, element1, ..., elementN);
{% endcodeblock %}{% endraw %}

5. This example uses a custom starting line number and marks lines 52 and 54 through 55.

{% codeblock lang:coffeescript Coffeescript Tricks start:51 mark:51,54-55 %}

Given an alphabet:

alphabet = 'abcdefghijklmnopqrstuvwxyz'

Iterate over part of the alphabet:

console.log letter for letter in alphabet[4..8] {% endcodeblock %}

The source:

{% raw %}{% codeblock Coffeescript Tricks lang:coffeescript start:51 mark:51,54-55 %}
# Given an alphabet:
alphabet = 'abcdefghijklmnopqrstuvwxyz'

# Iterate over part of the alphabet:
console.log letter for letter in alphabet[4..8]
{% endcodeblock %}{% endraw %}

Other ways to embed code snippets

You might also like to use back tick code blocks, embed code from a file, or embed GitHub gists.