Skip to content

Add pre-commit linking using markdownlint-cli2 #194

Closed
@ns-rse

Description

@ns-rse

Further to #191 it might be useful to implement a pre-commit hook for markdownlint-cli2 and combine it with a pre-commit.ci.

This would...

  1. Lint markdown before commits are made.
  2. Automatically fix issues in markdown before commits/pull requests are made.
  3. Check Pull Requests to documentation files (*.md and doc/**/*.md) are correctly linted if contributors haven't used pre-commit hooks locally.

.pre-commit-config.yaml...

repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.6.0
    hooks:
    -   id: trailing-whitespace
    -   id: end-of-file-fixer
    -   id: check-yaml
    -   id: check-added-large-files

 - repo: https://github.com/DavidAnson/markdownlint-cli2
   rev: v0.13.0
   hooks:
     - id: markdownlint-cli2
       args: []

ci:
 autofix_prs: true
 autofix_commit_msg: '[pre-commit.ci] Fixing issues with pre-commit'
 autoupdate_schedule: weekly
 autoupdate_commit_msg: '[pre-commit.ci] pre-commit-autoupdate'
 skip: [] # Optionally list ids of hooks to skip on CI

.markdownlint-cli2.yaml

A basic configuration file is below, a full list of customisable linting rules can be found here

config:

# MD013 - line-length
  line_length:
    line_length: 80
    code_blocks: false
    tables: false
  html:
    allowed_elements:
      - div

globs:

- "docs/**/*.md"
- "*.md"

fix: true

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions