From 0fb20fd5920fb9268328afe47c142504de3b58bd Mon Sep 17 00:00:00 2001 From: lijunlong Date: Sat, 29 Jan 2022 08:40:27 +0800 Subject: [PATCH] added spelling check. --- .github/actions/spelling/README.md | 15 +++++++++++++ .github/actions/spelling/advice.md | 27 +++++++++++++++++++++++ .github/actions/spelling/allow.txt | 0 .github/actions/spelling/excludes.txt | 23 ++++++++++++++++++++ .github/actions/spelling/expect.txt | 0 .github/actions/spelling/only.txt | 2 ++ .github/actions/spelling/patterns.txt | 4 ++++ .github/actions/spelling/reject.txt | 0 .github/workflows/markdownlint.yml | 18 ++++++++++++++++ .github/workflows/spelling.yml | 31 +++++++++++++++++++++++++++ 10 files changed, 120 insertions(+) create mode 100644 .github/actions/spelling/README.md create mode 100644 .github/actions/spelling/advice.md create mode 100644 .github/actions/spelling/allow.txt create mode 100644 .github/actions/spelling/excludes.txt create mode 100644 .github/actions/spelling/expect.txt create mode 100644 .github/actions/spelling/only.txt create mode 100644 .github/actions/spelling/patterns.txt create mode 100644 .github/actions/spelling/reject.txt create mode 100644 .github/workflows/markdownlint.yml create mode 100644 .github/workflows/spelling.yml diff --git a/.github/actions/spelling/README.md b/.github/actions/spelling/README.md new file mode 100644 index 0000000..dcd237b --- /dev/null +++ b/.github/actions/spelling/README.md @@ -0,0 +1,15 @@ +# check-spelling/check-spelling configuration + +File | Purpose | Format | Info +-|-|-|- +[dictionary.txt](dictionary.txt) | Replacement dictionary (creating this file will override the default dictionary) | one word per line | [dictionary](https://github.com/check-spelling/check-spelling/wiki/Configuration#dictionary) +[allow.txt](allow.txt) | Add words to the dictionary | one word per line (only letters and `'`s allowed) | [allow](https://github.com/check-spelling/check-spelling/wiki/Configuration#allow) +[reject.txt](reject.txt) | Remove words from the dictionary (after allow) | grep pattern matching whole dictionary words | [reject](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-reject) +[excludes.txt](excludes.txt) | Files to ignore entirely | perl regular expression | [excludes](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-excludes) +[only.txt](only.txt) | Only check matching files (applied after excludes) | perl regular expression | [only](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-only) +[patterns.txt](patterns.txt) | Patterns to ignore from checked lines | perl regular expression (order matters, first match wins) | [patterns](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-patterns) +[expect.txt](expect.txt) | Expected words that aren't in the dictionary | one word per line (sorted, alphabetically) | [expect](https://github.com/check-spelling/check-spelling/wiki/Configuration#expect) +[advice.md](advice.md) | Supplement for GitHub comment when unrecognized words are found | GitHub Markdown | [advice](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-advice) + +Note: you can replace any of these files with a directory by the same name (minus the suffix) +and then include multiple files inside that directory (with that suffix) to merge multiple files together. diff --git a/.github/actions/spelling/advice.md b/.github/actions/spelling/advice.md new file mode 100644 index 0000000..2a32b65 --- /dev/null +++ b/.github/actions/spelling/advice.md @@ -0,0 +1,27 @@ + +
If you see a bunch of garbage + +If it relates to a ... +
well-formed pattern + +See if there's a [pattern](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-patterns) that would match it. + +If not, try writing one and adding it to the `patterns.txt` file. + +Patterns are Perl 5 Regular Expressions - you can [test]( +https://www.regexplanet.com/advanced/perl/) yours before committing to verify it will match your lines. + +Note that patterns can't match multiline strings. +
+
binary-ish string + +Please add a file path to the `excludes.txt` file instead of just accepting the garbage. + +File paths are Perl 5 Regular Expressions - you can [test]( +https://www.regexplanet.com/advanced/perl/) yours before committing to verify it will match your files. + +`^` refers to the file's path from the root of the repository, so `^README\.md$` would exclude [README.md]( +../tree/HEAD/README.md) (on whichever branch you're using). +
+ +
diff --git a/.github/actions/spelling/allow.txt b/.github/actions/spelling/allow.txt new file mode 100644 index 0000000..e69de29 diff --git a/.github/actions/spelling/excludes.txt b/.github/actions/spelling/excludes.txt new file mode 100644 index 0000000..ce6125a --- /dev/null +++ b/.github/actions/spelling/excludes.txt @@ -0,0 +1,23 @@ +# See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-excludes +(?:^|/)(?i)COPYRIGHT +(?:^|/)(?i)LICEN[CS]E +(?:^|/)package(?:-lock|)\.json$ +(?:^|/)vendor/ +ignore$ +\.avi$ +\.ico$ +\.jpe?g$ +\.js$ +\.lock$ +\.map$ +\.min\. +\.mod$ +\.mp[34]$ +\.png$ +\.styl$ +\.svg$ +\.uve$ +\.wav$ +\.html$ +\.nav$ +^\.github/ diff --git a/.github/actions/spelling/expect.txt b/.github/actions/spelling/expect.txt new file mode 100644 index 0000000..e69de29 diff --git a/.github/actions/spelling/only.txt b/.github/actions/spelling/only.txt new file mode 100644 index 0000000..87e9d7a --- /dev/null +++ b/.github/actions/spelling/only.txt @@ -0,0 +1,2 @@ +# See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-excludes +\.md$ diff --git a/.github/actions/spelling/patterns.txt b/.github/actions/spelling/patterns.txt new file mode 100644 index 0000000..d39d09e --- /dev/null +++ b/.github/actions/spelling/patterns.txt @@ -0,0 +1,4 @@ +# See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-patterns + +# ignore long runs of a single character: +\b([A-Za-z])\g{-1}{3,}\b diff --git a/.github/actions/spelling/reject.txt b/.github/actions/spelling/reject.txt new file mode 100644 index 0000000..e69de29 diff --git a/.github/workflows/markdownlint.yml b/.github/workflows/markdownlint.yml new file mode 100644 index 0000000..e06050e --- /dev/null +++ b/.github/workflows/markdownlint.yml @@ -0,0 +1,18 @@ +name: Linting on markdown files +on: + pull_request_target: + push: + +jobs: + lint-content: + name: Lint content markdown files + runs-on: ubuntu-latest + steps: + - name: Check out code + uses: actions/checkout@v2 + + - name: Lint markdown files + uses: avto-dev/markdown-lint@v1 + with: + config: './.markdownlint.jsonc' + args: './content/**/*.md' diff --git a/.github/workflows/spelling.yml b/.github/workflows/spelling.yml new file mode 100644 index 0000000..06a8b74 --- /dev/null +++ b/.github/workflows/spelling.yml @@ -0,0 +1,31 @@ +name: Spell checking +on: + pull_request_target: + push: + issue_comment: + types: [created] + +jobs: + spelling: + name: Spell checking + runs-on: ubuntu-latest + steps: + - name: checkout-merge + if: "contains(github.event_name, 'pull_request')" + uses: actions/checkout@v2 + with: + ref: refs/pull/${{github.event.pull_request.number}}/merge + - name: checkout + if: ${{ github.event_name == 'push' || + ( + contains(github.event.comment.body, '@check-spelling-bot apply') + ) }} + uses: actions/checkout@v2 + - uses: check-spelling/check-spelling@main + id: spelling + if: ${{ github.event_name != 'issue_comment' || + ( + contains(github.event.comment.body, '@check-spelling-bot apply') + ) }} + with: + experimental_apply_changes_via_bot: 1