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/でローカルにサーバを起動してくれるので、これだけでブラウザから動作検証ができる。

作成したサイトを色々触ってみたが、機能的には個人サイトとしては十分に満足できるものだった。コマンド一発で、書き溜めた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を遊ぶという目的からどんどん遠ざかって行く。おれはいつもこうだ。

次の日記