メインコンテンツへスキップ

Hugo (Blowfish) で favicon を表示させる。ハマった内容など

·1450 文字·3 分

Hugoテーマ「Blowfish」を利用しているのですが、ドキュメントに記載されている方法でもfavicon(タブのアイコン)が期待通りに表示されずハマりましたので備忘です。

当初、Blowfishの公式ドキュメント(Partials | Blowfish)に記載されている標準的な方法を試行しましたが、自分の場合は上手くいきませんでした。

本記事では、テーマの拡張用テンプレートを利用して、指定した画像をサイト全体に反映させる手順を記載します。

設定の仕組み
#

Blowfishには、独自のコードを <head> タグ内に追加するためのファイル extend-head.html が用意されています。

テーマ側の自動生成機能に依存せず、この拡張ファイルに直接タグを記述することで、指定した画像ファイルを優先的に読み込ませることが可能です。

設定の手順
#

以下の2つのステップで進めます。

1. 画像ファイルを「static」フォルダへ配置
#

使用したい画像を準備します。PNG形式に加え、ブラウザの自動検出やXML(サイトマップ)表示用にICO形式も用意しておくとより確実です。

  1. 画像を favicon.png および favicon.ico という名前で用意します。
  2. それらのファイルを、プロジェクトのルートにある static/ フォルダの直下に配置します。
  • パス: (プロジェクトルート)/static/favicon.png
  • パス: (プロジェクトルート)/static/favicon.ico

static 直下に置かれたファイルは、Hugoのビルド時にルートディレクトリへそのままコピーされます。特に favicon.ico は、多くのブラウザが自動的に探しに行く基本ファイルとなるため、配置しておくだけで解決する場合も多いです。

2. 「extend-head.html」を作成・編集
#

次に、ブラウザに対してfaviconの場所を明示的に指定します。

  1. layouts/partials/ ディレクトリ内に、extend-head.html という名前のファイルを作成します。
    • パス: (プロジェクトルート)/layouts/partials/extend-head.html
  2. 作成した extend-head.html に、以下のコードを記述して保存します。
<link rel="icon" href="/favicon.png" type="image/png">

これでテーマ本体のテンプレート構造を崩すことなく、faviconの設定を埋め込むことができました。

反映の確認とキャッシュの注意点
#

設定を保存・デプロイしても表示が変わらない場合は、以下の3点を確認してください。

  • 再起動・再ビルド: ローカル環境では hugo server を一度停止(Ctrl+C)し、再度立ち上げ直してください。static 内のバイナリ変更は再起動が必要な場合があります。
  • 直接確認: ブラウザで サイトURL/favicon.ico に直接アクセスし、自分の画像が表示されるか確認してください。
  • キャッシュクリア: Faviconはブラウザに強くキャッシュされます。確認時は必ずシークレットモードを使用するか、キャッシュをクリアして試してください。

まとめ
#

Blowfishでfaviconが反映されなかった問題は、 「staticフォルダ直下への配置」と「extend-head.htmlによる明示的な指定」 を組み合わせることで解決できました。

追記
#

ブラウザで表示されているソースを見たところ、以下のようにfaviconのパスの前に半角スペースが入っていました。

  <link rel="apple-touch-icon" sizes="180x180" href="/%20apple-touch-icon.png">
  <link rel="icon" type="image/png" sizes="32x32" href="/%20favicon-32x32.png">
  <link rel="icon" type="image/png" sizes="16x16" href="/%20favicon-16x16.png">
  <link rel="manifest" href="/%20site.webmanifest">

/layouts/partials/head.html内の該当箇所に半角スペースが入ってしまっていたので、修正したところ直りました。 フォーマッターが効いてしまったのかと。。

恥ずかしながら戒めとして残しておきます。

nakk
著者
nakk
ITとガジェット。個人的な振り返りや技術メモを中心に投稿しています。どなたかに少しでも役立てば嬉しいです。

関連ページ