README.md (view raw)
1
2
3
4
5---
6
7## What is bibel?
8
9`bibel` (bee•bell) isn’t another all‑purpose Bible app. It’s a small CLI/TUI
10utility with one main job: showing today’s reading from the Gospels when you
11open your terminal. Think of it as a MOTD for Scripture: just 12 verses a day,
12based on the calendar, without menus, search, or bloat.
13
14That is just the default configuration, most of which can be changed to suit
15one's preferences.
16
17## How do I use bibel?
18
19 bibel [OPTIONS]...
20
21By default, `bibel` shows an interactive TUI with today's reading. The verses
22are selected by date: day of year * 12 verses, progressing through all four
23Gospels each day.
24
25### Options
26
27 -r, --reading Reading mode: "evangelion" (four Gospels), "new_testament",
28 "old_testament", "bible" (default: evangelion)
29 -p, --plain Output plain text without formatting or TUI
30 -f, --formatted Output formatted text with ANSI colours (no TUI)
31 -n, --numbered Print each verse on a numbered line with verse number
32 -g, --paragraphs Render pilcrows (¶) as blank lines instead of ignoring them
33 -l, --latin Show time until Roman Catholic Easter instead of Orthodox
34 --generate-config Generate a default configuration file and exit
35 -v, --verbose Print additional runtime information to STDOUT
36
37### Examples
38
39 # Default TUI mode with interactive display (shows Orthodox Easter progress)
40 bibel
41
42 # Roman Catholic Easter progress bar instead of Orthodox
43 bibel --latin
44
45 # Plain text output
46 bibel --plain
47
48 # Formatted output with ANSI colours
49 bibel --formatted
50
51 # Numbered verses (each verse on its own line with verse number)
52 bibel --numbered
53
54 # Paragraph mode (pilcrows render as blank lines)
55 bibel --paragraphs
56
57 # Generate configuration file
58 bibel --generate-config
59
60## How does `bibel` work?
61
62`bibel` reads Bible data from a JSON file (provided example:
63`books/pol_nbg.json`). It calculates today's reading position by:
64
651. Getting the current day of year (1-366)
662. Multiplying by 12 verses per day: `offset = (day_of_year - 1) * 12`
673. Applying modulo with total Gospel verses (3779) to cycle yearly
684. Finding the corresponding verses in the Gospels
69
70The program extends to the end of a chapter if less than 12 verses remain for
71the next day. Books 40-43 correspond to the four Gospels: Matthew, Mark, Luke,
72and John.
73
74The TUI shows a progress bar counting down to the next Easter, with Orthodox
75Easter as default (calculated via Meeus Julian algorithm). Use `-l/--latin` for
76Roman Catholic Easter (Delambre and Butcher's algorithm).
77
78## Configuration
79
80`bibel` supports configuration via a TOML file at
81`$XDG_CONFIG_HOME/bibel/config.toml` (default: `~/.config/bibel/config.toml`).
82macOS and Windows are also supported automatically (see
83[here](https://github.com/adrg/xdg) for more details). Settings include output
84mode, reading mode, border style, colours, and Easter type.
85
86Generate a default configuration:
87
88 bibel --generate-config
89
90## How do I build bibel?
91
92`bibel` is written in Go. External dependencies are `bubbletea` (TUI),
93`lipgloss` (styling), `go-arg` (argument parsing), `viper` (configuration), and
94`xdg` (XDG Base Directory support).
95
96Build with:
97
98 go build ./cmd/bibel.go
99
100## Documentation
101
102For more specific information, refer to the `man` page located at
103`docs/bibel.1`. It is recommended to put it in `$MANPATH` for easy access via
104`man bibel` on your Linux system.
105
106## Licence
107
108This project is licensed under [European Union Public Licence
1091.2](https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12).