ブログを設置しました。よろしくお願いします。
以下は余談です。
ブログを作成したきっかけは、技術者として情報発信をすること、文章で伝える能力を上げること、そして何かを継続していきたいという考えからでした。考えたことを気軽に発信できるプラットフォームになればいいなと思います。
実は、以前からホームページに「日記」を置いていたのですが、全く続きませんでした。おそらく、この時世にHTMLタグを手打ちで書いていたからだと思います。コンテンツ管理が面倒だったからです。そこで、コンテンツ管理も、情報発信も簡単になるような仕組みを作りました。その成果(作成途中)がこのブログになります。
具体的には、次のような方針でブログを作成しました。
コンテンツ管理
- コンテンツとデザインを分離する
- 文章がテキストエディタで気軽に書けること
- ローカルファイルとして保存する
- リポジトリにバックアップを取る
- 公開の際、サーバー上のデータベースを使わない
見た目:
- シンプル
- 読みやすい
- 画像を置くことで、読まなくても楽しめる
- 文章は読みたい人が読む。
機能:
- 日付による絞り込み(年, 年月)
- タグによる絞り込み
データベースレス、コンテンツ管理型ということで、静的サイトジェネレータを利用することにしました。metalsmithはローカルコンテンツをjavascriptオブジェクトに変換し、最終的にテンプレートエンジンに渡す仕組みになっています。マークダウンのコンテンツは途中でHTMLに変換したり、他にも要約文や、日付・タグによる絞込みを行うための処理を行っています。変換に時間はかかりますが、静的HTMLの配信は軽いのでトレードオフの関係でしょうか。
なお、インデックスページなどは同じURLながら、内容が頻繁に変化するため、HTMLファイルをキャッシュしない設定(ただし画像はキャッシュする)が必要になります。webサーバの設定ができない環境では、静的サイトジェネレータによるブログ配信は難しいかもしれません。
静的サイトジェネレータがもっと使いやすくなるように改良できる点があると考えています。例えば・・・
- タイトル、日付、タグ、画像のメタデータをコンテンツに付与または編集できるエディタ
- 変換完了後にサーバーに自動アップロードする仕組み
この辺りの機能も、今後作成していきたいと思います。