summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* chore: bump to 0.30.0 (EF feast readings + books.ini multi-language)Lukasz Kasprzak2026-07-271-1/+1
|
* feat: books.toml -> books.ini, multi-language (add Latin dialect), ↵Lukasz Kasprzak2026-07-2710-68/+374
| | | | | | | | | | config-scoped citation display books.ini with [en]/[pl]/[la]; parseBooks reads INI (bible drops go-toml). Latin dialect resolves EF citations (Eccli->Sirach, Apoc->Revelation, Luc...); sigla_style gains 'latin'. Reading citations now DISPLAY in the configured sigla (FormatRef(SiglaLang)), not raw English. One-shot books.toml->books.ini user migration (go-toml now config-only). Web settings editor -> books.ini.
* feat(cli,caldata): EF feast proper readings — offline text in --liturgyLukasz Kasprzak2026-07-273-4/+69
| | | | | | | Added 1962 Epistle+Gospel citations (from missalemeum) to the 15 EF feasts; --liturgy now resolves + renders the reading text via the corpora (drb/wuj), incl. deuterocanon (Assumption's Judith epistle). Cross-chapter citations use their primary range pending multi-chapter parser support.
* chore: bump to 0.29.0 (deuterocanon in vul + drb)Lukasz Kasprzak2026-07-271-1/+1
|
* data(bible): close the deuterocanon gap in vul + drb corporaLukasz Kasprzak2026-07-274-2/+7274
| | | | | | | | Added Tobit, Judith, Wisdom, Sirach, Baruch to vul (5) and those + 1-2 Maccabees to drb (7), from get.bible's public-domain Clementine Vulgate / Douay-Rheims (Clementine versification = the EF citation basis). EF and OF deuterocanonical citations (e.g. the Assumption's Judith epistle) now resolve against the corpora. Flipped the gap-documenting test to assert resolution.
* chore: bump to 0.28.0 (EF 1962 computed calendar)Lukasz Kasprzak2026-07-271-1/+1
|
* test(calendar): EF oracle vs missalemeum 2025-2026 (0 season mismatches)Lukasz Kasprzak2026-07-273-0/+4536
| | | | | | temporalEF validated against Divinum Officium data. Season-mapping handles the Whit octave (Paschaltide), the Christmas vigil (Advent), and the resumed Epiphany Sundays (within Time after Pentecost).
* feat(caldata,cli): embed 1962 EF calendar + form-aware Stack; --liturgy ↵Lukasz Kasprzak2026-07-276-27/+189
| | | | | | | | computes EF caldata.Tridentine()/Base(form); Stack(form,dir,use); runLiturgy drops the EF guard and uses the form's base; rankLabel shows I-IV class; display omits OF cycles + strips ef- slug prefix for EF.
* feat(calendar): Compute branches on Form (computeEF via temporalEF/precedenceEF)Lukasz Kasprzak2026-07-272-3/+65
|
* feat(calendar): precedenceEF (1960 occurrence by class + ↵Lukasz Kasprzak2026-07-272-0/+78
| | | | temporal-before-sanctoral)
* feat(calendar): EF (1962) temporal cycle temporalEF + EF seasonsLukasz Kasprzak2026-07-273-9/+192
| | | | | | 8 EF seasons by date boundary (Septuagesima, Passiontide, Time after Epiphany/ Pentecost + shared); major feasts of the Lord; Christ the King = last Sun of October. ParseRank accepts EF ranks.
* refactor(calendar): Rank int enum -> unified string token (OF unchanged, ↵Lukasz Kasprzak2026-07-272-8/+39
| | | | | | | oracle 0 mismatches) Adds EF rank constants (class-1..4, commemoration); ofRankOrder() for the two ordered comparisons; buildCelebration defaults missing rank to ferial.
* docs: implementation plan for the EF (1962) calendar engineLukasz Kasprzak2026-07-271-0/+47
|
* docs: design for the EF (1962) computed calendar engineLukasz Kasprzak2026-07-271-0/+128
| | | | | | | | Form-aware single engine (sel.Form 'old' -> EF): shared Computus/merge/INI/ result + custom layers; new temporalEF (1962 seasons incl. Time after Pentecost, Septuagesima, octaves), precedenceEF (1960 rubrics, I-IV class), embedded 1962 sanctoral. Rank int enum -> unified string token. Validated vs the missalemeum per-date API. EF day-identity now; propers later.
* fix(cli): --liturgy signals EF-not-implemented instead of silently returning OFLukasz Kasprzak2026-07-272-0/+25
|
* chore: bump to 0.27.0 (custom calendar layers)Lukasz Kasprzak2026-07-271-1/+1
|
* feat(cli): --cal-new scaffold + --cal-check lint for custom calendar layersLukasz Kasprzak2026-07-274-1/+212
| | | | Also: reject out-of-range MM-DD in resolveDate (strict validation for user data).
* feat(cli): --liturgy uses the config 'use' layer stack (custom calendars ↵Lukasz Kasprzak2026-07-272-1/+29
| | | | take effect)
* feat(config): 'use' layer stack + CalendarsDir()Lukasz Kasprzak2026-07-272-0/+40
|
* feat(caldata): export ParseLayer + LoadLayer + Stack (user calendar layers)Lukasz Kasprzak2026-07-273-2/+151
|
* chore: bump to 0.26.1 (self-documenting config.ini)Lukasz Kasprzak2026-07-271-1/+1
|
* 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