cottongin
c4300b02b8
Add cover refinements design spec
...
Spec for three cover generation improvements: omit obituaries
from headlines, increase font size, and use pixel-width truncation.
Made-with: Cursor
2026-04-06 18:54:49 -04:00
cottongin
872d90d9d9
fix: delete issues, ePub reader (JSZip, linear cover, fonts), Pico dialog, UI polish
...
- Add POST /issues/<id>/delete route with file cleanup
- Fix ePub reader: add JSZip dependency, make cover linear in spine,
inject system fonts into rendition
- Replace browser confirm() with Pico CSS dialog component
- Fix dashboard button sizing and consistency
- Add favicon, override Pico font stack to suppress Firefox warnings
- Compact issue action buttons
Made-with: Cursor
2026-04-06 18:40:04 -04:00
cottongin
c7c6cd979b
chore: add run.py entrypoint, update .gitignore and README
...
Moved the app entrypoint from app.py __main__ block to a dedicated
run.py. Updated .gitignore to exclude editor, superpowers, and OS files.
Made-with: Cursor
2026-04-06 18:39:49 -04:00
cottongin
45e94d68da
style: UI consistency — tab bar, calendar, button classes, consistent element sizing
...
Made-with: Cursor
2026-04-06 17:41:21 -04:00
cottongin
8d58fa92b6
feat: in-app ePub reader with epub.js, TOC sidebar, chapter navigation
...
Made-with: Cursor
2026-04-06 17:39:37 -04:00
cottongin
5ca7156723
feat: publish UI rewrite — tabs, calendar widget, multi-week and single-article support
...
Made-with: Cursor
2026-04-06 17:06:52 -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
5fec07c287
feat: add COVER_SIZE config, issue_type column to Issue model
...
Made-with: Cursor
2026-04-06 16:59:27 -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
ec9f31f072
feat: complete web UI — dashboard, articles, publish, settings, issues
...
Made-with: Cursor
2026-04-06 15:21:18 -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