Attribute Lists(属性リスト)
初回公開:2018/01/01
最終更新:2018/01/13
「Attribute Lists Extension — Python Markdown」をつたない翻訳,勝手な解釈。
要約
Attribute Lists extensionは、markdownの出力にあるさまざまなHTML要素の属性を定義する構文を追加します。
このextensionは標準のMarkdownライブラリに含まれています。
構文
基本的な構文は、MarukuのAttribute Listsの機能に触発されました。
訳者の蛇足
MarukuのAttribute Listsについては
リスト
attribute listの例は、次のようになります。
{: #someid .someclass somekey='some value' }
#記号(北米以外の英語圏では「hash(ハッシュ)」と呼ぶらしい)で始まる単語は、要素のidを設定します。
ドット(.)で始まる単語は、要素に割り当てられたクラスのリストに追加されます。
キーと値のペア(somekey='some value')は、そのペアを要素に割り当てます。
ドットシンタックスはクラスに追加されますが、キーと値のペアを使用すると、常に以前に定義された属性が上書きされることに注意してください。
次の点を考慮してください。
{: #id1 .class1 id=id2 class="class2 class3" .class4 }
上記の例では、次の属性が定義されます。
id="id2" class="class2 class3 class4"
ブロックレベル
ブロックレベル要素の属性を定義するには、属性リストをブロックの最後の行に単独で定義する必要があります。
This is a paragraph. {: #an_id .a_class }
上記の結果は次のようになります。
<p id="an_id" class="a_class">This is a paragraph.</p>
唯一の例外はヘッダーで、これは1行でのみ許可されるためです。
A setext style header {: #setext} ================================= ### A hash style header ### {: #hash }
上記の結果は次のようになります。
<h1 id="setext">A setext style header</h1> <h3 id="hash">A hash style header</h3>
インライン
インライン要素の属性を定義するには、インライン要素の直後に空白のない属性リストを定義する必要があります。
[link](http://example.com){: class="foo bar" title="Some title!" }
上記の結果は次のようになります。
<p><a href="http://example.com" class="foo bar" title="Some title!">link</a></p>
使い方
extensionの一般的な使用法については、Extensionsを参照、extensionの名前としてmarkdown.extensions.attr_list
を指定してください。
このextensionは特別な設定オプションを受け入れません。