A feature-rich blog website built using ReactJS, Redux, and the Notion API. This project integrates with Notion to dynamically fetch and display blog posts. It includes a light/dark theme toggle for personalized viewing and a comment feature for user engagement.
- Fetch Posts from Notion: Automatically fetches and displays blog posts from a specified Notion database.
- Light/Dark Theme: Users can toggle between light and dark modes for a customized reading experience.
- Comment Feature: Allows users to add comments to blog posts, enhancing interaction.
- Responsive Design: Optimized for both desktop and mobile viewing.
- Modern UI: Clean and intuitive design for a great user experience.
- ReactJS: For building the user interface.
- Redux: For state management.
- Notion API: To fetch content dynamically from Notion.
- Axios: For making HTTP requests to the Notion API.
- CSS: For styling, including light and dark themes.
- LocalStorage: To persist theme preference and comments.
- Node.js (v14.x or later)
- npm (v6.x or later)
- A Notion account and API key
-
Clone the repository:
git clone https://github.com/yourusername/notion-blog-website.git cd notion-blog-website
-
Install dependencies:
npm install
-
Set up environment variables:
Create a
.env
file in the root directory with the following:REACT_APP_NOTION_API_KEY=your_notion_api_key REACT_APP_NOTION_DATABASE_ID=your_notion_database_id
-
Start the development server:
npm start
Visit
http://localhost:3000
to see your blog website in action.