feat: initialize blog app with blueprints and templates
Some checks failed
Build and Deploy / build-and-deploy (push) Has been cancelled

Extract blog-specific code from the coop monolith into a standalone
repository. Includes auth, blog, post, admin, menu_items, snippets
blueprints, associated templates, Dockerfile (APP_MODULE=app:app),
entrypoint, and Gitea CI workflow.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
giles
2026-02-09 23:15:56 +00:00
commit 8f7a15186c
128 changed files with 9246 additions and 0 deletions

60
README.md Normal file
View File

@@ -0,0 +1,60 @@
# Blog App
Blog and content management application for the Rose Ash cooperative platform.
## Overview
This is the **blog** service extracted from the Rose Ash (Suma Browser) monolith.
It handles:
- **Blog**: Ghost CMS integration for browsing, creating, and editing posts
- **Auth**: Magic link authentication and user account management
- **Admin/Settings**: Administrative interface and settings management
- **Menu Items**: Navigation menu item management
- **Snippets**: Reusable content snippet management
- **Internal API**: Server-to-server endpoints for cross-app data sharing
## Tech Stack
- **Quart** (async Flask) with HTMX
- **SQLAlchemy 2.0** (async) with PostgreSQL
- **Redis** for page caching
- **Ghost CMS** for blog content
## Running
```bash
# Set environment variables (see .env.example)
export APP_MODULE=app:app
# Run migrations
alembic upgrade head
# Start the server
hypercorn app:app --bind 0.0.0.0:8000
```
## Docker
```bash
docker build -t blog .
docker run -p 8000:8000 --env-file .env blog
```
## Directory Structure
```
app.py # Application factory and entry point
bp/ # Blueprints
auth/ # Authentication (magic links, account)
blog/ # Blog listing, Ghost CMS integration
post/ # Individual post viewing and admin
admin/ # Settings admin interface
menu_items/ # Navigation menu management
snippets/ # Content snippet management
coop_api.py # Internal API endpoints
templates/ # Jinja2 templates
_types/ # Feature-specific templates
entrypoint.sh # Docker entrypoint (migrations + server start)
Dockerfile # Container build definition
```