2 Commity a536ecc278 ... c91ac62964

Autor SHA1 Wiadomość Data
  Fred Gilham c91ac62964 Push latest development version 3 tygodni temu
  Fred Gilham 37083c70f6 Fix setup and add documents 1 miesiąc temu
7 zmienionych plików z 177 dodań i 99 usunięć
  1. 58 50
      INSTALL
  2. 53 27
      README.md
  3. 15 8
      README.org
  4. 7 4
      TODO
  5. 16 1
      bible.el
  6. 3 2
      bm
  7. 25 7
      setup

+ 58 - 50
INSTALL

@@ -1,51 +1,59 @@
-;;; Installation:
-
-;; First install `diatheke'.  On Debian/Ubuntu it's in the `diatheke'
-;; package. In other distributions it might be in the sword package.
-
-;; For Windows I found that you can simply install the Xiphos package.
-;; It includes the Sword library and its utilities including diatheke,
-;; installmgr and mkfastmod. Add the "Program Files\Xiphos\bin" path
-;; to your execution path.
-
-;; Next get the Bible texts (modules) you want to use. This can be
-;; done with the installmgr utility, or if you use a program like
-;; BibleTime or Xiphos you can use the GUI interface that they
-;; provide.
-
-;; The following scripts facilitate verifying your environment and
-;; installing appropriate modules:
-;;
-;; test --- This script just tries to see if your emacs can run
-;;          the diatheke program. It will print out the Bible
-;;          text modules and the Lexicon / Dictionary modules.
-;;
-;; setup --- this script will use the installmgr program to install
-;;           a default set of the modules this program uses.
-
-;;
-;; The code is written to work well with the following modules:
-;;
-;; KJV --- has Strongs references for OT, Strongs references and
-;; Robinson morphology codes for NT.
-;;
-;; NASB --- has Strongs references.
-;;
-;; AbbottSmithStrongs --- A fairly extensive Greek lexicon
-;;
-;; BDBGlosses_Strongs --- A Hebrew lexicon, more extensive than
-;; StrongsRealHebrew.
-;;
-;; StrongsRealGreek / StrongsRealHebrew --- Shorter Greek and Hebrew
-;; lexicons.
-;;
-;; Robinson --- Morphological codes 
-;;
-;; Packard --- Morphological codes (used by LXX which is a
-;; Morphologically tagged version of the Septuagint)
-;;
-;; OSHM --- Hebrew morphological codes used by OSHB.
-;;
-;; OSHB --- Hebrew Bible with Strongs references and morphological
-;; codes.
+* Emacs Bible Installation:
+
+- First install `diatheke'. On Debian/Ubuntu it's in the `diatheke'
+  package. In other distributions it might be in the `sword' package.
+
+  - For Windows I found that you can simply install the Xiphos package
+    from https://xiphos.org. It includes the Sword library and its
+    utilities including diatheke, installmgr and mkfastmod. Add the
+    "Program Files\Xiphos\bin" path to your execution path.
+
+- Next get the Bible texts (modules) you want to use. This can be done
+  with the installmgr utility, or if you use a program like BibleTime
+  or Xiphos you can use the GUI interface that they provide.
+
+** The following scripts facilitate verifying your environment and
+   installing appropriate modules:
+
+- test --- This script just tries to see if your emacs can run the
+  diatheke program. It will print out the Bible text modules and the
+  Lexicon / Dictionary modules.
+
+- setup --- this script will use the installmgr program to install a
+  default set of the modules this program uses.
+
+
+** Module Installation
+The code is written to work well with the following modules:
+
+
+*** The following can be obtained from the CrossWire repository:
+
+- KJV --- has Strongs references for OT, Strongs references and
+  Robinson morphology codes for NT.
+
+- AbbottSmithStrongs --- A fairly extensive Greek lexicon
+
+- BDBGlosses_Strongs --- A Hebrew lexicon, more extensive than
+  StrongsRealHebrew.
+
+- Robinson --- Morphological codes 
+
+- Packard --- Morphological codes (used by LXX which is a
+  Morphologically tagged version of the Septuagint)
+
+- OSHM --- Hebrew morphological codes used by OSHB.
+
+- OSHB --- Hebrew Bible with Strongs references and morphological
+  codes.
+
+*** The following can be obtained from the Xiphos repository.
+
+- StrongsRealGreek / StrongsRealHebrew --- Shorter Greek and Hebrew
+  lexicons.
+
+*** The following can be obtained from the Lockman Foundation
+    repository:
+
+- NASB --- has Strongs references.
 

+ 53 - 27
README.md

@@ -1,16 +1,16 @@
 
 # Table of Contents
 
-1.  [Description](#org0eeeacd)
-2.  [Dependencies](#org6e0c5aa)
-3.  [Usage](#org64704cb)
-    1.  [Keybindings](#org7b6324e)
-4.  [Features](#org1bad6b4)
-5.  [Examples](#orga0675f2)
+1.  [Description](#org420ee8f)
+2.  [Dependencies](#org9ce0b30)
+3.  [Usage](#orge46393b)
+    1.  [Keybindings](#orga024554)
+4.  [Features](#orgcdbdcf8)
+5.  [Examples](#org8e76ca4)
 
 
 
-<a id="org0eeeacd"></a>
+<a id="org420ee8f"></a>
 
 # Description
 
@@ -18,7 +18,7 @@ An Emacs Bible study application using [the SWORD project](https://www.croswire.
 command line program to access SWORD text modules.
 
 
-<a id="org6e0c5aa"></a>
+<a id="org9ce0b30"></a>
 
 # Dependencies
 
@@ -26,22 +26,41 @@ command line program to access SWORD text modules.
 (uses KJV by default). Also, Strong's lexicons and morphological
 databases should be installed:
 
--   StrongsRealGreek
--   StrongsRealHebrew
--   Robinson
--   Packard
--   OSHM
--   AbbottSmith (lexicon) + AbbottSmithStrongs (index)
--   BDBGlosses<sub>Strongs</sub>
+-   Recommended Bible text modules
+    -   KJV
+    -   NASB
+-   Optional (original language modules)
+    -   Byz &#x2014; Byzantine Greek text
+    -   SBLGNT &#x2014; Society of Biblical Literature Greek New Testament
+    -   MorphGNT &#x2014; Morphologically parsed version of SBLGNT
+    -   OSHB &#x2014; Open Scriptures Hebrew Bible: Westminster Leningrad codex
+        marked tagged with Strongs Numbers and Morphological tags.
+-   Lexicons and morphologies
+    -   StrongsRealGreek
+    -   StrongsRealHebrew
+    -   AbbottSmithStrongs
+    -   BDBGlosses<sub>Strongs</sub> (Hebrew lexicon)
+    -   Robinson (Greek morphology)
+    -   Packard  (Alternate Greek morphology used for LXX module)
+    -   OSHM (Open Scriptures Hebrew morphology)
 
 The SWORD Project utility \`installmgr' can be used to install text
 modules and lexical and morphological databases.
 
+Two scripts are provided to make the installation process easier.
+
+-   test
+    This script tests your environment and ensures that Emacs can run diatheke. 
+    It also prints out a list of installed modules.
+-   setup
+    This script installs various
+
 The program \`mkfastmod' should be used to generate indexes so the
 lexical search method will work.
 
+This application will run on Android using Termux and Termux/X11. Run Termux X11 with some desktop environment and run emacs under X11. Then compile and load bible.el.
 
-<a id="org64704cb"></a>
+<a id="orge46393b"></a>
 
 # Usage
 
@@ -50,15 +69,16 @@ lexical search method will work.
     -   emacs -g =150x25 -fn \\"Ezra SIL-14\\" -l bible -f bible-open
 
 
-<a id="org7b6324e"></a>
+<a id="orga024554"></a>
 
 ## Keybindings
 
+-   T - Select Bible text
+-   C - Select Commentary text
 -   b - Select book
 -   c - Select chapter
--   d - Toggle XML display (debugging)
 -   h - Describe mode
--   m - Select module
+-   l - Toggle red letter display
 -   n - Next chapter
 -   p - Previous chapter
 -   q - Quit window
@@ -67,9 +87,10 @@ lexical search method will work.
 -   w - Toggle word study
 -   x - Split display
 -   / - Search
+-   d - Toggle XML display (debugging)
 
 
-<a id="org1bad6b4"></a>
+<a id="orgcdbdcf8"></a>
 
 # Features
 
@@ -85,14 +106,19 @@ lexical search method will work.
 -   Searching
 
 
-<a id="orga0675f2"></a>
+<a id="org8e76ca4"></a>
 
 # Examples
 
-![Example Image 1](./example1.png)
-![Example Image 2](./example2.png)
-![Example Image 3](./example3.png)
-![Example Image 4](./example4.png)
-![Example Image 5](./example5.png)
-![Example Image 6](./example6.png)
+![Example Image 1](https://sunbot.homedns.org/~fred/sf-images/example01.jpg)
+
+![Example Image 2](https://sunbot.homedns.org/~fred/sf-images/example02.jpg)
+
+![Example Image 3](https://sunbot.homedns.org/~fred/sf-images/example03.jpg)
+
+![Example Image 4](https://sunbot.homedns.org/~fred/sf-images/example04.jpg)
+
+![Example Image 5](https://sunbot.homedns.org/~fred/sf-images/example05.jpg)
+
+![Example Image 6](https://sunbot.homedns.org/~fred/sf-images/example06.jpg)
 

+ 15 - 8
README.org

@@ -46,11 +46,12 @@ lexical search method will work.
   - emacs -g =150x25 -fn \"Ezra SIL-14\" -l bible -f bible-open 
 
 ** Keybindings
+- T - Select Bible text
+- C - Select Commentary text  
 - b - Select book
 - c - Select chapter
-- d - Toggle XML display (debugging)
 - h - Describe mode
-- m - Select module
+- l - Toggle red letter display
 - n - Next chapter
 - p - Previous chapter
 - q - Quit window
@@ -59,6 +60,7 @@ lexical search method will work.
 - w - Toggle word study
 - x - Split display
 - / - Search  
+- d - Toggle XML display (debugging)
 * Features
 - Chapter-based browsing of the Bible
 - Text Formatting
@@ -71,9 +73,14 @@ lexical search method will work.
 - Tooltip display of definitions, morphology
 - Searching
 * Examples
-[[./example1.png][Example Image 1]]
-[[./example2.png][Example Image 2]]
-[[./example3.png][Example Image 3]]
-[[./example4.png][Example Image 4]]
-[[./example5.png][Example Image 5]]
-[[./example6.png][Example Image 6]]
+[[./example01.jpg][Example Image 1]]
+
+[[./example02.jpg][Example Image 2]]
+
+[[./example03.jpg][Example Image 3]] 
+
+[[./example04.jpg][Example Image 4]] 
+
+[[./example05.jpg][Example Image 5]] 
+
+[[./example06.jpg][Example Image 6]]

+ 7 - 4
TODO

@@ -1,10 +1,12 @@
 #+COMMENT: -*- Mode: org -*-
-#+COMMENT: Time-stamp: <2026-03-30 06:13:26 fred>
+#+COMMENT: Time-stamp: <2026-03-31 07:07:16 fred>
 * TODO Re-visit buffers and modes
   - Don't create a plethora of buffers---reuse unless user specifies new buffer
   - Use minor modes for LEX and MORPH
   - Maybe use minor modes for Texts and Commentaries
 * TODO Access footnote and cross-reference information from Bible texts.
+  - Need to use a different output format to get that information
+    - Much re-writing. Probably version 2 (if ever).
 * TODO Add customizations for font faces for different kinds of buffers (e.g. Greek, Hebrew, English etc.)
 * TODO Infer chapter counts from book data.
   - May not be easily possible
@@ -12,8 +14,8 @@
   - Search references currently works pretty well except for the above. Worth doing?
   - WORKAROUND---use search ranges.
   - There is a way to do this. Use a sorted list of OT books and
-    output items from search result for each book. Then do the same
-    with a sorted list of NT books.
+    output items from search result, if present, for each book. Then
+    do the same with a sorted list of NT books. Probably version 2.
 * DONE Split commentaries and Bibles (different names etc.)
 
 * DONE Fix parsing of cross-references from books/commentaries.
@@ -24,7 +26,8 @@
     - Associate Bible buffer with commentary?
 * DONE Synchronize buffers
   - Synchronize Commentary with Bible 
-  - Synchronize/de-synchronize different Bible buffers* DONE Add commentaries as module options.
+  - Synchronize/de-synchronize different Bible buffers* 
+* DONE Add commentaries as module options.
 * DONE Psalm 119 acrostic Hebrew letters doesn't work.
 * DONE It would be nice to be able to enter either I, II or III or 1, 2 or 3 when referencing books.
 * DONE XXX Using "bible-search-mode-follow-verse" function reverts to default (customized) module instead of current module.

+ 16 - 1
bible.el

@@ -138,6 +138,16 @@ Must be some version of the sword library's diatheke program."
   :local nil
   :group 'bible)
 
+;;; (defcustom bible-greek-lexicon
+;;;   ;; AbbottSmithStrongs now has both links to lemmas and definitions
+;;;   ;; keyed by lemma. So we only need the AbbottSmithStrongs lexicon
+;;;   ;; and not the AbbottSmith lexicon.
+;;;   "AbbottSmithStrongs"
+;;;   "Lexicon used for displaying definitions of Greek words using Strong's codes."
+;;;   :type '(string :tag "Lexicon module (e.g. \"StrongsRealGreek\").")
+;;;   :local nil
+;;;   :group 'bible)
+
 (defcustom bible-greek-lexicon
   ;; AbbottSmithStrongs now has both links to lemmas and definitions
   ;; keyed by lemma. So we only need the AbbottSmithStrongs lexicon
@@ -1257,7 +1267,12 @@ Massage output so verse cross references are usable.  Returns string."
       (when bible-show-diatheke-exec
         (message "%s" args))
       (apply #'call-process args)
-      (bible--cleanup-lex-text (bible--remove-module-name bible-greek-lexicon (buffer-string))))))
+      (bible--cleanup-lex-text 
+       (bible--remove-module-name 
+        bible-greek-lexicon 
+        (replace-regexp-in-string
+         ".*[0-9]+: [0-9]+. " ""
+         (buffer-string)))))))
 
 (defun bible--lookup-lemma-index (key)
   "Return the Greek lemma from lemma index with a strong's number as KEY."

+ 3 - 2
bm

@@ -1,5 +1,6 @@
 #!/bin/sh
 
-emacs-31.0.50 -q -g =150x25 -fn Ezra\ SIL-14 -l ./bible.elc -f bible-open &
-# emacs -q -g =150x25 -fn "Linux Libertine-16" -l ./bible.elc -f bible-open &
+
+emacs -q -g =150x25 -fn Ezra\ SIL-14 -l ./bible.elc -f bible-open &
+# emacs -q -g =150x25 -fn "Linux Libertine-14" -l ./bible.elc -f bible-open &
 

+ 25 - 7
setup

@@ -1,5 +1,9 @@
 #!/bin/bash
 
+#
+# Get a default set of modules. Edit as desired.
+#
+
 dangeroption="--allow-internet-access-and-risk-tracing-and-jail-or-martyrdom"
 
 intro=
@@ -22,8 +26,8 @@ echo ""
 echo ""
 echo "Although this setup script provides a convenient way for installing"
 echo "and upgrading SWORD components, it also uses a systematic method"
-echo "for accessing sites which gives packet sniffers a target to lock"
-echo "into for singling out users."
+echo "for accessing sites which gives packet sniffers a target to lock on"
+echo "to for singling out users."
 echo ""
 echo ""
 echo "IF YOU LIVE IN A COUNTRY WHERE YOU MAY BE PERSECUTED AND DO NOT WISH"
@@ -51,13 +55,27 @@ installmgr $dangeroption -r CrossWire
 installmgr $dangeroption -ri CrossWire KJV
 installmgr $dangeroption -ri CrossWire Byz
 installmgr $dangeroption -ri CrossWire MorphGNT
+installmgr $dangeroption -ri CrossWire SBLGNT
+installmgr $dangeroption -ri CrossWire SBLGNTApp
+installmgr $dangeroption -ri CrossWire WHNU
 installmgr $dangeroption -ri CrossWire OSHB
 installmgr $dangeroption -ri CrossWire OSHM
+installmgr $dangeroption -ri CrossWire LXX
+installmgr $dangeroption -ri CrossWire Robinson
+installmgr $dangeroption -ri CrossWire Packard
 installmgr $dangeroption -ri CrossWire AbbottSmithStrongs
 installmgr $dangeroption -ri CrossWire BDBGlosses_Strongs
-installmgr $dangeroption -r "Lackman Foundation"
-installmgr $dangeroption -ri "Lackman Foundation" NASB
-installmgr $dangeroption -r "Xiphos"
-installmgr $dangeroption -ri "Xiphos" StrongsRealGreek
-installmgr $dangeroption -ri "Xiphos" StrongsRealHebrew
+installmgr $dangeroption -ri CrossWire MLStrong
+installmgr $dangeroption -ri CrossWire VarApp
+installmgr $dangeroption -ri CrossWire TSK
+installmgr $dangeroption -ri CrossWire Clarke
+installmgr $dangeroption -ri CrossWire MHC
+installmgr $dangeroption -r  "Lockman Foundation"
+installmgr $dangeroption -ri "Lockman Foundation" NASB
+installmgr $dangeroption -r  Xiphos
+installmgr $dangeroption -ri Xiphos StrongsRealGreek
+installmgr $dangeroption -ri Xiphos StrongsRealHebrew
+installmgr $dangeroption -ri Xiphos NET
+installmgr $dangeroption -ri Xiphos NETnote
+