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
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 npm.
Add the dependencies by running this command:
npm install --save-dev markdown-link-check@^3.13.7 markdownlint-cli@^0.37.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 in the env.NODE_VERSION
field of check-markdown-task.yml
.
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 CI workflow to check Markdown files for problems
On every push and pull request that affects relevant files, and periodically, check the repository's Markdown files for
problems:
- Use markdownlint to check for common problems and formatting.
- Use markdown-link-check to check for broken links.
The Arduino tooling Markdown style is defined by the `.markdownlint.yml` file.
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
markdown-link-check is configured via the `.markdown-link-check.json` file:
https://github.com/tcort/markdown-link-check#config-file-format
On every push and pull request that affects relevant files, and periodically, check the repository's Markdown files for
problems:
- 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.
The Arduino tooling Markdown style is defined by the `.markdownlint.yml` file.
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
markdown-link-check is configured via the `.markdown-link-check.json` file:
https://github.com/tcort/markdown-link-check#config-file-format