| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
NewServer wires B1's RenderReadings/Themes/themeCSS/embedded static+
templates FS into an http.ServeMux: GET / (full page), GET /readings
(HTMX reading-pane fragment), GET /lookup (bible.Lookup passage search
fragment), GET /theme.css (theme stylesheet, falling back through
cfg.WebTheme to the built-in default on an unknown name), GET /static/.
Run listens on cfg.WebPort (0 = OS-picked free port), prints the URL,
best-effort opens a browser, then serves. cmd/lectio-web is the binary
entry point (config.Load -> web.Run).
Fold-in from the B1 review: hardened themeCSS's name guard to an
explicit ^[A-Za-z0-9_-]+$ allowlist (the old filepath.Base/ContainsAny
check let ".." through), plus guard-rejection and HTML-escaping
regression tests -- B2 is what makes /theme.css?name=<raw> reachable
from the network, so it owns closing this out.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Add WebTheme (default: "transfiguration") and WebPort (default: 0) to Config
for the upcoming lectio-web binary. WebTheme resolves theme names (built-in
or user files) later in internal/web; WebPort 0 means auto-pick a free port.
- Updated Config struct with new fields
- Set defaults in Default()
- Updated embedded seed config.toml with documentation
- Added TDD tests: TestWebDefaults and TestWebLoadsFromSeed
- Existing tests (TestLoadSeeds, TestLoadOverride) still pass
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Ports parse_sections, html_to_lines, extract_reference from ewangelia.py.
Parse(html) prefers the tabnowy0all lectionary tab (falls back to
tabstary0all) and errors loudly if the tab is present-but-empty or
absent. ExtractCitation(heading) pulls the parenthetical citation.
Section gains a PartID field (Addendum A): set from the heading prefix
(1. czytanie -> pierwsze_czytanie, a second same-day 1. czytanie ->
drugie_czytanie, Psalm -> psalm, Aklamacja -> aklamacja, Ewangelia ->
ewangelia; anything else -> "").
Adds testdata/2026-07-22.html (split-feast day, two 1. czytanie
sections) and testdata/2026-06-22.html (normal day), copied from
~/.cache/daily-reading/.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|