diff --git a/.github/workflows/block-forbidden-paths.yml b/.github/workflows/block-forbidden-paths.yml new file mode 100644 index 0000000..3c0fde6 --- /dev/null +++ b/.github/workflows/block-forbidden-paths.yml @@ -0,0 +1,26 @@ +name: Block suggestion folders from main + +on: + pull_request: + branches: + - main + +jobs: + check-forbidden-paths: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Prevent suggestion folders being merged into main + run: | + FORBIDDEN_PATHS=( + "splitleaf-data/texts/suggestions/" + "splitleaf-data/tunes/suggestions/" + ) + + for path in "${FORBIDDEN_PATHS[@]}"; do + if git diff --name-only origin/main...HEAD | grep "^${path}"; then + echo "❌ Files in ${path} are development-only and must not be merged into main." + exit 1 + fi + done diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 657a3dd..0886048 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -62,6 +62,22 @@ In the processing folder, files can be edited by any user. Before any file can b No submission will advance to publication without these dual approvals. +This project uses GitHub pull requests as its formal editorial +and validation mechanism. + +- Editors and validators are recorded automatically after a pull + request is merged.. + +**Anonymity** + +If you wish to be credited anonymously: +- Editors: include the word "anonymous" in the pull request description. +- Validators: include the word "anonymous" in your approval comment. + +GitHub identities are retained internally for audit purposes, but +may not appear in published files. + + *** ### 5. Review of Submitted Changes diff --git a/README.md b/README.md index 59d0ac5..44ff730 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,13 @@

Splitleaf Logo
-

Welcome to the Digital Splitleaf GitHub community!

+

Welcome to the Digital Splitleaf Data Repository!

This space supports the development, preservation, and accessibility of resources that promote **psalm singing** around the world. Whether you're here to contribute, learn, collaborate, or ask questions, we’re glad you’ve joined us. Visit the main website at **[splitleaf.org](https://splitleaf.org)** to explore our broader mission and to view editions of the data found here. --- - ## 📖 About the Digital Splitleaf Splitleaf is dedicated to: diff --git a/suggestions/readme.md b/suggestions/readme.md new file mode 100644 index 0000000..e05ab9e --- /dev/null +++ b/suggestions/readme.md @@ -0,0 +1,6 @@ +## Content Suggestions ## +We welcome your suggestions for content to be added to the Digital Splitleaf. Please note that we can only publish content in the public domain or with the permission of copyright holders. + +If you would like to contribute, ensure you are viewing the **development** branch. If you see **main** at the top left, click it and switch to **development**. + +Then, select the folder based on the type of content that you would like to add. diff --git a/suggestions/texts/readme.md b/suggestions/texts/readme.md new file mode 100644 index 0000000..b7886fb --- /dev/null +++ b/suggestions/texts/readme.md @@ -0,0 +1,23 @@ +## Suggest new text editions here +Upload your suggested texts into this folder. Be sure that you are in the 'development' brancn in the top left (you may see 'main' instead). If possible, please upload a .txt file of your Psalm(s) that employs the following format for **each** psalm. If you do not know some of this information, you can leave it blank. However, please add an empty line between the header and title (metre), and another between the title (metre) and the first stanza. Each subsequent stanza should have a blank line before it. +``` +Long Title: The Psalms of David in Metre +Short Title: Psalms in Metre +Publisher: Church of Scotland +Date: 1650 + +Psalm 21 (CM) + +1 The king in thy great strength, O Lord, +Shall very joyful be; +In thy salvation rejoice +How vehemently shall he! + +2 Thou hast bestowed upon him all +That his heart would request; +And thou from him didst not withhold +Whate'er his lips expressed. +``` +### Important notes +1. We can accept other file formats (Word, PDF, etc.). However, it may take us some time to process them. We will have to format the texts as described above. +2. We cannot publish any content without copyright permission. We may, therefore, contact you for help in getting that permission. diff --git a/suggestions/tunes/readme.md b/suggestions/tunes/readme.md new file mode 100644 index 0000000..29d4a10 --- /dev/null +++ b/suggestions/tunes/readme.md @@ -0,0 +1,11 @@ +## Suggest new tune editions here +Swith to the 'Development' branch in the top left (you may see 'main' right now). Upload your suggested tunes into this folder. We prefer the following file formats: +- musicXML (.xml OR .musicxml) +- MuseScore (.mscz) +- Music Encoding Initiative (.xml) + +Most music notation software should be able to export files to musicXML or MEI. See your software's instructions for creating these files. + +### Important notes +1. We can accept other file formats (PDF, etc.). However, it may take us some time to process them. We may have to clean-up or re-create the music files using MuseScore. +2. We cannot publish any content without copyright permission. We may, therefore, contact you for help in getting that permission. diff --git a/texts/README.md b/texts/README.md index ac9e619..0d829e5 100644 --- a/texts/README.md +++ b/texts/README.md @@ -12,17 +12,19 @@ To ensure the highest accuracy, every file must be edited or verified by **two d 1. **Switch to Development:** Click the branch selector (labeled `main`) at the top left and select **`development`**. 2. **Find your File:** Navigate to the XML file you wish to edit. 3. **Edit:** Click the **Pencil Icon**. Edit the file according to the **Community Editing Priorities** below. -4. **Add:** Add your name and initials to the header file under Validator 1. -5. **Save:** Scroll to the bottom, write a short note of your changes, and click **Commit changes**. -6. **Propose:** Click the green **"Compare & pull request"** button. Ensure the "base" is `main` and "compare" is `development`. Click **Create pull request**. +4. **Save:** Scroll to the bottom, write a short note of your changes, and click **Commit changes**. +5. **Propose:** Click the green **"Compare & pull request"** button. Ensure the "base" is `main` and "compare" is `development`. Click **Create pull request**. ### Step 2: The Peer Review (Editor 2) 1. **Review:** Open a pending Pull Request and click the **Files changed** tab. 2. **Verify:** Check the XML against the original source and the **Community Priorities** below. -3. **Add:** Add your name and initials to the header file under Validator 2. -4. **Approve:** Click **Review changes**, select **Approve**, and submit. +3. **Approve:** Click **Review changes**, select **Approve**, and submit. -### Step 3: Admin Final Approval +### Step 3: Auto Attribution +- Editors and validators will be recorded automatically after a pull request is merged (approved). +- **Anonymity**: If you wish to be credited anonymously, include the word "anonymous" in the request description or approval comment. + +### Step 4: Admin Final Approval Admins are automatically notified via `CODEOWNERS`. We perform a final technical check and **Merge** the file to `main`, which pushes it live to the website. --- diff --git a/tunes/incoming/readme.md b/tunes/incoming/readme.md deleted file mode 100644 index 3978719..0000000 --- a/tunes/incoming/readme.md +++ /dev/null @@ -1 +0,0 @@ -This is the place to uploade your music files. diff --git a/tunes/readme.md b/tunes/readme.md index c031b73..cf93857 100644 --- a/tunes/readme.md +++ b/tunes/readme.md @@ -12,17 +12,19 @@ To ensure the highest accuracy, every file must be edited or verified by **two d 1. **Switch to Development:** Click the branch selector (labeled `main`) at the top left and select **`development`**. 2. **Find your File:** Navigate to the XML file you wish to edit. 3. **Edit:** Click the **Pencil Icon** at the top right of the code pane. Edit the file according to the **Community Editing Priorities** below. -4. **Add:** Add your name and initials to the header file under Validator 1. 5. **Save:** Scroll to the bottom, write a short note of your changes, and click **Commit changes**. 6. **Propose:** Click the green **"Compare & pull request"** button. Ensure the "base" is `main` and "compare" is `development`. Click **Create pull request**. ### Step 2: The Peer Review (Editor 2) 1. **Review:** Open a pending Pull Request and click the **Files changed** tab. 2. **Verify:** Check the XML against the original source and the **Community Priorities** below. -3. **Add:** Add your name and initials to the header file under Validator 2. 4. **Approve:** Click **Review changes**, select **Approve**, and submit. -### Step 3: Admin Final Approval +### Step 3: Auto Attribution +- Editors and validators will be recorded automatically after a pull request is merged (approved). +- **Anonymity**: If you wish to be credited anonymously, include the word "anonymous" in the request description or approval comment. + +### Step 4: Admin Final Approval Admins are automatically notified via `CODEOWNERS`. We perform a final technical check and **Merge** the file to `main`, which pushes it live to the website. ---