tamannaturalA modern markdown-powered publication
← 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.