← Back to posts
1 min read#technical
How this Next.js blog is structured
A concise guide to the project layout and content flow.
This project uses the Next.js App Router and renders markdown content as static pages.
content/posts
Each .md file represents a post. The file frontmatter includes title,
date, excerpt, and tags.
lib
The posts.ts file reads markdown files from disk, parses frontmatter with
gray-matter, and converts markdown to HTML with remark. This happens at
build time, so the blog becomes static pages ready for deployment.
app
app/page.tsx: homepage listing posts.app/blog/[slug]/page.tsx: individual post page.app/license/page.tsx: license and copyright page.app/submit/page.tsx: post submission guidance.
Want categories, comments, or search? You can add them without a traditional database, for example with a third-party comments provider or client-side search built from pre-generated JSON.
© tamannatural. All rights reserved — see license terms.