BetterStarter logoBetterStarter
Guides

How to Author a Blog

Write and publish blog posts using Markdown.

Creating a Blog Post

Blog posts live in content/blog/ as Markdown files.

File Structure

content/blog/
  my-awesome-post.md
  working-with-tanstack.md

The file name becomes the URL slug (e.g., my-awesome-post.md/blog/my-awesome-post).

Frontmatter

Each post requires frontmatter with metadata:

---
title: "My Awesome Post"
description: "A brief description that appears in previews and SEO"
published: "2026-02-28"
---

## Introduction

Your content starts here...

Frontmatter Fields

FieldRequiredTypeExample
titleYesstring"Getting Started with TanStack"
descriptionYesstring"Learn the basics of TanStack Router"
publishedYesdate (YYYY-MM-DD)"2026-02-28"

Markdown Syntax

All standard Markdown is supported:

# Heading 1
## Heading 2
### Heading 3

**Bold text** and *italic text*

- Bullet list
- Another item

1. Numbered list
2. Another item

[Link text](https://example.com)

![Alt text](image-url.jpg)

\`\`\`typescript
const greeting = "Hello, world!"
console.log(greeting)
\`\`\`

Images

Place images in public/blog-assets/ and reference them:

![My image](https://betterstarter.dev/blog-assets/my-post/image.jpg)

Publishing

Once you commit a post to the content/blog/ directory:

  1. The post automatically appears on /blog/
  2. RSS feed updates automatically
  3. Sitemap includes the post

There's no approval process—any committed post is live.

Best Practices

  • Keep descriptions under 160 characters
  • Use clear, descriptive titles
  • Submit in reverse chronological order (newest first)
  • Test your Markdown rendering locally with pnpm dev
  • Include semantic headings (H2, H3) for table of contents
  • Link to related posts and documentation where relevant

On this page