Bible Study in Obsidian Kit (including the Bible in Markdown)

@Joschua do you have a version of this that splits the text into individual verses per chance? Kind of stuck with Obsidian’s inability to see block references. Ideally, I’d like to be able to embed verse references on my personal study notes pages (which are organized by date) and see the other notes I’ve taken that link to that specific verse (i.e. [[John 3:16]]).

A version of this doesn’t exist (yet). It would take me a bit of time and tinkering to create something that would accomplish this. Currently, I’m focusing on other things but that might change in some weeks. Meanwhile, I created a feature request to sort header links by order in backlinks panel which might solve some of your problems, if I understood them correctly.

As a workaround, embedding the verse works well, the only issue is that you have to comb through all of your backlinks to each verse in the chapter:

Yeah, that’s the problem… I can get to the Genesis 1 page from the sermon notes page for a specific date, but once I’m there, there is no way to go to the other sermon notes pages that reference the same verse easily. In ~3 years of taking notes, I would have 100s of links to scroll through for the Linked Mentions on a Bible chapter page.

3 Likes

Thanks for this great kit! Do you have some special css snippet to make the verse numbers appear on the side like in your screenshot? @Joschua

2 Likes

Thanks a lot for sharing you’re experience and thoughts with us @Joschua.

@jjude, you wrote, that you played over a weekend with the tool. I smiled and thought that the Bible Study in Obsidian Kit isn’t that voluminous. I was mistaken and will enjoy this Kit the next few evenings :slight_smile:

@phlind you can copy the css snippet from here: CSS Snippet
In combination with the Minimal Theme in Obsidian it’s beautiful to read.

2 Likes

Mike decided to get me involved. :wink:

I did some work on this in a fork, @Joschua. You likely don’t want to pull it in directly but I made some adjustments for my own purposes.

  1. Instead of relying on the installation of the BG to MD dependency, I installed it as a submodule and then referenced the .rb executable directly in your script.

  2. I removed a lot of the "00 - " numbering and such in your script so that it was cleaner on the output side.

  3. I added a script versesplit.sh that can be run on a version directory and it will split out the chapter markdown files into individual verse markdown files.

  4. I added another script masterfiles.sh that when run will create a file in each book and chapter folder that contains links to the downstream files. So Genesis.md has links to all the chapters. Genesis 1.md has links to all the verses. That way there’s a link between it all.

  5. I then added a final script to add the sorting numbers back to the book folders for sorting them correctly.

  6. Last note, the verse files take on the format Genesis 1.1.md. Colons are no fun in filenames.

  7. Oh! I also changed the root folder name to be just the version text. In my scripts, I have ESV in there. So to use them on a different version, you’ll need to change that bit or alter it to use a variable passed into the script.

Enjoy!

2 Likes

Thanks @ChrisLi for sharing the link before I could :grin:You can also find the CSS snippet in the Bible Kit if you search for “Tweaks, Queries and Plugins”.

Wow, love all of the adjustments and I am happy there is a way to get each verse as a note. When it comes to installing the BG to MD dependency as a submodule, just be aware that the content that is scraped from BibleGateway often changes and the author of the bg2md script updates is frequently accordingly. So if some ugly html rendering comes through, just pull the script again.

It’s amazing what you can do just with a simple bash script :grin: Thanks for sharing!

Makes sense. It would just be a matter of running the update submodule command each time. But that would also mean that you could control when it’s updated or not. :+1:

So true! I have so many one-off scripts like this. I don’t normally share them, but this time it seemed appropriate. :wink:

1 Like

Hey @Joschua, here’s a youtube video of your presentation from our workshop. https://youtu.be/vxc6YbmpMNQ


(Do you prefer having a link to it here or somewhere else? Just let me know!)

6 Likes

:clap: this is magnificent… thank you!

1 Like

Nice work. Interestingly, I tried both Joschua’s and Joe’s versions and the result is a nicely structured set of Markdown files with no actual content (see here: https://dsh.re/04836). Anyone else seeing similar results?

3 Likes

@chrisbowler The biblical text pulled into the markdown files fine for me. Did you install the required ‘gems’ in the instructions here?

Another thing to consider is it seems like it’s using the system clipboard for something. Each chapter was passed through my clipboard:


Not sure if that could have anything to do with it.

P.S. I’m a big fan of your writing Chris!

@joebuhlig Amazing work on this!

I’m getting an error when trying to run the versesplit.sh script.
line 8: ![[${folder$bookchapter}]]: bad substitution

If I was smarter I’d probably know what that means. Any ideas?

Flattered, David. Thanks for saying so!

I did install the gems, although not before trying Joschua’s script the first time. But it hasn’t made a difference. I’ll keep plugging away!

Ah, this was my fault (didn’t read the entire RTFM). I didn’t have the original script from jgclark in the folder. Works like a charm!

1 Like

Did you alter the script at the top to match the folder (version) that was pulled? That’s my initial guess.

@joebuhlig I actually left the script unmodified and just renamed the pulled NIV folder to ‘ESV’. I’ll keep experimenting! Thanks brother.

1 Like

Can you PM me a zip file of the pulled version? I can run it on mine and see if it’s an issue. Curious if my shell has something installed that’s a dependency and I’m not aware of what it is.

@joebuhlig Yes! PMing now. Thanks so much.

Got it! I just realized when looking at yours that I had altered the find/replace steps from the original. The second find/replace is this:

find: ######\s([0-9]\s|[0-9][0-9]\s|[0-9][0-9][0-9]\s)
replace: \n\n###### v$1\n

That would give you this format:

###### v1 
Adam, Seth, Enosh, 

I had altered that to be this:

find: ######\s([0-9]\s|[0-9][0-9]\s|[0-9][0-9][0-9]\s) This is the same.
replace: \n\nv$1 This forces each line to start with the verse number and go immediately into the text.

So it should look like this:

v1 Adam, Seth, Enosh, 

If it looks like the latter, then you can run the versesplit.sh script.