サイトリニューアル


サイト生成をTinkerer(Sphinxベース)からhugoに変えてみた。

hugo はmarkdownベースの静的サイトジェネレータです。

特徴

  • とにかく早い。Sphinxで10ページ生成に数秒かかってたのがミリ秒オーダー。
  • フォルダ監視付きサーバーバンドル。変更は即ローカルサーバー経由で確認できる。
  • テーマもいっぱいある。
  • RSSフィード、サイトマップ生成。
  • カスタムテンプレートを追加。
  • グローバルなパラメータをテンプレートエンジンから参照。
  • Disqusパーツ、Gアナリティクスパーツなども設置可能。

方向性はTinkererと似てるんだけど、 Tinkererのほうがテーマの作りの規約がしっかりしててテーマの切り替えは容易。 hugoはテーマ毎にパラメータやコンテンツレイアウトが自由なので テーマの変更=パラメータ調整やコンテンツレイアウト調整が必要。

reStructuredTextからMarkdownへ

pandocをつかって変換。自動でOKとは行かず、その後結構手直し。

reStructuredTextはドキュメントソースにいろんな表現を持たそうとしていたけれど、 ブログの場合、テンプレート側に表現のパーツを作りこめばいいので機能が冗長だった。 Markdownはシンプルだけど、ブログ記事を書くというレベルであれば問題ないと思いました。

ハマりどころ

hugoはサーバーモードを持ってて便利なんだけどサーバーモードの生成結果と生成だけさせた時で結果が違う。 サーバーモードだとリローダー用のjsとか組み込まれてしまう。 これをオンラインの上げてしまうと、表示後しばらくしてlocalhostにリダイレクトしてしまう。

結論

hugo イイヨ!