all repos — bibel @ 78abfb5e4966de8ab9439d9ca9a09a85bef4b149

Unnamed repository; edit this file 'description' to name the repository.

README.md (view raw)

  1![bibel](/assets/logo.gif)
  2
  3![screenshot](/assets/screenshot.svg)
  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).