Commit Graph

16 Commits

Author SHA1 Message Date
cottongin
9c4fe7a0be feat: pass image paths to cover generator in scheduler
Made-with: Cursor
2026-04-06 19:27:49 -04:00
cottongin
1b9f5324ed feat: pass image paths to cover generator in publish route
Made-with: Cursor
2026-04-06 19:25:14 -04:00
cottongin
362e0c9b8e feat: implement mosaic cover generation logic
Made-with: Cursor
2026-04-06 19:21:55 -04:00
cottongin
33de384ab5 fix: correct conftest import in test_fetcher
tests/ has no __init__.py so "from tests.conftest" fails. Use
"from conftest" which pytest resolves automatically.

Made-with: Cursor
2026-04-06 19:02:36 -04:00
cottongin
a017abfa03 test: add obituary headline filtering test
Made-with: Cursor
2026-04-06 19:00:30 -04:00
cottongin
9a8b586292 feat(cover): pixel-width headline truncation and larger font
Replace character-count truncation (45 chars) with Pillow textbbox
pixel-width measurement. Bump headline font 14→18, line spacing 22→26.

Made-with: Cursor
2026-04-06 18:58:42 -04:00
cottongin
807ab8610d fix: tighten ePub image spacing — CSS margins, HTML cleanup for empty tags and wrappers
Made-with: Cursor
2026-04-06 17:04:40 -04:00
cottongin
49acf09aa1 feat: rewrite cover generation — 480×800 portrait, themed AI backgrounds, two-layer pipeline
Made-with: Cursor
2026-04-06 17:02:36 -04:00
cottongin
5c924f7dba feat: full integration — app.py wiring, scheduler startup, route registration, README
- Wire blueprints and scheduler into create_app()
- Add start_scheduler param to skip scheduler in tests
- Fix Setting.get/set to use modern db.session.get()
- Remove unused imports from conftest and models
- Add README with quick start and usage guide

Made-with: Cursor
2026-04-06 15:22:38 -04:00
cottongin
50ff2e1533 feat: APScheduler manager with fetch interval and auto-publish
Made-with: Cursor
2026-04-06 15:18:37 -04:00
cottongin
01f8366e85 feat: ePub builder with chapters, images, TOC, cover
Made-with: Cursor
2026-04-06 15:17:21 -04:00
cottongin
d88a0817b7 feat: cover generation with Pollinations.ai and text fallback
Made-with: Cursor
2026-04-06 15:12:01 -04:00
cottongin
46796b8bf8 feat: RSS fetcher with dedup, image download, HTML rewriting
Made-with: Cursor
2026-04-06 15:03:55 -04:00
cottongin
58fe002c6f feat: image download, resize-to-fit, baseline JPEG conversion
Made-with: Cursor
2026-04-06 15:01:03 -04:00
cottongin
b0e1ed20bd feat: SQLAlchemy models for Article, Image, Issue, Setting 2026-04-06 14:56:45 -04:00
cottongin
88e359069d scaffold: project structure, config, Flask app factory, test fixtures
Made-with: Cursor
2026-04-06 14:54:00 -04:00