English | ๆฅๆฌ่ช
icon use https://tabler-icons.io/
astro-notion-blog enables you to create a blog using Notion and generates it statically, resulting in lightning-fast page views.
- ๐ Blazing fast page views
- ๐ With the ability to write blog content in Notion
- ๐ ๏ธ Customize your site's appearance to your liking
- โ Take advantage of the official Notion APIs
- If you enjoy using this repo, don't forget to give it a star! ๐
- This is very motivating!
- Simply duplicate the blog template into your Notion workspace.
- Once you've duplicated the page (database), customize it to your liking by changing the icon, title, and description.
- For future reference, identify the
DATABASE_ID
by noting the portion of the duplicated page (database) URL that appears as https://notion.so/your-account/?v=xxxx.
- Create an integration
and note "Internal Integration Token" as
NOTION_API_SECRET
- To integrate your application with Notion, share a database with your integration.
- To make a copy of this repository in your own account, fork it by clicking on the 'Fork' button in the top-right corner of the repository page.
- Go to Cloudflare Pages and sign in
- Create new project with "Connect to Git" with your forked repository
<your-account>/astro-notion-blog
, then click "Begin setup" - In "Build settings" section,
- Select "Astro" as "Framework preset"
- Open "Environment Variables (advanced)" and set
NODE_VERSION
,NOTION_API_SECRET
andDATABASE_ID
NODE_VERSION
isv18.16.0
or higher- How to deploy a site with Git is helpful
- After clicking the 'Save and Deploy' button, your Notion Blog will be published once the deployment process is complete.
Please note that the astro-notion-blog requires manual deployment every time you publish a new post or make updates. You can deploy manually from the Cloudflare Pages dashboard or set up a scheduled deploy using CI tools such as GitHub Actions.
- Node.js v18.14.1 or higher
- To set your secrets as environment variables, run the following commands in your terminal:
export NOTION_API_SECRET=<YOUR_NOTION_API_SECRET>
export DATABASE_ID=<YOUR_DATABASE_ID>
- Install dependencies and start local server
npm install
npm run dev
- Open http://localhost:4321 in your browser
- Press
Ctrl+C
in the terminal to stop