Zola
Zola là gì
Static site generator viết bằng Rust. Viết Markdown, chạy zola build, ra HTML. Không cần server, không cần database, không cần backend.
Cài đặt
# Windows
choco install zola
# macOS
brew install zola
# Linux
snap install --edge zola
zola --version
Cấu trúc project
my-blog/
├── config.toml # Cài đặt site
├── content/ # Bài viết (Markdown)
│ └── write/
│ └── bai-viet.md
├── templates/ # HTML layout
├── sass/ # Style
└── static/ # Ảnh, file tĩnh
Tạo site mới
zola init my-blog
cd my-blog
Hỏi vài câu: URL, syntax highlighting, search. Có thể đổi sau trong config.toml.
Viết bài
Tạo file content/write/bai-viet.md:
+++
title = "Tiêu đề bài viết"
date = 2025-12-07
+++
Nội dung viết bằng Markdown.
Phần +++ là metadata. Title là heading, date dùng để sắp xếp.
Preview
zola serve
Mở http://127.0.0.1:1111. Sửa file, lưu, trang tự refresh.
Config quan trọng
base_url = "https://yourdomain.com"
title = "Tên blog"
compile_sass = true
minify_html = true
taxonomies = [
{name = "tags", feed = true}
]
generate_feeds = true
Tag cho bài viết
+++
title = "Bài về Python"
date = 2025-12-07
[taxonomies]
tags = ["python", "programming"]
+++
Zola tự tạo trang /tags/python/ hiện tất cả bài có tag đó.
Deploy lên Netlify
git init
git add .
git commit -m "Initial commit"
git push origin main
Netlify → Add new site → Import from Git:
- Build command:
zola build - Publish directory:
public
Mỗi lần push, Netlify tự build và deploy. 30 giây từ push đến live.
Chi phí
- Domain: ~$12/năm
- Hosting: $0 (Netlify free tier)
- SSL: $0 (Let's Encrypt qua Netlify)
Draft
Đặt bài nháp vào content/write/drafts/. Thêm vào config:
ignored_content = ["*/drafts/*"]
Zola bỏ qua khi build. Chuyển file ra khỏi drafts khi sẵn sàng publish.
Phân trang
Thêm vào content/write/_index.md:
+++
paginate_by = 10
sort_by = "date"
+++
Tự tạo /write/page/2/, /write/page/3/, v.v.
Ảnh
Đặt vào static/images/. Tham chiếu trong bài:

Dùng / ở đầu. Không có / ảnh sẽ hỏng ở các trang khác.
Workflow tổng kết
# Viết bài mới
touch content/write/bai-moi.md
# Preview khi viết
zola serve
# Xong thì push
git add .
git commit -m "Thêm bài mới"
git push
Push → Netlify build → Live. Đó là toàn bộ workflow.