Hugoのコード
-
GO HUGOで数字のフォーマット(number format)をする// langは表示中の言語。config.tomlで設定する // 直後の数字は桁数 {{lang.NumFmt 0 .Params.price}}
-
GO HUGOで開発環境(hugo server)の判定をする# .Hugo.Environmentで取れる。 # 初期は"development" # 「hugo server --environment 文字列」で指定もできる # hugo server環境下だった変換したcssをlink hrefでリアルタイムで読む {{- if eq .Hugo.Environment "development" }}{{- $style := resources.Get "sass/main.scss" | toCSS }} <link rel="stylesheet" href="{{ $style.Permalink }}"> {{else}} # hugoコマンドで出力するときは、ローカルで変換したcssの方を読む <style amp-custom> {{readFile "/assets/sass/main.css" | safeCSS}} </style> {{end}} # hugo server時はreadFileで読んだファイルはリアルタイムで読み直してくれない # この方式にすればhugo serverでプレビューしながらSCSSでコーディングができる
-
GO GItlab pagesでHUGOサイトをビルドする時の設定ファイル# lastestは使うバージョンに変更可能 image: registry.gitlab.com/pages/hugo:latest variables: GIT_SUBMODULE_STRATEGY: recursive # masterブランチ以外で実行されるテストコマンド。と行ってもhugoコマンドを実行しているだけ # 記事追加でブランチを切る場合(Netlify CMSなど)は無駄にPipeline Quataを消費するからtestは削除するか、開発用のブランチを指定したほうがいい test: script: - hugo except: - master # ここで公開処理。hugoコマンドを実行して、できたpublicディレクトリを公開しているだけ pages: script: - hugo artifacts: paths: - public only: - master
-
GO HUGOでWhere句をANDで連結する{{ $posts := (where (where .Site.Pages "Section" "topics") ".Params.slug" "!=" .Params.slug) }}
-
GO HUGOのテンプレートで値段を整形(number format)する{{ .Params.price | lang.NumFmt 0}}
-
GO 多言語化したHUGOサイトのHTMLヘッダにlink rel="alternate"で他言語へのリンクをつける{{- if .IsTranslated -}} {{ range .Translations }} <link rel="alternate" hreflang="{{ .Language.Lang }}" href="{{ .Permalink }}" title="{{ .Language.LanguageName }}"> {{- end -}} {{- end -}}
-
GO HUGOで他言語へのリンクする{{ if .IsTranslated }} <div class="translated__box"> <ul class="tab__btn"> <li> <span class="tab__btn--item current-lang">{{ .Site.Language.LanguageName }}</span> </li> {{ range .Translations }} <li> <a class="tab__btn--item" href="{{ .Permalink }}">{{ .Language.LanguageName }}</a> </li> {{end}} </ul> </div> {{end}}
-
GO HUGOでカテゴリ一覧(Taxonomy Term)のJSONファイルを出力する--- title: Categories outputs: - html - json ---
-
GO HUGOのテンプレートで外部APIのJSONデータをロードして展開する{{ $json_url := 'APIのURL' }} {{ $data := getJSON $json_url }} {{ if gt (len $data) 0 }}{{ if not (eq (index $data 0) "") }} <section> <ul> {{range $data }} <li> <a href="{{ .referer }}" target="_blank"> <span>{{ .title}}</span> <span>{{ .url}}</span> </a> </li> {{ end }} </ul> </section> {{ end }}{{ end }}
-
GO HUGOで、表示させている記事以外の同一セクションの記事一覧を抽出する{{ $v1 := (where .Site.RegularPages "Section" "topics" )}} {{ $v2 := (where .Site.RegularPages ".Params.slug" "!=" .Params.slug)}} {{ $related:= $v1 | intersect $v2 }} {{ with $related }} <ul class="article-list"> {{ range . }} {{ partial "li" .}} {{ end }} </ul> {{ end }}
-
SASS HUGOでSASSを使うためのコード{{ $style := resources.Get "sass/main.scss" | toCSS | minify | fingerprint }} <link rel="stylesheet" href="{{ $style.Permalink }}">
Hugoに関するノート
-
メインのCMSをDirectusに移行した話 -
Gitlab PagesのHUGOイメージでUNTRUSTED signatureエラーの対処方法 -
静的サイトジェネレータ・GridsomeとHUGOの比較 -
Netlify + Cloudflareでcf-cache-statusがREVALIDATEDになる時の対処方法 -
多言語化してhugo serverするとメイン言語以外の静的ファイルがNet Foundになる問題の解決策 -
HUGOで独自permalinkを設定したsectionのindexURLの設定方法 -
【保存版】 HUGOで使うフロントマッターまとめ -
HUGOでコンテンツディレクトリを別レポジトリで管理する -
HUGOで数万ページをビルドするならwhereを使わない方がいい -
HUGOでPartialやShortcodeの処理をアウトプットフォーマットごとに変える -
HUGOでpartialの中で$.Siteのデータを使う方法 -
hugoでdataをページパラメータと組み合わせて使う -
HUGOで記事のパーマリンクがindex.jsonになる時の対処 -
HUGOでサイトを作る際にやっておきたいSEO対策10選 -
HUGOのテンプレートファイルの動きを確認する -
HUGOの設定ファイルを使いこなす -
HUGOサイトのメニューを設定ファイルからカスタマイズできるようにする -
HUGOのディレクトリ構成とそれぞれの役割を確認する -
HUGOのオリジナルテーマを作成する時に知っておきたい最低限の知識