Check the repository's Markdown files for problems:
- Use markdownlint-cli to check for common problems and formatting.
- Use markdown-link-check to check for broken links.
NOTE: This workflow is focused on linting. Formatting checks for Markdown are provided by the "Check Prettier Formatting" workflow, so both should be used.
This is the version of the workflow for projects using the Task task runner tool.
Install the check-markdown-task.yml GitHub Actions workflow to .github/workflows/
.markdown-link-check.json- markdown-link-check configuration file.- Install to: repository root
.markdownlint.yml- markdownlint configuration file.- Install to: repository root
.markdownlintignore- markdownlint configuration file.- Install to: repository root
.npmrc- npm configuration file.- Install to: repository root.
Taskfile.yml- Markdown tasks.- Install to: repository root (or merge into the existing
Taskfile.yml).
- Install to: repository root (or merge into the existing
Taskfile.yml- npm tasks.- Install to: repository root (or merge into the existing
Taskfile.yml).
- Install to: repository root (or merge into the existing
The code style defined in .markdownlint.yml is the official standardized style to be used in all Arduino tooling projects and should not be modified.
The tool dependencies of this workflow are managed by Go and npm.
If the project does not already have a go.mod file, install Go and then run the following command:
go mod init <module path>
(where <module path> is the URL of the project repository without the scheme e.g., github.com/foo/bar)
Add the tool dependencies by running the following command:
go get -tool github.com/go-task/task/v3/cmd/task@v3.44.1
Commit the resulting changes to the go.mod and go.sum files.
Add the dependencies by running this command:
npm install --save-dev markdown-link-check@^3.14.2 markdownlint-cli@^0.47.0
Commit the resulting changes to the package.json and package-lock.json files.
Configure the version of Node.js used for development of the project by running the following command from a terminal in the project repository folder:
npm pkg set engines.node=22.x
Add any documentation generation processes to the docs:generate umbrella task.
In the event the repository contains externally maintained Markdown files, markdownlint can be configured to ignore them via a .markdownlintignore file:
https://github.com/igorshubovych/markdownlint-cli#ignoring-files
Advanced configuration of markdown-link-check can be done via the .markdown-link-check.json configuration file:
https://github.com/tcort/markdown-link-check#config-file-format
Add the following to /.gitignore:
/node_modules/
Markdown badge:
[](https://github.com/TODO_REPO_OWNER/TODO_REPO_NAME/actions/workflows/check-markdown-task.yml)Replace the TODO_REPO_OWNER and TODO_REPO_NAME placeholders in the URLs with the final repository owner and name (example).
Asciidoc badge:
image:https://github.com/{repository-owner}/{repository-name}/actions/workflows/check-markdown-task.yml/badge.svg["Check Markdown status", link="https://github.com/{repository-owner}/{repository-name}/actions/workflows/check-markdown-task.yml"]Define the {repository-owner} and {repository-name} attributes and use them throughout the readme (example).
Add infrastructure to check for problems in Markdown files
Tasks are provided to check for problems in the project's Markdown files:
- Use markdownlint to check for common problems and formatting.
- Use markdown-link-check to check for broken links.
A GitHub Actions workflow is included to automatically run the tasks. The workflow is triggered on any push or pull that
changes relevant project files, in order to avoid the introduction of problems with the project filesystem. It is also
triggered periodically, in order to catch breakage caused by external changes.
Add infrastructure to check for problems in Markdown files
Tasks are provided to check for problems in the project's Markdown files:
- Use [markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli) to check for common problems and formatting.
- Use [markdown-link-check](https://github.com/tcort/markdown-link-check) to check for broken links.
A GitHub Actions workflow is included to automatically run the tasks. The workflow is triggered on any push or pull that changes relevant project files, in order to avoid the introduction of problems with the project filesystem. It is also triggered periodically, in order to catch breakage caused by external changes.