HTTPS SSH

bahaiwritings

The Bahá'í Writings in JSON format with supporting JSON Schema and meta-data.

See the web app in action.

Although the TextBrowser project for which this repository includes content is open sourced under the MIT license (as is the specific JSON formatting (and schema and meta-data files) of this repository), the contents of this data repository are under their own licenses and their copyright is retained. The usage terms of the Baha'i Writings are described at http://www.bahai.org/legal. The Qur'an and Bible translations (Rodwell/Sale and the King James) as well as the notes of Sale and Rodwell are in the public domain. The Baha'i translation cross-references are under the MIT license. Lights of Guidance is under its own copyright as is the Collins bibliography.

Installation

If you wish the TextBrowser dependency, install with:

npm install git@bitbucket.org:brettz9/bahaiwritings.git

If you just wish the Bahá'í Writings JSON and do not wish the TextBrowser dependency, install with:

npm install git@bitbucket.org:brettz9/bahaiwritings.git#notextbrowser

The JSON data files should be the same. Note that in addition to certain HTML, JavaScript, and CSS-related files being removed in the latter, the dependencies property in its package.json is also not set. The file site.json is also not present as that is oriented for TextBrowser.

Note that the schema files to which the included schema files belong are at https://github.com/brettz9/textbrowser/tree/master/general-schemas.

To-dos

  1. Waiting: It is hoped that the addition of these tables (which are Scriptures) can also be automatically generated from any possible future authoritative API

    1. Suggest API to Baha'i World Centre to automatically (and periodically) parse their texts into JSON here to ensure we have the most up-to-date and corrected translations
  2. Waiting: Once stabilized, target TextBrowser dependency by tagged version.

  3. Add a "Powered by TextBrowser" message on non-results pages with link to that repo.

  4. Break out plugins into separate repository(ies) for reusability with textbrowser (and publicize their presence on its wiki).

  5. Apply https://www.gnu.org/software/librejs/free-your-javascript.html labels to provide machine-automated detection of (open source) licenses.

  6. ONGOING:

    1. Ensure notextbrowser branch is kept up to date with master besides the package.json and absent HTML/JavaScript/CSS differences.

    2. Ensure still passing tests/validating

    3. Once TextBrowser version stabilizes, target "textbrowser" dependency by tagged version instead of master.

  7. See TextBrowser to-dos

  8. Actually update notextbrowser branch and tag this version when stable

  9. Add/change data files and meta-data files to use $schema?

  10. Fix TextBrowser so it can load with a port in npm start

  11. Change schema references (in both bahaiwritings branches) to point to absolute URLs so as to be independent of repository/branch (rather than their current assumption of being utilized within TextBrowser).

  12. Add/Add back references for automated:

    1. Synopsis, Roman numerals (pm, gwb), Chinese numbers, word-by-word translation (Persian/Arabic/German/English), auto-romanized Persian (Baha'i-style with help link to http://bahai9.com/wiki/Pronunciation), Persian with English tooltips, English with Persian tooltips, text-to-(Google search, Google define, Wikipedia, bahai9.com edit pages); add Word-by-word/phrase mapping

    2. Make a version for the Browser API to enable side-by-side views of (Bahai9.com) iframes dedicated to a given verse/paragraph!

  13. Specific works

    1. Qur'an and Bible

      1. Re-build based on formatted copies so as not to lose visual distinguishability, e.g., Sale's many superscripts, etc.

      2. There is a good amount of invalid XHTML in the JSON databases for the Qur'an and Bible (links w/o quotes) that would ideally be replaced (Tidy script?) as well as the XHTML and link locations in the Iqan copy (would just be nice to be clean and polyglot-friendly for any XHTML5 uses)

    2. Collins

      1. Need to split Collins into own repo? (or describe terms)

      2. Upload newer Collins and fix any bugs in formatting.

      3. Add Collins language metadata for each field

      4. Lower priority: If implementing combining of fields, add Collins for this.

      5. Add any other reasonable browse_options

    3. Other works

      1. Encode more Writings into TextBrowser JSON
  14. Lower priority

    1. Add any other reasonable browse_options
    2. Add "By page" for the Aqdas (once parsed by page)
    3. Further localization including column aliases, etc.
    4. Baha'i Bot for Discord?

Testing

You will first need to run npm install.

The syntax used in the tests currently only works in a modern browser. Note that this may lock up your terminal as the validator must load and process all of the files (including child files):

npm test

Note that the tests currently only perform schema validation. We do not yet have UI tests.

If you merely wish to see the app running in a server, you can run:

npm start

If you do not wish to automatically open a tab each time the command is run, use:

npm run start-no-open

You can also use this latter option to run the browser tests (from http://127.0.0.1:8083/test/). Note, however, that this may lock up the browser as there are many files to load.

Background

For background of this project, see TextBrowser's History section.

Justification

While there was a letter from the international governing body of the Bahá'í Faith (online at http://bahai-library.com/uhj_interlinear_writings_cta), suggesting that interlinear publications are not necessary for the Bahá'í Writings, I do not think that this guidance pertains to our project for the following reasons:

  • The context appears to be more about official print publications which would need to justify resources being spent on such specialized text versions. The original question refers to Publishing Trusts and the response speaks of "all other readers" (besides those comparing with the Persian/Arabic originals) being distracted, whereas online, there are minimal (and non-official) resources being spent to provide the works, so there is no concern for distraction of other readers (and those using our TextBrowser-based tool can indeed selectively disable any column they wish).

  • Besides allowing those already familiar with English (or other translations) and Arabic/Persian, to confirm the original meaning, the availability of such interlinear tools allows for comparison by language learners who, although as per the letter, learning the original language is not required in the Bahá'í Faith, the learning of the original is very much praised as evident in the quotations at https://bahai9.com/wiki/Persian and https://bahai9.com/wiki/Arabic.

  • Our software tool is not confined to displaying translations multilinearly. For example, the version of the Qur'án herein included also provide notes which can be viewed interlinearly (from translators whose works were, at least for the time when translations into English were not as abundant, recommended for use or study by Bahá'ís), and study of such notes was even recommended by Shoghi Effendi. More such non-translation fields, including automated ones, are planned. And the tool can even be used for viewing merely the paragraph number and a single language of text. (While the notes of Rodwell were not recommended, and are indeed often antagonistic or skeptical of His Holiness Muhammad, they are provided largely for the sake of Biblical cross-references, and can be selectively omitted from view.)