Skip to content

yukyu-sandbox/astro-notion-blog

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

45 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

English | ζ—₯本θͺž

astro-notion-blog

GitHub stars GitHub license

astro-notion-blog helps to create a blog you can writte with Notion.
The blog is generated statically by Astro so very fast.

  • πŸš€ Very fast page view
  • πŸ“ Can write a blog with Notion
  • πŸ› οΈ Can fully customize the site's appearance
  • βœ… Using official Notion APIs

Quick Start

Requirements

Steps

  1. Star this repo πŸ˜‰
    • It makes me motivative!
  2. Duplicate the blog template into your Notion.
  3. Note the part of URL https://notion.so/your-account/<HERE>?v=xxxx as DATABASE_ID
    • ex) 158bd90116004cd19aca26ad88cb5c07
      • ⚠️ CAUTION: ?v=NOT_THIS_VALUE. Use ahead strings.
    • URL is retrieved from "Copy link"
  4. Create an integration and note "Internal Integration Token" as NOTION_API_SECRET
  5. Share a database with your integration at the Notion database page
  6. Fork this repository into your account
    • The Fork button is at the top of the page and the left of the Star
  7. Go to Cloudflare Pages and sign in
  8. Create new project with "Connect to Git" with your forked repository <your-account>/astro-notion-blog, then click "Begin setup"
  9. In build settings, open "Environment Variables" and set NODE_VERSION, NOTION_API_SECRET and DATABASE_ID

Please add NOTION_API_SECRET and DATABASE_ID as a encrypted value, and add NODE_VERSION with v16.13.0 or higher to Production and Preview.

  1. Click the "Save and Deploy" button, then your Notion Blog will be published after deploy

Note that astro-notion-blog requires a deploy every time if you publish a new post or updates.
Deploy manually from the Cloudflare Pages dashboard or use a scheduled deploy using CI like GitHub Actions.

Demo

https://astro-notion-blog.pages.dev/blog

How to customize

Additional requirements

  • Node.js v16 or higher
  • Yarn

Steps

  1. Create .env file under the project root and put your environment variables as follows:
NOTION_API_SECRET=<YOUR_NOTION_API_SECRET>
DATABASE_ID=<YOUR_DATABASE_ID>
  1. Install dependencies and start local server.
yarn install
yarn dev
  1. Open http://localhost:3000 in your browser.
  2. Press Ctrl+C in the terminal to stop.

For more information

See wiki.

Bug reports & feature requests

Please create an issue. Both in English and in Japanese are OK. πŸ˜‰

Contribution

Pull requests are welcome.


astro-notion-blog is based otoyo/notion-blog

About

πŸš€ Let's start your own Notion Blog with Astro.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Astro 57.6%
  • TypeScript 37.8%
  • CSS 4.0%
  • JavaScript 0.6%