A ncurses frontend to the SWORD project. (see http://crosswire.org/)
Go to file
Paul Mosier 0a8acd40cc Resolution of improper multibyte rendering. 2023-03-02 20:00:49 -05:00
.gitignore Bugfix for issue #4: crash with non-existent default module. 2022-12-27 15:45:30 -05:00
CODE_OF_CONDUCT.md Updating documentation, last bugfixes before first release. 2021-09-18 23:11:10 -04:00
CONTRIBUTING.md Updating documentation, last bugfixes before first release. 2021-09-18 23:11:10 -04:00
COPYING Initial commit! Testing remote repository access. 2021-09-08 23:28:35 -04:00
Doxyfile Updating documentation, last bugfixes before first release. 2021-09-18 23:11:10 -04:00
LICENSE Initial commit! Testing remote repository access. 2021-09-08 23:28:35 -04:00
Makefile Makefile patch for package building. Code change to handle warnings. 2022-12-03 18:37:26 -05:00
README.md Resolution of improper multibyte rendering. 2023-03-02 20:00:49 -05:00
free.cpp Commit to log changes in progress for retooling away from wide character strings: 2023-02-23 15:01:21 -05:00
free.h Commit to log changes in progress for retooling away from wide character strings: 2023-02-23 15:01:21 -05:00
pane.cpp Resolution of improper multibyte rendering. 2023-03-02 20:00:49 -05:00
pane.h Allow for multiple pages of panes. 2022-05-26 20:58:32 -04:00
scabbard.cpp Use swmgr's module type constants intead of magic strings. 2022-12-27 17:46:17 -05:00
scabbard.h Use swmgr's module type constants intead of magic strings. 2022-12-27 17:46:17 -05:00
scriptura.cpp Commit to log changes in progress for retooling away from wide character strings: 2023-02-23 15:01:21 -05:00
scriptura.ini Allow for multiple pages of panes. 2022-05-26 20:58:32 -04:00

README.md

Scriptura

A ncurses-based frontend to the SWORD project, the CrossWire Bible Society's Bible software library.

This program was written to scratch a personal itch. I do a lot of daily computer work in the command line, I wanted something more feature-rich than libsword's diatheke, and I wanted to sharpen my C skills. I imagine there are probably a single-digit's amount of people in the world who are interested in doing their Bible study from a command line terminal. If you happen to be one of them, please feel free to use this program. Its layout and interface are very loosely based on OliveTree, a Bible study app popular on the Android platform.

Dependencies

  • a C++ compiler and standard libraries installed - the Makefile is currently set for g++ but you could switch it to clang++ if preferred
  • libsword and its development libraries (also available in most distributions' standard repos)
  • ncurses and its development libraries (any modern Linux version should work)
  • doxygen (optional, if you're a documentation nerd)

Getting started

To install scriptura (into /usr/local by default):

git clone https://tildegit.org/paladin1/scriptura.git

cd scriptura

make

sudo make install

On first run, scriptura assumes that the King James with Apocrypha module is intalled and available. Many modules from CrossWire are available here and other frontends have their own repos. To install them from the command line:

mkdir -p $HOME/.sword/

cd $HOME/.sword/

curl https://www.crosswire.org/ftpmirror/pub/sword/packages/rawzip/KJVA.zip

unzip KJVA.zip

A configuration file will be created at $HOME/.config/scriptura.ini. You can see the sample config file in the codebase for available options. Just about everything you can modify from inside the program, with the sole exception of the 'panels' entry under [layout]. This determines if you want the two panes to stack horizontal ("h") or vertical ("v") and must be changed manually.

When the software is running, the '?' key will give you the list of commands available. Open any module you have installed and you can go to or search any text.

Known issues

  • Menus and forms will not render correctly if your terminal window is too narrow. Resize the terminal and this should work.
  • Extended ASCII characters, typically in the Latin-1 set, will not render due to a quirk of how ncurses handles UTF-8.

Feedback / Support / Gratuity

For patch or code submissions, see the CONTRIBUTING file.

Please use the tildegit project forum page to submit any feature requests or bug reports. For bugs, please include the descriptions of whatever module was used and relevant config/environment settings, and a list of steps to reproduce the problem. Please also adhere to the code of conduct.

Other means of contact can be found here

This project is basically a one-man operation. If you'd like to show your support financially, you can contribute via:

  • Paypal - paladin1 at sdf.org

Disclaimer

I'm not a programmer by day. While I have tested this thing and believe it to be beta-worthy, I assume no responsibility if it crashes your computer, ruins your holiday, or kicks your dog.