前回までの3回のブログでzolaで多言語・SEO対応のウェブサイトを作成する方法をレポートしてきました。
その後もzolaによるサイトの試作を続けておりまして、昨日ついにyagifulのトップページをzolaに置き換えてしまいました。
ついにルビコン川を渡ってしまいました(笑)もう後戻りはできません。今後のyagifulはzolaと一蓮托生でサイト運営して参ります。
なお、この記事を書いているwordpressの日本語ブログは(少なくともしばらくは)存続させます。Emacsで記事書いていますし、それほど苦ではないことと、そもそもこのブログまで英語対応にするのは語学力的に辛いかと…
Zolaについて(復習)
この記事だけ読んでいる人向けに、zolaについて短く説明します。
ウェブサイト構築ではwordpress(WP)のような運営システム(CMS)を利用するのが一般的です。WPはブログ編集と配信がウェブサーバ上で一体化しているのですが、それとは別のサイト運営の方法もあります。Zolaではmarkdownで書かれたテキストファイルにイメージファイル等を加えた素材をPCに用意して、プログラムからHTMLファイルを予め生成した後。それらのHTMLファイルをウェブサーバー上にアップします。WPの場合ウェブサーバー上でWPが動くオーバーヘッドがありますが、zolaの場合サーバーにあるのはただのHTMLファイルなので、高速にページを配信できるなどの利点があります。
またzolaの場合、編集するのはmarkdownというテキストファイルなので、自分の気に入ったテキストエディタで記事をガンガン編集できます。エディタで編集しながら、ブラウザ上でリアルタイムに仕上がりを確認するモードも用意されているので、編集作業はそれほど大変ではありません。
HTMLをプログラム的に生成するので、WPと比べて設定の自由度は大きいと思います。zolaは多言語ページの生成に対応しているので、これを使ってyagifulのサイトを日本語・英語の両方に対応させました。設定とテンプレートファイルを編集していきさえすれば、いろいろなことが自由にできます。
Zolaと同じタイプのサイト運営システムとしてhugoというものがあります。というか、hugoのほうがユーザーが全然多いです。Go言語で書かれたhugoの後発として、zolaはrust言語を使って開発されました。私がなぜユーザーの少ないzolaを選ぶのかというと…なんででしょうか? たいした理由はありませんね(笑) Hugoに比べた利点があった気もするのですが、最近はzolaばかりいじっているので、hugoのことをだいぶ忘れてきました…
前回のブログ記事からの作業
今までのところ、大体のデザインを決めるために、かなりの部分をタグやstyleのベタ打ちで作っています(汗) ただ、だいたいこういう部品が必要だというのが少しまとまってきたので、追々スタイルファイルにまとめる予定です。よく分かっていなかったsassも少し勉強しました。変数が使えるのがいいですね。ちなみ今回新たに作ったサイトでは、日本語ページと英語ページでフォントに関するsassの変数を微妙に変えています(日本語ページではフォントサイズを小さめにして行間を大きくした)
加えて、必要となるショートコードを何個か作りました。一番大きいのはブログカード(外部のブログへのサムネイル入りリンク)を生成するショートコードでしょうか。リンク先のog情報(open graph protocol)をHTMLから予めjsonファイルに抽出保存しておいて、そのファイルをショートコードから読んでブログカードを作るというべたべたな方法なので、ちょっと公開するのに躊躇するところなのですが(笑)このあたりはhugoでも試行錯誤が必要なところだった記憶があります。
最後にこれからzolaをやろうと考えている人のために、zolaのここが困るという情報も流しておきましょう。通常のページを編集する場合は、リアルタイムにブラウザ上で出来上がりを確認できるという話を先にしましたが、セクションページではこれがうまく働かないようです。「–-fast」というオプションを外せばできると思うのでが、これだとページのアップデートに数秒レベルの時間がかかるので、ちょっとストレスが貯まります。他の不満としては、ショートコードが入れ子にできないようです(ショートコードで処理したHTMLを、別のショートコードで処理するという話。たしかhugoではできた記憶があるのですが…)
まとめ
何はともあれ、英語と日本語の対応で悩むことがなくなり、気分がすっきりしました。ツールもオープンなもので統一できたので、プロプライアタリな製品で企業の思惑に左右される心配もなくなりました。やりたいことがあれば、テンプレートファイル編集の努力次第でなんとかなりそうで、だいぶその方面のスキルも育ってきた気がします。そのうち自分でテーマを書きますかね? そっちのほうがもっとすっきりするような?
コメント