Skip to content

Commit

Permalink
add spellcheck and link checker
Browse files Browse the repository at this point in the history
  • Loading branch information
jgadsden committed Apr 22, 2024
1 parent 14ca97e commit 05f2772
Show file tree
Hide file tree
Showing 11 changed files with 315 additions and 22 deletions.
20 changes: 20 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
**Summary** :
<!--
Provide a summary of what this pull request achieves
Please provide enough information so that others can review your pull request
-->

**Description for the changelog** :
<!--
A short (one line) summary that describes the changes in this pull request
for inclusion in the change log
-->

**Other info** :
<!--
Add here any other information that may be of help to the reviewer
If this closes an existing issue then add "closes #xxxx", where xxxx is the issue number
Thanks for submitting a pull request!
Please make sure you follow our code_of_conduct.md
-->
44 changes: 44 additions & 0 deletions .github/workflows/housekeeping.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Housekeeping
on:
# Run daily at 7:00
schedule:
- cron: '0 7 * * *'
workflow_dispatch:

# for security reasons the github actions are pinned to specific release versions
jobs:
chores:
name: Tidy workflows
runs-on: ubuntu-22.04
permissions:
actions: write

steps:
- name: Delete stale workflow runs
uses: Mattraks/[email protected]
with:
token: ${{ github.token }}
repository: ${{ github.repository }}
retain_days: 28
keep_minimum_runs: 25

- name: Delete unused workflows
uses: otto-de/[email protected]
with:
token: ${{ github.token }}

link_checker:
name: Link checker
runs-on: ubuntu-22.04

steps:
- name: Checkout markdown
uses: actions/[email protected]

- name: Link Checker
uses: lycheeverse/[email protected]
with:
args: --verbose --no-progress --max-retries 5 '**/*.md' '*.md'
fail: true
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
35 changes: 35 additions & 0 deletions .github/workflows/pull-request.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Pull request pipeline
on:
pull_request:
branches:
- main
workflow_dispatch:

# for security reasons the github actions are pinned to specific release versions
jobs:
link_checker:
name: Link checker
runs-on: ubuntu-22.04

steps:
- name: Checkout markdown
uses: actions/[email protected]

- name: Link Checker
uses: lycheeverse/[email protected]
with:
args: --verbose --no-progress --max-retries 5 '**/*.md' '*.md'
fail: true
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}

spell_checker:
name: Check spelling
runs-on: ubuntu-22.04

steps:
- name: Checkout markdown
uses: actions/[email protected]

- name: spell_checker
uses: rojopolis/[email protected]
1 change: 1 addition & 0 deletions .lycheeignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# ignore these false positives from the link checker housekeeper
17 changes: 17 additions & 0 deletions .markdownlint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
no-trailing-punctuation: false
no-inline-html: false
first-line-heading: false
link-fragments: false

# MD013 - Line length
MD013:
code_block_line_length: 120
code_blocks: true
heading_line_length: 80
headings: true
line_length: 128
stern: true
strict: false
tables: true

20 changes: 20 additions & 0 deletions .spellcheck.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
matrix:
- name: Markdown
aspell:
lang: en
dictionary:
wordlists:
- .wordlist.txt
output: wordlist.dic
encoding: utf-8
pipeline:
- pyspelling.filters.markdown:
- pyspelling.filters.html:
comments: false
ignores:
- code
- pre
sources:
- '**/*.md'
default_encoding: utf-8

17 changes: 17 additions & 0 deletions .wordlist.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
MuseScore
musescore
Github
github
repo
Blayne
Chastain
Chastain's
blaynechastain
www
Tablature
tablature
Tunings
tunings
Flageolet
Dm
QML
34 changes: 17 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,14 +47,14 @@ that you may bump into.

### Installing Font

This plugin relies on a tin whistle tablature font being installed from
This plugin relies on a tin whistle tablature font being installed from
[Blayne Chastain's site](https://www.blaynechastain.com/wp-content/uploads/TinWhistleTab.zip).
You can also download it from our [release area][font].

If the font isn't installed you will be presented with a message box telling you
how to obtain the font. To install the font, it is usually just a case of double-clicking
the downloaded `.ttf` file and agreeing to the install process. If that does not work then
on linux systems try copying the TinWhistleTab.ttf font file to the `/usr/share/fonts/truetype/` directory.
how to obtain the font. To install the font, it is usually just a case of double-clicking
the downloaded `.ttf` file and agreeing to the install process. If that does not work then
on Linux systems try copying the `TinWhistleTab.ttf` font file to the `/usr/share/fonts/truetype/` directory.
However, if you are installing the font on a Windows 10 system you will need to ensure you install the font
for "all users". You can do this by right clicking on the file and selecting "Install for all users"
as illustrated here:
Expand All @@ -78,15 +78,15 @@ When you wish to apply the tabs then navigate to 'Plugins' -> 'Tin Whistle' ->

![Diagram of tin whistle tabs applied to the score version 3](images/whistle-tabs-after-v3.png "Tin Whistle tabs applied version 3")

and the equivelent if using MuseScore 2 :
and the equivalent if using MuseScore 2 :

![Diagram of tin whistle tabs applied to the score version 2](images/whistle-tabs-after.png "Tin Whistle tabs applied version 2")

You can back out by navigating to 'Edit' -> 'Undo'.

### Having problems?

Note that this plugin relies on a font being installed, see the 'Installating font' instructions.
Note that this plugin relies on a font being installed, see the 'Installing font' instructions.

The plugin will skip any staffs that are not for a Tin Whistle, so for example
if the staff is for the Irish Flute then it will not apply the tabs.
Expand All @@ -95,7 +95,7 @@ This makes sense as other instrument's fingering will be different.
## Extra Tin Whistle and Low Whistle Tunings

The files `all-whistles.xml` and `all-whistles-v4.xml` are extra instrument files
for adding both High Tin Whistle types and Low Whistle types to MuseScore.
for adding both High Tin Whistle types and Low Whistle types to MuseScore.
MuseScore comes with whistles D, C and B♭ by default but you may want to use other tunings.

The High Tin Whistle, which is a metal 6 hole Flageolet, comes in various tunings.
Expand Down Expand Up @@ -125,7 +125,7 @@ The file `all-whistles.xml` or `all-whistles-v4.xml` needs to be installed using

Download the `all-whistles-v4.xml` [instrument extension file][whistles-v4] to your operating system.

1. Start Version 4.x Musescore
1. Start Version 4.x MuseScore
2. use the drop down menus to navigate 'MuseScore' then 'Preferences...' then 'Score' panel
3. Use the file icon beside 'Score Order List 2:' to select the downloaded `all-whistles.xml` file
4. Accept the changes using the OK button
Expand All @@ -140,7 +140,7 @@ Use the same file for both MuseScore version 2.x and version 3.x :

1. For MuseScore 2.x: copy file `all-whistles.xml` to `Documents/MuseScore2/Extensions/all-whistles.xml`
2. Or for MuseScore 3.x: copy file `all-whistles.xml` to `Documents/MuseScore3/Extensions/all-whistles.xml`
3. within Musescore menu, navigate to 'MuseScore' then 'Preferences...' then 'Score' tab
3. within MuseScore menu, navigate to 'MuseScore' then 'Preferences...' then 'Score' tab
4. in the Default Files panel, add the file to 'Instrument List 2' extension by:
5. browsing to `Documents/MuseScore3/Extensions/all-whistles.xml` and add to 'Instrument List 2'
6. Accept the changes with the OK button
Expand All @@ -164,18 +164,18 @@ adjust the tab diagram position for the lowest note possible.

Prior to MuseScore 3.2:

* The instrument type used on a staff can NOT be detected. In this case the plugin will
assume that a whistle tuned to D is used - this being the most common whistle.
* The instrument type used on a staff can NOT be detected. In this case the plugin will
assume that a whistle tuned to D is used - this being the most common whistle.

* This plugin only supports grace notes that lead the main note. Tabs for trailing grace
notes will be rendered as leading notes which is not what you want. In fact the trailing
notes will be out of order.
* This plugin only supports grace notes that lead the main note. Tabs for trailing grace
notes will be rendered as leading notes which is not what you want. In fact the trailing
notes will be out of order.

Prior to MuseScore 3.3:

* You may see some minor issues with grace note tab positioning. The actual physical
position of the grace notes was not available before v3.3 so a heuristic approach
(aka good 'ole human observation) is used to get a decent overall result even though
* You may see some minor issues with grace note tab positioning. The actual physical
position of the grace notes was not available before v3.3 so a heuristic approach
(aka good 'ole human observation) is used to get a decent overall result even though
it's not perfect.

Here is an example of how the fingering tab images are accurately positioned in MuseScore 3.3+:
Expand Down
131 changes: 131 additions & 0 deletions code_of_conduct.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
# Contributor Covenant Code of Conduct

<img src="assets/images/dg_logo_di.png" alt="DevGuide logo" height="220px"/>

## Our Pledge

We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, caste, color, religion, or sexual identity
and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.

## Our Standards

Examples of behavior that contributes to a positive environment for our
community include:

* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
overall community

Examples of unacceptable behavior include:

* The use of sexualized language or imagery, and sexual attention or
advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting

## Enforcement Responsibilities

Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.

Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.

## Scope

This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement by
emailing [the project team](mailto:[email protected]) at the OWASP foundation.
All complaints will be reviewed and investigated promptly and fairly.

All community leaders are obligated to respect the privacy and security of the
reporter of any incident.

## Enforcement Guidelines

Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:

### 1. Correction

**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.

**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.

### 2. Warning

**Community Impact**: A violation through a single incident or series
of actions.

**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or
permanent ban.

### 3. Temporary Ban

**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.

**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.

### 4. Permanent Ban

**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.

**Consequence**: A permanent ban from any sort of public interaction within
the community.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available from the [contributor covenant][cofc] site.

Community Impact Guidelines were inspired by [Mozilla's code of conduct enforcement ladder][diversity].

See the [FAQ][faq] for answers to common questions about this code of conduct,
and translations are available of this [contributor covenant][translate].

[cofc]: https://www.contributor-covenant.org/version/2/0/code_of_conduct.html
[diversity]: https://github.com/mozilla/diversity
[faq]: https://www.contributor-covenant.org/faq
[homepage]: https://www.contributor-covenant.org
[translate]: https://www.contributor-covenant.org/translations
Loading

0 comments on commit 05f2772

Please sign in to comment.