Soapbox: statisk blogg med mobilvennlig markdown-editor
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
This commit is contained in:
commit
7ab2320be6
35 changed files with 2726 additions and 0 deletions
19
compose.yaml
Normal file
19
compose.yaml
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
# podman-compose up -d (eller: podman compose up -d)
|
||||
services:
|
||||
soapbox:
|
||||
image: localhost/soapbox:latest
|
||||
container_name: soapbox
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "127.0.0.1:8080:8080"
|
||||
volumes:
|
||||
- soapbox-data:/data
|
||||
environment:
|
||||
SOAPBOX_SITE_URL: https://blog.domene.no
|
||||
SOAPBOX_BASE_PATH: ""
|
||||
SOAPBOX_THEME: green
|
||||
# Settes kun første gang; ignoreres når en hovedbruker finnes.
|
||||
SOAPBOX_OWNER_USER: olemd
|
||||
SOAPBOX_OWNER_PASSWORD: bytt-meg-nå
|
||||
volumes:
|
||||
soapbox-data:
|
||||
Loading…
Add table
Add a link
Reference in a new issue