---
title: YAML front matter
nav: YAML front matter
order: 3
description: ファイル先頭の --- で囲まれたメタデータ。ここではパーサーに崩されず、カードとして表示されます。
updated: 2026-08-12
---

## これは何か

静的サイトジェネレーター（Hugo、Jekyll、Astro）やノートアプリ（Obsidian）には共通の約束があります。
ファイルの先頭に `---` で囲んだ YAML を置き、タイトル・日付・タグなどのメタデータを書くというものです。

```
---
title: 記事のタイトル
date: 2026-08-12
tags: [markdown, editor]
draft: false
---

本文はここから始まります。
```

ルールは 2 つだけですが、どちらも曲げられません。

1. 最初の `---` は**ファイルの 1 行目**にあること。前に空行すら入れられません。
2. もう 1 行の `---` で閉じること。

## なぜ特別扱いが必要か

標準の Markdown は front matter を知りません。上のブロックを普通のパーサーに渡すと、
最初の `---` は区切り線になり、`title: 記事のタイトル` は普通の文になり、
閉じの `---` もまた区切り線になります。つまり、崩れた表示になります。

このエディターは front matter を先に取り出し、**YAML Front Matter** と書かれたカードとして表示します。
残りの本文だけが Markdown パーサーに渡されます。プレビューではこう見えます。

> **YAML Front Matter**
> 枠で囲まれた領域に、書いたフィールドがそのまま表示されます。

本文の最初の見出しは、そのまま本文の最初の見出しのままです。

## エディターがしないこと

- **YAML の検証はしません。** インデントの誤りやコロンの抜けがあっても、カードには原文がそのまま出るだけでエラーにはなりません。検証はジェネレーターの仕事です。
- **フィールドの解釈もしません。** `title` がプレビューの見出しになることはなく、`draft: true` で文書が薄く表示されることもありません。メタデータをそのまま保持して見せるだけです。
- **自動で追加もしません。** 新しいファイルに front matter が勝手に入ることはありません。

これは意図的な設計です。エディターの役目は「あなたのファイルを壊さないこと」で、
フィールドの意味をどう扱うかはジェネレーター側の領分です。

## 試してみる

このページ自体が例になっています。下のリンクから `.md` としてダウンロードし、エディターで開いてみてください。
先頭の `title` と `order` の行がカードとして表示されます。
