MarkdownExtra記法まとめ

Markdown

Markdownの拡張記法にはさまざまなものがありますが、その中の一つにMarkdownExtraというものがあります。先日、Parsedownを拡張するParsedownPlusを公開したこともあり、Parsedownでも使用可能なMarkdownExtra記法について書き方を調べてみました。

仕様原文

MarkdownExtraの仕様原文はこちらを参考ください。

参考

オリジナルのMarkdown記法の仕様原文はこちらを参考ください。

ParsedownPlusについてはこちらをご参考ください。

MarkdownExtraで追加される記法

定義リスト(<dl><dt><dd>)

用語を定義して、その意味を説明するときに使うもの。Markdownになんでなかったのか不思議でした。
定義リストを書くには、次のように1行目に定義、2行目の先頭にコロン(:)を書き、定義の内容を記述していきます。

定義1
: 定義内容1

属性指定

MarkdownExtraでは、要素に対してclass属性やid属性を追加することができます。Markdownに対応したブログでCSSを当てる場合に重宝します。
属性を追加するには、波括弧{}の中に属性を記述します。class属性はドット(.)、id属性は#で始めます。

# header {.class #id}

脚注

脚注は[^1]のようにキャレット(^)+数字をカギ括弧でくくることにより指定できます。脚注の定義は、本文と同じくキャレット+数字をカギ括弧でくくったもので始めます。脚注の定義はページ内のどこにあっても大丈夫です。

ParsedownPlus[^1]はParsedownの機能を拡張するライブラリです。
[^1]https://github.com/Izadori/parsedown-plus

省略表記(<abbr>)

MarkdownExtraでは省略表記を使うことができます。省略表記とは、略称に対する正規名称等を、略称にカーソルを合わせたときに表示してくれる機能です。
次のように省略表記に対する正式名称を記述しておくと、省略表記を自動的に認識して変換してくれます。

*[HTML]: Hyper Text Markup Language

テーブルの簡略記法

MarkdownExtraでは両端のパイプ(|)が省略可能です。

見出し1|見出し2|見出し3
-------|-------|-------
内容1  |内容2  |内容3  

コードブロック

通常のMarkdownではコードブロックを表すのに4つ以上のスペースによるインデントか、3つ以上のバッククォート(`)が必要です。MarkdownExtraではそれに加え、チルダ(~)を3つ以上続けることでもコードブロックを表すことができます。
チルダによるコードブロック表記では、後ろにclass属性を付加することもできます。

~~~
コードブロック
~~~

~~~.cpp
// C++のコードブロックです。HTMLではclass="cpp"が付加されます。
~~~

ブロックレベルHTML中のMarkdown表記の許可

Markdown記法ではブロックレベルHTML(<div>など)中では、Markdown記法は変換されません。MarkdownExtraではmarkdown="1"をHTMLタグの属性として付加することで、Markdown記法を変換することができます。

<div markdown="1">
これは *MarkdownExtra* です。
</div>

まとめ

MarkdownExtraで追加された記法についてまとめてみました。他にも細かい違いがありますので、詳細はMarkdown記法の仕様原文を参考ください。

markdown

Posted by izadori