📝 長文記事と短い投稿を1つのHugoサイトに同居させた
📝 デザイン確認用のダミーコンテンツを、本番のビルドに混ざらない場所へ隔離した
haruki256

記事とショートの公開状態を、フラグではなくフォルダの場所で決めた

記事とショートの公開と未公開を、front matter(ファイルの冒頭に書く設定の並び)のフラグではなく、フォルダの場所で決めることにしました。

未公開のものは content/drafts/ に置き、公開するときは content/posts/<年>/content/shorts/<年>/ へフォルダごと移動します。ファイルの中身は編集しません。

これまではフラグを見るためにファイルを開く必要がありました。いまは公開の操作がフォルダの移動だけなので、開かなくても状態が分かります。

スレッドを開く スレッドを閉じる 2

未公開フォルダの設定は content/drafts/_index.md の1か所にまとめています。

このファイルに cascade(配下のページへ設定を配るHugoの仕組み)で draft: true を書くと、配下がすべて未公開になります。1件ずつ書く必要はありません。

同じファイルに、ページ自体を生成しない設定(build.render: never)と、一覧に載せない設定(build.list: never)も入れています。これで drafts フォルダ自体もページとして出力されません。

ローカルで下書きを見るときは hugo server -D-D は下書きも表示するオプション)を使います。

これを記事にまとめました。

https://haruki256.com/2026/07/28/hugo-mock-content-environment/

📝 Hugoをやめる日に備えて、依存を本文・表示・ビルドの3層に分けた
haruki256

ショートを、一覧の流れを残したまま共有できるURLにした

僕のブログでは、ショートを1件共有するときも、共有先は個別ページではなくショート一覧にしました。URLには一覧内の特定位置を指すアンカーが付き、該当するカードを示します。

ショート一覧でカードを選ぶと、別ページへは移らず、ブラウザのアドレスバーにあるURLだけが変わります。選んだカードは枠で強調され、URLをコピーするボタンも同じ一覧内アンカーを返します。

共有されたURLを開くと、一覧が該当カードの位置までスクロールします。その前後には、ほかのショートもそのまま並びます。

スレッドを開く スレッドを閉じる 1

これを記事にまとめました。

https://haruki256.com/2026/07/29/hugo-posts-and-shorts/

haruki256

Hugoからの乗り換えに備えて、専用処理をテンプレートと設定にまとめた

Hugoを選びましたが、将来も使い続けるとは決めていません。僕は別のツールへ移るとき、記事本文とデザインまで作り直すのは避けたいと考えました。

そこで、記事本文はHugo固有の記法を入れないMarkdownで書き、Hugoのショートコードは使わないことにしました。装飾はCSS、動きはJavaScriptに分け、Hugoだけで動く処理はテンプレートと設定にまとめています。新しくHugo固有の機能を使う場合は、専用の処理をまとめた一覧へ追記します。

スレッドを開く スレッドを閉じる 3

ショートに続きの投稿を足すときも、Hugoのショートコードは使いませんでした。代わりに、本文へHTMLコメント(Hugoの画面に表示されない目印)を置いています。

テンプレートはコメントを見つけると、後ろの文章を続きの投稿として表示します。別のツールへ移す場合は、移行先にも投稿ごとに分ける処理が必要ですが、本文を書き直さずに同じ目印を使えます。

Hugoから移るときに何を作り直すのか、サイト全体を整理しました。

  • そのまま使うもの:Markdownの記事本文、CSS、JavaScript、画像やフォント
  • 作り直すもの:Hugoのテンプレートとサイト設定、目次や前後の記事へのリンクを自動で作る処理

Hugoだけで動く処理は、テンプレートと設定に集まっていました。僕はこの一覧を乗り換え時のチェックリストとして残し、一覧にないHugo固有の機能は使わないことにしました。

これを記事にまとめました。

https://haruki256.com/2026/07/26/hugo-dependency-three-layers/

📝 WordPressからHugoへ安全に切り替えた手順
haruki256

WordPressを残したままHugoへ切り替えた

haruki256.comの本番を、WordPressからHugoへ切り替えました。切り替え前にデータベースとファイル一式をバックアップし、Hugoの生成物は公開先とは別のフォルダへ展開しています。

WordPressは削除せず、public_html を別名に変えてからHugo側と入れ替えました。公開後は主要ページ、CSS、JavaScript、SVG、RSS、サイトマップ、404、HTTPSへの転送を確認しています。

問題があればHugoを別の場所へ動かし、WordPressのフォルダ名を public_html へ戻します。切り替える方法だけでなく、問題が起きた場合に戻す方法も先に用意しておきました。

スレッドを開く スレッドを閉じる 1
📝 WordPressからHugoへ移すときのURL設計
haruki256

WordPressの旧記事13本はHugoで公開しないことにした

WordPressから取り出した旧記事は、Hugoへ移したからといって、すべて公開し直す必要はありません。

このブログでは、公開されていた7本と旧下書き6本をMarkdownで手元に残し、13本すべてを非公開にしました。以前の公開URLは記録用の legacy_url に残しますが、Hugoの公開先には使いません。

新しい記事は /:year/:month/:day/:slug/ の形式で、slugを英小文字のkebab-caseに統一します。旧記事を将来書き直して公開する場合だけ、新URLと転送を設定します。

スレッドを開く スレッドを閉じる 1

これを記事にまとめました。

https://haruki256.com/2026/07/21/wordpress-to-hugo-url-design/

📝 WordPressからHugoへ移すことにした理由
haruki256

WordPressからHugoへの移行を始めた

haruki256.comを、WordPressからHugoへ移す作業を始めました。

WordPressに大きな不具合が起きたわけではありません。記事をMarkdownで手元に置き、gitで変更を追い、公開環境では静的ファイルだけを配信する形が、これからの運用に合うと判断しました。

調査時点の投稿は7本で、承認済みコメントは0件でした。移行コストがまだ小さい今のうちに、既存URLを保ったまま切り替えられるか検証しています。

スレッドを開く スレッドを閉じる 1