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/でローカルにサーバを起動してくれるので、これだけでブラウザから動作検証ができる。
作成したサイトを色々触ってみたが、機能的には個人サイトとしては十分に満足できるものだった。コマンド一発で、書き溜めたMarkDownファイルの山からモダンな静的サイト一式が生成できる。Webサーバだけで動く、全く完全に静的なやつだ。アプリケーションサーバもデータベースもRedisも必要ない。
今はWordPressを使ってささやかなサイトを運営(放置)しているが、自宅サーバなのでどうしても重いし、何よりセキュリティ対策をするのが面倒である。それに比べて、MKDocsから生成した静的サイトであれば、軽量だし、セキュリティについても概ねフロントのWebサーバを気にしておけば良い。
WSL2にNginxを入れる
ということで、一念発起して、改めて自宅サーバでWebサイトを立てることにしたのである。Webサーバは仕事でも慣れているNginxで良いだろう。
現在はWindows上でNginxが動いているが、今回は折角なのでWSL2にNginxを入れることにした。
サーバを管理するならLinuxの方が慣れているし、ログを見るにしても、普段仕事で使っているLinuxのコマンドを使った方が慣れているので楽だ。Windows PowerShellは個人的にはどうも使いにくい。
最初は、ホスト側のWindwsからWSL2のnginxに対して通信が流れるようにトンネルを掘ったが、AIによると今はミラーモードというものがあるらしい。これをやるとホストOSに対する80番ポートへの通信をそのまま流せるので楽だ。
apt-getで最新の安定版をインストールして作業完了。この辺りはAIが言うままコマンドを流すだけである。
DynamicDNSを設定する
DynamicDNSは、国産のMyDNS.jpを選んだ。
インターネットからのhttp://dezikomoe.mydns.jp/への接続は確認できたので、
$ mkdocs build
を使って静的ファイルを一括出力し、サイト公開成功。後はGoogle Search Consoleに新しいサイトを登録して作業完了した。
当初のDiablo4を遊ぶという目的からどんどん遠ざかって行く。おれはいつもこうだ。