HUGOアップデート2025
毎年恒例?HUGOアップデート2025
ちなみに現状
Hugo 0.121.1
MacOS Sequoia 15.1.1
これを今回は新PCへ移動
MacOS Sequoia 15.2
■Xcodeコマンドラインツール
xcode-select --install
「コマンドラインデベロッパツールをインストールしますか?」
というダイアログが表示されるので、そのまま「インストール」
『残り38時間』とか表示されてびっくりするけど、ほっとくとだんだん減って10分弱でインストール終了
■Homebrew
次のサイトにあるコマンドをそのまま実行
Homebrewインストールページ
インストール後に[ Next steps ]としていくつかコマンドが表示されるので、それも実行
■HUGO
brew install hugo
今回は Hugo 0.142.0 が入りました。
■新サイト作成
まずは新サイト作っていきます。
素直にHugo公式サイトのQuick start
のままいきます。
hugo new site quickstart
続いてthemaを入れていきます。
cd quickstart
git init
git submodule add https://github.com/theNewDynamic/gohugo-theme-ananke.git themes/ananke
続いてプレビュー起動
echo "theme = 'ananke'" >> hugo.toml
hugo server
■現サイト移行
ちなみに今のサイトのコンテンツは
/Users/(ユーザー名)/Documents/hugo_homepage
にあります。
ここまでの手順で /quickstart というディレクトリにいろいろとできてるので、これをそのまま 上記ディレクトリにコピー
動作確認
cd Documents/hugo_homepage
hugo server
http://localhost:1313/へアクセスして初期ページが表示されることを確認。
これでベースができました。
試しにこのディレクトリに元のコンテンツ(HUGOアップデート2024 で作ったもの)をそのままコピーしてきて実行したら・・・
ERROR deprecated: site config key paginate was deprecated in Hugo v0.128.0 and will be removed in Hugo 0.143.0. Use pagination.pagerSize instead.
Watching for changes in /Users/XXX/{archetypes,assets,content,data,i18n,layouts,static,themes}
Watching for config changes in /Users/XXX/hugo.toml, /Users/XXX/themes/ananke/config.yaml
Start building sites …
hugo v0.142.0+extended+withdeploy darwin/arm64 BuildDate=2025-01-22T12:20:52Z VendorInfo=brew
ERROR deprecated: resources.ToCSS was deprecated in Hugo v0.128.0 and will be removed in Hugo 0.143.0. Use css.Sass instead.
ERROR deprecated: .Site.Social was deprecated in Hugo v0.124.0 and will be removed in Hugo 0.143.0. Implement taxonomy 'social' or use .Site.Params.Social instead.
Built in 1350 ms
Error: error building site: logged 2 error(s)
orz…
なぜ素直に動かないんだろか。。。
なんか色々と設定ファイルとか変わってそうなので、アプローチ方法変更。
元々の/quickstart をベースにHUGOアップデート2024
の時のアプローチ同様に中身を変えていきます。
- Configuration file (hugo.toml)を編集
Hugo公式サイトのConfigure Hugo
hugo.toml の初期状態
baseURL = 'https://example.org/'
languageCode = 'en-us'
title = 'My New Hugo Site'
theme = 'ananke'
これをthemes/ananke/exampleSite/config.toml の内容に置き換えて、
以下のように編集
ただし summaryLength は元々5にしていたのですが、これだとサマリーページがなんだか変になってしまったので1に変更
設定値
##### HUGO ORIGINAL #####
# https://gohugo.io
### Configuration ###
# https://gohugo.io/getting-started/configuration/
#####################
title = "茶色の朝を迎えないために"
baseURL = "https://brownmorning.net"
theme = ["ananke"]
# resourceDir = "../resources" # Delete 2025/1/25
defaultContentLanguage = "ja"
# sectionPagesMenu = "main" # Delete 2025/1/25
# enableRobotsTXT = true # Delete 2025/1/25
summaryLength = 1 # Add 2025/1/25S
### Google Analytics ###
[services]
[services.googleAnalytics]
ID = 'G-2TP9KP66H7'
### Pagination ###
# https://gohugo.io/templates/pagination/
##################
[pagination]
pagerSize = 12 # this is set low for demonstrating with dummy content. Set to a higher number
### Delete 2025/1/25 ###
# [languages.en]
# contentDir = "content/en"
# languageCode = 'en-US'
# weight = 1
# title = "Ananke"
# languageDirection = 'rtl' for Right-To-Left languages
#
# [languages.fr]
# contentDir = "content/fr"
# languageCode = 'fr-FR'
# weight = 2
# title = "Ananke Fr"
### Menus ###
# Define in site configuration
# https://gohugo.io/methods/site/menus/
#############
[menus]
[[menus.main]]
name = 'まずはここから'
pageRef = '/article/navigation'
weight = 10
[[menus.main]]
name = 'フィールドワーク'
pageRef = '/article/peace/fieldworksummary'
weight = 20
[[menus.main]]
name = 'イベント'
pageRef = '/article/event/eventtop'
weight = 30
[[menus.main]]
name = '街宣'
pageRef = '/article/gaisen/gaisentop'
weight = 40
[[menus.main]]
name = '昔今語り'
pageRef = '/mukashiima/'
weight = 50
[[menus.main]]
name = '全記事'
pageRef = '/article/'
weight = 60
### Sitemap templates ###
# https://gohugo.io/templates/sitemap-template/
#########################
[sitemap]
changefreq = "always"
priority = 0.5
filename = "sitemap.xml"
### Configure markup ###
# https://gohugo.io/getting-started/configuration-markup/
########################
[markup]
[markup.goldmark]
[markup.goldmark.renderer]
# By default, Goldmark does not render raw HTML and potentially dangerous links. If you have lots of inline HTML and/or JavaScript, you may need to turn this on.
unsafe = true
### Hugo Deploy ###
# https://gohugo.io/hosting-and-deployment/hugo-deploy/
########################
[deployment]
[[deployment.targets]]
# An arbitrary name for this target.
name = "production"
# Amazon Web Services S3; see https://gocloud.dev/howto/blob/#s3
# For S3-compatible endpoints, see https://gocloud.dev/howto/blob/#s3-compatible
URL = "s3://brownmorning.net?region=ap-northeast-1"
# If you are using a CloudFront CDN, deploy will invalidate the cache as needed.
cloudFrontDistributionID = "ET0YO8QZNO9RI"
##### Ananke #####
# https://themes.gohugo.io/themes/gohugo-theme-ananke/
########################
[params]
text_color = ""
author = ""
favicon = ""
site_logo = ""
description = ""
# choose a background color from any on this page: https://tachyons.io/docs/themes/skins/ and preface it with "bg-"
background_color_class = "bg-dark-blue"
# choose fitting and alignment styles for the featured image using Tachyons classes such as "cover|contain" for fitting and "bg-top|bg-center|bg-bottom" for alignment, or add any other class space-separated to customize further
featured_image_class = "cover bg-top"
# choose a color dimming class for the page or site header from any on this page: https://tachyons.io/docs/themes/skins/, preface it with "bg-" and add the value such as "-X0" where X is in [1,9]
cover_dimming_class = "bg-black-60"
recent_posts_number = 20
# time.Format https://gohugo.io/functions/time/format/
date_format = "2006-01-02"
# assets/ananke/css/custom.css
custom_css = ["custom.css"]
### Delete 2025/1/25 ###
# [params.ananke.social.share]
# networks = [
# "email",
# "facebook",
# "bluesky",
# "linkedin"
# ]
#
[params.ananke.social.share]
networks = [
"facebook"
]
#
# [params.ananke.social.follow]
# networks = [
# "facebook",
# "bluesky",
# "linkedin"
# ]
[params.ananke.social.follow]
networks = [
"facebook"
]
#
# [params.ananke.social.linkedin]
# username = "patrickkollitsch"
#
# [params.ananke.social.bluesky]
# username = "kollitsch.dev"
[params.ananke.social.facebook]
username = "brownmorning"
# profilelink = "https://www.facebook.com/patrick.kollitsch"
そして以下のように元ファイルをコピー
内容についてはHUGOアップデート2024
①CSS
・assets/ananke/css/custom.css をコピー
②リンクを別ウィンドウで開く
・layouts/_default/_markup/render-link.html をコピー
③コンテンツ ・content/ 以下を全部コピー ・static/images 以下を全部コピー ・static/media 以下を全部コピー
④fontawsomeのアイコン利用
・data/fontawesome-free-6.5.1-web.zip をコピー
・layouts/partials/head-additions.html をコピー
・static/css/fontawesome-all.min.css をコピー
・static/svgs 以下を全部コピー
・static/webfonts 以下を全部コピー
⑤Google Analytics
・layouts/partials/analytics.html をコピー
・themes/ananke/layouts/_default/baseof.html 編集
{{ template "_internal/google_analytics_async.html" . }}
この部分を以下のように書き換え
{{ with .Site.Config.Services.GoogleAnalytics.ID }}
■デプロイ方法
HUGOアップデート2024
と同じ
でデプロイしたら以下のエラー・・・
ERROR render of "/XXX/hugo_homepage/content/article/event/20200929kenpouyosemini.md" failed: "/XXX/hugo_homepage/themes/ananke/layouts/_default/baseof.html:54:10": execute of template failed: template: _default/single.html:54:10: executing "_default/single.html" at <partial "analytics" .>: error calling partial: "/XXX/hugo_homepage/layouts/partials/analytics.html:1:15": execute of template failed: template: partials/analytics.html:1:15: executing "partials/analytics.html" at <.Site.IsServer>: can't evaluate field IsServer in type page.Site
もぉ。
調べるとどうもGoogle Analytics用に追加したlayouts/partials/analytics.htmlのここの記述がダメらしい。
{{ if not .Site.IsServer }}
Hugoの「.Site.IsServer」が非推奨になったのでテンプレート修正 に記載の通り、以下のように変更
{{ if not hugo.IsServer }}
さらにエラー
ERROR render of "/XXX/hugo_homepage/content/article/event/20200825kenpouyosemini.md" failed: "/XXX/hugo_homepage/themes/ananke/layouts/_default/baseof.html:54:10": execute of template failed: template: _default/single.html:54:10: executing "_default/single.html" at <partial "analytics" .>: error calling partial: "/XXX/hugo_homepage/layouts/partials/analytics.html:2:13": execute of template failed: template: partials/analytics.html:2:13: executing "partials/analytics.html" at <.Site.GoogleAnalytics>: can't evaluate field GoogleAnalytics in type page.Site
はぁ。。。
さらに調べて
HugoにGoogle Analyticsを導入する
に記載の通り、
{{ with .Site.GoogleAnalytics }}
を以下のように変更
{{ with .Site.GoogleAnalytics }}
hugo.tomlも少し修正(↑の引用は修正済)
もう一回デプロイしてもエラー
あ、AWS CLI入れてなかった。。。
brew install awscli
入ったかな?
aws --version
入りました。
aws-cli/2.23.6 Python/3.12.8 Darwin/24.2.0 source/arm64
configでIAMユーザー設定して、再度デプロイ
成功!
20250126 新規作成