Skip to content

Latest commit

 

History

History
202 lines (127 loc) · 8.44 KB

CONTRIBUTING.md

File metadata and controls

202 lines (127 loc) · 8.44 KB

sid_hymnal

Please remember to go through our Code of Conduct before contributing.

Jump to Section

I. What you need to know

II. Steps to Contributing

III. Contributing Spellings and Grammar Corrections

IV. Contributing Hymn Translations

V. Contributing to the App

I. What you need to know

To contribute a translation. (You can learn as you go):

Click here for Details...
  1. Git (Minimal) Tutorial
  2. Markdown (Minimal) Tutorial
  3. JSON (Minimal) Tutorial

To contribute to the app code and/or unit tests:

Click here for Details...
  1. Git (Proficient) Tutorial
  2. Markdown (Minimal) Tutorial
  3. JSON (Proficient) Tutorial
  4. Dart/Flutter. (Proficient or Expert) Tutorial
  5. Node.js (Proficient) Tutorial
  6. Be familiar with Android Studio
  7. Be familiar with XCode

Good to also know:

  1. Java
  2. Kotlin
  3. Objective-C
  4. Swift

To contribute to unit tests (for the repo)

Click here for Details...
  1. Git (Proficient) Tutorial
  2. Markdown (Minimal) Tutorial
  3. JSON (Proficient) Tutorial
  4. YAML (Minimal) Tutorial
  5. Node.js (Proficient) Tutorial
  6. Jasmine (Proficient) Link

II. Steps to Contributing

  1. Fork of this repo. How?

  2. Clone/download your fork to your machine. How?

  3. Download and install the following Dev Tools.

  • Git (Required)
  • Node.js (Required)
  • Flutter/Dart (You can skip this step if you are only contributing a translation)
  1. Install Dev Dependencies on your local machine by navigating to the folder where you cloned the repo, and running the following command (in Terminal/Command Prompt):
npm install
  1. Make your code edit/changes using an IDE of your choice. For Flutter/Dart, we recommend Visual Studio Code

  2. Run tests by navigating to the folder where you cloned the repo, and running the following command (in Terminal/Command Prompt):

npm test

BEFORE Creating a Pull Request, please ensure that you have run the above command to test your code/contribution first

  1. Push you changes to your fork How?

  2. Create a pull request. How?

  3. Wait for the reviewers to review your work.

III. Contributing Spellings and Grammar Corrections

There are two ways you can use to correct spellings and/or grammar in the Lyrics.

A. You can locate the hymn file and edit it right in the browser.

B. You can manually fork this repo, clone it on your local machine, locate the hymn file(s) and edit.

Hymns are located in the assets/hymns/{language} folder.

IV. Contributing Hymn Translations

  1. Hymns are located in the assets/hymns/{language} folder. The language folder name must use ISO 639-1 Format.

  2. In each languange folder, there should be a meta.json file, with the following properties

  • title

  • songs (an object with the number of hymn matched to the title)

    Example:

    {
    "title": "SID Hymnal",
    "songs": {
        "1": "Watchman Blow The Gospel Trumpet.",
        "2": "The Coming King",
        "3": "Face To Face"
        }
    }

All Hymns in the English folder must be accounted for in your translation. Do not skip hymns

  1. Hymn numbering should be ###.md format, padded by 0s as necessary. i.e. 002.md, 024.md, 121.md

  2. Format of the Hymn follows this standard:

Title

  • the First line must be a level 2 heading (starting with a "## "). Do not make the heading multiline, only the first line will be parsed as the heading
  • The First line must be followed by 2 new lines (\n\n)

Verses

  • Verses must be preceded by exactly 2 new lines (\n\n)
  • Verses must be followed by exactly 2 new lines (\n\n)

Chorus

  • Add the word "Chorus", just above the chorus.
  • The word "Chorus" must be preceded by 2 new lines (\n\n)
  • The word "Chorus" must be immediately followed by a new line (\n)
  • The last line of the Chorus must be followed by 2 new lines (\n\n)

General

  • No three or more consecutive new lines (\n\n\n)
  • Neither verses nor choruses should start with white-space or indentation

V. Contributing to the App

Joining the Beta Testers

You can join the Beta program to test the unreleased version of the app so you can test features and provide feedback.

Reporting bugs

To report a bug, Create a new Issue here.

Fixing bugs

To fix a bug in the app, follow the steps below. This will save you from fixing something that has already been fixed or is in the process of getting fixed.

  1. Visit the issues section of this repo.

  2. Check to see if the bug has already been reported. (If the bug has not been reported, Create a new issue and report the bug).

  3. Open the issue and check to see if no one has already been assigned to work on the issue (bug).

  4. If no one is assigned, use the comment section of the issue to inform the maintainers that you wish to work on the issue.

  5. Once you get the go ahead from the maintainers, follow the Steps to Contributing (right at the top of this page)

Adding features/functionality

To add a feature, follow the steps below.

  1. Visit the issues section of this repo.

  2. Locate the issue that describes the new feature you would like to implement. (If no issue about the feature exists, Create a new issue and describe the feature you would like).

  3. Open the issue and check to see if no one has already been assigned to work on the issue (new feature).

  4. If no one is assigned, use the comment section of the issue to inform the maintainers that you wish to work on the issue.

  5. Once you get the go ahead from the maintainers, follow the Steps to Contributing (right at the top of this page).