Skip to content

2026-06-14 MkDocs

前の日記

はじまり

最初はDiablo4のゲーム内のテキストをMarkDownでコツコツと書き溜めていたのである。何故こんな事をするのか自分でも分からないが、そういう性癖なので仕方がない。それについてはここでは深くは述べない。

最初はVS Codeでプレビューを表示して満足していたのだが、ゲームが進行するにつれてある程度の量が溜まってきた。次に考えたのは、これを何とかWebサイトとして公開できないか?ということである。人は他人からの承認なしには生きていけないのだ。

MkDocsを試す

VS Codeの拡張を使えば複数のMarkDownファイルから一括でHTMLを生成できることは、AIに聞いて何となく分かっていた。もう少し調べてみると、静的サイトを作るのであればMkDocsというツールが定番で便利らしい、というのも分かった。今ではAIが何でも教えてくれる。

実際に金曜の夜に入れてVS Codeから実行してみた。VS Codeに拡張をインストールして、

$ mkdocs serve

を叩くと、http://127.0.0.1:8000/でローカルにサーバを起動してくれるので、これだけでブラウザから動作検証ができる。

MkDocsがMarkDownファイルから生成したサイトを色々触ってみたが、機能的には個人サイトとしては十分に満足できるものだった。コマンド一発で、書き溜めたMarkDownファイルの山からモダンな静的サイト一式が生成できる。Webサーバだけで動く、全く完全に静的なやつだ。アプリケーションサーバもデータベースもRedisも他には何も必要ない。

今はWordPressを使ってささやかなサイトを運営(放置)しているのだが、自宅サーバでWordPressを使うとどうして動きがも重いし、何よりセキュリティ対策をするのが面倒である。それに比べてMKDocsから生成した静的サイトであれば、動作も比べ物にならないほど軽量だし、セキュリティについては概ねフロントのWebサーバだけを気にしておけば良い。

WSL2にNginxを入れる

ということで一念発起して、改めて自宅サーバでWebサイトを立てることにしたのである。Webサーバは仕事でも慣れているNginxにした。

現在はWindows上でNginxが動いているが、今回は折角なのでWSL2にNginxを入れることにした。サーバーを管理するならLinuxの方が慣れているし、ログを見るにしても、普段仕事で使っているLinuxのコマンドを使った方が慣れているので楽だ。Windows PowerShellは個人的にはどうも使いにくい。いや、どうも使いにくい、ではなく、かなり使いにくい。

最初は、ホスト側のWindwsからWSL2のnginxに対して通信が流れるようにトンネルを掘ったが、AIによると今はミラーモードというものがあるらしい。これを使用すると、ホストOSに対するポート80への通信をそのままWSLに流せるので楽だ。

apt-getで最新の安定版をインストールして作業完了。この辺りはAIが言うままコマンドを流すだけである。

DynamicDNSを設定する

DynamicDNSは、国産のMyDNS.jpを選んだ。

インターネットからのhttp://dezikomoe.mydns.jp/への接続は確認できたので、

$ mkdocs build

を使って静的ファイルを一括出力し、サイト公開成功。後はGoogle Search Consoleに新しいサイトを登録して作業完了した。

当初のDiablo4を遊ぶという目的からどんどん遠ざかって行く。おれはいつもこうだ。

次の日記