diff --git a/.gitea/workflows/markdownlint_pr.sh b/.gitea/workflows/markdownlint_pr.sh new file mode 100644 index 0000000..62a68de --- /dev/null +++ b/.gitea/workflows/markdownlint_pr.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +echo +echo "Initial commit: $1" +echo "Final commit: $2" +echo + +# recupera ogni file modificato in questa PR (tra le 2 commit) +# considera solo i file che terminano con .md +# ogni file viene controllato con markdownlint, con la config comune + +EXIT=0 + +while read -r LINE; do + echo + echo "testing file: $LINE" + markdownlint --config .markdownlint.yaml "$LINE" || EXIT=1 +done < <(git diff --name-only "$1" "$2" content/ | grep \.md$) + +exit ${EXIT} diff --git a/.gitea/workflows/unicode_check.yaml b/.gitea/workflows/unicode_check.yaml new file mode 100644 index 0000000..2c10314 --- /dev/null +++ b/.gitea/workflows/unicode_check.yaml @@ -0,0 +1,25 @@ +--- +name: Linting markdown on PR + +on: + pull_request: + +jobs: + unicode-check: + runs-on: ubuntu-latest + container: + image: catthehacker/ubuntu:act-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: run markdownlint on changed files + uses: docker://ghcr.io/igorshubovych/markdownlint-cli + with: + entrypoint: /bin/sh + args: -c 'apk -U add git bash ; bash .gitea/workflows/markdownlint_pr.sh ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }}' + + - name: check for unwanted unicode runes + run: | + bash .gitea/workflows/unwanted_unicode_pr.sh ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }} diff --git a/.gitea/workflows/unwanted_unicode_patterns.grep b/.gitea/workflows/unwanted_unicode_patterns.grep new file mode 100644 index 0000000..2447505 --- /dev/null +++ b/.gitea/workflows/unwanted_unicode_patterns.grep @@ -0,0 +1,6 @@ +— +‘ +’ +“ +” +… diff --git a/.gitea/workflows/unwanted_unicode_pr.sh b/.gitea/workflows/unwanted_unicode_pr.sh new file mode 100644 index 0000000..e00ee2e --- /dev/null +++ b/.gitea/workflows/unwanted_unicode_pr.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +echo +echo "Initial commit: $1" +echo "Final commit: $2" +echo + +# recupera ogni file modificato in questa PR (tra le 2 commit) +# considera solo i file che terminano con .md +# ogni file viene controllato con grep, con i pattern definiti +# nel file di configurazione + +EXIT=0 + +while read -r LINE; do + if [ -r "$LINE" ] ; then + echo + echo "testing file: $LINE" + grep --color -f .gitea/workflows/unwanted_unicode_patterns.grep "$LINE" && EXIT=1 + fi +done < <(git diff --name-only "$1" "$2" content/ | grep \.md$) + +exit ${EXIT} diff --git a/.markdownlint.yaml b/.markdownlint.yaml new file mode 100644 index 0000000..c0f2752 --- /dev/null +++ b/.markdownlint.yaml @@ -0,0 +1,4 @@ +# vedi: https://github.com/DavidAnson/markdownlint/blob/main/schema/.markdownlint.yaml + +default: true +MD013: false