Blog Tĩnh #09 – Dùng Eleventy để tái sử dụng layout mà vẫn giữ file HTML thuần

Viết blog bằng HTML thuần rất tốt – nhưng nếu bạn phải copy/paste header, footer, meta… cho mỗi trang thì sẽ rất dễ sai sót, khó bảo trì. Bài này sẽ hướng dẫn dùng Eleventy (11ty) – một static site generator cực nhẹ, giúp bạn dùng layout dùng chung mà vẫn giữ phong cách HTML thuần, không framework.

Blog Tĩnh #09 – Dùng Eleventy để tái sử dụng layout mà vẫn giữ file HTML thuần

1. Cài đặt Eleventy

Yêu cầu: máy bạn có Node.js. Nếu chưa, tải tại:

npm init -y
npm install @11ty/eleventy --save-dev

Thêm script chạy nhanh trong package.json

"scripts": {
  "dev": "eleventy --serve",
  "build": "eleventy"
}

2. Cấu trúc thư mục đơn giản

my-blog/
├── .eleventy.js
├── package.json
├── /src/
│   ├── index.md
│   ├── about.md
│   ├── posts/
│   │   └── first.md
│   └── /_includes/
│       └── layout.njk
├── /dist/ (output tự sinh)

Eleventy sẽ lấy file từ /src → biên dịch sang /dist

3. Tạo layout HTML dùng chung

<!-- src/_includes/layout.njk -->
<!DOCTYPE html>
<html lang="vi">
<head>
  <meta charset="UTF-8">
  <title>{{ title }} – Init Blog</title>
  <link rel="stylesheet" href="/css/style.css">
</head>
<body>
  <header>
    <h1>Init Blog</h1>
  </header>

  <main>
    {{ content | safe }}
  </main>

  <footer>© 2025 InitHTML</footer>
</body>
</html>

4. Viết bài bằng Markdown + Front matter

<!-- src/posts/first.md -->
---
title: Bài viết đầu tiên
layout: layout.njk
---

Nội dung bài viết **dạng Markdown** cực tiện.

- Dễ viết
- Tự chuyển sang HTML

Eleventy sẽ tự nối nội dung này vào layout.njk, xuất thành file HTML đẹp, sạch.

5. Chạy thử

npm run dev

Mở trình duyệt: http://localhost:8080
→ Blog tĩnh của bạn đã hoạt động với layout dùng chung, không cần copy/paste thủ công nữa.

6. Deploy như bình thường

  • Chạy npm run build
  • Upload thư mục _site (hoặc dist) lên Cloudflare Pages / Netlify

Lý do nên dùng Eleventy

  • Không ép bạn dùng React/Vue/SASS/JS…
  • Hỗ trợ HTML/Markdown/Nunjucks/EJS tùy chọn
  • Không lock-in – bạn bỏ Eleventy lúc nào cũng được

Eleventy giúp blog bạn nâng cấp một bước: từ thủ công → tái sử dụng → có cấu trúc mà vẫn giữ sự tinh gọn của HTML thuần. Đây là bước chuyển mượt mà, an toàn, dễ quản lý – đặc biệt nếu bạn dự tính viết lâu dài.

Chúc bạn modular hóa blog thành công – gọn hơn, sạch hơn, và vẫn 100% chủ động!

Bình luận


  • Không có bình luận.

Init Toolbox

Nhấn Ctrl + \ trên máy tính, hoặc vuốt sang trái ở bất kỳ đâu trên mobile.

Đăng nhập





Đang tải...