BOS Bible Reference Synchronisation

Picture of the FG Logo

BOS Bible Reference Synchronisation Standard

The open-source Bible Organisational System (BOS) provides a mechanism for synchronisation of Bible references with other programs so that they can scroll together (if enabled by the user in both programs).

File location and naming

On Linux, the file is searched for in the following locations (in order):

  1. ~/BibleOrgSys/

On Windows, the file is searched for in the following locations (in order):

  1. ???

The file is always named BOS_Bible_Ref.txt

File contents

The file uses UTF-8 encoding, and always starts with the fixed string 'BOSBibleSync' (without the quotes) followed by a space.
It is then followed by a version number string, currently 'v1.0.0' (without the quotes) also followed by a space.
The version number is followed by the reference string (see below).
There should be no newline (or carriage return) characters in the file (although any readers should plan to quietly ignore them if they did exist).

The Scripture reference should be in the original (Hebrew/Greek) versification system.
The format is G=BBB_C:V where the G represents a group code (A,B,C,D, or E)
the BBB represents the three-character BOS book code,
and the C and V represent chapter and verse numbers.
(Chapter -1 is the book introduction, verse 0 is the chapter introduction (e.g., section heading).
This may optionally be followed by either:
!S where S is a lowercase suffix letter, e.g., a=first half of verse, b=second half of verse, or
.W where W is a word number, e.g., 2=the second word in the verse.

The first reference MUST be for group code A, then group codes B..E if they exist, must be IN ORDER and separated by a single space character.

The following is a typical example: BOSBibleSync v1.0.0 A=JHN_3:16 B=GEN_17:2 C=CO2_1:1

Note: There doesn't seem to be any good reason/need to allow bridged verse references to be set here, i.e., instead of MAT_3:4-5, just use MAT_3:4. (The BOS has different standard ways of saving things like multi-verse references.)

Note for programmers: The Python3 program for BOS reference synchronisation can be seen here.