Pelican始めました

Posted on 2018-11-24 , Tagged with Pelican

Pelican 始めました。 無料で広告無いのが気に入って Blogger をずっと使っていたんだけど、すこし前の更新でテンプレートが自由にカスタマイズ出来なくなり、"Powered by Blogger"とかの文字が各ページに入るようになったので、Static Site Generator に切り替えることにしました。

Static Site Generator は沢山種類があるけれど、結局のところ Template Engine と Makedown Processer に何を使っているのかが重要だと感じました。 Pelican は、Jinja2Python-Markdown を使用しています。 どちらも有名どころで機能も十分ですね。

Makedown は拡張文法が沢山ありますが、Processer がショボいと基本文法しか使えなくて困ります。 もちろん速度も重要。なんでNodeJSってあんなに遅いんだろうね...

サイトデザインは UIKit をベースにしました。 Bootstrap でも良かったんだけど、新しいものに挑戦したかったので。

Pelican のおすすめプラグイン

Pelican には多数のプラグインがありますが、とりあえず私のお勧めはこちら。

  • summary: 記事のサマリを<!--summary-->, <!--more--> で指定できます。 なお、デフォルトの区切りは<!-- PELICAN_BEGIN_SUMMARY --><!-- PELICAN_END_SUMMARY -->ですので、変更して使っています。
  • neighbors: 前後の記事 next_article, prev_article にアクセスできます。
  • related_posts: 関連記事を作成します。
  • cjk-auto-spacing: 日本語と English の間に自動的に空白を入れ、読みやすくします。

Markdown 拡張

Python-Markdown にも、多数の拡張があります。 デフォルトでは、meta_data, extra, code_hilite などが有効になっていますね。 お勧めはこちら。

  • admonition: 注意,警告といった表示枠を作れます。
  • include: インクルードできます。Python などの用語リンクをいちいち書かなくてよいので 必須です。

Pygments について

code_hilite拡張では、Pygments を利用してコードにシンタックスハイライトを付加していますので、知っておいた方が良いでしょう。

Markdown のダメな点

Makedown 書いて HTML に変換プレビューして、再編集を繰り返すのがすごく面倒です。 プレビュー機能のあるエディタもありますが、Makedown 仕様自体が曖昧ですので本番との乖離が大きくプレビューの意味がありません。 定型文を書いている時はいいのですが、少し凝ったレイアウトを使おうとすると非常に面倒です。

Markdown 記法でダメだと思うのは、やっぱり表組み機能でしょう。 セル内改行は基本出来ないし、セル結合も列幅指定も出来ません。 はっきり言って、素の html を書き出した方が早いです。

Markdown では、文字の色、フォント種別、色等を指定することはできません。

Related article