| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replace the static examples/sanctorale-of.ini with a `--cal-dump NAME` flag
that writes the running universal calendar to ~/.config/lectio/calendars/NAME.ini
as a fully-commented layer template (every celebration present, all commented).
Uncomment one day and edit a field to override it; enable with `use = NAME`.
- Form-aware: respects -l/--lectionary, so `-l trad --cal-dump x` dumps the 1962
calendar (322 entries) and the default dumps the OF calendar (212 entries).
- Entries sorted by date then slug; refuses to overwrite an existing file.
- Always in sync with the embedded (or sanctorale-overridden) calendar, so no
stale checked-in template to maintain.
- Update help text, man page (OPTIONS/FILES/EXAMPLES) and README to match;
drop examples/sanctorale-of.ini.
|
| |
|
|
|
|
|
|
|
|
|
| |
Add examples/sanctorale-of.ini: every universal Ordinary Form sanctorale entry
as a COMMENTED calendar-layer block (date, rank, class, colour, name.<lang>).
As shipped it changes nothing; to alter a day you copy it into
~/.config/lectio/calendars/, uncomment its block, edit a field, and enable the
layer with `use =`. The layer overlays the embedded calendar field by field, so
untouched days keep their defaults (verified: uncommenting St Sebastian with
rank=feast makes it displace the ferial). Header documents suppress/add/readings.
Man page and README point at it.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The universal calendar of saints can now be refreshed or replaced without a
rebuild: if ~/.config/lectio/sanctorale/of.ini (OF) or ef.ini (EF) is present
and parses, caldata.Base uses it instead of the embedded calendar; a missing or
malformed file falls back to the embedded default, so the binary stays
self-contained and correct out of the box. Local diocesan/national additions
keep layering on top via calendars/ + `use` (unchanged). The temporal cycle and
precedence rules stay in code -- only the sanctorale is data.
- caldata.SetSanctoraleDir hook (mirrors bible/naming/i18n); Base() prefers the
external file per form. config.SanctoraleDir(); wired in the CLI, TUI and web
entry points. Tests cover override, no-file, and malformed-file fallback.
- README: new "Calendar of saints" section (two tiers: overlay via `use`,
replace via sanctorale/<form>.ini); config comment notes the override.
|
| |
|
|
|
|
|
|
|
|
|
| |
Add name.pl to the 132 universal-calendar celebrations that lacked it, so all
212 now carry Polish names (was 80). They follow the existing liturgical style
-- genitive case, "św. <name>, <title>" / "świętych ...", feast events in the
genitive -- hand-curated from standard Polish nomenclature and keyed to each
entry's name.en/name.la. Polish patrons use their Polish forms (Adalbert ->
św. Wojciech, John of Kanty -> św. Jana Kantego, Hedwig -> św. Jadwigi
Śląskiej). Verified: feast/solemnity saints render their Polish name as the
day header, optional memorials appear as Polish options in the day's others.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The interface chrome (version labels, TUI keybar/messages, CLI banner words,
web control labels, section-heading words) was English/Polish hardcoded in Go.
It is now data: the English and Polish tables ship as embedded lang/en.ini and
lang/pl.ini, and any language is user-overridable at <config>/ui/<code>.ini,
resolved per key with an English fallback. With ui_language = <code> plus a
names/<code>.ini, the WHOLE interface -- chrome, day names, saint names -- is
translatable without a rebuild.
- i18n.Get loads the embedded English baseline, overlays the embedded/user
language file, caches per lang; field <-> INI-key mapping is by reflection
(lang.go) so the tables and files stay in sync automatically. Edge-space
values (e.g. "error: ") are double-quoted so the INI trim keeps them. The
Go tables move to golden_test.go; TestGoldenMatchesEmbedded asserts the
embedded files still parse back to them, and TestGenerateLangFiles
regenerates them (LECTIO_GEN=1).
- config.UIDir(); wire i18n.SetUserDir in the CLI, TUI and web entry points.
- README/config: document ui/<code>.ini alongside names/<code>.ini.
|
| |
|
|
|
|
|
|
|
|
|
| |
- README: only the Vulgate is embedded by default; new "Scripture corpora"
section explains the fullbible tag and the runtime corpora dir, and new
"Localising day names" section covers ui_language = <code> +
names/<code>.ini for day names and calendar-layer name.<lang> for saints.
License section now states the bible corpora are not covered by the AGPL.
- NOTICE: add a "Scripture corpora -- embedding and licence" section listing
each corpus's provenance (vul/wuj/drb/grb, all public domain) and the
default-embeds-vul-only policy.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
lectio was MIT, which let anyone take it closed. The concern is not people
selling it -- no licence stops that, and the AGPL does not try to -- but
someone building a proprietary product on it and giving nothing back.
Plain GPL would leave the obvious hole open: lectio-web is a network
service, and hosting is not distribution, so a modified lectio-web could be
run as a paid subscription API without ever publishing a line. AGPL section
13 closes exactly that.
LICENSE is the verbatim FSF text. README carries the standard notice.
Section 13 requires a modified network-reachable version to PROMINENTLY
offer its source to the users interacting with it, so the offer ships with
the code rather than living only in a file nobody fetches:
- GET /source plain text, no template or config dependency, so
it answers even when something else is broken
- page footers every full page (fragments render inside one)
- JSON envelope "source" / "license"
- iCal header X-LECTIO-SOURCE / X-LECTIO-LICENSE
The feed fields are not redundant: an /api/calendar.json consumer or an
.ics subscriber never loads a page, so the footer alone would miss them.
config.SourceURL is the single source of truth, and says in its comment
that a fork running as a service must repoint it -- an offer that leads to
someone else's code is not an offer.
Tests pin all of it. This is a licence obligation, not a feature, so it
should fail loudly if a later change drops it.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The daily view now computes entirely offline (previous commit), so retire the
network path and everything that served it:
- Delete internal/tradlit (missalemeum) and the niedziela scraper from
internal/liturgy (fetch/store/parse + fixtures); keep Section, DayInfo and
ExtractCitation.
- Remove the "bt" version everywhere (render gatherBT + branches, config,
i18n, web form, TUI) and bible.ToEnglishRef (Polish citation converter).
A legacy config carrying "bt" migrates to "wuj" on load (config.migrateBT).
- Remove the traditional_lang config field and the -g/--lang flag from all
three binaries.
- Drop the now-dead flags -R/--refresh, -o/--offline, -u/--update,
-C/--clean and the harvest/clean commands.
- New defaults: versions = wuj,vul,grb,drb; default_version = vul.
Update the README (offline-by-design, no harvest/update), help text, and
stale niedziela/bt doc comments. Tests updated for the offline reality;
go test ./... and go vet ./... are clean, all three binaries build and run
offline (OF + EF, compare, web).
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
| |
drops pl + all=readings-only
|
| |
|
|
| |
top-bar 'mono')
|
| | |
|
| |
|
|
| |
monospace)
|
| |
|
|
| |
pentecost -> red/white/gold; darker franciscans
|
|
|
Add README.md documenting all three binaries (lectio, lectio-ui,
lectio-web), config keys, the 12 themes, display modes, offline/update
workflow, and both lectionaries, surveyed against the real source.
Wire the third binary into Makefile's build/install/uninstall/clean/cross
targets (LECTIO_WEB var, ./cmd/lectio-web) and add /lectio-web to
.gitignore, matching the existing lectio/lectio-ui style.
|