| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | chore: bump to 0.28.0 (EF 1962 computed calendar) | Lukasz Kasprzak | 2026-07-27 | 1 | -1/+1 |
| | | |||||
| * | test(calendar): EF oracle vs missalemeum 2025-2026 (0 season mismatches) | Lukasz Kasprzak | 2026-07-27 | 3 | -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 Kasprzak | 2026-07-27 | 6 | -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 Kasprzak | 2026-07-27 | 2 | -3/+65 |
| | | |||||
| * | feat(calendar): precedenceEF (1960 occurrence by class + ↵ | Lukasz Kasprzak | 2026-07-27 | 2 | -0/+78 |
| | | | | | temporal-before-sanctoral) | ||||
| * | feat(calendar): EF (1962) temporal cycle temporalEF + EF seasons | Lukasz Kasprzak | 2026-07-27 | 3 | -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 Kasprzak | 2026-07-27 | 2 | -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 engine | Lukasz Kasprzak | 2026-07-27 | 1 | -0/+47 |
| | | |||||
| * | docs: design for the EF (1962) computed calendar engine | Lukasz Kasprzak | 2026-07-27 | 1 | -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 OF | Lukasz Kasprzak | 2026-07-27 | 2 | -0/+25 |
| | | |||||
| * | chore: bump to 0.27.0 (custom calendar layers) | Lukasz Kasprzak | 2026-07-27 | 1 | -1/+1 |
| | | |||||
| * | feat(cli): --cal-new scaffold + --cal-check lint for custom calendar layers | Lukasz Kasprzak | 2026-07-27 | 4 | -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 Kasprzak | 2026-07-27 | 2 | -1/+29 |
| | | | | | take effect) | ||||
| * | feat(config): 'use' layer stack + CalendarsDir() | Lukasz Kasprzak | 2026-07-27 | 2 | -0/+40 |
| | | |||||
| * | feat(caldata): export ParseLayer + LoadLayer + Stack (user calendar layers) | Lukasz Kasprzak | 2026-07-27 | 3 | -2/+151 |
| | | |||||
| * | chore: bump to 0.26.1 (self-documenting config.ini) | Lukasz Kasprzak | 2026-07-27 | 1 | -1/+1 |
| | | |||||
| * | config: self-documenting default config.ini (reference header) as single source | Lukasz Kasprzak | 2026-07-27 | 2 | -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/--liturgy | Lukasz Kasprzak | 2026-07-27 | 2 | -1/+2 |
| | | |||||
| * | feat(cli): 'lectio --liturgy/-L' prints the computed liturgical day offline | Lukasz Kasprzak | 2026-07-27 | 4 | -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 Kasprzak | 2026-07-27 | 3 | -21/+22 |
| | | | | | superseded ferial from Others | ||||
| * | feat(config): migrate to INI + one-shot TOML conversion + calendar Selection | Lukasz Kasprzak | 2026-07-27 | 4 | -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.go | Lukasz Kasprzak | 2026-07-27 | 1 | -1/+1 |
| | | |||||
| * | test(calendar): regression oracle vs calapi 2020-2040 (0 season mismatches) | Lukasz Kasprzak | 2026-07-27 | 6 | -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 Kasprzak | 2026-07-27 | 4 | -0/+337 |
| | | | | | coverage) | ||||
| * | fix(calendar): Christmas solemnity in temporal; feasts of the Lord band 5; ↵ | Lukasz Kasprzak | 2026-07-27 | 3 | -4/+40 |
| | | | | | Sunday band before solemnity-rank fallback | ||||
| * | feat(calendar): Compute — build celebrations, apply precedence + transfer, ↵ | Lukasz Kasprzak | 2026-07-27 | 3 | -2/+216 |
| | | | | | | | cycles Also: deterministic pick tiebreak by slug. | ||||
| * | feat(calendar): Universal Norms precedence bands + pick | Lukasz Kasprzak | 2026-07-27 | 2 | -0/+107 |
| | | |||||
| * | feat(calendar): ordered-stack layer merge (override/suppress/add) | Lukasz Kasprzak | 2026-07-27 | 2 | -0/+86 |
| | | |||||
| * | feat(calendar): temporal cycle (seasons, Sundays, movable solemnities) | Lukasz Kasprzak | 2026-07-27 | 2 | -0/+294 |
| | | |||||
| * | feat(calendar): DateSpec resolution (fixed + easter/christmas offsets + ↵ | Lukasz Kasprzak | 2026-07-27 | 2 | -0/+76 |
| | | | | | sunday-after) | ||||
| * | feat(calendar): core types + Gregorian Computus | Lukasz Kasprzak | 2026-07-27 | 4 | -0/+204 |
| | | |||||
| * | feat(ini): dependency-free INI reader for config and calendar data | Lukasz Kasprzak | 2026-07-27 | 2 | -0/+123 |
| | | |||||
| * | docs: implementation plan for the OF calendar engine (sub-project #1) | Lukasz Kasprzak | 2026-07-27 | 1 | -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 Kasprzak | 2026-07-27 | 1 | -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 Kasprzak | 2026-07-24 | 4 | -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 Kasprzak | 2026-07-24 | 6 | -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 Kasprzak | 2026-07-24 | 5 | -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 Kasprzak | 2026-07-24 | 8 | -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 Kasprzak | 2026-07-24 | 13 | -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 Kasprzak | 2026-07-24 | 4 | -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 Kasprzak | 2026-07-24 | 4 | -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 Kasprzak | 2026-07-24 | 4 | -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 Kasprzak | 2026-07-24 | 8 | -92/+553 |
| | | | | | top-visible verse) + remember last place; v0.18.0 | ||||
| * | bookmarks: per-verse (optional Verse field); web reader verse input + list ↵ | Lukasz Kasprzak | 2026-07-24 | 6 | -5/+15 |
| | | | | | shows Book Ch:V; v0.17.0 | ||||
| * | cli: --rand -b accepts any version incl. bt (bt falls back to a corpus ↵ | Lukasz Kasprzak | 2026-07-24 | 3 | -19/+35 |
| | | | | | version instead of erroring); v0.16.1 | ||||
| * | cli: --rand/--rand-v (random verse) + --rand-ch (random chapter) from the ↵ | Lukasz Kasprzak | 2026-07-24 | 6 | -4/+167 |
| | | | | | corpus, using the config default version; v0.16.0 | ||||
| * | bookmarks: web reader bookmarks with notes + tags ↵ | Lukasz Kasprzak | 2026-07-24 | 9 | -2/+414 |
| | | | | | (add/list/filter/jump/delete); v0.15.0 | ||||
| * | web: don't clobber books.toml when the settings books field is empty | Lukasz Kasprzak | 2026-07-24 | 2 | -2/+37 |
| | | |||||
| * | web: /settings page to edit config + books.toml, persisted and applied live; ↵ | Lukasz Kasprzak | 2026-07-24 | 9 | -7/+481 |
| | | | | | v0.14.0 | ||||
| * | web: drop phantom hidden bt for traditional on explicit submit, so 'no ↵ | Lukasz Kasprzak | 2026-07-24 | 3 | -1/+50 |
| | | | | | version -> nothing' works in trad too; v0.13.1 | ||||
