1 min readKinetik
Welcome to the journal
How this content pipeline works, and what you can write in it.
Every file in src/content/posts becomes a page at /blog/<filename>. The
frontmatter block at the top is required — title, description and date
are validated at build time, so a malformed post fails the build instead of
shipping broken.
What you can write
Standard Markdown works, plus anything MDX allows: you can import a React component into a post and render it inline.
- GitHub-flavoured Markdown is on, so tables and
strikethroughwork - Headings get anchor links automatically
- Code blocks are syntax-highlighted at build time, with no client-side JS
| Field | Required | Notes |
|---|---|---|
title | yes | Used for <h1> and the page title |
description | yes | Feeds the meta description and OG |
date | yes | ISO format, drives sort order |
tags | no | Array of strings |
draft | no | Hidden in production builds |
Code
import { getAllPosts } from "@/lib/posts";
const posts = getAllPosts(); // newest first, drafts excluded in productionDrafts
Set draft: true and the post stays visible on pnpm dev but is dropped from
production builds and the sitemap. That makes it safe to commit work in
progress to the main branch.