Web · Beginner
Inkwell: Markdown Blog Engine
Build a fast static blog that turns Markdown files into pages with tags, RSS, and SEO meta, deployed for free.
Beginner6-10 hoursTypeScriptJavaScript
You will build a fully static personal blog using Astro and MDX where each post is a Markdown file with frontmatter. The site generates individual post pages, a tag index, an RSS feed, and proper Open Graph meta tags at build time. It ships zero client-side JavaScript by default, making it extremely fast and easy to host for free on Netlify or any static host. This is a practical project for learning how static site generators work and how to structure content-driven sites.
What you build
- Write posts in Markdown or MDX files with frontmatter for title, date, tags, and description
- Auto-generated post listing page sorted by date with tag filters
- Individual post pages with syntax-highlighted code blocks via Shiki
- Tag index pages that aggregate all posts sharing a given tag
- RSS 2.0 feed generated at build time for feed readers
- Open Graph and Twitter card meta tags on every page for share previews
- One-command deploy to Netlify via CLI or Git push
What it teaches
- How static site generators transform content files into HTML at build time
- Astro content collections and type-safe frontmatter schemas
- Dynamic routing with `getStaticPaths` to generate pages from data
- Generating XML feeds and structured meta tags programmatically
- Deploying a static site with a CI/CD pipeline via Netlify
How it works
- 1
Markdown Files
- src/content/blog/*.md
- frontmatter: title, date, tags
- 2
Astro Build
- Content collections parse + validate
- getStaticPaths generates routes
- 3
Static Output
- /blog/[slug] HTML pages
- /tags/[tag] index pages
- /rss.xml feed
- 4
Deploy
- Netlify serves dist/
- Global CDN, zero runtime
Sign in to open the build guide
Free account. Get the step-by-step build and every resource link.
Take it further
- Add a reading-time estimate computed from word count and display it in each post header
- Implement an OG image generator using Satori or a Netlify Edge Function so each post gets a unique share image
- Integrate Pagefind for fully static full-text search with no backend required


