<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lectio.git/internal/web/templates/settings.html, branch v0.45.1</title>
<subtitle>offline Catholic daily readings and liturgical calendar in Go, with CLI, TUI and web clients</subtitle>
<id>https://git.labunix.xyz/lectio.git/atom?h=v0.45.1</id>
<link rel='self' href='https://git.labunix.xyz/lectio.git/atom?h=v0.45.1'/>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/'/>
<updated>2026-07-29T18:46:57Z</updated>
<entry>
<title>web(settings): drop the terminal "versions" field; it is CLI-only</title>
<updated>2026-07-29T18:46:57Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-29T18:46:57Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=03ead1722f4c57616adc6c709ebbce0642c03cfb'/>
<id>urn:sha1:03ead1722f4c57616adc6c709ebbce0642c03cfb</id>
<content type='text'>
The settings page showed two near-identical version checkbox rows --
"versions" (the terminal compare set) and "web_versions" (the web page's
own default ticks). The first only affects the CLI, so editing it from
the web is pointless and was actively confusing (both rows list the same
wuj/vul/grb/drb boxes).

Remove the "versions" row from the form and stop reading it in
settingsPost, so cfg.Versions is preserved from the live config (same
pattern as offline/width/pager). The web settings now expose only what
the web uses: default_version and web_versions.
</content>
</entry>
<entry>
<title>web: declutter the UI, fix date arrows, red * for bookmarked verses in reader</title>
<updated>2026-07-29T12:24:16Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-29T12:24:16Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=855859bdaac101e7e87d5cb0237b7c30f4f4b371'/>
<id>urn:sha1:855859bdaac101e7e87d5cb0237b7c30f4f4b371</id>
<content type='text'>
Daily page (index.html):
- Date arrows now step the date input client-side and dispatch its change, so
  they move relative to the CURRENT day and update the shown date (they were
  stuck one step from the initial date, computed server-side).
- Theme picker removed (theme lives only in /settings now); bookmarks link
  removed (bookmarks belong to the reader, not the daily readings).
- reader/settings nav + the download links move to a right-aligned .controls-side
  cluster; essential controls (date, lectionary, versions, parts, layout, mono)
  stay on the left. mono stops its change bubbling so it no longer refetches.

Reader (reader.html + RenderPassage): a bookmarked verse now shows a red "*"
(end of line in columns, after the verse number interlinear). Threaded a
marked set (keyed "chap:verse") through the reader render path only; the daily
RenderReadings path is untouched.

Settings (settings.html): Save button moved to the top; removed offline (dead),
width and pager (CLI/TUI-only, no web effect) -- their config values are
preserved since the handler no longer reads/zeroes them.

Footer: source/licence centred.

Web tests + full suite green both build modes.
</content>
</entry>
<entry>
<title>licence: relicense MIT -&gt; AGPL-3.0-or-later</title>
<updated>2026-07-28T12:02:54Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-28T12:02:54Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=0586599fc6020df996c4278230eeea99b9d070cb'/>
<id>urn:sha1:0586599fc6020df996c4278230eeea99b9d070cb</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>refactor: remove the niedziela/missalemeum scrapers, bt, traditional_lang</title>
<updated>2026-07-28T10:50:31Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-28T10:50:31Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=7b220084cf3951c8cde0582efdfcf628afc64336'/>
<id>urn:sha1:7b220084cf3951c8cde0582efdfcf628afc64336</id>
<content type='text'>
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).
</content>
</entry>
<entry>
<title>feat: books.toml -&gt; books.ini, multi-language (add Latin dialect), config-scoped citation display</title>
<updated>2026-07-27T12:59:14Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-27T12:59:14Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=cb3379f41c06a94085c77fe359709b46712850dc'/>
<id>urn:sha1:cb3379f41c06a94085c77fe359709b46712850dc</id>
<content type='text'>
books.ini with [en]/[pl]/[la]; parseBooks reads INI (bible drops go-toml).
Latin dialect resolves EF citations (Eccli-&gt;Sirach, Apoc-&gt;Revelation, Luc...);
sigla_style gains 'latin'. Reading citations now DISPLAY in the configured
sigla (FormatRef(SiglaLang)), not raw English. One-shot books.toml-&gt;books.ini
user migration (go-toml now config-only). Web settings editor -&gt; books.ini.
</content>
</entry>
<entry>
<title>i18n: localize remaining web UI chrome (nav, bookmarks, settings)</title>
<updated>2026-07-24T19:56:44Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-24T19:56:44Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=1ab07867b425cfa8da207b904a297df29b1b177a'/>
<id>urn:sha1:1ab07867b425cfa8da207b904a297df29b1b177a</id>
<content type='text'>
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).
</content>
</entry>
<entry>
<title>web: /settings page to edit config + books.toml, persisted and applied live; v0.14.0</title>
<updated>2026-07-24T13:01:03Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-24T13:01:03Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=2453b598def94649cc7ce9af7155bfaad40cce12'/>
<id>urn:sha1:2453b598def94649cc7ce9af7155bfaad40cce12</id>
<content type='text'>
</content>
</entry>
</feed>
