LDSGospelSearch lets you specify a search/predicate tree to search verses or chapters of scriptures from the library of Gospel Library.
LDSGospelSearch is a free .net 4.8 console app that does advanced searching of the scriptures from the Gospel Library library. In the future I may write a GUI (Graphical User Interface) of this if there is enough demand for it. Also if there is enough demand I will write a paid version to search the whole library from Gospel Library, while always having a free version to search the scriptures.
I understand that console apps are not the easiest for everyone to use. I have included two script files that will run the settings in the Config.config file along with the search/predicate tree in Predicate.config and saves the output to Scriptures.txt. You can edit Predicate.config and Config.config from notepad.exe or your favorite xml editor.
download LDSGospelSearch.Console.1.0.4.43911
By default LDSGospelSearch uses the library from Gospel Library. But if you specify a source it will use that copy to do the searching instead.
The Map feature is to map unicode charactors to strings. In the included Config.config I included the six I have found helpful. This transformation happens before any searching from the predicates is done.
After a match is found, and you want to change the title some, say “Doctrine and Covenants” to “D&C”, you can accomplish that by using the Renames feature.
The Capitalizes feature lets you specify words or phrases you want to be in all caps.
Predicates:
- Regex: Takes one <Pattern> node which consists of .net Regex Pattern. And an optional <Options> node which lets you specify the RegexOptions to use. I recommend using IgnoreCase for <Options>. For the <Pattern> node you can simply put in words or phares you are looking for or add more advanced features like \b which used to designate word boundaries.
- Index: Takes one <Text> node, which is the text it will be looking for. And an optional <Comparision> node whichlets you specify the StringComparison to use. I recommend using CurrentCultureIgnoreCase for the <Comparision> node.
- And: Performs a logical And of one or more nested <Predicate> nodes.
- Or: Performs a logical Or of one or more nested <Predicate> nodes.
- Not: Performs a logical Not on one nested <Predicate> node.
- Xor: Performs a logical Xor on two nested <Predicate> nodes.
- Count: Counts the number of one or more nested <Predicate> nodes that evaluates to true. And then compares that count to one or more <Compare> nodes, which is then Anded. Meaning if you want this node to return true all the <Compare> tests need to return true. Inside the <Compare> node you need to specify the type of compare and then the number the count is compared to. Here are the types of comparing you can perform:
- EQ, eq or == which stands for Equals
- NE, ne or != which stands for Not Equal
- LT, lt or < which stands for Less Than
- LE, le or <= which stands for Less Than or Equals
- GT, gt or > which stands for Greater Than
- GE, ge or >= which stands for Greater than or Equals
LDSGospelSearch will not search the summaries for each chapter. It does search the introductions that were translated from the gold plates for the Book of Mormon.
These are the “scriptures” that program will not search.
- Songs of Solomon
- D&C 77
- D&C 85
- D&C 108
- D&C 109
- D&C 110
- D&C 111
- D&C 113
- D&C 123
- D&C 124
- D&C 126
- D&C 127
- D&C 128
- D&C 129
- D&C 130
- D&C 131
- D&C 132
- D&C 135
- D&C 136
- D&C 138
- OD 1
- OD 2
Here are the languages that Gospel Library supports as of 2019-05-15:
Native | Code |
---|---|
English | eng |
Español | spa |
American Sign Language | ase |
Ndee biyáti’ | apw |
Aymar Aru | aym |
Kaqchikel | cak |
Niwaklé | cag |
Avañe’ẽ | grn |
Kreyòl Ayisyen | hat |
Q’eqchi’ | kek |
Dulegaya | cuk |
Qyol Mam | mam |
Màaya T’àan | yua |
Diné bizaad | nav |
Papiamentu | pap |
Português | por |
Kechua (Buliwya) | quh |
Qhichwa simi (Piruw) | quz |
K’iche’ | quc |
Kichwa (Ikwayur) | qvi |
Bats’i k’op | tzo |
Tz’utujiil | tzj |
Shqip | alb |
اللغة العربية | ara |
Dansk | dan |
български | bul |
Català | cat |
Hrvatski | hrv |
Nederlands | nld |
Čeština | ces |
Eesti | est |
Suomi | fin |
ქართული | kat |
Ελληνικά | ell |
Magyar | hun |
Français | fra |
Қазақ тілі | kaz |
Deutsch | deu |
Latviešu | lav |
Lietuvių | lit |
Македонски | mkd |
Malti | mlt |
Italiano | ita |
Polski | pol |
Norsk | nor |
Română | ron |
Русский | rus |
Slovenčina | slk |
Slovenščina | slv |
Svenska | swe |
Türkçe | tur |
Íslenska | isl |
Українська | ukr |
Cymraeg | cym |
Հայերեն | hye |
Српски | srp |
Português (Portugal) | ept |
မြန်မာဘာသာ | mya |
ភាសាខ្មែរ | khm |
繁體中文 | zho |
简体中文 | zhs |
廣東話 | yue |
官話 | cmn |
हिन्दी | hin |
Hmoob | hmn |
Fiji Hindi | hif |
Bahasa Indonesia | ind |
日本語 | jpn |
한국어 | kor |
ພາສາລາວ | lao |
Bahasa Melayu | msa |
Монгол | mon |
नेपाली | nep |
فارسی | pes |
සිංහල | sin |
தமிழ் | tam |
తెలుగు | tel |
ภาษาไทย | tha |
اُردُو | urd |
Tiếng Việt | vie |
Afrikaans | afr |
Fante | fat |
Twi | twi |
ኣማርኛ | amh |
Efik | efi |
Igbo | ibo |
Kamba | kam |
EkeGusii | guz |
Lingála | lin |
Malagasy | mlg |
Ikinyarwanda | kin |
Shona | sna |
Sesotho | sot |
Kiswahili | swa |
Tshiluba | lua |
Setswana | tsn |
IsiXhosa | xho |
Èdè Yorùbá | yor |
IsiZulu | zul |
Bikol | bik |
Bislama | bis |
Cebuano | ceb |
Chamoru | cha |
Vosa vakaviti | fij |
Kiribati | gil |
Hiligaynon | hil |
Ilokano | ilo |
Kahs Kosrae | kos |
Te Reo Māori | mri |
Kajin M̧ajeļ | mah |
Tok Pisin | tpi |
Niuē | niu |
Palauan | pau |
Pampango | pam |
Pangasinan | pag |
Mahsen en Pohnpei | pon |
Māori Kūki ’Āirani | rar |
Gagana Samoa | smo |
Tagalog | tgl |
Reo Tahiti | tah |
Faka-tonga | ton |
Fosun Chuuk | chk |
Waray | war |
Thin Nu Wa’ab | yap |