なぜか list.html
のコードでエラーが出たり(知らず </div>
が入っていた?)
hugo server
で正しく表示できるのに,Netlify のビルドのエラーが出たり(再ビルドで直った)していたが,3 日程かけてようやくHugo PaperMod のリスト表示のカバー画像を良い感じで設定できた.
テーマ PaperMod のテンプレートのファイルを修正する必要がある.
テーマのテンプレートを公式サブモジュールのパスでインストールした場合,ファイルを変更しても,当然のように push ができないという問題がある.
themes/PaperMod/
以下の Git のリモートのパスは公式のパスを指しているので作者しか変更を反映できない.
PaperMod のインストール方法は 4 つあり,サブモジュール以外には,clone, DL してディレクトリ配置,hugo モジュール使用と 3つあるが,hugo モジュール使用は原因不明でうまくいかず,clone と DL は,hugo server
とローカルでは正しくビルドされるが,Netlify でビルドするとサブモジュールのパスが設定されていない,.gitmodule が無い,と怒られて失敗する.
Netlify では強制的にサブモジュールによるテーマ適用しかできないようだ.そこで,リポジトリを Fork することを考える.
GitLab の Import Repository で公式 PaperMod の GitHub の URL を入れ,任意のグループとリポジトリ名を指定し,Mirror Repository にチェックを入れ,自分のアカウントにリモートリポジトリを作成する. これを参照するように,submodule コマンドで元の公式の PaperMod の関連パスとディレクトリを削除し,新たに自分のアカウントにある PaperMod のリモートリポジトリのパスを指定して submodule として設定する.
参考: https://qiita.com/k_yamashita/items/040c04f8798d2384806e
submodule の削除と再追加
まず公式のパスを削除する.
git submodule definit -f themes/PaperMod
git rm -f themes/PaperMod
git -rf .git/modules/themes/PaperMod
自分のリモートリポジトリのパスを追加する.
git submodule add --depth=1 https://gitlab.com/[自分のアカウント名]/hugo-PaperMod.git themes/PaperMod
末尾の参考サイトの通り 3 つのファイルを各ファイルがどこにあるか find コマンドで探して該当箇所を修正する.
ちなみに各ポストのデリミタをデフォルト =
でなく :
にするには,
+++
でなく ---
で囲む必要があることに注意.
例:
+++
title = 'Hugo のメニュー設定'
date = 2024-08-08T17:24:59+09:00
draft = false
+++
ではなく,
---
title: Navigo Weekly Ticket(Navigo Semaine)
date: 2024-08-07T07:02:12.000Z
draft: false
cover:
image: "https://upload.wikimedia.org/wikipedia/commons/9/9b/Carte_Navigo_2018_Verso.jpg"
tags: ["trip"]
---