Skip to content
Kinetikby Olexander Dimitrov
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 strikethrough work
  • Headings get anchor links automatically
  • Code blocks are syntax-highlighted at build time, with no client-side JS
FieldRequiredNotes
titleyesUsed for <h1> and the page title
descriptionyesFeeds the meta description and OG
dateyesISO format, drives sort order
tagsnoArray of strings
draftnoHidden in production builds

Code

import { getAllPosts } from "@/lib/posts";
 
const posts = getAllPosts(); // newest first, drafts excluded in production

Drafts

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.