Front Matter

#juneboku > topics > Front Matter
created: 2020-06-14 / updated: 2020-06-14

なんか、コンテンツのMarkdownの先頭に構造化メタデータを記述できる仕組み、みたいな理解。あっている?ぼくが自分で運営しているjune29.jpで使っているHugoに組み込まれているので、特に仕様を強く意識することもなく「こういう感じのもの」として活用してきた。あと、ぼくが触れてきたものではMiddlemanもFront Matterを取り入れている。

Front Matterの発祥の地はJekyllなのかしら…?

Jekyllのドキュメントを見ると「YAMLを書けます」という感じ。HugoではYAMLの他にTOMLとJSONも書ける。MiddlemanはYAMLとJSONをサポートしている。


YAMLの例

----
a: 10
b:
  - 20
  - 21
  - 22
c:
  d: 30
----

# Title

Paragraph.

こんな感じで --- と --- の間にYAMLを書く。

JSONの例

Middlemanでは ;;; とセミコロン3つで囲うことになっている。

;;;
"layout": "custom",
"my_list": [
  "one",
  "two",
  "three"
]
;;;

# Title

Paragraph.

Hugoでは { と } で囲ってやるみたい。

{
  "layout": "custom",
  "my_list": [
    "one",
    "two",
    "three"
  ]
}

# Title

Paragraph.

TOMLの例

Hugoでは +++ で囲って書くことになっている。

+++
a = 10
b = [20, 21, 22]

[c]
d = 30
+++

# Title

Paragraph.


これ!という仕様がなくて、いろんな実装のみが存在している状態…?Markdownの雰囲気と似ている。ぼくと同じような疑問を持った先人がいてStack Overflowで質問を立てたりしていたみたいだな。
Is there a YAML front matter standard / validator? - Stack Overflow

自作のソフトウェアの中でFront Matterを扱う機運が出てきたのだけれど、なにが仕様なのかよくわからなくてテストコードを書く手が止まってしまったので、軽く調べていた。

ちなみにGitHubはYAMLスタイルのFront Matterをパースしてくれるようで、下記の例のようにデータがHTMLのtableで表示される。JSONやTOMLは対応されていないみたい。

Mentioned in days

In 2020-06-14 Sun Read full day →

今日の自由研究

あれこれとコードを書いて遊んでいる中でFront Matterを扱う処理を書くことになり、ちょっと調べてみた。今までなんとなくで触っていたけれど、こうして調べてみると「なにもわからない」となって便利だった。

In 2020-06-14 Sun Read full day →

今日のあれこれ

Archives : 2,609 days