23.664

趣味の話

概要 自分のためのブログ用静的サイトジェネレータ「filversish」をリリースしました。 動機 ブログ用に使える静的サイトジェネレータにはHugoやJekyllなど、様々な選択肢があります。そのどれもが高機能で、十分に高速に動作する(未検証)と思われます。しかしながら、それらの挙動や使い方は自分で覚えなければならず、また、自分にとって都合の悪い仕様になっている場合もあります。 これらの悩みを解決するために、自分のための静的サイトジェネレータを作ることとしました。 採用技術と開発 開発にはC#を用いました。これは静的サイトジェネレータに適しているか否かよりも、手元ですぐに作り始められることを重視して選択しました。(すぐに書き始められる言語がC#くらいしかなかったため。) ライブラリは以下のものを用いました。 xoofx/markdig .mdファイルからHTMLを生成するためのMarkdownパーサー xoofx/Tomlyn 記事に付随する情報(投稿日時やタグなど)を.tomlファイルを用いて管理するためのTOMLパーサー scriban/scriban 生成したHTMLを適切なレイアウトでサイトに埋め込むためのテンプレートエンジン 開発段階では、「とりあえず動くものを作る」ということを第一の目標にしました。これは早く使えるものが手元に欲しかったということと、完成までの時間を短くすることで未完成のままになることを防ぐためです。概ね思った通りに早く作ることができましたが、ハードコードされた部分が多かったり、インターフェースなどでまとめられる部分がまとまっていなかったりなど、コードのクオリティがいくつかの点で犠牲になってしまいました。 機能 現状では最低限の機能のみが備わっています。 ブログの生成機能 .mdファイルと.tomlファイルからHTMLを生成し、テンプレートに埋め込み、適切なフォルダに配置することでブログを生成します。 テーマ機能 テーマのテンプレートとCSSを書くことで、ブログの見た目などを調整できます。 タグ機能 記事に付けられたタグから、タグ毎に一覧表示をすることができます。 今後 今後しばらくの間、機能の追加を行う予定です。現状で予定している機能追加は以下の通りです。 下書き機能の追加 2022/08/09 追加済み 投稿日と最終更新日を分ける 2022/08/10 追加済み サイトマップ出力機能 2022/08/28 追加済み 記事に説明欄を追加できるように変更 2022/12/13 追加済み テーブル(表)に対応 2022/12/13 追加済み デフォルトテーマの作成 ローカルサーバー機能 アップデートが入るたびにこの記事も更新する予定です。
題名の通りで、趣味用のブログを開設しました。 プログラミングやゲームを中心に、自分の興味のあることについて書く予定です。 基本的に雑に書くと思うので、あまり重くとらえずに適当に読んでいただけたら幸いです。 静的サイトジェネレータのテーマが作りかけなので、暫くはレイアウトが時々変わると思います。