あらためてEleventyとは?
Eleventy(公式サイト)は、Zach Leatherman(ザック・レザーマン)さんが中心になって開発された静的サイトジェネレーターです。2018年にリリースされました。
特徴を一言でいうと、
👉 「MarkdownやHTMLから、そのままWebページを作るツール」
です。
アクセシビリティやパフォーマンスを大事にする開発者たちに支持されています。
Node.jsが導入されている環境下であれば、コマンド1つで、使い始めることが可能です。
なぜ人気なのか?
よくあるツールは、
- 設定が多い
- 専用ルールが多い
ですが、Eleventyは違います。
- HTMLがそのまま使える
- Markdownも使える
- 出力されるHTMLがシンプル
👉つまり 「覚えることが少ない」= 挫折しにくい
実際に動かしてみる(最短ルート)
ここでは「とにかく動かす」ことを目的に説明します。
前提としてNode.jsの導入が必要です。
※ Node.jsの導入に関しては、過去投稿「開発環境について/Node.js環境の作成」を参照してください。
① ターミナルを開く
Windowsの場合:
スタートボタンを右クリック 「ターミナル」をクリック
👉 これからの作業はすべて起動された「ターミナル」のウインドウに入力します
② サイト用フォルダ作成&移動
ホームフォルダー(例:C:\Users\test)に、名前は、”blog-test”で作成します。
以下を入力:
mkdir blog-test
cd blog-test
③ 初期化(これを忘れる人が多い)
サイトのフォルダをNode.js用として初期化します。
以下を入力:
npm init -y
👉 これをやらないと後でエラーになります
④ Eleventyをインストール
Node.jsにより、Eleventyを開発用としてインストールします。
以下を入力:
npm install @11ty/eleventy --save-dev
⑤ 最小のページを作る
ページの名前を、”index.md”で作成します。
以下を入力:
@"
---
title: はじめて
---
# Hello Eleventy
"@ | Out-File index.md -Encoding utf8
⑥ 実行(ここが感動ポイント)
Eleventyを実行します。
以下を入力:
npx eleventy --serve
👉 HTMLファイルが作成され、テスト用のサーバーが起動されます。
ブラウザ(Edge または Chrome)を起動し、下記URLにアクセスします。
http://localhost:8080/
👉 ”Hello Eleventy”の文字が表示されます。
作成されたHTMLファイルを確認する
上記作業の結果、”blog-test”のフォルダ構成が下記のようになっています。
C:\USERS\TEST\BLOG-TEST
│ index.md → 作成したMarkdownファイル
│ package-lock.json → Node.jsのファイル
│ package.json → Node.jsのファイル
│
├─node_modules → Node.jsのモジュール
│ │ .package-lock.json
│ │
│ ├─.bin
│ │ acorn
│ : (以下省略)
│
└─_site → Eleventyにより作成されたフォルダ
index.html → Eleventyにより作成されたHTMLファイル
_site"の名前でフォルダが作成され、”index.html”が作成されています。
index.htmlの中身は:
<h1>Hello Eleventy</h1>
👉 index.md → index.html にEleventyが変換
*.mdファイルとは何か?
*.mdファイルは、Markdownファイルのことです。タグではなく、記号(#,*,-)などを使い文書構造を簡略化した表記方法です。
👉 HTMLに変換するための“シンプルな下書き記法”です。
Markdown は:
- 記号で構造を書く
- 最終的にHTMLに変換される
という2段構えの仕組みです
イメージで理解すると
Markdown(書く)
# タイトル
- 項目1
- 項目2
⬇ 変換される ⬇
HTML(表示用)
<h1>タイトル</h1>
<ul>
<li>項目1</li>
<li>項目2</li>
</ul>
👉 Markdownは「人が書きやすい形」 👉 HTMLは「ブラウザが理解する形」
なぜこの仕組みが重要か
■ 役割が違う
| 役割 | 内容 |
|---|---|
| Markdown | 人が書くため |
| HTML | 表示するため |
👉 目的が最初から違う
よくある誤解
❌ Markdown = HTMLの簡略版
→ 少し違います
👉 正しくは 「HTMLを生成するための入力フォーマット」
Eleventy の内部では、何が行われているか?
この流れが自動で動いています:
- Markdownを読みこむ
- HTMLに変換する
- サイトとして出力する
👉 人が書いたMarkdownファイルをHTMLに正しく変換(ここが重要)
---
title: はじめて
--- ⇒ <h1>Hello Eleventy</h1>
(変換)
# Hello Eleventy
まとめ
- 最小構成なら数分で動く。
- 「人が書きやすい形」のMarkdownを「ブラウザが理解する形」のHTMLに変換する。
- サイトとして出力してくれる。
👉 最後に一番大事なこと
- Eleventyはサーバー不要、「ファイルだけ」で完結する。