Flask-app som genererer statiske sider til public/ og serverer dem sammen med et admin-grensesnitt (/admin). Innhold ligger som markdown og bilder i et git-repo (data/content), brukere i sqlite. - Editor med toolbar, live server-side forhåndsvisning, bildeopplasting via knapp, dra-og-slipp og lim inn. Bilder nedskaleres og EXIF fjernes. - Hovedbruker publiserer under /<slug>/, gjester under /<bruker>/<slug>/. Slug lages fra tittelen og fryses ved publisering. - Alle interne lenker er relative, så siden kan flyttes mellom domener og sub-paths (SOAPBOX_BASE_PATH) uten rebuild. - Tema 'green' med CSS-variabler, mørk modus og WCAG-kontrast. - Containerfile (python:alpine + git), compose.yaml og Caddyfile-eksempel. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JcEy43fNYpwg6K6oTKakWR
30 lines
594 B
TOML
30 lines
594 B
TOML
[project]
|
|
name = "soapbox"
|
|
version = "0.1.0"
|
|
description = "Liten statisk blogg med mobilvennlig editor, innhold i git"
|
|
readme = "README.md"
|
|
requires-python = ">=3.12"
|
|
dependencies = [
|
|
"flask>=3.1",
|
|
"linkify-it-py>=2.1.1",
|
|
"markdown-it-py>=3.0",
|
|
"mdit-py-plugins>=0.4",
|
|
"pillow>=11.0",
|
|
"waitress>=3.0",
|
|
]
|
|
|
|
[project.scripts]
|
|
soapbox = "soapbox.cli:main"
|
|
|
|
[dependency-groups]
|
|
dev = ["pytest>=8", "ruff>=0.8"]
|
|
|
|
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["soapbox"]
|
|
|
|
[tool.ruff]
|
|
line-length = 100
|