esv/README.md
Jeremy Baxter a0341e72d7 Add source code
Added:
 - esv.d: reusable D interface to the ESV web API
 - main.d: the main program
 - Makefile
 - README.md
 - modified version of dini (dependency)
 - man pages
 - licenses
2023-03-23 15:59:09 +13:00

2.4 KiB

esv

Read the Bible from your terminal

esv is a utility that displays passages of the English Standard Bible on your terminal. It connects to the ESV web API to retrieve the passages, and allows configuration through command-line options and the configuration file.

Example usage:

$ esv Psalm 23
Psalm 23

The LORD Is My Shepherd

A Psalm of David.

    The LORD is my shepherd; I shall not want.
        He makes me lie down in green pastures....

If the requested passage is over 32 lines long, esv will pipe it through a pager (default less). The pager being used can be changed through the ESV_PAGER environment variable or just disabled altogether by passing the -P option.

The names of Bible books are not case sensitive, so John, john, JOHN and jOhN are all accepted.

Audio

esv supports playing audio passages through the -a option. The mpg123 audio/video player is utilised here and so it is therefore required if you want to use audio mode.

Audio usage is the same as normal text usage. esv -a Matthew 5-7 will play an audio passage of Matthew 5-7.

Installation

To install esv, first make sure you have the LLVM D compiler (ldc) installed on your system. There are no other external dependencies.

First clone the source code repository:

$ git clone https://codeberg.org/jtbx/esv
$ cd esv

Now, compile and install:

$ make
# make install

By default the Makefile guesses that the ldc executable is named ldc2. If it is installed under ldc instead, you can override the default D compiler executable by adding DC=ldc to the end of the make line.

Documentation

All documentation is contained in the manual pages. To access them, you can run man esv and man esv.conf for the esv utility and the configuration file respectively.

Copying

Copying, modifying and redistributing all files part of this software except esv.d is permitted as long as your changed conform to the GNU General Public License version 2.

The file esv.d is a reusable library. It is covered under the BSD 3-Clause License.

In both cases, the licenses are contained in the file COPYING.

This software uses a modified version of a library named "dini". This is released under the Boost Software License version 1.0, which can be found in import/dini/LICENSE. dini can be found at https://github.com/robik/dini. My changes can be found at https://github.com/jtbx/dini.