Skip to content

Conversation

@horacio3m
Copy link
Member

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:

  • Implemented Notion CMS blog with dynamic routing
  • Added support for Author and Cover properties
  • Fixed Status property type mismatch
  • Added debug logs and temporary logs to check Author property extraction
  • Corrected property names and cleaned up debug logs
  • Optimized performance and fixed created_time error
  • Improved "Back to Blog" button functionality
  • Made back button clickable and updated status filter
  • Added author avatar support
  • Updated status values to new workflow
  • Added detailed token generation instructions
  • Added blog documentation and cleaned up code

This PR ensures the blog works correctly with Notion data and improves overall stability and logging.

- 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
@horacio3m horacio3m closed this Oct 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants