Fenced Code Blocks
初回公開:2018/01/01
最終更新:2018/01/13
「Fenced Code Blocks Extension — Python Markdown」をつたない翻訳,勝手な解釈。
【 目次 】
要約
Fenced Code Blocks extensionは、インデントされたコードブロックのいくつかの制限を克服するコードブロックを定義する第2の方法を追加します。
このextensionは標準のMarkdownライブラリに含まれています。
構文
Fenced Code Blocksは、PHP Markdown Extraで確立された構文を使用して定義されます。
したがって、以下のテキストのように記述されます。(上記のPHPドキュメントから抜粋):
This is a paragraph introducing: ~~~~~~~~~~~~~~~~~~~~ a one-line code block ~~~~~~~~~~~~~~~~~~~~
Fenced code blocksは、コードブロックの最初 および/または 最後の行として空白行を持つことができ、リスト項目の直後に来ることもできますが、リスト項目の一部にはなりません。
警告
Fenced Code Blocksは、文書のルート・レベルでのみサポートされています。
したがって、リストやブロッククォート内にネストすることはできません。
言語
PHP Extraの構文に加えて、syntax highlightersなどによって使われるコードブロックの言語を定義することができます。
言語は<code>、要素の出力のクラス属性として割り当てられます。
したがって、CSSクラスとして言語を指定する必要があります。
他のマークダウン構文との一貫性のために、言語は任意で中括弧で囲むことができます。
~~~~{.python} # python code ~~~~ ~~~~.html <p>HTML Document</p> ~~~~
これは以下のコードで出力されます:
<pre><code class="python"># python code </code></pre> <pre><code class="html"><p>HTML Document</p> </code></pre>
GitHubのバックティック( ``)構文もサポートされています:
```python # more python code ```
強調された行
コード化されたコードブロックをCodeHiliteで強調表示したい場合は、その拡張機能を有効にしてください(Pygmentsはその依存性であることを覚えておいてください)。
また、囲まれたコードブロックの言語が渡され、適切に強調表示されます。
コード化されたコードブロックは、CodeHilite extensionのコロン構文と同様に、特定のコード行を強調することもできます。
これらの行はPHP Extraの構文で指定することができます:
~~~~{.python hl_lines="1 3"} # This line is emphasized # This line isn't # This line is emphasized ~~~~
...またはGitHubの:
```python hl_lines="1 3" # This line is emphasized # This line isn't # This line is emphasized ```
使い方
extensionの一般的な使用法については、Extensionsを参照、extensionの名前として markdown.extensions.fenced_code
を指定してください。
このextensionは特別な設定オプションを受け入れません。