diff options
| -rw-r--r-- | README.md | 60 |
1 files changed, 51 insertions, 9 deletions
@@ -45,17 +45,59 @@ One form per binary; for both, build twice. The interface is English only. ## Bring your own Bible -The default build embeds the Latin Vulgate. To compile with another -translation, hand `make` a corpus in the same 6-column TSV format -(`Book<TAB>Abbrev<TAB>BookNum<TAB>Chapter<TAB>Verse<TAB>Text`), using Vulgate -chapter/verse numbering: +The default build embeds the Latin **Vulgate**. clectio compiles in only the +~12,000 verses the lectionary actually cites (never a whole Bible), so it stays +well under 1 MiB with any text. To build with a different translation, point +`make` at a corpus and it repacks exactly those verses from it: - make CORPUS=/path/to/mybible.tsv + make CC=gcc CORPUS=/path/to/mybible.tsv -clectio compiles in only the ~12000 verses the lectionary actually cites, so the -binary stays well under 1 MiB whatever the Bible. A verse the corpus lacks prints -blank; it never fails the day. (The default build needs only a compiler; a -`CORPUS=` rebuild also needs `gzip`, which `mktext` uses to pack the text.) +You already have four corpora in the required format: lectio ships them under +`internal/bible/` — Vulgate (`vul`), Douay-Rheims (`drb`), Wujek (`wuj`) and +Greek (`grb`). For an English build: + + make CC=gcc CORPUS=~/git/projects/lectio/internal/bible/corpora_optional/drb.tsv + +### Corpus format + +A plain UTF-8 file, **six columns separated by a single TAB, one verse per +line**. These three real rows show the shape (arrows mark the tabs): + + Genesis → Ge → 1 → 1 → 1 → In the beginning God created heaven, and earth. + John → John → 43 → 20 → 1 → AND on the first day of the week, Mary Magdalen … + 1 John → 1Jn → 62 → 5 → 11 → And this is the testimony, that God hath given … + + column: 1 Book 2 Abbrev 3 BookNum 4 Chapter 5 Verse 6 Text + +clectio matches a citation to a row on **Book + Chapter + Verse** (columns 1, 4, +5) and prints column 6. What that means for your file: + + * **Book (col 1)** must be the full name the calendar's keys use — e.g. + `1 John`, `Song of Songs`, `Numbers`, not `1Jn` or `Cant`. Copy the exact + spellings from any shipped `*.tsv` (the safest start is to take `vul.tsv` and + replace only the text column). + * **Chapter and Verse (cols 4, 5)** must follow **Vulgate numbering** — the + versification the lectionary is keyed to. A Bible numbered differently + (modern Psalm numbers, split or renamed books) will silently misalign, so a + translation not already Vulgate-numbered has to be re-numbered first. + * **Abbrev (col 2) and BookNum (col 3)** are ignored by clectio, but the + columns must still be present so every line has six fields (a line with fewer + is skipped). + * **Text (col 6)** is the verse; runs of whitespace are collapsed to one space. + +A verse the corpus does not contain prints blank — it never fails the day; the +build just warns how many verses were missing. The default Vulgate build needs +only a C compiler; a `CORPUS=` rebuild also needs `gzip` (which `mktext` uses to +pack the text). + +### Switching back to the Vulgate + +The shipped `text_of.lz` / `text_ef.lz` hold the packed Vulgate text and are +git-tracked; a `CORPUS=` build overwrites the one for the form you built. To +restore it: + + git checkout text_of.lz # or text_ef.lz for an EF build + make CC=gcc clean && make CC=gcc ## Coverage |
