紛らわしい用語とか紛らわしい用法とかまとめておく!
間違っていたらTwitterか何かで教えてください!!!!

Section, Content Type, Archetype

Section

  • 公式
  • ディレクトリ構造によって決められるやつ。
  • content直下のディレクトリか_index.mdを含むディレクトリはセクション扱いになる
  • front matterで上書きできない
  • sectionに関する変数やメソッド がある

Content Type

  • 公式
  • typeが設定されていない場合は所属しているディレクトリになる
  • どのテンプレートを使ってレンダリングされるかに使用される

Archetype

  • 公式
  • hugo new xxxしたときに、どの.mdファイルを使ってファイルを生成するかを決める
  • hugo new posts/hoge.mdってしたら、archetype/posts.mdをもとにしてcontent/posts/hoge.mdが作られる
  • hugo new xxxで作ったコンテントファイルで{{ .Site.Xxx }}みたいに変数は使えないが、archetypeディレクトリ内の.mdファイルでは使える

Taxonomy, Term, Value

Taxonomy

  • 公式
  • ユーザが独自にコンテンツを分類するための仕組み
  • コンテンツを分類するために使われる
  • config.yml内でサイトレベルで設定するもの
  • Taxonomyごとのリンクを設定できる(/categories/ /tags/など)
  • デフォルトでは、categoriestagsというtaxonomyが設定されている

Term

  • taxonomyの中のkey(categoriesの中の memo とかがterm)

Value

  • Termにアサインされたコンテンツ

front matterの中で
taxonomy: [term1, term2]
ってする。例えば,
categories: [memo, development]
なので、Valueにあたるのはコンテンツファイル。

変数

変数は大体templete内で使うもの!

Site変数

  • .Site.Xxxの形
  • config.yml内で定義されているものと、組み込みで最初からあるもの
  • partialテンプレート内では.Site.Params.Xxxの形で使う

Page変数

  • .Xxxの形
  • 抽出される場所は
    • コンテンツファイルのfront matter
    • コンテンツファイルのある場所
    • コンテンツのボディ
    • のいずれか
  • front matterで設定した値は.Params.xxxでアクセスできる(.Param "xxx"でも可)
    • ネストされている場合は.Param "xxx.yyy"

File変数

  • .File.Xxxの形
  • ディレクトリ構造とかに基づいた値

shortcode変数

  • .Xxxの形
  • 独自のshortcodeを作成する際に使うことが多い( shortcode template
  • shortcodeは.mdファイル内でhtmlを書かなくて済むようにという思想から作られたものだが、だからと言ってshortcode変数が(content/).mdファイル内で使えるというわけではない
    • content/xxx.mdファイル内でfront matterで定義された値にアクセスするには、
      { {< param yyy >} }という形でアクセスする( 公式 )