<2024-02-11> Archived & moved to codeberg.org. https://codeberg.org/thomp/dtk
Read Biblical texts in Emacs
diatheke is a front-end to the SWORD library. dtk facilitates reading a Biblical text, or other diatheke-accessible material, in Emacs.
-
Ensure that diatheke is installed. In Debian, it is available as the
diatheke
package. -
Ensure that at least one text accessible as a diatheke module is installed. One way to do this is by using the 'module manager' of Xiphos. A number of texts are also available in Debian as packages (e.g.,
sword-text-kjv
).
Prerequisites: Define the variables dtk-module-category
(default: "Biblical Texts"
) and dtk-module
(default: the first module returned by diatheke
).
These may be set interactively by calling dtk-select-module-category
and
dtk-select-module
, respectively.
M-x dtk
will create a dedicated buffer *dtk*
and prompt for
completion of book, chapter and verse. The corresponding text will be inserted into
*dtk*
upon completion.
The *dtk*
buffer enables dtk-mode
and provides the following keybindings:
Key | Commands | Description |
---|---|---|
g | dtk-go-to |
Prompt and insert new text |
f | dtk-forward-verse |
Forward verse |
b | dtk-backward-verse |
Backward verse |
c | dtk-clear-dtk-buffer |
Clear dtk buffer |
M | dtk-select-module-category |
Select type of text (Bible text, Commentaries, Dictionaries..) |
m | dtk-select-module |
Select module (Bible versions) |
s | dtk-search |
Search text |
d | dtk-dict |
Show dictionary data for word at point |
q | dtk-quit |
Quit buffer |
x | dtk-follow |
Insert the corresponding verse into dtk buffer if point is under full citation |
C-M-b | dtk-backward-chapter |
Move point to previous chapter |
C-M-f | dtk-forward-chapter |
Move point to next chapter |
To insert Biblical text directly in any buffer, use M-x dtk-bible
.
Call with prefix argument (C-u
) to temporarily change module when inserting
text.
An example use-package
configuration:
(use-package dtk
:bind (("C-c B" . dtk-bible))
:custom
(dtk-module "KJV")
(dtk-module-category "Biblical Texts")
(dtk-word-wrap t)
)
In a Windows environment, diatheke may not be in the search path for executables. If this is the case, you can explicitly provide the path to the executable by setting dtk-program
. For example, if Xiphos is installed, one might specify the diatheke executable location as follows:
> (setf dtk-program "C:/Program Files (x86)/CrossWire/Xiphos/bin/diatheke.exe")
"C:/Program Files (x86)/CrossWire/Xiphos/bin/diatheke.exe"
Some texts have dictionary references embedded in the texts. For these texts, dictionary lookups may be available. By default, d will, by invoking dtk-dict
, display the related dictionary entry, if that entry is available.
Search the selected text with M-x dtk-search
.
Modules fall into a number of categories. Select the category of module which is under consideration with M-x dtk-select-module-category
. By default, this functionality is bound to M.
Select the module of interest (e.g., KJV, ESV, or RNKJV) with M-x dtk-select-module
. By default, this functionality is bound to m.
dtk-modules is intended as a repository for retriever-parser-inserter sets for additional diatheke-accessible content. daily-light.el provides these for the Daily Light. Peruse the day's readings with M-x dtk-daily
.
bible-mode is another effort to facilitate browsing SWORD module content using the diatheke interface.
diatheke.el is another interface to diatheke.
sword-converter converts SWORD module content to JSON and SQLite. Provides search functionality.
sword-to-org converts SWORD modules content to org outlines.