Nếu bạn viết blog bằng Markdown (đặc biệt là với các Static Site Generator như Astro, Hugo, Jekyll), bạn chắc chắn đã gặp khái niệm này.
Định nghĩa
Frontmatter là đoạn thông tin nằm ở ngay đầu file Markdown, được bao bọc bởi hai dòng ba dấu gạch ngang .
Ví dụ:
Tại sao cần nó?
File Markdown chứa nội dung bài viết. Nhưng hệ thống (như Astro) cần nhiều hơn thế để hiển thị bài viết lên web. Nó cần biết:
- Tiêu đề bài viết là gì? (để hiện lên thẻ và thẻ )
- Ngày đăng bài? (để sắp xếp)
- Có phải bản nháp không? (để quyết định có build hay không)
- Ảnh đại diện là gì?
Frontmatter chính là nơi chúng ta "khai báo" những thông tin đó (gọi là metadata) cho máy hiểu.
Định dạng
Phổ biến nhất là dùng cú pháp YAML (YAML Ain't Markup Language). Nó hoạt động theo cặp .
Các trường phổ biến:
- : Tên bài viết
- : Đường dẫn URL (ví dụ: )
- / : Ngày đăng
- : Mô tả ngắn (cho SEO)
- / : Phân loại
- : (nháp) hoặc (công khai)
Trong Obsidian
Obsidian gọi phần này là Properties. Bạn có thể xem nó dưới dạng code (Source mode) hoặc giao diện bảng (Live Preview).
Khi kết hợp với plugin Dataview hoặc Templater, Frontmatter trở nên cực kỳ mạnh mẽ để quản lý hàng trăm bài viết mà không bị loạn.
Xem thêm: