Fenced Code Blocks ================== Summary ------- This extension adds a secondary way to define code blocks which overcomes a few limitations of the indented code blocks. This extension is included in the standard Markdown library. Syntax ------ Fenced Code Blocks are defined using the syntax established in [PHP Markdown Extra][php]. [php]: http://www.michelf.com/projects/php-markdown/extra/#fenced-code-blocks Thus, the following text (taken from the above referenced PHP documentation): This is a paragraph introducing: ~~~~~~~~~~~~~~~~~~~~ a one-line code block ~~~~~~~~~~~~~~~~~~~~ Fenced code blocks can have a blank line as the first and/or last line of a code block and they can also come immediately after a list item without becoming part of the list. In addition to PHP Extra's syntax, you can define the language of the code block for use by syntax highlighters etc. The language will be assigned as a class attribute of the ``<code>`` element in the output. Therefore, you should define the language as you would a css class - ``.language``. For consistency with other markdown syntax, the language can *optionally* be wrapped in curly brackets: ~~~~{.python} # python code ~~~~ ~~~~.html <p>HTML Document</p> ~~~~ The above will output: <pre><code class="python"># python code </code></pre> <pre><code class="html"><p>HTML Document</p> </code></pre> Usage ----- From the Python interpreter: >>> html = markdown.markdown(text, ['fenced_code'])