Article Metadata

2026-06-19

The YAML block at the top of a Markdown file is called Front Matter, describing page metadata such as title, identifier, and timestamps. everkm-publish reads these fields when indexing content.

Minimal Example

Create HOME.md in the site root:

---
title: Welcome
slug: index
created_at: 2026-06-19T10:00:00+08:00
---

This is the homepage body content.

After saving, run everkm-publish serve and open http://localhost:9081 in your browser to see the rendered result.

Common Fields

FieldRequiredDescription
titleRecommendedPage title; used to auto-generate slug when slug is not specified
slugRecommendedURL path segment; commonly index for the homepage
created_atRecommendedCreation time, RFC3339 format
updated_atOptionalUpdate time, RFC3339 format
idOptionalStable unique ID; lint can auto-fill this

The old field date is deprecated; please use created_at. lint --auto-fix can migrate it automatically.

Time Format

RFC3339, for example:

created_at: 2026-06-19T10:00:00+08:00
updated_at: 2026-06-19T15:30:00+08:00

slug and URL

  • A file blog/hello.md with slug: hello typically generates /blog/hello-{id}.html (depends on folders.url_id_suffix)
  • Directory index page: slug: index or filename index.md
  • Root directory HOME.md with slug: index serves as the site homepage

URL rules are detailed at Directory Configuration.

Pre-publish Check

everkm-publish lint ./my-site

# Auto-fix: fill in id, date -> created_at, resolve some slug conflicts, etc.
everkm-publish lint ./my-site --auto-fix

lint checks Front Matter completeness and slug uniqueness, and reports [[...]] internal link ambiguities in the body by line number. See Export and Publish.

Auto-fix a single file during preview:

everkm-publish serve --auto-fix-on-update

Body and Heading

If the first h1 in the body has the same text as the Front Matter title, it will be automatically hidden during rendering to avoid duplicate heading display. See Everkm Markdown Format.

Next Steps