An easy way of integrating to STEP is to use the browser to render STEP and simply integrate with the URL. These URLs control a number of different parameters, ranging from Bible references, version and commentaries, display options, search terms, ... The following page attempts to describe the different parts of the URL:
The STEP URL defined
The following fragment is taken directly from the online version and illustrate the different parts of the URL:
It can be split up in different fragments:
URL fragment | Field name (used in the rest of this document | Description |
---|---|---|
http://www.stepbible.org/ | Base URL | This is the base URL to which STEP will call out to. For Desktop editions of the software, this will usually be http://localhost:8989/. Our development site is at http://dev.stepbible.org |
q=version=ESV|version=NIV|strong=G0018|reference=Matt | Search query | The query that STEP attempts to parse. This describes the action that user has committed to. Visually, this is the textual representation of the different roundels in the search box: This could be a Bible passage lookup, a word search against the original text, a search by meaning, etc. The query can be split up in different parts, each part being a search term. The search terms are separated by a pipe delimiter (|) and STEP copes with the delimiter whether it is URL encoded or passed as is. Some browsers may complain about the lack of URL encoding (though none have been encountered so far). Each search term takes the form of: type=data Type is the type of data that is being requested. This qualifies the data. This is usually done by the user selecting an option from a dropdown. At the time of selection from the dropdown, STEP can determine that by selecting the word 'hesed', the user is wanting to look up data H2618. As a result, on clicking search, the term strong=H2618 is added to the URL. The list of data types is explained below . |
options=VLGUVN | Display options | Depending on the type of search requested by the user and the chosen modules (Bibles and commentaries), different options are made available. For example, displaying verses line by line is always available for any Bible/commentary. However, cross-references may only be available in certain Bibles. Other times, the view of the data itself doesn't support those options (e.g. turning Greek accents off is not supported in English texts). A full list of options is described below. |
display=INTERLEAVED | Display mode | There are 6 different mods of display. A display mode affects the structure and layout of the text. For example, a user may opt to display multiple versions and compare their textual differences, or see them in column. The full list of display options is described below. |
The power of STEP comes by the joining of multiple search terms together to combine searches, references, Bibles and commentaries. This allows the user to create complicated searches. For example, a user could cast a wide net over all subjects referring to David and refine it to only those passages that contain the text word 'David'. This means that although a passage may be missing the actual word David, the user ends up seeing all passages that refer to the throne of David, and not that of any other kind.
Search query
The most complicated part of this document is this next section - so please keep reading!
Data types
The following types exist:
Examples | Description | |
---|---|---|
version | version=ESV version=Luther | Identifies a particular resource (a version of the Bible, or a commentary) |
reference | reference=Mark.2-reference=Mark.3 reference=Mark.2:10 reference=Mark%202 (URL encoded) reference=Mwa 2 (Swahili names) reference=Mar.2:10-ff (verse 10 to end of chapter) | Identifies a reference, e.g. Gen.1.1. References are to lookup a passage or to limit the scope of a search. STEP attempts to parse any reference as best it can. For example, STEP is able to parse Swahili references, etc. The best way of working out what is supported is to try them out. STEP itself attempts to ensure there URL always contains a well-formed OSIS reference (e.g. Book.chap.num-Book.chap.num, Book.chap, etc.) This is so that sharing URLs on the internet, does not rely on the browser's language. (Note: on the desktop, the language will be detected from the browser, which is usually the OS language) |
text | text=Abraham text=Melkizedc~ (allow for spelling alternatives) text=Abra* (and much much more) | Carries out a text search. A text search is defined as a search for the specified term in the selected resources. If the selected resource(s) are Greek, then it attempts to match the term (assumed to be input in Greek) to the selected corpus. If the resource is in English, the term is assumed to be in English, etc. etc. e.g. imagine opening up a Word document, and pressing CTRL+F and keying in a term. Text searches are however much more powerful in that they support many different types of operators. Please see Query Syntax for extensive detail (row marked as search prefix 't=' |
syntax | syntax=og=agathos syntax=og=agathos~ sh=throne (and much much more) | Please see Query Syntax for extensive detail. |
greekMeanings | ||
hebrewMeanings | ||
hebrew | ||
greek | ||
strong | ||
meanings | ||
subject | ||
nave | ||
xnave | ||
topicref | ||
relatedrefs | ||
exactform |
- version:
- reference: . e.g.: Mark.2-Mark.3, or Mark.2:10, or Mark.2, etc.
- text:
- syntax
Combining data types
Default values
Ordered queries