変えた
変えてしばらく経ったのでメモ
きっかけ
Qiitaは技術ブログとして使っている。
それとは別に個人のブログもあって、それはwordpressを使っていた。
そのwordpressのブログは、友達と共同で使っているサーバーに載せていたが、それを辞めることになり、
それをきっかけにブログホスト方法を検討し直すことにした。
なぜZensicalか。
Zensicalはこれ。
なぜこれかというと、そうやってブログホスト方法を検討する中で、次の技術書が頭に浮かんだ。
しかし、MkDocsは今は更新されなくなって、そのメンテナが作ったZensicalが今だとおすすめらしい。
調べると色々他にも似たものはあるが、シンプルで(名前にZenがあるから?)これで良さそう。
この本の通り、Netlify + MkDocs ではなく、
Netlify + Zensical でやっていく。
なぜNetlifyか。
これ。
無料で静的サイトをホストできるから。
Github pagesでも良さそうだったが、そのためには、日記のサイトを、githubに公開でpushする必要があり、それはやりたくなかったので却下した。
次の文章はgeminiにより作成
Netlify(ネトリファイ)
静的ホスティングの元祖定番。フォーム機能や認証機能などがプラグインで簡単に足せる。 小〜中規模サイト、少し機能を足したいとき。
やり方
簡略には以下です。
- zensicalをpythonでinstall
- zensical new .を実行
- vi ./docs/posts/XXXX.md にブログファイルを生成
- zensical buildで静的ファイル生成 ./site 以下
- zensical serveで、localhost:8080でサイト確認
- git add, commit, pushでデプロイ
- Netlifyが、site以下を配信(されるようにNetlify側で設定する)
- ブラウザでNetlifyのURLからサイトを確認できる。
トラブルと運用変更
Netlifyの無料枠がバーストしてしまう
ブログ記事を編集して、push、微修正してさらにpushとしていたら、
Netlifyの無料枠のリミットに達してしまって、サイト自体見れなくなってしまった。20日目くらいで10日ほど使えなくなってしまった。
対策
- githubにpushされると同時に、Netlifyから配信される設定をオフ。
- github actionsで、workflowを手動で実行することで、配信されるワークフローを作成。
よかったこと(メリット)
- terminalでviでブログを書いてプッシュして反映、というのが結構快適。
- オフラインで書けるので、ネット無しで集中するとかがしやすい。
- 色々できすぎてしまうwordpressじゃなくて良い。少ない機能で気が散らない。
- gitなので、コミット履歴から変更履歴が終える!
その他
- 似たような静的サイト生成で次のようなものもあるらしい。次の文章は、geminiにより生成。
ドキュメント・技術ブログ特化(MkDocsの代替)
Docusaurus(ドキュサウルス)
特徴: Meta(旧Facebook)が開発。現在、技術ドキュメントサイトのデファクトスタンダードの一つ。検索機能やダークモード、多言語対応が標準で備わっています。Reactベースですが、Markdownだけで書けます。
VitePress(バイトプレス) / VuePress
特徴: Vue.jsコミュニティ発のドキュメント生成ツール。とにかく軽量で高速に動作します。シンプルで洗練されたデザインがデフォルトで手に入ります。
Hugo(ヒューゴ)
特徴: Go言語で作られており、ビルド速度が圧倒的に速いです。記事数が数千件あるような大規模なブログやドキュメントサイトでも一瞬で生成されます。
ブログ・汎用Webサイト向け
Astro(アストロ)
特徴: 近年エンジニアの間で爆発的な人気を誇るフレームワーク。MarkdownやMDX(Markdown内でコンポーネントが使える技術)との相性が抜群で、表示速度が非常に速いサイトが作れます。
Hexo(ヘキソ) / Jekyll(ジキル)
特徴: 昔からの定番ツール。JekyllはGitHub Pagesとネイティブに連携しているため、設定なしで動かせるのが強みです。
- そもそもこれらは、主に技術ドキュメントを作るような用途で使われるものらしい。今後活用していきたい。例えば社内用のサイトの説明など
次の文章はgeminiにより作成。
技術ドキュメント作成ツールの主な用途とメリットを、10行の箇条書きでまとめます。
新メンバーの受け入れ手順書: 開発環境の構築やチームのルールをまとめ、オンボーディングを効率化する。
システムの運用・障害対応手順書: 緊急時の復旧手順などを集約し、強力な検索機能で即座に参照する。
APIリファレンス・外部向け仕様書: 自社サービスと連携する外部エンジニア向けの利用ガイドを公開する。
社内規定・総務マニュアル: 経費精算や福利厚生のルールなど、全社で共有する情報を一元管理する。
プロダクトの機能仕様書: 企画・デザイン・開発の全員が常に最新の「正しい情報」を見られる場所を作る。
個人の技術ブログ・学習ノート: 外部プラットフォームに依存せず、自分のドメインで備忘録を蓄積する。
Web上の職務経歴書(ポートフォリオ): 自身のスキルや制作実績をまとめたサイトを素早く公開する。
テキスト管理による履歴の可視化: Gitで管理できるため「誰が・いつ・どこを直したか」が完璧に残る。
執筆とデザインの分離: 執筆者はMarkdown(文章)に集中するだけで、自動で見栄えの良いサイトになる。
閲覧性の高い機能が標準装備: サイト内の全文検索、自動目次生成、ダークモードなどが最初から使える。
以上