feat: v1.2.0-rc.2 - Media display fixes and feed enhancements

## Added
- Feed Media Enhancement with Media RSS namespace support
  - RSS enclosure, media:content, media:thumbnail elements
  - JSON Feed image field for first image
- ADR-059: Full feed media standardization roadmap

## Fixed
- Media display on homepage (was only showing on note pages)
- Responsive image sizing with CSS constraints
- Caption display (now alt text only, not visible)
- Logging correlation ID crash in non-request contexts

## Documentation
- Feed media design documents and implementation reports
- Media display fixes design and validation reports
- Updated ROADMAP with v1.3.0/v1.4.0 media plans

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-12-09 14:58:37 -07:00
parent 10d85bb78b
commit 27501f6381
21 changed files with 3360 additions and 44 deletions

View File

@@ -219,17 +219,25 @@ def media_file(path):
@bp.route("/")
def index():
"""
Homepage displaying recent published notes
Homepage displaying recent published notes with media
Returns:
Rendered homepage template with note list
Rendered homepage template with note list including media
Template: templates/index.html
Microformats: h-feed containing h-entry items
Microformats: h-feed containing h-entry items with u-photo
"""
from starpunk.media import get_note_media
# Get recent published notes (limit 20)
notes = list_notes(published_only=True, limit=20)
# Attach media to each note for display
for note in notes:
media = get_note_media(note.id)
# Use object.__setattr__ since Note is frozen dataclass
object.__setattr__(note, 'media', media)
return render_template("index.html", notes=notes)