ゆくゆくは有へと

おかゆ/彼ノ∅有生 の雑記

Nikola を windows でやるぞ [1.5] markdown拡張

ほとんど python-markdown の話かもしれない。

iuk.hateblo.jp

もう粗方環境は整ったんだけど、Nikola での markdown の仕様をもう少し見ておかないとなと。

Jekyll では kramdown を使っていたので、kramdown で重宝してた機能があると嬉しみ…とはいえ

  • {:.class #id} の記法

くらいですね。その他はいい感じであってくれ~~

ちなみに、kramdown そのものでいいって人は、プラグインコンパイラがあるからそれを使おう。 おかゆは、せっかく python のジェネレータ使ってるんだからここで rubyコンパイラ使いたくないってので抗います。

python-markdown

pip install markdownインスコされるコンパイラpython-markdown と呼ばれるらしくて、 Nikola を windows でやるぞ [0] - ゆくゆくは有へと で導入した markdownの設定がそれにあたる。

で、この python-markdown は、色々拡張を盛り込めるのだワーイ

Extensions — Python Markdown

で、どのエクステを使うかというのを Nikola では conf.pyMARKDOWN_EXTENSIONS に書く。

MARKDOWN_EXTENSIONS = ['codehilite', 'extra']

ひとまずこれにしておいた。extra は色々いい感じのが入ったセットで、

  • Abbreviations : [略語] : 正式名称 形式
  • Attribute Lists : {:.CLASS} のやつ(!)
  • Definition Lists : 定義タグまわりのやつ(kramにもある)
  • Fenced Code Blocks : コードを~~~~で囲めるやつ
  • Footnotes : 脚注リンクできるやつ
  • Tables : 表つくれる
  • Smart Strong : I__love__you の "love" が強調されずにすむ。

が入ってる。十分やんけ

公式エクステ

サードパーティのエクステもあるけど、魔改造はいざ他に移れなくなっちゃうと怖いので、とりあえず公式エクステの他のも見てみる。他には

  • Admonition : !!! danger とかができる。
  • CodeHilite : コードをハイライトしてくれるクールガイ(Pygments使用)
  • Meta-Data : yaml 的な感じで文書のトップに色々書ける
  • New Line to Break : mdの改行が反映される(スペース2つでなく)
  • Sane Lists : リストが正気になる(いやマジで)
  • SmartyPants : 終わり引用符とかをスマートにしてくれる。
  • Table of Contents : ページ頭に目次作ってくれる。
  • WikiLinks : ウィキリンク張ってくれる

とりあえず、Admonition, Sane Lists, Table of Contents を入れたよ

MARKDOWN_EXTENSIONS = ['codehilite', 'extra', 'admonition', 'sane_lists', 'toc']

これだけでもだいぶ素敵なmarkdownライフが送れそうだ。

数式表示

ちょっと待って、mathjax が入ってへんやん!

mathjax は python-markdownだけを使う限りでは サードパーティ使えってことらしい(kramではあったのにね)

Nikola は mathjax を盛り込んであります。ヒュー!

https://getnikola.com/handbook.html#math

ただし、デフォルトで使えるようになってるわけでなく、

To use mathematics in a post, you must add the mathjax tag.

なので、数式を使う投稿のタグに mathjax を入れておきます。

たとえば、HTMLなら Euler’s formula: \(e^{ix} = \cos x + i\sin x\)
markdown だと両端の backslash が markdown処理されてしまうので二重にしておく。
Euler’s formula: \\(e^{ix} = \cos x + i\sin x\\)

インラインはこれしか使えず($...$はダメ)、スタンダロンでは \[...\]$$...$$ が使える。

これで kramdown 以上の markdown 環境が整った気がするぞい。