BibleDraft – Using Drafts as a Bible App on iOS

What BibleDraft Does

BibleDraft is designed to get Bible references from Drafts and return the verses in the ESV translation into Drafts faster, and with fewer taps, than looking it up in OliveTree, Logos, the ESV Bible, etc.

Why Drafts? Because, as so many other people have written, Drafts is the best spot to get started with text on iOS. I also have a few reasons on my own for using Drafts versus Launch Center Pro or some traditional Bible app:

  1. I love the lack of clutter in the Drafts interface.
  2. I was sick of having to use the mostly slow UIs in many of the bible apps. If I wanted to read Psalm 103, I wanted to read Psalm 103. I didn't want to have to go through a maze of taps, scrolling, etc.
  3. I want to be able to send the bible verses a lot of different places: Twitter, Day One, email, text messages, etc.

How BibleDraft Works

BibleDraft is set up to take input in a few different ways. You can write a verse like John 3:16 and it will return that verse as a new draft.

But one of the main reasons I built BibleDraft was because I wanted to be able to see multiple Bible verses or passages in one place. No more tapping around to read a variety of scriptures. You can also enter a series of passages (as new lines), like this:

John 3:16
Luke 2:17-18,20
Is 46:10

or as a semi-colon separated list like this:

John 3:16;Luke 2:17-18,20;Is 46:10

and the script will pull all the passages back into one single draft. This idea came to me as I have been doing Bible Study Fellowship this year. Those studies cover so much scripture that I was hurting my fingers with all that tapping!

Multiple Bible Verses on iOS and Corresponding Passages:

BibleDraft on iOS displaying multiple Bible verses

The Drafts Actions

Right now I have three different actions, each requires its own separate Drafts action. All Drafts actions are just a single-step action that calls the Pythonista script using a URL scheme:

  1. Return the verses back to Drafts. This action takes a verse, or set of verses, and returns them back to Drafts with the reference as markdown bold. This will allow you to choose the final destination once the scripture is back in Drafts. Install the “Bible Verse (ESV) to Drafts” action from the Drafts Action Directory.
  2. Tweet a single bible verse with a link to the ESV Bible Online. This action takes advantage of the new runAction parameter on callback so that the text does not create a new draft, but simply runs the action that you're calling. In this case, the script requires an action called Tweet which again is a simple, single-step action that sends out a tweet under the desired username. When using this action it automatically shortens the verse to fit in a tweet. It includes the reference, a note showing its from the ESV translation, and a link to the ESV Bible online. Install the “Tweet Verse” action from the Drafts Action Directory.
  3. Send a verse as a text message This action requires that you have an action installed in Drafts called Message. You should, unless you deleted that from the system-standard actions. I've been using this to send verses easily to my wife and some friends lately. Install the “Text Bible Verse” action from the Drafts Action Directory

BibleDraft's Settings

There are two things that I want to point out about this script. They aren't really settings, but I don't know what else to call this section. Please pay attention to these two areas in the script:

  • the key parameter. The ESV's licenses says that you can use this non-commercially up to 5,000 times per day. Before using this script please make sure you're using it according to the guidelines Crossway lays out. If you're it either commercially, or more than 5,000 times a day (which would seem to be a commercial use to me), please talk to Crossway.
  • the link & copyright info. It's easy to think that just because something is the Bible that we don't need to worry about copyright. That's wrong. Crossway put significant resources into creating the English Standard Version and they have been generous in how they've made the content available. Please read the ESV API's Terms of Use before using the script.
    • with BibleDraft 1.1 links to the ESV Bible Online are off by default. I added the links fairly late on in the development of BibleDraft 1.0 and after using them for a few weeks, having the links in there just got too ugly for me. If you really loved the links, go to line 63 and change the value to “On”.

Installing & Updating BibleDraft

New Installations

The easiest way is to install BibleDraft is to copy the link to the gist to your clipboard and then use Ole Zorn's New from Gist Script. If you're using Workflow, maybe the easiest way is to install my New from Gist workflow.

Updating Old Installed

If you're already using BibleDraft, updating to the most recent version will only require that you

BibleDraft 1.0 Video

BibleDraft Changelog

V 1.1.1 Changelog

  • Fixed Text Bible Verseworkflow to properly display multiple passages.

V. 1.1 Changelog

  • Add text message as a callback action
  • Can now use a ; to separate multiple passages in addition to new lines of text
  • turned off links to corresponding verse on ESV Bible Online by default. “Preference” is now at line 63
  • shorten link IDs to just digits if using links

10 thoughts on “BibleDraft – Using Drafts as a Bible App on iOS

  1. Hi,
    Love the idea, however I had a few questions.
    Do I need Pythonista installed on my ios device for this to work?
    I also want to change it to a different bible, which place should I change that, in Pythonista?
    Can I use workflow instead of pythonista?
    Basically, I would like to learn to do this type of thing.

    • Yes, you need Pythonista to run this script. I have not found another Bible that has an API like the ESV despite looking, so this will not work with another translation right now. If you find another Bible that has an API let me know. If may be possible to do with Workflow but I highly doubt it. The key to this thing is the Python scripts that it runs. I will have an adaptation coming in the future for Editorial on iOS.

      Thanks for the interest!

  2. I have downloaded both your and quick ESV and have not been able to execute them successfully. Both of them are getting hung up on the “def init(self, key):” line. It says that I have an invalid character. Did you ever receive that on your end? Do you have any suggestions to correct it?

    • That may be the problem. I have not had the time to try it with Pythonista 3. Under settings the first option is Default Interpreter. Try changing that to 2.7 and see if it works

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s