aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* feat(calendar): DateSpec resolution (fixed + easter/christmas offsets + ↵Lukasz Kasprzak2026-07-272-0/+76
| | | | sunday-after)
* feat(calendar): core types + Gregorian ComputusLukasz Kasprzak2026-07-274-0/+204
|
* feat(ini): dependency-free INI reader for config and calendar dataLukasz Kasprzak2026-07-272-0/+123
|
* docs: implementation plan for the OF calendar engine (sub-project #1)Lukasz Kasprzak2026-07-271-0/+1963
| | | | | | | | 12 TDD tasks: internal/ini reader, calendar types+Computus, DateSpec, temporal cycle, layer merge, Universal-Norms precedence, Compute, caldata (embedded owned Roman calendar), TOML->INI config migration, regression oracle vs calapi 2020-2040, 'lectio calendar' command, version bump. Engine is pure stdlib; oracle is the correctness gate.
* docs: design for self-contained OF liturgical calendar engine (sub-project #1)Lukasz Kasprzak2026-07-271-0/+296
| | | | | | | | | Offline, pure-Go, stdlib-only engine computing the Ordinary Form liturgical day (season/rank/colour/observed + inline propers) from Computus + embedded General Roman Calendar + Universal Norms precedence, replacing the scrape. Locks the epic's formats (INI config + INI-section celebration records, TSV corpora, JSON/iCal API) and six-layer architecture; 25-50yr longevity mandate. Part of the self-contained-calendar epic.
* lectio-ui reader: go-to-chapter jump (c)Lukasz Kasprzak2026-07-244-149/+310
| | | | | | | | | | Inside a book, 'c' opens a centered prompt showing the book's chapter range (e.g. "1-21: ") and accepts a chapter number to jump straight there, instead of scrolling (handy for Psalm 119 etc). Digits only, backspace edits, Enter clamps to the valid range and opens that chapter at its top, Esc cancels. New modeChapterJump + updateChapterJump/jumpToChapter/ viewChapterJump; i18n ReaderJumpChapter/ReaderJumpChapterKeys (en/pl) and 'c' added to the reading keybar. Only offered when the book has >1 chapter.
* i18n: localize remaining web UI chrome (nav, bookmarks, settings)Lukasz Kasprzak2026-07-246-26/+86
| | | | | | | | | The web nav links (settings, bookmarks, home), the /reader bookmark-add form placeholders and button, the /bookmarks filter/empty/delete labels, and every /settings field label were hardcoded English and stayed English under ui_language=pl. Route them all through i18n (en/pl) so the Polish UI is fully localized. No server.go change: every page's data already carries L: i18n.Get(cfg.UILanguage).
* export: localize calendar title (month name via i18n Months + lectionary ↵Lukasz Kasprzak2026-07-245-6/+30
| | | | label); --ui-lang flag overrides interface/export language (cli + web ?lang=); v0.24.0
* export: month calendar PDF (A4 landscape, Monday-first grid, feast name + ↵Lukasz Kasprzak2026-07-248-4/+270
| | | | gospel ref + liturgical colour per day); cli --calendar YYYY-MM; web /calendar + link; readings.GospelCitation; v0.23.0
* export: internal/export (Markdown/Text/ReadingsPDF via pure-Go go-pdf/fpdf + ↵Lukasz Kasprzak2026-07-2413-1/+308
| | | | embedded DejaVu Sans, covers pl/la/gr); cli --md/--pdf/--out; web /export + download links; v0.22.0
* bookmarks: store as universal TSV (header row) with one-time JSON migration; ↵Lukasz Kasprzak2026-07-244-21/+160
| | | | tui note box wraps long notes with hanging indent + hard-break; v0.21.0
* tui reader: bookmark note+tags as a prominent centered modal (tab switches ↵Lukasz Kasprzak2026-07-244-24/+101
| | | | fields), delete confirmation as a modal; v0.20.0
* tui reader: m opens a verse cursor (↑/↓ pick the verse) then a note box ↵Lukasz Kasprzak2026-07-244-54/+198
| | | | (write or skip); d in bookmarks confirms before deleting; v0.19.0
* tui reader: bookmarks (m=mark w/ note, b=list/jump/delete, per-verse via ↵Lukasz Kasprzak2026-07-248-92/+553
| | | | top-visible verse) + remember last place; v0.18.0
* bookmarks: per-verse (optional Verse field); web reader verse input + list ↵Lukasz Kasprzak2026-07-246-5/+15
| | | | shows Book Ch:V; v0.17.0
* cli: --rand -b accepts any version incl. bt (bt falls back to a corpus ↵Lukasz Kasprzak2026-07-243-19/+35
| | | | version instead of erroring); v0.16.1
* cli: --rand/--rand-v (random verse) + --rand-ch (random chapter) from the ↵Lukasz Kasprzak2026-07-246-4/+167
| | | | corpus, using the config default version; v0.16.0
* bookmarks: web reader bookmarks with notes + tags ↵Lukasz Kasprzak2026-07-249-2/+414
| | | | (add/list/filter/jump/delete); v0.15.0
* web: don't clobber books.toml when the settings books field is emptyLukasz Kasprzak2026-07-242-2/+37
|
* web: /settings page to edit config + books.toml, persisted and applied live; ↵Lukasz Kasprzak2026-07-249-7/+481
| | | | v0.14.0
* web: drop phantom hidden bt for traditional on explicit submit, so 'no ↵Lukasz Kasprzak2026-07-243-1/+50
| | | | version -> nothing' works in trad too; v0.13.1
* web: empty pane when no version selected (hidden vset marker); config ↵Lukasz Kasprzak2026-07-244-8/+56
| | | | default checked on fresh load; v0.13.0
* grb: strip SBLGNT apparatus markers (U+2E00–U+2E0D); render: show ↵Lukasz Kasprzak2026-07-248-4481/+4527
| | | | scripture ref in traditional headings; v0.12.0
* corpus: fix vul book mislabel 2 King -> 2 Kings (restores Vulgate 2 Kings); ↵Lukasz Kasprzak2026-07-243-720/+731
| | | | v0.11.1
* citation: render --citation/--week gospel ref in the configured sigla ↵Lukasz Kasprzak2026-07-245-16/+106
| | | | dialect (bible.FormatRef); v0.11.0
* web reader: fix chapter arrows (drive chap select) + mono (move #pane out of ↵Lukasz Kasprzak2026-07-242-6/+44
| | | | controls form)
* qol: tui jump-to-date (d) + lectio --citation/--week + hide bt for ↵Lukasz Kasprzak2026-07-249-9/+286
| | | | traditional web; v0.10.0
* web reader: /reader book picker + chapter nav + version compare, reusing ↵Lukasz Kasprzak2026-07-249-36/+463
| | | | pane templates; v0.9.0
* reader: lectio-ui --reader fuzzy book picker + chapter reader over the ↵Lukasz Kasprzak2026-07-247-3/+614
| | | | corpora; v0.8.0
* books: language-scoped --ref/--list via customizable books.toml + ↵Lukasz Kasprzak2026-07-2410-102/+595
| | | | sigla_style config; v0.7.0
* bible-lookup: add --ref passage lookup + --list-pl/--list-en book lists; v0.6.0Lukasz Kasprzak2026-07-245-13/+314
|
* dayinfo: show feast/day name + colour (modern niedziela + traditional ↵Lukasz Kasprzak2026-07-2421-112/+599
| | | | missalemeum) in cli/tui/web; v0.5.0
* rename the pl scripture version to bt (Biblia Tysiąclecia); v0.4.0Lukasz Kasprzak2026-07-2416-86/+86
| | | | | | | | | | The niedziela.pl scraped Polish paragraph text is the Biblia Tysiąclecia translation; rename its version code from "pl" to "bt" and its i18n label to "Biblia Tysiąclecia (niedziela.pl)" everywhere the scripture VERSION is meant, across config, i18n, render, web, tui, cli and both binaries' help text. Language-role "pl" (ui_language, traditional_lang, i18n.Get lang, --lang validation) is untouched. Behavior is identical -- bt is still dropped for offline/traditional and substituted with wuj.
* cli: keep real terminal width when paging; validate -c list before pagerLukasz Kasprzak2026-07-241-3/+19
|
* cli: pager for reading output (-P/--pager, --no-pager, config pager, $PAGER ↵Lukasz Kasprzak2026-07-246-10/+261
| | | | fallback); v0.3.0
* tradlit: offline caching + read; update pre-caches traditional; --clean ↵Lukasz Kasprzak2026-07-2410-48/+314
| | | | prunes it; v0.2.0
* cli-ui,web: real flag parsing for lectio-ui/lectio-web (accept useful flags, ↵Lukasz Kasprzak2026-07-238-41/+518
| | | | reject unknown, -h/-v)
* tui: honor config all; r-key forces refresh (bypass cache); clamp scroll in ↵Lukasz Kasprzak2026-07-231-22/+37
| | | | Update (no over-scroll)
* tui: fix width-wrap garbling + straight-aligned verse column (export ↵Lukasz Kasprzak2026-07-237-21/+73
| | | | render.Wrap, hanging indent); strip niedziela summary subtitle (tui/cli/web); web verse grid alignment; refrain-italic pl-only
* cli,tui,web: share traditional+offline pl-drop via render.EffectiveVersions; ↵Lukasz Kasprzak2026-07-234-18/+31
| | | | -v/--version any position
* cli,liturgy: lectio --clean prunes readings cache older than one yearLukasz Kasprzak2026-07-234-1/+233
|
* i18n: fix consistency-review gaps in ui_language (en/pl chrome)Lukasz Kasprzak2026-07-2312-76/+387
| | | | | | | | | | | | | | | | | | | | | | | | | Closes six findings from review of the ui_language feature so English mode carries no leftover Polish UI text: - Web: interlinear "no verses" note and the empty-day error fragment now route through i18n instead of being unconditionally Polish. - render.GatherVersion/GatherVerses/resolveRef's four lookup/citation- failure blocks are now lang-aware (resolveRef gained a lang param). - i18n.ErrorPrefix/NoReadingsFor lost a stray extra trailing space, restoring the pre-i18n single-space TUI concatenation. - render.LocalizeHeading now matches a heading's actual leading label text against all known modern pl labels, rather than trusting the label keyed by sec.PartID -- fixes split-feast days where PartID is "drugie_czytanie" but the heading still reads "1. czytanie ...". - cli bannerFor is lang-specific again (pl "na", en "for"), restoring pl's exact pre-i18n wording instead of "--" for both languages. - index.html's <html lang> now follows cfg.UILanguage instead of being hardcoded "pl". gofmt/vet clean, go test ./... green, all three binaries build, no new go.mod deps. Consistency grep across cli/tui/web/render's live source turns up only two non-displayed identifiers (a PartID slug list and a pre-existing incipit-stripping constant on the pl scripture text itself).
* i18n: ui_language config (default en) for UI chrome across cli/tui/web; ↵Lukasz Kasprzak2026-07-2315-84/+600
| | | | version labels localised
* web: no-store responses + robust theme-link swap (fixes stale-cache 'theme ↵Lukasz Kasprzak2026-07-232-2/+12
| | | | switch stopped working')
* config,web: web_versions — which version checkboxes start toggled on in ↵Lukasz Kasprzak2026-07-234-0/+14
| | | | lectio-web
* config: parts.new preset to false (uncomment=hide); drop dead ↵Lukasz Kasprzak2026-07-231-21/+12
| | | | parts.traditional; clarify web_theme/web_display are the web defaults
* web: distinct per-theme fonts + bolder accents; memento_mori bare monospaceLukasz Kasprzak2026-07-2317-61/+102
|
* tui: respect terminal colours (ANSI palette + attributes); reverse-video ↵Lukasz Kasprzak2026-07-231-28/+24
| | | | bars for legible header/footer
* cli: flag-driven interface (short+long); -u maximal blip-proof harvestLukasz Kasprzak2026-07-234-232/+362
| | | | | | | | | | | | | | Replace the today/date/show/compare/update subcommands with a single flag-driven interface like the Python predecessor: lectio [DATE] -a/-b/-c/-r/-w/-R/-o/-l/-g/-u, short and long names bound to the same variable, DATE (YYYY-MM-DD) extracted from any position in the args. Fix Harvest's "-u" to walk to the true maximal horizon without a transient network error being mistaken for it: a fetch failure now retries a few times with backoff and, if it still fails, is reported as an error (after saving partial progress via writeSigla), while a Parse failure (the real unpublished-horizon placeholder) still stops cleanly with a nil error.
* web: check boxes for the effective (post-substitution) versions; tidy ↵Lukasz Kasprzak2026-07-232-3/+5
| | | | controls comment