Update changelog-claude.md with detailed changelog redesign documentation

This commit is contained in:
Ivo Oskamp 2026-02-05 23:28:03 +01:00
parent 2505c8e337
commit b007b9459b

View File

@ -4,6 +4,53 @@ This file documents all changes made to this project via Claude Code.
## [2026-02-05]
### Added
- Redesigned changelog system to use Python-based structure instead of Markdown:
- Created `app/changelog.py` with structured changelog data (21 versions from v0.1.22 to v0.1.2)
- Each version contains: version number, date, summary, and structured sections
- Sections include: title, type (feature/improvement/fixed/documentation), and list of changes
- Removed Gitea dependency for changelog rendering - now fully self-contained
- No external dependencies, faster loading, always available
- New changelog.html template with modern design:
- Sidebar navigation with all versions for quick jumping between releases
- Sticky sidebar that remains visible during scrolling
- Bootstrap cards for each version with gradient blue headers
- Color-coded type badges for sections:
- Green gradient: Feature
- Blue gradient: Improvement
- Red gradient: Fixed
- Purple gradient: Documentation
- Responsive design (sidebar hidden on mobile devices)
- Summary section with blue left border highlight
- Click-to-expand sections with smooth animations
- Created `static/css/changelog.css` with comprehensive styling:
- Modern gradients for badges and headers
- Dark mode support via CSS variables
- Hover effects on navigation links and list items
- Smooth scrolling to version anchors
- Compact spacing optimizations (reduced padding, margins, font sizes)
- CSS specificity enhancements with !important flags to override Bootstrap defaults
- Added `{% block head %}` to base.html template to allow pages to inject custom CSS
### Changed
- Updated `routes_changelog.py` to load data from `changelog.py` instead of fetching from Gitea
- Simplified changelog route - removed markdown parsing and external HTTP requests
- Removed dependency on `markdown` library for changelog rendering
- Template now receives structured Python data instead of HTML string
### Fixed
- Fixed module import path in routes_changelog.py (changed from `from app.changelog` to `from ..changelog`)
- Fixed dictionary key conflict - renamed `items` to `changes` to avoid collision with dict.items() method
- Added missing `{% block head %}` in base.html that prevented custom CSS from loading
### Technical Details
- Changelog data structure uses dictionaries with keys: version, date, summary, sections
- Sections contain: title, type, subsections (optional), changes
- Subsections contain: subtitle, changes
- All list items use "changes" key instead of "items" to avoid Python reserved method conflicts
- CSS uses !important flags and increased specificity (.changelog-nav .changelog-nav-link) to override Bootstrap
- Compact spacing achieved with: 0.15rem padding, 0.15rem margins, 0.85rem/0.7rem font sizes, 1.1/1.0 line heights
### Added
- Autotask customer mapping now auto-searches for similar company names when opening unmapped customers:
- Automatically populates search box with customer name