@installdoc/ansible-gas-station
Version:
An Ansible playbook that provisions your network with software from GitHub Awesome lists, developed with disaster recovery in mind ⛽🔥🤤
58 lines (50 loc) • 2.25 kB
YAML
version: '3'
tasks:
prose:
deps:
- :install:pipx:proselint
desc: Lint text/markdown for English prose with `proselint`
summary: |
# Lint for English Prose
This task uses `proselint` to analyze markdown files for prose. It will generate recommendations
based on typography, grammar, and wording.
**Example scanning all markdown files:**
`task lint:prose`
**Example scanning specific file (markdown or not):**
`task lint:prose -- myfile.js`
For more information, see [Proselint's GitHub page](https://github.com/amperser/proselint).
log:
error: Error encountered while validating {{if .CLI_ARGS}}`{{.CLI_ARGS}}`{{else}}the project{{end}} with Proselint
start: Linting {{if .CLI_ARGS}}`{{.CLI_ARGS}}`{{else}}the project{{end}} prose with Proselint
success: Successfully validated {{if .CLI_ARGS}}`{{.CLI_ARGS}}`{{else}}the project{{end}} with Proselint
cmds:
- task: prose:config
- |
{{if .CLI_ARGS}}
{{.PYTHON_HANDLE}}proselint {{.CLI_ARGS}}
{{else}}
find . -type d \( {{.IGNORE_FOLDERS}} \) -prune -o -type f \( -name '*.md' \) -print0 | xargs -0 -r -n1 {{.PYTHON_HANDLE}}proselint
{{end}}
- task: prose:config:restore
prose:config:
log:
error: Error encountered while ensuring Proselint configuration is in proper location
start: Moving Proselint configuration to proper location
success: Ensured Proselint configuration is in proper location
cmds:
- |
if [ -f ~/.config/proselint/config.json ]; then
.config/log info 'Backing up `proselint` from `~/.config/proselint/config.json` to `~/.config/proselint/config.json.backup`'
mv ~/.config/proselint/config.json ~/.config/proselint/config.json.backup
fi
- mkdir -p ~/.config/proselint
- cp .config/proselint.json ~/.config/proselint/config.json
prose:config:restore:
log:
error: Error restoring original Proselint configuration
start: Restoring original Proselint configuration
cmds:
- mv ~/.config/proselint/config.json.backup ~/.config/proselint/config
status:
- '[ ! -f ~/.config/proselint/config.json.backup ]'