ページ・セクション・カテゴリ数の取得
はじめに
Hugoでページのデータを取得する方法をまとめました。
取得方法
サイト内の全記事数
{{ len .Site.RegularPages }}
サイト内の全ページ数
{{ len .Site.Pages }}
ホームページから下層のページ、そして、カテゴリやタグページも含まれる。
現在の階層の記事数
{{ len .RegularPages }}
現在の階層のページ数
{{ len .Pages }}
ページにはセクションページも含まれる。
現在の階層以下の全ての記事数
{{ len .RegularPagesRecursive }}
ただし、listページでのみ使用できる。
現在の階層のセクション数を取得
{{ len .Sections }}
サイト内の全カテゴリ数
{{ len .Site.Taxonomies.categories }}
サイト内の全タグ数
{{ len .Site.Taxonomies.tags }}
Hugoでテーマ作成する前に抑えて置きたいこと
はじめに 私はHugoでテーマを作成していますが、よく探さないと記載されていなかったり、あやふやなまま使っていた書き方がありました。 そこでそれらをまとめてみました。 Hugoのテンプレートのハイフンの有無 以下のように、{{}}内に-を書いていたり、いなかったりするテーマを見かけます。 <div> {{- .Title -}} </div> この出力結果は以下です。 <div>Hello, World!</div> <div> {{ .Title }} </div> このようにハイフンがない場合は以下のようになります。 <div> Hello, World! </div> なので、前後のwhitespaceが消えます。 Whitespace 参考 Introduction to Hugo Templating ...
ShortcodeでAmazonのリンクを作成する
はじめに Hugoでブログを書いていて、頻出するようなHTMLを自動で簡単に出力できるようにしたいと思いました。 そこで使用できるのがShortcodeの機能です。 今回はAmazonのアフィリエイトリンクを作成するためのShortcodeを作成します。 Shortcodeの基本 Shortcodeは、事前に定義した小さな処理を呼び出すための仕組みです。 ここでは書き方を整理します。 /layouts/shortcodes/以下にSHORTCODE.htmlをファイルを作成すると SHORTCODEがショートコード名になる Shortcodeを呼び出す場合は {{< ショートコード名 "値" >}} {{< ショートコード名 パラメータ名="値" >}} パラメータを取り出す場合は {{ .Get 0 }}(0はパラメータのインデックス) {{ .Get パラメータ名 }} 間に文字を挟み込める {{< highlight go >}} A bunch of code here {{< /highlight >}} 挟み込んだ文字を取り出す場合は {{ .Inner }} 挟み込んだ文字は書き方によって処理のされ方が異なる {{< >}} -> HTML {{% %}} -> Markdown Built-inショートコードが存在する。 Figure Youtube Tweet Instagram etc. ShortcodeのサンプルをMarkdownで表示したい場合は {{</* shortcode */>}} Amazonのショートコードを作成 サンプルにAmazonのアフィリエイトリンク用のショートコードを作成します。...