タクテク2
昭和歌謡好き大学院生の雑記

新環境移行記念と近況報告

新環境移行記念と近況報告

これまでHTMLベタ打ちで作成していた本サイト、その結果として記事を更新するたびに

という作業を行わなければならず、 更新が非常に面倒な状況になっていました。

カテゴリページ HTML 改善前
ページングも人力

しかも、(CSSは別ファイルにしているとはいえ)デザインとコンテンツが密に結合してしまっているため「共通部分を変更したい」と思った場合に全ファイルの該当箇所を書き換える必要が発生するうえに、特にトップページ/カテゴリページを新着順で手動で並べるのはこのままではいつか手に負えなくなると判断。いったん記事の更新を停止し、 静的サイトジェネレータ環境に移行することを決意。

記事執筆 Markdown
MarkdownをHTMLに自動変換

これにより、

という動作が実現され、ページ更新が非常に楽になりました。しかも、レイアウト変更はテーマファイルを変更して再ビルドすればOKなので、デザインとコンテンツの分離も実現することができました。

今回は環境移行後初めての記事ということで、静的サイトジェネレータ環境への移行についての振り返りと、 近況報告という名の自分語りでもしていこうかと思います。

地獄の手動移行作業

まず、静的サイトジェネレータ(SSG)とは、入力されたコンテンツファイルを指定されたテーマに従ってHTMLに変換するツールであり、これによってコンテンツレイアウト(テーマ) を分離して管理できるため、ページ数が多くなっても管理がしやすくなるという特徴があります。

Hugo テーマファイル

例えば、今回使用した静的サイトジェネレータのHugoでは、様々なテーマファイルが公開されているため、これらの中から好きなものをダウンロードし、あとはMarkdownで書いた記事を用意するだけですぐにいい感じのブログサイトを作成することができます。

テーマファイル

しかしながら、筆者は既存のものは使いたくないという非常に面倒なこだわりがあるために、1からテーマファイルを作成しました。コーディングは苦手なのにこんな無駄なことをした結果、テーマファイルの作成だけでかなりの時間を要することに。

ちなみに、とっかかりに解説書が欲しいということで唯一発見できたこれを購入。よく見ずに注文したら技術書展で発行された書籍でした。

Hugoで始める静的サイト構築入門 静的サイトジェネレーターで作る自作サイト 技術の泉シリーズ (技術の泉シリーズ(NextPublishing))

新品価格
¥990から
(2024/7/16 22:46時点)

テーマファイルは「1から作成した」と言いましたが、Hugoには例えば以下のような機能が既に実装されているので、文字通りすべてを1から作成する必要はなく非常に便利でした。

静的サイトジェネレータ環境に移行したことにより、

これらの作業が完全自動で行われるようになり、さらにテーマファイルを変更すれば全てのHTMLファイルのレイアウトを変更できるため、メンテナンス性も格段に向上しました。

301リダイレクト設定
怒涛の手打ち301リダイレクト

ただ、この環境に到達するまでに最も大変だったことは既にある約130本の記事の移行でした。Markdownへの変換はChrome拡張機能で自動化できましたが、細かいメタデータやインラインCSS、さらには旧ページからのリダイレクト設定はすべて手動で行わざるをえず、非常に虚無な作業で辛かったです。しかし、 ここで移行しておかないと今後手に負えなくなるからという強い意志と、約30時間の作業によって無事移行することができました。

今後はレイアウトの細かい調整AMP対応による爆速化なんかをやっていきたいと思いますが、とりあえずは現状でしばらく様子を見て正しくGoogleインデックスに登録されるかを確認する予定です。あと、更新が格段に楽になったのでこれからはもっと記事を上げていきたい

近況報告(という名の自分語り)

静的サイトジェネレータの話はここくらいにして、「書きたいことを自由に書く」という個人ブログの利点を存分に活かしつつ、誰にも求められていない近況報告でもしておきます。

最近は完全に記事を書くのをサボっていましたが、それ以外の趣味も完全にサボっていた(というか最近何もやっていない)ので、あまり記事にすることがないのが現状です(「思い付きの中国旅行」はちょっと記事にしたいけど)。だからこそ記事の更新をしやすくして「アウトプットする場がある」状態にすることで自分のモチベーションを上げようという狙いだったりするのですが…

まあ、2024年上半期の個人的ハイライトといえば次年度からの進路が決まったということですかね。こういう情報ってあんまりネットに書くべきではない気がするのでこれ以上は書きませんが、なかなか面白そうだけどついていけるか不安で期待半分・不安半分な今日この頃です。

そんなことより今は卒業論文に向けて自分の研究を進めないといけない…

Tags: