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">&lt;p&gt;HTML Document&lt;/p&gt;
</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は特別な設定オプションを受け入れません。

ページのトップへ戻る