Hello, ZOLA を失敗した話
HELLO, ZOLA
World!!!!! としたかったけど、
移行が面倒すぎたので諦めた話。
以下は作業ログです。一応終りは見えたけど、
ELECTIONS
Jekyll でサイト作るの飽きてきたので、 新しい SSG(Static Site Generator) に変更することにした。
選定必須基準として、以下の条件を。
- markdown 形式1 で書けること
- Jekyll と同じ URL が生成されること
いまどき直接 HTML で書く人はあまりいないし、いままでの記事があるので markdown で書けることは当然ですね。 もうひとつの必須条件として、 Jekyll で設定した URL で記事が書けることとなります。 これは現在出している記事の URL を変更しないために必須です。
移行に苦労しないようにするために以下の条件をとることにした。
- Jekyll と同じ様に markdown の先頭に frontmatter でいろいろと設定できること
- Jekyll と同様にテーマが選択できること
- バイナリーで配ってること
frontmatter については移行を楽にするためで多少の書き替えはしかたがないとしています。 デザイン変更を楽にするためテーマが選択できる SSG だといいなあと思い。 バイナリーで配ってあると楽なんですよ2。
以上の条件を踏まえいくつか検討してみましたが、 zola にしました。
Jekyll to Zola
やったこと
まず、ファイル名が .markdown
と混在してので .md
へ統一。
つぎに markdown 先頭の frontmatter を YAML から TOML へ変換する。
これは大変な話ではなく、 frontmatter 部分を読み込んで変更するだけです。
でこの変更部分なのですが、大抵の部分は問題にならないです。
大抵の部分は……
URL の設定
URL の設定は、参考サイト の設定を利用して変換します。
ここで問題となるのが、Jekyll の設定で、 /blog/%Y/%m/%d/file-name
となっていることです。
Zola では
(そもそも config.toml
で設定する slugify
に設定する方法があるようですが、イマイチ使えずslugify
を勘違いしてた)。
ディレクトリを利用し設定する方法と frontmatter に path
で設定する方法があります。
今回は frontmatter で path
指定して URL を設定することにしました。
変換はファイル名から取得すればよいので問題は特になく変換できました。
ただ、変換する際にこのままだと挿入するには注意が必要で、挿入する必要があります。
これは Array#insert
を利用すれば 解決 ですね。
テーマ
テーマ はあるのですがプラグイン形式というわけではなく、 git clone
or git submodule add
して利用する点が慣れない。
気になる部分は template/
に修正ファイルを全部作る必要があり面倒でした。
Cargo でインストールできればいいのに……
ということでもっと面倒臭い自分のテーマを作ることでこの気になる点を解決。
作成方法は 公式ドキュメント を参考にすすめれば問題なく作成できます。
テーマというか、普通にテンプレート化するだけです。
テーマ化 も実際は簡単にでき、 theme.toml
を書いておけば大丈夫なようです。
個人的に利用しているだけなのでテーマ化はしないですが。
FEED.XML
RSS Feed 自体はサポートされていますが、 URL のパスが /atom.xml
か /rss.xml
になってしまうため
旧来のパス /feed.xml
は新規にテンプレートを作る必要があります。
これは追い追い考える。現状 Jekyll にあった feed.xml
を作るのは大変すぎる。
こまかい修正
いくつか気になる部分があったがこまかいので手で修正
- 脚注の順番が脚注を書いた順に出力
- Syntax Highlighting のサポート言語
- 画像の変更
- rake task の整理
脚注は脚注で引用した順番ではなく、脚注を書いた順になっているので修正してます。 Syntax Highlighting ではサポートされていない書きかた(console)をやめてサポートされている言語(bash)へ修正。 画像の変更はとくに zola は関係なく、大きいファイルが多いので変更しています。 rake task では、いままでデプロイやら記事作成やらなんだかんだやっていたので整理を行いました。 今は一旦、記事作成だけにしております。そのうちデプロイを行なえるようになると思います
とここまで書いたけどデプロイやめた
というのが、 feed.xml
の移行とスタイルの修正が思った以上に大変で中止。
この今 Jekyll のテーマのスタイルがあれば、そのうち変更するかもね。