/sabbath-school-lessons

๐Ÿ“– The Lessons for every language

Primary LanguageJavaScriptMIT LicenseMIT

Build Status

Your support is important for us

100% of all contributions and donations will be used for covering existing server costs and supporting new and exciting projects!

Buy Me A Coffee

Sabbath School Lessons

This repository contains all lessons for the Sabbath School app (for all platforms).

Copyright

Content ยฉ 2023 General Conference of Seventh-day Adventistsยฎ. All rights reserved. No part of the Adult Sabbath School Bible Study Guide may be edited, altered, modified, adapted, translated, re-produced, or published by any person or entity without prior written authorization from the General Conference of Seventh-day Adventistsยฎ. The division offices of the General Conference of Seventh-day Adventistsยฎ are authorized to arrange for translation of the Adult Sabbath School Bible Study Guide, under specific guidelines. Copyright of such translations and their publication shall remain with the General Conference.

Contribution

  • Click here to read the lesson contribution guide.
  • Click here to read the lesson contribution guide in Bahasa Indonesia.

Acknowledgments

Thank you for supporting Open Source with your service:

API

Yes, it exists. Click here to check it out.

Languages matrix

Below is current list of languages available in the app

  • ๐Ÿ‡ฟ๐Ÿ‡ฆ Afrikaans
  • ๐Ÿ‡ฆ๐Ÿ‡ฑ Albanian
  • ๐Ÿ‡ช๐Ÿ‡น Amharic
  • ๐Ÿ‡ธ๐Ÿ‡ฆ Arabic
  • ๐Ÿ‡ฆ๐Ÿ‡ฒ Armenian
  • ๐Ÿ‡ฎ๐Ÿ‡ฉ Batak Toba
  • ๐Ÿ‡ง๐Ÿ‡ฌ Bulgarian
  • ๐Ÿ‡ฆ๐Ÿ‡ฉ Catalan
  • ๐Ÿ‡ต๐Ÿ‡ญ Cebuano
  • ๐Ÿ‡จ๐Ÿ‡ณ Chinese
  • ๐Ÿ‡ญ๐Ÿ‡ท Croatian
  • ๐Ÿ‡จ๐Ÿ‡ฟ Czech
  • ๐Ÿ‡ฉ๐Ÿ‡ฐ Danish
  • ๐Ÿ‡ณ๐Ÿ‡ฑ Dutch
  • ๐Ÿ‡บ๐Ÿ‡ธ English
  • ๐Ÿ‡ช๐Ÿ‡ช Estonian
  • ๐Ÿ‡ฒ๐Ÿ‡ฒ ๐Ÿ‡ฎ๐Ÿ‡ณ Falam Chin
  • ๐Ÿ‡ซ๐Ÿ‡ฏ Fijian
  • ๐Ÿ‡ซ๐Ÿ‡ฎ Finnish
  • ๐Ÿ‡ซ๐Ÿ‡ท French
  • ๐Ÿ‡ฎ๐Ÿ‡ณ Garo
  • ๐Ÿ‡ฉ๐Ÿ‡ช German
  • ๐Ÿ‡ฌ๐Ÿ‡ช Georgian
  • ๐Ÿ‡ฌ๐Ÿ‡ท Greek
  • ๐Ÿ‡ฎ๐Ÿ‡ณ Gujarati
  • ๐Ÿ‡ญ๐Ÿ‡น Haitian Creole
  • ๐Ÿ‡ฎ๐Ÿ‡ฑ Hebrew
  • ๐Ÿ‡ฎ๐Ÿ‡ณ Hindi
  • ๐Ÿ‡ต๐Ÿ‡ญ Hiligaynon
  • ๐Ÿ‡ญ๐Ÿ‡บ Hungarian
  • ๐Ÿ‡ฏ๐Ÿ‡ต Japanese
  • ๐Ÿ‡ง๐Ÿ‡ณ Iban
  • ๐Ÿ‡ฎ๐Ÿ‡ธ Icelandic
  • ๐Ÿ‡ต๐Ÿ‡ญ Ilocano
  • ๐Ÿ‡ฎ๐Ÿ‡ฉ Indonesian
  • ๐Ÿ‡ฎ๐Ÿ‡น Italian
  • ๐Ÿ‡ฎ๐Ÿ‡ณ Kannada
  • ๐Ÿ‡ฎ๐Ÿ‡ณ Khasi
  • ๐Ÿ‡ฐ๐Ÿ‡ญ Khmer
  • ๐Ÿ‡ท๐Ÿ‡ผ Kinyarwanda
  • ๐Ÿ‡ฐ๐Ÿ‡ท Korean
  • ๐Ÿ‡ฑ๐Ÿ‡ฆ Lao
  • ๐Ÿ‡ฑ๐Ÿ‡ป Latvian
  • ๐Ÿ‡ฑ๐Ÿ‡น Lithuanian
  • ๐Ÿ‡ฒ๐Ÿ‡ฐ Macedonian
  • ๐Ÿ‡ฒ๐Ÿ‡ฌ Malagasy
  • ๐Ÿ‡ฒ๐Ÿ‡พ Malay
  • ๐Ÿ‡ฎ๐Ÿ‡ณ Malayalam
  • ๐Ÿ‡ฎ๐Ÿ‡ณ Marathi
  • ๐Ÿ‡ฎ๐Ÿ‡ณ Mizo
  • ๐Ÿ‡ฒ๐Ÿ‡ณ Mongolian
  • ๐Ÿ‡ฒ๐Ÿ‡ฒ Burmese
  • ๐Ÿ‡ณ๐Ÿ‡ต Nepali
  • ๐Ÿ‡ณ๐Ÿ‡ด Norwegian
  • ๐Ÿ‡ฎ๐Ÿ‡ณ Odia
  • ๐Ÿ‡ฎ๐Ÿ‡ท Persian
  • ๐Ÿ‡ต๐Ÿ‡ฑ Polish
  • ๐Ÿ‡ฒ๐Ÿ‡ฒ Pwo Karen
  • ๐Ÿ‡ท๐Ÿ‡ด Romanian
  • ๐Ÿ‡ท๐Ÿ‡บ Russian
  • ๐Ÿ‡ง๐Ÿ‡ฎ Ikirundi
  • ๐Ÿ‡ท๐Ÿ‡ธ Serbian
  • ๐Ÿ‡ฑ๐Ÿ‡ธ Sesotho
  • ๐Ÿ‡ฒ๐Ÿ‡ฒ S'gaw Karen
  • ๐Ÿ‡ฟ๐Ÿ‡ผ Shona
  • ๐Ÿ‡ฑ๐Ÿ‡ฐ Sinhala
  • ๐Ÿ‡ธ๐Ÿ‡ฐ Slovak
  • ๐Ÿ‡ธ๐Ÿ‡ฎ Slovenian
  • ๐Ÿ‡ช๐Ÿ‡ธ ๐Ÿ‡ฒ๐Ÿ‡ฝ Spanish
  • ๐Ÿ‡ฐ๐Ÿ‡ช Swahili
  • ๐Ÿ‡ธ๐Ÿ‡ช Swedish
  • ๐Ÿ‡ต๐Ÿ‡ญ Tagalog
  • ๐Ÿ‡ฎ๐Ÿ‡ณ Tamil
  • ๐Ÿ‡ฒ๐Ÿ‡ฒ ๐Ÿ‡ฎ๐Ÿ‡ณ Tedim Chin
  • ๐Ÿ‡ฎ๐Ÿ‡ณ Telugu
  • ๐Ÿ‡น๐Ÿ‡ญ Thai
  • ๐Ÿ‡น๐Ÿ‡ท Turkish
  • ๐Ÿ‡บ๐Ÿ‡ฆ Ukrainian
  • ๐Ÿ‡ป๐Ÿ‡ณ Vietnamese
  • ๐Ÿ‡ฟ๐Ÿ‡ฆ Xhosa
  • ๐Ÿ‡ฟ๐Ÿ‡ฆ Zulu

Language Roadmap

  • Add Arabic Language ๐Ÿ‡ธ๐Ÿ‡ฆ
  • Add Farsi Language ๐Ÿ‡ฎ๐Ÿ‡ท
  • Add Hebrew Language ๐Ÿ‡ฎ๐Ÿ‡ฑ
  • Add Estonian Language ๐Ÿ‡ช๐Ÿ‡ช
  • Add Italian Language ๐Ÿ‡ฎ๐Ÿ‡น
  • Add Thai Language ๐Ÿ‡น๐Ÿ‡ญ
  • Add Danish Language ๐Ÿ‡ฉ๐Ÿ‡ฐ
  • Add Norwegian Language ๐Ÿ‡ณ๐Ÿ‡ด
  • Add Korean Language ๐Ÿ‡ฐ๐Ÿ‡ท
  • Add Chinese Simplified Language ๐Ÿ‡จ๐Ÿ‡ณ
  • Add Afrikaans Language ๐Ÿ‡ฟ๐Ÿ‡ฆ
  • Add Malayalam Language ๐Ÿ‡ง๐Ÿ‡ณ ๐Ÿ‡ฒ๐Ÿ‡พ
  • Add Nepali Language ๐Ÿ‡ณ๐Ÿ‡ต
  • Add SiSwati Language ๐Ÿ‡ธ๐Ÿ‡ฟ
  • Add Sesotho Language ๐Ÿ‡ฑ๐Ÿ‡ธ
  • Add Tamil Language ๐Ÿ‡ฎ๐Ÿ‡ณ
  • Add Xhosa Language ๐Ÿ‡ฟ๐Ÿ‡ฆ
  • Add Zulu Language ๐Ÿ‡ฟ๐Ÿ‡ฆ

Contributing

There are many ways you can contribute to this project:

  • Regularly add Sabbath School lesson content
  • Provide source (PDF, HTML or any other) of the Sabbath School content
  • Create Bible verse parsers for languages that do not have
  • Find and correct mistakes in existing lessons

Folder structure and formats

Please note that best way to create folder structure is to use create.js script approach. Below is the explanation of existing folders & files.

Each quarterly has few parameters that are reflected in the way files and folders are organizes:

  • Language
  • Quarter
  • Type (Could be Adult, Easy Reading, Youth & etc)
  • Quarterly Info file
  • Quarterly cover image

Folder structure for quarterly looks like that

src/[language code in ISO 639-1]/[quarter_number] - which will point to the root folder of the quarterly

quarter_number - has following format YYYY-QQ or YYYY-QQ-TYPE, where

  • YYYY is four digit number of year
  • QQ is the numerical value of quarter must be one of [01, 02, 03, 04]
  • TYPE is the short representation of quarterly type. Omitted if adult version of the lesson

Quarterly info file must be named info.yml and placed in the root folder of the quarterly. As you may understand it is written in YAML format. See for example src/en/2016-04/info.yml for more.

Quarterly cover file must be named cover.png and placed in the root folder of the quarterly. It's a PNG image that represents the cover of the quarterly.

Quarterly content (weekly and daily lessons) have it's own specific format and structure based on the following parameters:

  • Week number
  • Day of week file
  • Type of reading
  • Week info file
  • Week cover image

So quarterly structure looks like that:

[quarterly_root_folder]/[week_number]/[read_file]

So main content of Sabbath School lesson is the read_file. This is the markdown type file with the annotation (comment) section on top. For simplicity follow the numerical approach for days of the week readings (Sun through Sat) naming according to the numerical sequential value of the day of week. Additional readings like inside stories, teacher comments & etc can be named according to the type. For example create.js will name them inside-story.md and teacher-comments.md.

Adding / Editing weekly lesson

Deployment

Adding new quarterly using create.js

This little script will help you to create structure for the quarterly. See below info for the usage

Create the file structure for a quarter in given language.
Usage: /usr/local/bin/node ./create.js -s [string] -l [string] -q [string] -c [num] -t [string] -d [string] -h [string] -u [bool] -i [bool]

Options:
  -s, --start-date        Start date in DD/MM/YYYY format. Ex: 25/01/2016                [required]
  -l, --language          Target language. For ex. 'en' or 'ru'                          [required]  [default: "en"]
  -q, --quarter           Quarter id. For example: 2016-04 or 2016-04-er (easy reading)  [required]
  -c, --count             Amount of lessons in quarter. Typically 13 but can be more     [required]  [default: 13]
  -t, --title             Title of the quarterly in target language                      [required]
  -d, --description       Description of the quarterly in target language                [required]
  -h, --human-date        Human readable date of quarterly. Ex. Fourth quarter of 2016   [required]
  -u, --teacher-comments  Include teacher comments                                       [default: false]
  -i, --inside-story      Inside story                                                   [default: true]
  -k, --lesson-cover      Create lesson cover placeholder images                         [default: false]

Missing required arguments: s, q, t, d, h

When ran properly it will create the structure under src folder. For an example please see src folder that contains

License

This project is licensed under the MIT License - see the LICENSE.md file for details