-
Notifications
You must be signed in to change notification settings - Fork 11
feat: implement Notion CMS blog with dynamic routing (#3)(#5) #43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Add Notion API integration with authentication - Create blog listing page with post cards - Implement dynamic blog post pages with [slug] routing - Add NotionRenderer component for rich content display - Support multiple block types (headings, paragraphs, lists, images, etc.) - Add blog link to main navigation menu - Include test page for Notion connection validation - Handle environment variables validation and error states
- Remove database-level filtering for Status property - Implement client-side filtering for Live posts - Support databases without Status property (show all posts) - Improve error handling for property type mismatches
- Add support for 'status' property type in getPropertyValue function - Add comprehensive debug logging to track post extraction - Log total pages found, filtering process, and extracted post data - Help diagnose why posts are not appearing in blog listing
- Remove status filtering to show all posts regardless of status - Add detailed logging for all properties and their types - Log available property names for debugging - Add warnings for missing properties - Help diagnose title extraction issues
- Fix property names based on actual Notion database structure: - 'title' -> 'Title' (capitalized) - 'publishedAt' -> 'Date' - 'tags' -> 'Tags' (capitalized) - Remove verbose debug logging for cleaner console output - Keep essential logs for monitoring - Posts should now display proper titles and be clickable
- Fix created_time error by using current date as fallback instead of page.created_time - Remove console.log statements to improve performance - Remove console.warn for unsupported property types - Clean up debug output for better user experience - Navigation should now be faster and smoother
- Replace text arrow with proper SVG icon - Add better styling with transition effects - Improve accessibility and visual feedback - Ensure proper navigation functionality
- Replace Next.js Link with standard <a> tag for better compatibility - Add cursor-pointer class to ensure clickable appearance - Update status filter to show posts with 'Concluído' status - Support posts without status property (show all) - Fix navigation issues between blog listing and individual posts
- Add Author and Cover properties to BlogPost interface - Update extractBlogPost function to extract Author and Cover from Notion - Add author information display in blog listing - Add cover image display in blog listing and individual posts - Add professional author card at the end of individual posts - Improve visual design with cover images and author attribution - Support for rich media content and author attribution
- Add console.log to debug Author property extraction - Check raw property data and extracted value - List all available properties for debugging - Temporary debug to identify Author property issue
- Add support for 'people' property type in getPropertyValue function - Fix Author property extraction from Notion people field - Remove debug logs after identifying the issue - Author should now display correctly in blog posts
- Add authorAvatar property to BlogPost interface - Create getAuthorAvatar function to extract user avatar from Notion people field - Update individual post page to display real author avatar with fallback to initials - Update blog listing to show small author avatar next to name - Support both avatar_url and person.avatar_url from Notion API - Improve visual design with real user avatars
- Add README-BLOG.md with setup instructions - Add env.blog.example with required environment variables - Remove all comments from blog-related code files - Clean and minimal code structure for better maintainability
- Update status filter from 'Concluído' to 'Publicado' - Add status documentation section in README - Document all available status values: Rascunho, Revisando, Publicado - Only 'Publicado' articles will appear on the blog
- Add step-by-step guide for creating Notion integration - Include instructions for getting database ID from URL - Add important note about sharing database with integration - Make setup process clear and foolproof
- Add .env.local to gitignore to prevent committing sensitive environment variables - Ensures Notion tokens and database IDs are not exposed in version control - Follows security best practices for environment configuration
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR implements a Notion CMS-based blog with dynamic routing, including support for Author and Cover properties, and handling of the Status property type mismatch in the Notion database.
Changes included:
This PR ensures the blog works correctly with Notion data and improves overall stability and logging.