<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lectio.git/internal/web/templates/index.html, branch v0.46.0</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.46.0</id>
<link rel='self' href='https://git.labunix.xyz/lectio.git/atom?h=v0.46.0'/>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/'/>
<updated>2026-07-29T13:06:57Z</updated>
<entry>
<title>web: reader link to the left, downloads into a "pobierz" disclosure</title>
<updated>2026-07-29T13:06:57Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-29T13:06:57Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=ae8af86660243b75db1d54bb0c8d26431bd17f52'/>
<id>urn:sha1:ae8af86660243b75db1d54bb0c8d26431bd17f52</id>
<content type='text'>
Finish the top-bar rework. The reader entry point now leads the controls
bar on the far left (it was in the right-hand cluster); settings stays in
the top-right cluster.

The flat "download: txt md pdf · kalendarz" strip becomes a single
"pobierz" summary that opens a small floating panel with two rows:
 - a month calendar with its own month + year &lt;select&gt; pickers (localised
   month names, both pre-selected from the shown date) and a PDF button
   that hits /calendar?month=YYYY-MM;
 - the shown day's readings as txt/md/pdf, labelled with the date.

The panel is absolutely positioned under the link so opening it doesn't
reflow the bar. indexData gains MonthOpts/YearOpts (a calOpt list); the
year picker is a small window around the shown year.
</content>
</entry>
<entry>
<title>web: move lectionary + mono to settings only; make reader link prominent</title>
<updated>2026-07-29T12:37:23Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-29T12:37:23Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=af67ff8a079bf92a01a462fbb525eddb348eefc1'/>
<id>urn:sha1:af67ff8a079bf92a01a462fbb525eddb348eefc1</id>
<content type='text'>
Lectionary becomes settings-only (kept as a hidden field so readings/export/calendar still use the configured value); mono toggle removed (settings has it). The reader link is uppercased + bold as the primary action.
</content>
</entry>
<entry>
<title>web: pin the utility cluster to the top-right of the controls bar</title>
<updated>2026-07-29T12:33:08Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-29T12:33:08Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=b07ecd9d57793003a77da0e172016c9f44ef372d'/>
<id>urn:sha1:b07ecd9d57793003a77da0e172016c9f44ef372d</id>
<content type='text'>
Wrap the essential controls in a single .controls-main block that wraps
internally, so reader/settings + downloads stay at the TOP-right instead of
dropping to a second row. #controls (index only) becomes top-aligned; the
reader's .controls form is untouched.
</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>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>export: month calendar PDF (A4 landscape, Monday-first grid, feast name + gospel ref + liturgical colour per day); cli --calendar YYYY-MM; web /calendar + link; readings.GospelCitation; v0.23.0</title>
<updated>2026-07-24T14:56:07Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-24T14:56:07Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=378926240f34759116b19e078d2b2504965f5329'/>
<id>urn:sha1:378926240f34759116b19e078d2b2504965f5329</id>
<content type='text'>
</content>
</entry>
<entry>
<title>export: internal/export (Markdown/Text/ReadingsPDF via pure-Go go-pdf/fpdf + embedded DejaVu Sans, covers pl/la/gr); cli --md/--pdf/--out; web /export + download links; v0.22.0</title>
<updated>2026-07-24T14:50:45Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-24T14:50:45Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=29e244c48222278c2f255ff2adf45e3af7c9f895'/>
<id>urn:sha1:29e244c48222278c2f255ff2adf45e3af7c9f895</id>
<content type='text'>
</content>
</entry>
<entry>
<title>bookmarks: web reader bookmarks with notes + tags (add/list/filter/jump/delete); v0.15.0</title>
<updated>2026-07-24T13:16:47Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-24T13:16:47Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=1e4939874a14d8abb13e82b2273bfc5f9d653295'/>
<id>urn:sha1:1e4939874a14d8abb13e82b2273bfc5f9d653295</id>
<content type='text'>
</content>
</entry>
</feed>
