aboutsummaryrefslogtreecommitdiff
path: root/clectio.1
blob: 348622d2ec9663153c3faefd652f7a00bdf9cd63 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
.TH CLECTIO 1 "2026" "clectio" "User Commands"
.SH NAME
clectio \- tiny, fast, offline Catholic daily readings
.SH SYNOPSIS
.B clectio
.RB [ \-a | \-g ]
.RI [ YYYY\-MM\-DD ]
.br
.B clectio \-\-month
.RI [ YYYY\-MM " | " N ]
.SH DESCRIPTION
.B clectio
prints the Catholic liturgical day and its Mass readings for a date, entirely
offline. It computes nothing at run time: the calendar, the reading citations
and the scripture text are all compiled into the binary, so a date is a table
lookup. With no date it prints today.
.PP
One liturgical form, citation dialect and scripture text are built into a given
binary; all of that is compile\-time configuration (see
.BR CONFIGURATION ).
The default text is the public\-domain Latin Vulgate. The compiled calendar
covers 2025\-2054; a date outside that range is reported, not guessed.
.SH OPTIONS
.TP
.BR \-a ", " \-\-all
Print all of the day's readings, overriding the compiled default.
.TP
.BR \-g ", " \-\-gospel
Print only the Gospel, overriding the compiled default.
.TP
.B \-\-month
List a whole month, one line per day: weekday, day, liturgical colour and
celebration (no readings). Takes an optional
.I YYYY\-MM
or a bare month number
.RI ( N ,
in the current year); with no argument, the current month. Useful piped to a
file as a reference.
.TP
.BR \-h ", " \-\-help
Print usage and the compiled configuration, and exit.
.SH CONFIGURATION
There is no run\-time configuration file. Options are set at compile time in
.IR config.h ,
copied from
.I config.def.h
on first build \(em edit it, then run
.BR make .
.TP
.BR FORM_OF " / " FORM_EF
Ordinary Form (post\-1969) or Extraordinary Form (1962). Enable exactly one.
.TP
.BR SIGLA_ENGLISH " / " SIGLA_LATIN
Citation dialect: \(dqJer 14\(dq versus \(dqIer 14\(dq. Enable exactly one.
.TP
.B COLOR
Colour the day name with its liturgical colour on a terminal (1 on, 0 off).
.TP
.B GOSPEL_ONLY
Default reading set: all readings (0) or the Gospel only (1). Override per run
with
.BR \-a / \-g .
.TP
.B WRAP
Wrap reading text at N columns;
.B 0
fits the terminal, and leaves piped output one line per verse.
.PP
One form per binary; build twice for both. The interface is English only.
.SH BRING YOUR OWN BIBLE
The default build embeds the Latin Vulgate. To build with another translation,
pass a corpus \(em a six\-column TSV
.RB ( Book ", " Abbrev ", " BookNum ", " Chapter ", " Verse ", " Text ,
in Vulgate chapter/verse numbering) \(em to
.BR make :
.PP
.RS
.B make CORPUS=/path/to/bible.tsv
.RE
.PP
clectio matches a citation on Book+Chapter+Verse and prints Text; Abbrev and
BookNum are ignored, but the columns must be present. A verse the corpus lacks
prints blank; it never fails the day. See the README for the full format, an
example, and how to switch back.
.SH BRING YOUR OWN CALENDAR
Out of the box the calendar is the universal Roman calendar, compiled in. It can
be changed in two tiers, because clectio has no calendar engine.
.PP
.B Minor \(em name and colour of a fixed date, standalone.
Edit
.I calendar.h
(copied from
.IR calendar.def.h ),
add a
.B { month, day, colour, "name" }
row, and
.BR make .
It replaces that fixed date's name and colour every year, in both the single\-day
and
.B \-\-month
output. It cannot change a day's readings or rank, place movable feasts, or
arbitrate precedence \(em an override wins unconditionally.
.PP
.B Full \(em readings, ranks, movable feasts, via lectio.
Describe the change as a
.BR lectio (1)
calendar layer
.RB ( "lectio \-\-cal\-dump" ),
then regenerate clectio's tables with it applied and recompile \(em from the
lectio source tree:
.PP
.RS
.nf
go run ./cmd/clectio\-gen \-caldir DIR \-use NAME new 2025 2054 gen/
make CORPUS=.../vul.tsv
.fi
.RE
.PP
The running binary stays standalone; only regenerating needs lectio and a Go
toolchain. See the README for the full workflow and a revert note.
.SH FILES
.TP
.I config.def.h
Template for the compile\-time configuration; copied to
.I config.h
on first build.
.TP
.I calendar.def.h
Template for local calendar overrides; copied to
.IR calendar.h .
.TP
.I gen/
Generated, corpus\-independent tables (calendar, citations, verse keys).
.TP
.IR text_of.lz ", " text_ef.lz
The packed scripture text for each form (default: the Latin Vulgate).
.SH EXIT STATUS
.TP
.B 0
Success.
.TP
.B 1
The date is outside the compiled range.
.TP
.B 2
Usage error (bad option, date or month).
.SH SEE ALSO
.BR lectio (1)
.PP
The full manual \(em corpus format, calendar customization, sizing \(em is the
project README.
.SH LICENSE
GPL\-3.0\-or\-later (clectio's own code; see the LICENSE file).
.B puff.c
is Mark Adler's public\-domain inflate. The compiled scripture text is a separate
work under its own terms; the default Latin Vulgate is public domain.
.SH AUTHOR
Ɓukasz Kasprzak.