EleventyでのMarkdownの書き方
👉 Eleventy では**「Markdown + 設定(フロントマター)+ レイアウト用テンプレート」**でページを作ります
つまり
- 設定(フロントマター) → ページ情報を書く
- Markdown → 本文を書く
- レイアウト用テンプレート → 見た目を決める
この3つがセットです。
設定(フロントマター)(最重要)
Eleventyでは、Markdownの先頭にこれを書きます👇
---
title: 記事タイトル
date: 2026-04-23
layout: layout.njk
tags: posts
---
👉 2つの---の間に、”項目名:内容”の形式でデータを記述します。
これは何を意味しているか?
| 項目 | 意味 |
|---|---|
| title | 記事タイトル |
| date | 投稿日 |
| layout | レイアウト用テンプレート |
| tags | 記事の分類 |
👉 これを書かないと「ただの文章」になります
本文
続けて、本文を(設定)フロントマターの下に、書きます。
ここは通常のMarkdownと同じです👇
# 見出し
これは本文です。
- リスト1
- リスト2
👉 これが、Eleventy用のMarkdownの書き方の基本です。
テンプレートとの連携
Eleventyは、Eleventy用に書かれたMarkdownとレイアウト用テンプレートを組み合わせてHTMLでページを作成します。
例えば レイアウト用テンプレート”layout.njk” にこう書いてあると👇
<h1>{{ title }}</h1>
<main>
{{ content | safe }}
</main>
👉 Markdownの内容が:
- 設定(フロントマター)のtitle → {{ title }}
- 本文 → {{ content | safe }}
の部分に埋め込まれて、HTMLが作成されます。
注)レイアウト用テンプレート ”layout.njk” は、Nunjucks の構文で書かれています。Nunjucks の構文については、「サイト構築について/EleventyでのNunjucks」を参照してください。
その他の便利な書き方
コレクション(記事一覧)
コレクションは、Eleventyの強みの1つです👇
例えば、複数の記事とその記事一覧のページを作成したい場合、
各記事のMarkdownの(設定)フロントマターに、
tags: posts
記事一覧のMarkdownの本文に、
{% for post in collections.posts %}
<a href="{{ post.url }}">{{ post.data.title }}</a>
{% endfor %}
と書くと、
👉 自動で記事一覧が作れます。
パーマリンク(URL指定)
作成するページのURLを自由に決められます👇
作成するページのMarkdownの設定(フロントマター)に:
permalink: /blog/first-post/
と書くと
👉 表示URLを指定することができます
/blog/first-post/
本文中にNunjucks構文混在可能
本文をNunjucks構文で書く事ができます。
例:設定(フロントマター)でauthorが定義されている場合、著者を出力👇
---
title: テスト記事
author: 山田
---
{% if author }
著者:{{ author }}
{% endif %}
本文中にHTMLを混在可能
本文にHTMLタグを含められます。
---
title: テスト記事
author: 山田
---
<p>著者:{{ author }}</p>
👉 Nunjucks構文とHTMLタグ、両方の混在も可能です。
よくある実用例(完成形)
---
title: Markdownの使い方
date: 2026-04-23
layout: layout.njk
tags: posts
permalink: /posts/markdown/
---
# {{ title }}
Markdownはとても便利です。
## メリット
- 簡単に書ける
- HTMLに変換される
👉 これだけで
- ページ生成
- 一覧表示
- URL管理
が全部できます
よくあるミス
❌ layoutを書き忘れる
👉 デザインが適用されない
❌ tagsを書かない
👉 一覧に出てこない
❌ date形式がバラバラ
date: 2026/04/23 ←場合によってはNG
👉 ISO形式推奨
date: 2026-04-23
EleventyでのMarkdownの本質(重要)
■ データとレイアウト用のテンプレートを分離する設計
---
title: 記事タイトル
category: 技術
---
👉 (設定)フロントマターの内容を表示側で自由に使える。
■ レイアウト用のテンプレートを使い回す
👉 記事100件でもレイアウト用のテンプレートHTMLは1つ。
■ ビルド時に完成する
👉 静的HTMLの為、表示が速い。(DB不要)
まとめ
- EleventyではMarkdownだけでなく(設定)フロントマター部分が重要
- テンプレートと組み合わせて使う
👉 「Markdownをデータとして扱う」のがEleventyの本質です。