Add a blog
Set up a blog with posts, tags, pagination, and an Atom feed.
πcontent/posts/
βββ π_index.mdsection: blog config
βββ πmy-first-post.mdpage
βββ πanother-post.mdpage
What your blog structure will look like after this guide.
Create the section #
Create content/posts/_index.md with this frontmatter:
+++ title = "Blog" sort_by = "date" paginate_by = 10 +++
This creates a paginated section at /posts/ that sorts posts by date (newest first).
Write a post #
Create content/posts/my-first-post.md:
+++ title = "My first post" date = "2026-01-15" description = "A short introduction." tags = ["intro"] +++ A short summary of the post goes here. <!-- more --> The full content continues after the "more" marker. Everything above it becomes the summary shown on listing pages.
Enable tags #
Add a taxonomy to config.toml:
[[taxonomies]] name = "tags"
Zorto automatically generates:
/tags/β list of all tags/tags/intro/β all posts with the βintroβ tag
Add an Atom feed #
Enable feed generation in config.toml:
# config.toml generate_feed = true
The feed is available at /atom.xml. Add a <link> tag in your base templateβs <head> so feed readers can discover it automatically:
<link rel="alternate" type="application/atom+xml" title="{{ config.title }}" href="/atom.xml">
Drafts #
Set draft = true in a postβs frontmatter to exclude it from production builds. To preview drafts locally, pass the --drafts flag:
zorto preview --drafts
Related guides #
- Blog, events, and more β how sections, pagination, and feeds work under the hood
- Set up multiple authors β attribute posts to different authors
- Organize content β nested sections and external content directories