summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md14
-rw-r--r--cmd/lectio-ui/main.go10
-rw-r--r--internal/cli/cli.go16
-rw-r--r--internal/config/config.go16
-rw-r--r--internal/config/config.toml4
-rw-r--r--internal/config/config_test.go2
-rw-r--r--internal/i18n/i18n.go6
-rw-r--r--internal/i18n/i18n_test.go4
-rw-r--r--internal/render/render.go24
-rw-r--r--internal/render/render_test.go18
-rw-r--r--internal/tui/tui.go6
-rw-r--r--internal/tui/tui_test.go14
-rw-r--r--internal/web/render.go14
-rw-r--r--internal/web/render_test.go12
-rw-r--r--internal/web/server.go2
-rw-r--r--internal/web/server_test.go10
16 files changed, 86 insertions, 86 deletions
diff --git a/README.md b/README.md
index 8ab70ed..82228f4 100644
--- a/README.md
+++ b/README.md
@@ -41,7 +41,7 @@ lectio --version | -v
lectio help | -h | lectio <cmd> -h
```
-Versions: `pl` (Polski, niedziela.pl), `wuj` (Wujek), `vul` (Wulgata),
+Versions: `bt` (Biblia Tysiąclecia, niedziela.pl), `wuj` (Wujek), `vul` (Wulgata),
`grb` (Grecki), `drb` (Douay-Rheims).
Global flags (any subcommand, any position):
@@ -88,7 +88,7 @@ lectio show wuj --date 2026-12-25
falls back to config `versions` if omitted):
```sh
-lectio compare pl,wuj,drb --date 2026-04-05
+lectio compare bt,wuj,drb --date 2026-04-05
```
`update [--days N] [--from D]` — harvest future dates' scripture
@@ -146,7 +146,7 @@ Page controls:
- **Date navigation** — a date picker plus `←`/`→` buttons
- **Lekcjonarz (lectionary)** — new vs traditional, same as `--lectionary`
-- **Version checkboxes** — pl/wuj/vul/grb/drb, independent of any one
+- **Version checkboxes** — bt/wuj/vul/grb/drb, independent of any one
visitor's config
- **Zakres (all-parts toggle)** — gospel-only vs every part, same as `--all`
- **Układ (display mode)** — horizontal / vertical / interlinear, see below
@@ -160,7 +160,7 @@ Page controls:
- **vertical** — the same per-version text laid out as side-by-side
columns, like the CLI's `compare`
- **interlinear** — every version interleaved verse-by-verse by
- chapter:verse. `pl` cannot participate (niedziela.pl prose carries no
+ chapter:verse. `bt` cannot participate (niedziela.pl prose carries no
verse numbers), so it is silently substituted with `wuj` (dropped
entirely if `wuj` is already selected)
@@ -174,8 +174,8 @@ set. An invalid file falls back to defaults with a warning on stderr.
schema_version = 1
lectionary = "new" # "new" (niedziela.pl) or "traditional" (missalemeum, 1962)
traditional_lang = "pl" # vernacular for traditional propers: "pl" or "en"
-versions = ["pl", "wuj", "vul", "grb", "drb"] # compare set + TUI cycle order
-default_version = "pl" # TUI start / `lectio show` default
+versions = ["bt", "wuj", "vul", "grb", "drb"] # compare set + TUI cycle order
+default_version = "bt" # TUI start / `lectio show` default
width = 0 # CLI wrap width; 0 = detect terminal
all = false # default to all parts (true) or just the gospel (false)
offline = false # true = never fetch; read only harvested sigla + cache
@@ -268,7 +268,7 @@ sigla TSV, stopping at niedziela.pl's unpublished horizon (or after
`--days N` days; `0`, the default, means "until unpublished"). Later,
with `offline = true` in config (or `--offline` on any command), reads
come only from the cache/sigla store, never the network — and since the
-sigla store holds no `pl` text, `pl` is transparently substituted with
+sigla store holds no `bt` text, `bt` is transparently substituted with
`wuj` wherever a version list would otherwise include it (CLI, TUI, and
`lectio-web`'s interlinear mode all apply this the same way).
diff --git a/cmd/lectio-ui/main.go b/cmd/lectio-ui/main.go
index 1808e4a..023cf66 100644
--- a/cmd/lectio-ui/main.go
+++ b/cmd/lectio-ui/main.go
@@ -20,7 +20,7 @@ Usage:
lectio-ui [DATE] [flags] DATE = YYYY-MM-DD (default: today), any position
Flags:
- -b, --bible VER start on version: pl,wuj,vul,grb,drb
+ -b, --bible VER start on version: bt,wuj,vul,grb,drb
-a, --all show all parts (override config)
-o, --offline cache/sigla only, no network
-l, --lectionary WHICH new|trad (trad -> traditional)
@@ -28,7 +28,7 @@ Flags:
-v, --version print the version and exit
-h, --help this help
-Versions: pl (Polski/niedziela.pl) wuj (Wujek) vul (Wulgata) grb (Grecki)
+Versions: bt (Biblia Tysiąclecia) wuj (Wujek) vul (Wulgata) grb (Grecki)
drb (Douay-Rheims)
Flags override config. Exit codes: 0 ok, 1 runtime error, 2 usage error.
@@ -71,8 +71,8 @@ func run(args []string, stdout, stderr io.Writer) int {
fs.SetOutput(stderr)
fs.Usage = func() { fmt.Fprint(stderr, helpText) }
- fs.StringVar(&bibleVer, "b", "", "start on version: pl,wuj,vul,grb,drb")
- fs.StringVar(&bibleVer, "bible", "", "start on version: pl,wuj,vul,grb,drb")
+ fs.StringVar(&bibleVer, "b", "", "start on version: bt,wuj,vul,grb,drb")
+ fs.StringVar(&bibleVer, "bible", "", "start on version: bt,wuj,vul,grb,drb")
fs.BoolVar(&all, "a", cfg.All, "show all parts (override config)")
fs.BoolVar(&all, "all", cfg.All, "show all parts (override config)")
fs.BoolVar(&offline, "o", cfg.Offline, "cache/sigla only, no network")
@@ -100,7 +100,7 @@ func run(args []string, stdout, stderr io.Writer) int {
return 2
}
if bibleVer != "" && !config.ValidVersion(bibleVer) {
- fmt.Fprintf(stderr, "lectio-ui: unknown version %q (want one of pl, wuj, vul, grb, drb)\n", bibleVer)
+ fmt.Fprintf(stderr, "lectio-ui: unknown version %q (want one of bt, wuj, vul, grb, drb)\n", bibleVer)
return 2
}
diff --git a/internal/cli/cli.go b/internal/cli/cli.go
index 253e718..f4aec28 100644
--- a/internal/cli/cli.go
+++ b/internal/cli/cli.go
@@ -28,7 +28,7 @@ Usage:
Flags:
-a, --all all readings, not just the gospel
- -b, --bible VER one version's text: pl,wuj,vul,grb,drb
+ -b, --bible VER one version's text: bt,wuj,vul,grb,drb
-c, --compare LIST versions side by side (comma-separated)
-r, --raw text only, no banner/headings (for piping)
-w, --width N wrap width; 0 = detect terminal
@@ -43,13 +43,13 @@ Flags:
-v, --version print the version and exit
-h, --help this help
-Versions: pl (Polski/niedziela.pl) wuj (Wujek) vul (Wulgata) grb (Grecki)
+Versions: bt (Biblia Tysiąclecia) wuj (Wujek) vul (Wulgata) grb (Grecki)
drb (Douay-Rheims)
Examples:
lectio today's gospel
lectio 2026-07-22 -a all readings for a date
- lectio -c pl,wuj 2026-07-22 compare two versions for a date
+ lectio -c bt,wuj 2026-07-22 compare two versions for a date
lectio -b vul -a Vulgate text, all readings
lectio -l trad -a traditional lectionary, all readings
lectio -u harvest sigla to the horizon
@@ -100,8 +100,8 @@ func Run(args []string, stdin io.Reader, stdout, stderr io.Writer) int {
fs.BoolVar(&all, "a", false, "all readings, not just the gospel")
fs.BoolVar(&all, "all", false, "all readings, not just the gospel")
- fs.StringVar(&bibleVer, "b", "", "one version's text: pl,wuj,vul,grb,drb")
- fs.StringVar(&bibleVer, "bible", "", "one version's text: pl,wuj,vul,grb,drb")
+ fs.StringVar(&bibleVer, "b", "", "one version's text: bt,wuj,vul,grb,drb")
+ fs.StringVar(&bibleVer, "bible", "", "one version's text: bt,wuj,vul,grb,drb")
fs.StringVar(&compareList, "c", "", "versions side by side (comma list)")
fs.StringVar(&compareList, "compare", "", "versions side by side (comma list)")
fs.BoolVar(&raw, "r", false, "text only, no banner/headings")
@@ -182,13 +182,13 @@ func Run(args []string, stdin io.Reader, stdout, stderr io.Writer) int {
// compareList != "", bibleVer is unused (compare wins, as before) so it's
// deliberately left unvalidated in that case.
if bibleVer != "" && compareList == "" && !config.ValidVersion(bibleVer) {
- fmt.Fprintf(stderr, "lectio: unknown version %q (want one of pl, wuj, vul, grb, drb)\n", bibleVer)
+ fmt.Fprintf(stderr, "lectio: unknown version %q (want one of bt, wuj, vul, grb, drb)\n", bibleVer)
return 2
}
if compareList != "" {
for _, v := range strings.Split(compareList, ",") {
if v = strings.TrimSpace(v); v != "" && !config.ValidVersion(v) {
- fmt.Fprintf(stderr, "lectio: unknown version %q (want one of pl, wuj, vul, grb, drb)\n", v)
+ fmt.Fprintf(stderr, "lectio: unknown version %q (want one of bt, wuj, vul, grb, drb)\n", v)
return 2
}
}
@@ -469,7 +469,7 @@ func renderCompare(cfg config.Config, list, date string, all, raw bool, width in
}
for _, v := range versions {
if !config.ValidVersion(v) {
- fmt.Fprintf(stderr, "lectio: unknown version %q (want one of pl, wuj, vul, grb, drb)\n", v)
+ fmt.Fprintf(stderr, "lectio: unknown version %q (want one of bt, wuj, vul, grb, drb)\n", v)
return 2
}
}
diff --git a/internal/config/config.go b/internal/config/config.go
index 5102d38..bee48a7 100644
--- a/internal/config/config.go
+++ b/internal/config/config.go
@@ -24,11 +24,11 @@ var seedTOML []byte
// Version is lectio's release version, shared by every binary's
// -v/--version output (lectio, lectio-ui, lectio-web).
-const Version = "0.3.0"
+const Version = "0.4.0"
// validVersions are the five scripture versions lectio understands.
var validVersions = map[string]bool{
- "pl": true,
+ "bt": true,
"wuj": true,
"vul": true,
"grb": true,
@@ -36,7 +36,7 @@ var validVersions = map[string]bool{
}
// ValidVersion reports whether v is one of the five scripture versions
-// lectio understands (pl, wuj, vul, grb, drb).
+// lectio understands (bt, wuj, vul, grb, drb).
func ValidVersion(v string) bool {
return validVersions[v]
}
@@ -129,8 +129,8 @@ func Default() Config {
SchemaVersion: 1,
Lectionary: "new",
TraditionalLang: "pl",
- Versions: []string{"pl", "wuj", "vul", "grb", "drb"},
- DefaultVersion: "pl",
+ Versions: []string{"bt", "wuj", "vul", "grb", "drb"},
+ DefaultVersion: "bt",
Width: 0,
All: false,
Offline: false,
@@ -227,15 +227,15 @@ func validate(cfg Config) error {
}
for _, v := range cfg.Versions {
if !validVersions[v] {
- return fmt.Errorf("config: invalid version %q in versions (must be one of pl, wuj, vul, grb, drb)", v)
+ return fmt.Errorf("config: invalid version %q in versions (must be one of bt, wuj, vul, grb, drb)", v)
}
}
if !validVersions[cfg.DefaultVersion] {
- return fmt.Errorf("config: invalid default_version %q (must be one of pl, wuj, vul, grb, drb)", cfg.DefaultVersion)
+ return fmt.Errorf("config: invalid default_version %q (must be one of bt, wuj, vul, grb, drb)", cfg.DefaultVersion)
}
for _, v := range cfg.WebVersions {
if !validVersions[v] {
- return fmt.Errorf("config: invalid version %q in web_versions (must be one of pl, wuj, vul, grb, drb)", v)
+ return fmt.Errorf("config: invalid version %q in web_versions (must be one of bt, wuj, vul, grb, drb)", v)
}
}
return nil
diff --git a/internal/config/config.toml b/internal/config/config.toml
index 49cca7f..656ddc5 100644
--- a/internal/config/config.toml
+++ b/internal/config/config.toml
@@ -1,8 +1,8 @@
schema_version = 1
lectionary = "new" # "new" (niedziela.pl) or "traditional" (missalemeum, 1962)
traditional_lang = "pl" # vernacular for traditional propers: "pl" or "en"
-versions = ["pl", "wuj", "vul", "grb", "drb"] # compare set + TUI cycle order
-default_version = "pl" # TUI start / `lectio show` default
+versions = ["bt", "wuj", "vul", "grb", "drb"] # compare set + TUI cycle order
+default_version = "bt" # TUI start / `lectio show` default
width = 0 # CLI wrap width; 0 = detect terminal
all = false # default to all parts (true) or just the gospel (false)
offline = false # true = never fetch; read only harvested sigla + cache
diff --git a/internal/config/config_test.go b/internal/config/config_test.go
index 0f7bea8..a72383b 100644
--- a/internal/config/config_test.go
+++ b/internal/config/config_test.go
@@ -13,7 +13,7 @@ func TestLoadSeeds(t *testing.T) {
if err != nil {
t.Fatal(err)
}
- if cfg.DefaultVersion != "pl" || cfg.Offline {
+ if cfg.DefaultVersion != "bt" || cfg.Offline {
t.Errorf("defaults wrong: %+v", cfg)
}
if cfg.Lectionary != "new" {
diff --git a/internal/i18n/i18n.go b/internal/i18n/i18n.go
index 4d034a5..a108323 100644
--- a/internal/i18n/i18n.go
+++ b/internal/i18n/i18n.go
@@ -8,7 +8,7 @@ package i18n
// UI is one language's complete set of chrome strings.
type UI struct {
// Version names each bible version for column headers / prose, keyed by
- // version code (pl, wuj, vul, grb, drb).
+ // version code (bt, wuj, vul, grb, drb).
Version map[string]string
// PartLabel names each modern-lectionary section's heading label word,
@@ -64,7 +64,7 @@ func Get(lang string) UI {
var enUI = UI{
Version: map[string]string{
- "pl": "Polish (niedziela.pl)",
+ "bt": "Biblia Tysiąclecia (niedziela.pl)",
"wuj": "Wujek (Polish)",
"vul": "Vulgate (Latin)",
"grb": "Greek",
@@ -107,7 +107,7 @@ var enUI = UI{
var plUI = UI{
Version: map[string]string{
- "pl": "Polski (niedziela.pl)",
+ "bt": "Biblia Tysiąclecia (niedziela.pl)",
"wuj": "Wujek (pol.)",
"vul": "Wulgata (lac.)",
"grb": "Grecki",
diff --git a/internal/i18n/i18n_test.go b/internal/i18n/i18n_test.go
index 59771a8..381f87b 100644
--- a/internal/i18n/i18n_test.go
+++ b/internal/i18n/i18n_test.go
@@ -28,8 +28,8 @@ func TestVersionLabels(t *testing.T) {
cases := []struct {
lang, code, want string
}{
- {"en", "pl", "Polish (niedziela.pl)"},
- {"pl", "pl", "Polski (niedziela.pl)"},
+ {"en", "bt", "Biblia Tysiąclecia (niedziela.pl)"},
+ {"pl", "bt", "Biblia Tysiąclecia (niedziela.pl)"},
{"en", "wuj", "Wujek (Polish)"},
{"pl", "wuj", "Wujek (pol.)"},
{"en", "vul", "Vulgate (Latin)"},
diff --git a/internal/render/render.go b/internal/render/render.go
index 8a36f12..7ba8ebd 100644
--- a/internal/render/render.go
+++ b/internal/render/render.go
@@ -96,8 +96,8 @@ const incipit = "Słowa Ewangelii"
// internal/i18n); it never affects the verse text/citation itself.
func GatherVersion(version string, sec liturgy.Section, lectionary, lang string) (label string, blocks []string) {
label = versionLabel(version, lang)
- if version == "pl" {
- return label, gatherPL(sec)
+ if version == "bt" {
+ return label, gatherBT(sec)
}
ref, err := resolveRef(version, sec, lectionary, lang)
@@ -120,7 +120,7 @@ func GatherVersion(version string, sec liturgy.Section, lectionary, lang string)
return label, blocks
}
-// resolveRef resolves a non-"pl" version's bible.Lookup reference for sec:
+// resolveRef resolves a non-"bt" version's bible.Lookup reference for sec:
// sec.Citation (or, failing that, the citation extracted from sec.Heading),
// converted to English/kjv-style via bible.ToEnglishRef when
// lectionary=="new" (a "traditional" citation is already English-style and
@@ -151,13 +151,13 @@ func resolveRef(version string, sec liturgy.Section, lectionary, lang string) (s
}
// GatherVerses returns one version's verses for a section as raw bible.Verse
-// structs (for column/interlinear alignment). versified is false for "pl"
+// structs (for column/interlinear alignment). versified is false for "bt"
// (paragraph text, no verse numbers) and on any resolution/lookup failure --
// callers fall back to GatherVersion's string blocks for those. lang selects
// the UI chrome language the label comes from, same as GatherVersion.
func GatherVerses(version string, sec liturgy.Section, lectionary, lang string) (label string, verses []bible.Verse, versified bool) {
label = versionLabel(version, lang)
- if version == "pl" {
+ if version == "bt" {
return label, nil, false
}
@@ -173,10 +173,10 @@ func GatherVerses(version string, sec liturgy.Section, lectionary, lang string)
return label, verses, true
}
-// gatherPL returns the section's paragraphs, one block per paragraph, with
+// gatherBT returns the section's paragraphs, one block per paragraph, with
// the liturgical incipit ("Słowa Ewangelii według ...") dropped and repeated
// blocks (a responsorial psalm's refrain) deduped to their first occurrence.
-func gatherPL(sec liturgy.Section) []string {
+func gatherBT(sec liturgy.Section) []string {
var blocks []string
for _, p := range sec.Paragraphs {
b := strings.Join(p, " ")
@@ -198,9 +198,9 @@ func gatherPL(sec liturgy.Section) []string {
return deduped
}
-// OfflineVersions drops "pl" (which needs the network fetch of the liturgy
-// page) from versions. If "pl" was present but "wuj" (the Polish-language
-// bible version) was not, "wuj" takes pl's place, so the offline set still
+// OfflineVersions drops "bt" (which needs the network fetch of the liturgy
+// page) from versions. If "bt" was present but "wuj" (the Polish-language
+// bible version) was not, "wuj" takes bt's place, so the offline set still
// carries a Polish column.
func OfflineVersions(versions []string) []string {
hadWuj := false
@@ -213,7 +213,7 @@ func OfflineVersions(versions []string) []string {
out := make([]string, 0, len(versions))
for _, v := range versions {
- if v == "pl" {
+ if v == "bt" {
if hadWuj {
continue
}
@@ -225,7 +225,7 @@ func OfflineVersions(versions []string) []string {
return out
}
-// EffectiveVersions is the version set actually loadable for a request: "pl"
+// EffectiveVersions is the version set actually loadable for a request: "bt"
// (the niedziela.pl modern scrape) is dropped -- substituting "wuj" if it was
// the only Polish column, via OfflineVersions -- whenever the scrape is
// unavailable: offline (never fetch) OR the traditional lectionary
diff --git a/internal/render/render_test.go b/internal/render/render_test.go
index affaaf8..496dc23 100644
--- a/internal/render/render_test.go
+++ b/internal/render/render_test.go
@@ -7,12 +7,12 @@ import (
"github.com/lukaszkasprzak/lectio/internal/liturgy"
)
-func TestGatherPLDedup(t *testing.T) {
+func TestGatherBTDedup(t *testing.T) {
sec := liturgy.Section{
Heading: "Psalm (Ps 1)",
Paragraphs: [][]string{{"stanza one"}, {"refrain"}, {"stanza two"}, {"refrain"}},
}
- _, blocks := GatherVersion("pl", sec, "new", "pl")
+ _, blocks := GatherVersion("bt", sec, "new", "pl")
n := 0
for _, b := range blocks {
if b == "refrain" {
@@ -127,10 +127,10 @@ func TestGatherVersionNoReferenceErrLang(t *testing.T) {
}
func TestOfflineVersions(t *testing.T) {
- got := OfflineVersions([]string{"pl", "wuj", "vul"})
+ got := OfflineVersions([]string{"bt", "wuj", "vul"})
for _, v := range got {
- if v == "pl" {
- t.Error("pl not dropped offline")
+ if v == "bt" {
+ t.Error("bt not dropped offline")
}
}
}
@@ -152,17 +152,17 @@ func TestGatherVersesBible(t *testing.T) {
}
}
-func TestGatherVersesPL(t *testing.T) {
+func TestGatherVersesBT(t *testing.T) {
sec := liturgy.Section{
Heading: "Psalm (Ps 1)",
Paragraphs: [][]string{{"stanza one"}},
}
- _, verses, versified := GatherVerses("pl", sec, "new", "pl")
+ _, verses, versified := GatherVerses("bt", sec, "new", "pl")
if versified {
- t.Error("versified = true, want false for pl (paragraph text, no verse numbers)")
+ t.Error("versified = true, want false for bt (paragraph text, no verse numbers)")
}
if verses != nil {
- t.Errorf("verses = %+v, want nil for pl", verses)
+ t.Errorf("verses = %+v, want nil for bt", verses)
}
}
diff --git a/internal/tui/tui.go b/internal/tui/tui.go
index 16cb304..db0e8da 100644
--- a/internal/tui/tui.go
+++ b/internal/tui/tui.go
@@ -43,7 +43,7 @@ type errMsg struct {
err error
}
-// New builds the initial model: cfg.Offline drops "pl" from the version
+// New builds the initial model: cfg.Offline drops "bt" from the version
// list (render.OfflineVersions). startVersion selects the active version
// (falling back to cfg.DefaultVersion when ""), still resolved through
// EffectiveVersions/indexOf so an unavailable version falls back to index 0.
@@ -334,9 +334,9 @@ func (m Model) bodyLines(w int) []string {
_, blocks := render.GatherVersion(ver, sec, m.cfg.Lectionary, m.cfg.UILanguage)
numW := maxNumWidth(blocks)
- // The refrain-italic only applies to the pl responsorial-psalm block
+ // The refrain-italic only applies to the bt responsorial-psalm block
// (its first, deduped paragraph); bible versions have no refrain block.
- isPsalm := sec.PartID == "psalm" && ver == "pl"
+ isPsalm := sec.PartID == "psalm" && ver == "bt"
for bi, b := range blocks {
refrain := isPsalm && bi == 0
lines = append(lines, styleBlock(b, refrain, w, numW)...)
diff --git a/internal/tui/tui_test.go b/internal/tui/tui_test.go
index 2b966ee..85a8175 100644
--- a/internal/tui/tui_test.go
+++ b/internal/tui/tui_test.go
@@ -10,8 +10,8 @@ import (
)
func TestVersionCycle(t *testing.T) {
- m := New(config.Config{Versions: []string{"pl", "wuj", "vul"}, DefaultVersion: "pl"}, "", "")
- if m.version() != "pl" {
+ m := New(config.Config{Versions: []string{"bt", "wuj", "vul"}, DefaultVersion: "bt"}, "", "")
+ if m.version() != "bt" {
t.Fatalf("start = %q", m.version())
}
m = m.cycleVersion(+1)
@@ -19,16 +19,16 @@ func TestVersionCycle(t *testing.T) {
t.Errorf("after tab = %q", m.version())
}
m = m.cycleVersion(-1)
- if m.version() != "pl" {
+ if m.version() != "bt" {
t.Errorf("after shift-tab = %q", m.version())
}
}
-func TestOfflineDropsPL(t *testing.T) {
- m := New(config.Config{Versions: []string{"pl", "wuj", "vul"}, DefaultVersion: "pl", Offline: true}, "", "")
+func TestOfflineDropsBT(t *testing.T) {
+ m := New(config.Config{Versions: []string{"bt", "wuj", "vul"}, DefaultVersion: "bt", Offline: true}, "", "")
for _, v := range m.versions {
- if v == "pl" {
- t.Error("offline model kept pl")
+ if v == "bt" {
+ t.Error("offline model kept bt")
}
}
}
diff --git a/internal/web/render.go b/internal/web/render.go
index 208fc59..1afee1c 100644
--- a/internal/web/render.go
+++ b/internal/web/render.go
@@ -55,7 +55,7 @@ type columnView struct {
// blockView is one paragraph or verse line. VNum is set (and Text holds
// only the verse text) when the block was a bible verse line; otherwise
// VNum is empty and Text holds the whole block, with Refrain set for a
-// responsorial psalm's deduped first ("pl") block.
+// responsorial psalm's deduped first ("bt") block.
type blockView struct {
VNum, Text string
Refrain bool
@@ -89,9 +89,9 @@ type ilLineView struct {
// - "vertical": the same per-version columns side by side in a
// ".display-vertical" grid, like the CLI `compare` view.
// - "interlinear": versions interleaved verse-by-verse by chapter:verse
-// (see buildInterlinearViews); "pl" cannot participate (no verse
+// (see buildInterlinearViews); "bt" cannot participate (no verse
// numbers) and is substituted/dropped via render.OfflineVersions'
-// pl->wuj transform before gathering.
+// bt->wuj transform before gathering.
//
// In every mode, heading, citation (subtitle), verse-number and refrain
// text are wrapped in class="heading|citation|vnum|refrain|version-label"
@@ -140,7 +140,7 @@ func buildColumnViews(secs []liturgy.Section, versions []string, lectionary, lan
bviews := make([]blockView, 0, len(blocks))
for bi, b := range blocks {
// A bible verse line always carries its "chapter:verse "
- // prefix; only text without one (i.e. the "pl" version's
+ // prefix; only text without one (i.e. the "bt" version's
// paragraphs) can be the deduped psalm refrain -- matches
// internal/tui's styleBlock precedence.
if m := verseNumRe.FindStringSubmatch(b); m != nil {
@@ -162,8 +162,8 @@ func buildColumnViews(secs []liturgy.Section, versions []string, lectionary, lan
return views
}
-// interlinearVersions maps versions through the same pl->wuj substitution
-// render.OfflineVersions performs for offline mode: "pl" (niedziela.pl
+// interlinearVersions maps versions through the same bt->wuj substitution
+// render.OfflineVersions performs for offline mode: "bt" (niedziela.pl
// paragraph text) carries no verse numbers and cannot interleave, so it is
// dropped, substituting "wuj" (the Polish-language bible version) in its
// place unless "wuj" was already selected. Reuses render.OfflineVersions
@@ -173,7 +173,7 @@ func interlinearVersions(versions []string) []string {
}
// buildInterlinearViews gathers each requested version's verses via
-// render.GatherVerses (after the pl->wuj substitution, see
+// render.GatherVerses (after the bt->wuj substitution, see
// interlinearVersions) and interleaves them by chapter:verse: the ordered
// union of keys is taken from the first versified version's own verse
// order, then any keys that only appear in a later version are appended in
diff --git a/internal/web/render_test.go b/internal/web/render_test.go
index 494cdcd..b7f5b1e 100644
--- a/internal/web/render_test.go
+++ b/internal/web/render_test.go
@@ -45,7 +45,7 @@ func TestRenderReadingsEscapesScriptText(t *testing.T) {
PartID: "pierwsze_czytanie",
Paragraphs: [][]string{{"<script>alert(1)</script>"}},
}}
- html := string(RenderReadings(secs, []string{"pl"}, "new", "horizontal", "pl"))
+ html := string(RenderReadings(secs, []string{"bt"}, "new", "horizontal", "pl"))
if strings.Contains(html, "<script>alert(1)</script>") {
t.Errorf("raw <script> leaked into rendered output: %q", html)
}
@@ -89,14 +89,14 @@ func TestRenderReadingsInterlinear(t *testing.T) {
}
}
-func TestRenderReadingsInterlinearExcludesPL(t *testing.T) {
+func TestRenderReadingsInterlinearExcludesBT(t *testing.T) {
secs := []liturgy.Section{{Heading: "Ewangelia (J 20, 1. 11-18)", PartID: "ewangelia"}}
- html := string(RenderReadings(secs, []string{"pl", "vul"}, "new", "interlinear", "pl"))
- if strings.Contains(html, "Polski (niedziela.pl)") {
- t.Errorf("interlinear output should substitute wuj for pl, not carry pl's label: %q", html[:min(300, len(html))])
+ html := string(RenderReadings(secs, []string{"bt", "vul"}, "new", "interlinear", "pl"))
+ if strings.Contains(html, "Biblia Tysiąclecia (niedziela.pl)") {
+ t.Errorf("interlinear output should substitute wuj for bt, not carry bt's label: %q", html[:min(300, len(html))])
}
if !strings.Contains(html, "Wujek") {
- t.Errorf("interlinear output should substitute wuj for pl: %q", html[:min(300, len(html))])
+ t.Errorf("interlinear output should substitute wuj for bt: %q", html[:min(300, len(html))])
}
}
diff --git a/internal/web/server.go b/internal/web/server.go
index 3a7517a..110dae7 100644
--- a/internal/web/server.go
+++ b/internal/web/server.go
@@ -28,7 +28,7 @@ import (
// bibleVersions is the fixed, Themes-independent list of scripture versions
// the web UI's checkboxes offer -- independent of any one cfg.Versions, so
// every visitor sees the same five choices regardless of their config file.
-var bibleVersions = []string{"pl", "wuj", "vul", "grb", "drb"}
+var bibleVersions = []string{"bt", "wuj", "vul", "grb", "drb"}
// NewServer builds lectio-web's route tree. cfg supplies the defaults
// (lectionary, versions, theme, offline) that requests can override via
diff --git a/internal/web/server_test.go b/internal/web/server_test.go
index 32ee412..00da039 100644
--- a/internal/web/server_test.go
+++ b/internal/web/server_test.go
@@ -139,18 +139,18 @@ func TestServer(t *testing.T) {
}
})
- t.Run("readings partial interlinear substitutes pl", func(t *testing.T) {
+ t.Run("readings partial interlinear substitutes bt", func(t *testing.T) {
rec := httptest.NewRecorder()
- srv.ServeHTTP(rec, httptest.NewRequest("GET", "/readings?date=2026-07-22&v=pl&display=interlinear", nil))
+ srv.ServeHTTP(rec, httptest.NewRequest("GET", "/readings?date=2026-07-22&v=bt&display=interlinear", nil))
if rec.Code != http.StatusOK {
t.Fatalf("status = %d, want 200", rec.Code)
}
body := rec.Body.String()
if !strings.Contains(body, "Wujek") {
- t.Errorf("pl should be substituted with wuj in interlinear mode: %q", body)
+ t.Errorf("bt should be substituted with wuj in interlinear mode: %q", body)
}
- if strings.Contains(body, "Polski (niedziela.pl)") {
- t.Errorf("pl paragraph column should not appear in interlinear mode: %q", body)
+ if strings.Contains(body, "Biblia Tysiąclecia (niedziela.pl)") {
+ t.Errorf("bt paragraph column should not appear in interlinear mode: %q", body)
}
})