aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* config: self-documenting default config.ini (reference header) as single sourceLukasz Kasprzak2026-07-272-34/+36
| | | | | | | | renderConfigINI now emits a top-of-file reference block listing each option's allowed values (full-line comments; ascension/corpus_christi note the 'following Sunday' transfer). seedIfMissing generates from renderConfigINI, so the seed, migrated configs, and web-settings saves all carry the same header; dropped the separate embedded config.ini.
* chore: bump to 0.26.0 (offline OF calendar engine); document -L/--liturgyLukasz Kasprzak2026-07-272-1/+2
|
* feat(cli): 'lectio --liturgy/-L' prints the computed liturgical day offlineLukasz Kasprzak2026-07-274-0/+128
| | | | | Uses the pure engine + embedded universal calendar; UI-language names, rank, colour, cycles, and inline proper readings. Added the Assumption's propers.
* fix(ini,calendar): full-line-only comments (preserve ';' in citations); drop ↵Lukasz Kasprzak2026-07-273-21/+22
| | | | superseded ferial from Others
* feat(config): migrate to INI + one-shot TOML conversion + calendar SelectionLukasz Kasprzak2026-07-274-91/+269
| | | | | | | config.Load/Save now read/write config.ini; a pre-existing config.toml is converted once (old file kept, reversible). New [calendar] section (epiphany/ascension/corpus_christi) + Config.Selection() feeding the engine. Config struct API unchanged, so daily-readings and web /settings keep working.
* style: gofmt temporal.goLukasz Kasprzak2026-07-271-1/+1
|
* test(calendar): regression oracle vs calapi 2020-2040 (0 season mismatches)Lukasz Kasprzak2026-07-276-5/+7810
| | | | | | Caught + fixed an Advent-start bug: anchor on Christmas Eve, not Dec 25, so years where Dec 25 is a Sunday don't lose the first week of Advent. Rank-class diffs (324) are informational — the initial sanctoral dataset is partial.
* feat(caldata): embed + parse the owned universal Roman calendar (initial ↵Lukasz Kasprzak2026-07-274-0/+337
| | | | coverage)
* fix(calendar): Christmas solemnity in temporal; feasts of the Lord band 5; ↵Lukasz Kasprzak2026-07-273-4/+40
| | | | Sunday band before solemnity-rank fallback
* feat(calendar): Compute — build celebrations, apply precedence + transfer, ↵Lukasz Kasprzak2026-07-273-2/+216
| | | | | | cycles Also: deterministic pick tiebreak by slug.
* feat(calendar): Universal Norms precedence bands + pickLukasz Kasprzak2026-07-272-0/+107
|
* feat(calendar): ordered-stack layer merge (override/suppress/add)Lukasz Kasprzak2026-07-272-0/+86
|
* feat(calendar): temporal cycle (seasons, Sundays, movable solemnities)Lukasz Kasprzak2026-07-272-0/+294
|
* 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)