Changelog

A living document of updates, improvements, and milestones for this blog.

v3.2.0

Latest July 07, 2025
  • Pagination System: Implemented across all content pages with URL-based state for bookmarkable pages
  • Scroll-to-Top Navigation: Automatic page top scrolling on pagination and navigation clicks for better UX
  • Reusable Pagination Component: Smart page range display with first/last/current page logic
  • Content-Specific Pagination: Maintained rating groups for readings, series order, and grid layouts
  • Performance Optimization: Efficient query limits and offsets for faster page loads
  • Mobile-Friendly Pagination: Responsive controls that work well on all screen sizes
  • Admin Pagination: Added to admin posts list with content type filtering preserved

v3.1.0

June 22, 2025
  • Multi-Content-Type System: Support for blog posts, projects, and book reviews with type-specific fields
  • Project Showcase: Dedicated project pages with tech stack display, demo links, and GitHub integration
  • Reading List: Book review system with ratings, author info, ISBN tracking, and date read
  • Dynamic Content Forms: Type-specific fields appear dynamically based on content type selection
  • Smart URL Routing: Automatic URL prefixes (/post/, /project/, /reading/) based on content type
  • Enhanced Admin: Unified content management with type filtering and proper edit links
  • Type-Specific Templates: Custom display layouts for projects (with tech badges) and readings (with star ratings)

v3.0.0

June 14, 2025
  • RSS/Atom Feed System with main, category, series, and tag-specific feeds
  • Content Organization with hierarchical categories and series
  • Media Management with upload system and gallery view
  • Enhanced Editor with Tailwind Typography integration
  • Single-user blog mode with registration prevention
  • SEO Improvements with meta tags and sitemap generation
  • Feed Discovery with auto-discovery links and OPML export

v2.0.0

June 11, 2024
  • Complete tag system implementation with many-to-many relationships
  • Docker containerization for development environment
  • Improved sidebar design with active tag highlighting
  • Sticky footer implementation
  • Migration from Fly.io to Hetzner deployment strategy

v1.5.0

March 15, 2024
  • Added Monaco editor for markdown editing
  • Implemented draft and publish workflow
  • User authentication system
  • Basic tag creation functionality

v1.0.0

March 9, 2024
  • Initial blog setup with Phoenix LiveView
  • Basic post creation and display
  • Custom Tailwind styling with SNPro and Calistoga fonts
  • Responsive design implementation

Recent Technical Improvements

📄 Pagination & Navigation

URL-based pagination with Ecto query optimization using limit/offset. Reusable pagination component with smart page ranges. JavaScript hooks for scroll-to-top on navigation. LiveView lifecycle optimization with mount vs handle_params separation.

🎯 Multi-Content-Type Architecture

Polymorphic content system with post_type field enabling blog posts, projects, and readings. Type-specific fields stored in same table with smart validation based on content type. Automatic URL routing (/post/, /project/, /reading/) based on type.

📝 Dynamic Form System

Phoenix LiveView-powered forms that show/hide fields based on content type selection. Tech stack stored as PostgreSQL array with comma-separated input parsing. Rating validation only for reading type.

🔧 RSS/Atom Implementation

Using Atomex library with custom XML generator for feed compatibility. Includes validation fixes for iframe removal and proper entity encoding.

🔒 Registration Control

Environment-based registration control with single-user mode for production deployments on Hetzner.

📁 Content Organization

Hierarchical categories, post series with ordering, draft revisions, and enhanced SEO fields across all content types.

🖼️ Media Management

Centralized upload system with image gallery, automatic file organization, and integration with blog posts.

Upcoming Features

  • Search functionality with type filtering
  • Analytics dashboard with content type insights
  • Social sharing buttons for posts
  • Custom 404 and error pages
  • Book API Integration (fetch book details from ISBN)
  • Project screenshots gallery with lightbox
  • Reading statistics and yearly book challenges
  • GitHub API integration for project stats
  • Type-specific RSS feeds (/projects/feed.xml, /readings/feed.xml)
  • Comments system with AI moderation
  • Newsletter integration with content type preferences
  • Dark mode toggle