Home

Awesome

BibleGateway-to-Obsidian

⚠️ Disclaimers

By default, the version is set to the WEB Bible. You can change the version but must honour the copyright standards of different translations of the Bible (See for example BibleGateway's overview).

Using the script with some versions is clearly breaking copyright. The script is not intended for such usage.

For example, for the ESV from https://www.esv.org/resources/esv-global-study-bible/copyright-page/:

"The ESV text may be quoted (in written, visual, or electronic form) up to and inclusive of five hundred (500) consecutive verses without express written permission of the publisher, provided that the verses quoted do not amount to more than one-half of any one book of the Bible or its equivalent measured in bytes and provided that the verses quoted do not account for twenty-five percent (25%) or more of the total text of the work in which they are quoted."

The NET translation, however has very generous copyright rules: https://netbible.com/copyright/. It appears to be permissible to use for personal study.

This is not affiliated to, or approved by, BibleGateway.com. In my understanding it fits into the conditions of usage, but I make no guarantee regarding the usage of the script, it is at your own discretion.

About

This script adapts jgclark's BibleGateway-to-Markdown script to export for use in Obsidian. It accompanies a Bible Study in Obsidian Kit that gets you hands-on with using Scripture in your personal notes.

What the script does is fetch the text from Bible Gateway and save it as a formatted markdown file. Each chapter is saved as one file and navigation between files as well as a book-file is automatically created. All the chapter files of a book are saved in its numbered folder.

This script is intended to be as simple as possible to use, even if you have no idea about scripting. If you have any questions, please reach out to me either on GitHub or Discord (selfire#3095).

Languages

You can find supported languages in the locales folder.

Installation

Here are the tools we are going to use:

Setting ruby up

Updating

In order to run the scripts, we will need to install ruby. Ruby comes pre-installed on macOS, but if you run into issues update to the latest version.

Downloading BibleGateway-to-Markdown.rb

Follow the instructions to download and set up jgclark's BibleGateway-to-Markdown.

Usage

1. Install scripts

Place both scripts (bg2md.rb and bg2obs.sh) in the same directory, open your terminal application, and navigate to that directory with commands like the following:

2. Run the script

Once you have navigated to the directory containing both scripts, run bash bg2obs.sh. This will run the bash script. A folder called Scripture with subfolders like Genesis, Exodus and so on will be created in the current folder.

Note: This script uses the clipboard to manipulate the text. You might find that copying and pasting while running the script does not work as expected.

Several options are available via command-line switches. Type bash bg2obs.sh -h at any time to display them.

Script option summary

OptionDescription
-v [VERSION]Specify the version of the Bible to download (default is WEB)
-bSet words of Jesus in bold (default is Off)
-eInclude editorial headers (default is Off)
-aCreate an alias in the YAML front matter with a more user-friendly chapter title (e.g., "Genesis 1") (default is Off)
-iShow progress information while the script is running (i.e. "verbose" mode) (default is Off)
-cInclude inline navigation for the breadcrumbs plugin (e.g. 'up', 'next','previous') (default is Off)
-yInclude navigation for the breadcrumbs plugin in the frontmatter (YAML) (default is Off)
-lSpecify the locale that should be used to name the books of the Bible (default is English). See supported locales.
-hDisplay help

Example usage

CommandDescription
bash bg2obs.sh -i -v NETDownload a copy of the NET Bible with no other options.
bash bg2obs.sh -bDownload a copy of the WEB Bible (default) with Jesus' words in bold.
bash bg2obs.sh -yDownload a copy of the WEB Bible (default) with breadcrumbs navigation in the frontmatter.
bash bg2obs.sh -v NET -beacyiDownload a copy of the NET Bible with all options enabled.

3. Format the text in a text editor

Some cross references are sometimes still included, run \<crossref intro.*crossref\> to delete.

There you go! Now, just move the "Scripture" folder into your Obsidian vault. You can use the provided The Bible.md file as an overview file.

Translations

This script downloads the World English Bible by default. If you want to download a different translation, specify the version using the -v command-line switch as documented above. The list of abbreviations is available on the Bible Gateway site under the version drop-down menu in the search bar. Make sure to honour copyright guidelines. The script has not been tested with all versions of the Bible available at Bible Gateway, though most of the more commonly-used ones should work.

A fork of this repo supports Catholic translations: mkudija/BibleGateway-to-Obsidian-Catholic.

Troubleshooting 🐛

Below are common issues when using the script. If this still doesn't solve your issue, there are some place to get help:

Problems loading ruby/gems

An error like this indicates ruby or the gems aren't installed properly: in require: cannot load such file -- colorize (LoadError)

Solutions

The first chapter of the book repeats

☑️ Use version 1.4.3 of jgclark's script instead of the newest version.

"Language not found: error

Make sure to download the whole repository. See issue 44 for more information.

Contributing

Pull requests are welcome. You can help me keep creating tools like this by buying me a coffee. ☕️

<a href="https://www.buymeacoffee.com/joschua" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" height= "48" width="173"></a>

Locales

You can contribute by translating this script into your language.

Copy the locales/en folder and rename it with the relevant language tag. Add the translations in a books.txt, booksAbbr.txt, booksAbbrShort.txt and name.txt files.