HugoのエイリアスでもOGPを適用したい

最近、ブログのジェネレーターをHugoに乗り換えて色々機能を見ていく中で特に便利だと思ったのがエイリアスの機能でした。一つ残念だったのがデフォルトの状態だとエイリアスのURLにはOGPのメタデータが付与されないため、例えばTwitterで投稿されたリンクがTwitterカードとして展開されないという点でした。(自分が利用しているAnubisテーマだと通常のページにはOGPメタデータはデフォルトで挿入されるようでした。) 解決策 エイリアスのテンプレートに独自の変更を入れることでメタデータを伝播させることができました。 1<!DOCTYPE html> 2<html> 3 4<head> 5 {{ if .Page }} 6 {{ template "_internal/opengraph.html" . }} 7 {{ template "_internal/twitter_cards.html" . }} 8 <title>{{ .Page.Title }}</title> 9 {{ else }} 10 <title>{{ .Permalink }}</title> 11 {{ end }} 12 <link rel="canonical" href="{{ .Permalink }}" /> 13 <meta name="robots" content="noindex"> 14 <meta charset="utf-8" /> 15 <meta http-equiv="refresh" content="0; url={{ .Permalink }}" /> 16</head> 17 18</html> 上記のHTMLをlayouts/以下にalias.htmlとして保存することでエイリアスのURLをポストした際もメタデータをうまく伝えてくれます。Card Validator | Twitter Developers でしっかりメタデータが渡せているか確認できます。 ...

2021-12-21 · 1 分

HexoからHugoに乗り換えた

今まではHexoを使っていたがなんかいけてない気がしたので乗り換えることにした。 Publishとの遭遇 最初は自分がSwiftをメインに使っているということもあってSwift製の静的サイトジェネレータであるPublishを使おうとしたがユーザー直下のGitHub Pagesでの運用しか想定されていないようでレポジトリ単位のGitHub Pagesにデプロイするとルーティングがぶっ壊れたので断念。 このごたごたの中でGit管理してない元mdをファイルを消してしまい、生成されたhtmlからなんとか復元する羽目になってしまった。 Hugoとの出会い そんなことをして最終的にたどり着いたのがHugoだった。個人的にはかなり使いやすく、今のところはなんの問題もなく運用できている。本家サイトのQuick Startに従うだけでGitHub Actionsを利用したデプロイ環境を整えるにまで来れたので満足。 デフォルトの機能でエイリアス(URLのリダイレクト)を設定できるのがすごい便利だと思ったが、他のジェネレータにも同様の機能があることはあるようだった。

2021-12-12 · 1 分