Skip to content

zamiang/zamiang-dot-com-v2

Repository files navigation

Notion Blog with Astro

A personal blog built with Astro using Notion as a headless CMS. Static site generation with React islands for interactivity.

Live Site: brennanmoore.com

Tech Stack

  • Astro 5 – Static site generation
  • React 19 – Interactive components (islands)
  • Tailwind CSS 4 – Styling
  • Notion API – Content management
  • Cloudflare Pages – Deployment

Getting Started

Prerequisites

Environment Variables

Create a .env file:

NOTION_TOKEN=secret_xxx
NOTION_DATA_SOURCE_ID=xxx
NOTION_PHOTOS_DATA_SOURCE_ID=xxx
SITE_URL=https://your-site.com

Development

npm install
npm run dev      # Start dev server at localhost:4321

Production

npm run build    # Build static site to dist/
npm run preview  # Preview build locally

Scripts

Command Description
npm run dev Start development server
npm run build Build for production
npm run preview Preview production build
npm test Run tests
npm run lint Run ESLint
npm run check Astro type checking

License

MIT

About

A Next.js blog written in Typescript that uses Notion's Public API.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors