2021-01-13 06:28:47 +01:00
|
|
|
# markdownlint-cli2-action
|
2021-01-13 07:10:33 +01:00
|
|
|
|
2021-12-13 03:38:25 +01:00
|
|
|
> A GitHub Action to run the [`markdownlint-cli2`][markdownlint-cli2] tool
|
2021-01-14 00:30:04 +01:00
|
|
|
for linting [Markdown][markdown]/[CommonMark][commonmark] files with
|
|
|
|
[`markdownlint`][markdownlint]
|
2021-01-13 07:10:33 +01:00
|
|
|
|
2021-12-13 03:38:25 +01:00
|
|
|
`markdownlint-cli2` has extensive support for configuring options and
|
|
|
|
disabling or customizing `markdownlint` rules. See the
|
|
|
|
[`markdownlint-cli2` README][markdownlint-cli2] for more information.
|
|
|
|
`markdownlint` includes a wide variety of rules for analyzing and improving
|
|
|
|
Markdown content. See the [`markdownlint` README][markdownlint] for more
|
2021-12-13 03:41:29 +01:00
|
|
|
information.
|
2021-12-13 03:38:25 +01:00
|
|
|
|
2021-01-13 07:10:33 +01:00
|
|
|
## Inputs
|
|
|
|
|
2022-07-22 07:24:48 +02:00
|
|
|
### command (optional)
|
|
|
|
|
|
|
|
Command to run (unset, `fix`, or `config`)
|
|
|
|
|
|
|
|
If unspecified or `""`, the `markdownlint-cli2` command is run.
|
|
|
|
|
|
|
|
If set to `fix`, the `markdownlint-cli2-fix` command is run and supported
|
|
|
|
issues will be fixed automatically.
|
|
|
|
|
|
|
|
If set to `config`, the `markdownlint-cli2-config` command is run and the
|
|
|
|
first element of `globs` should specify a supported configuration file.
|
|
|
|
|
2022-07-23 08:06:46 +02:00
|
|
|
For more detail: [documentation for `markdownlint-cli2`][command-line].
|
2022-07-22 07:24:48 +02:00
|
|
|
|
2021-01-13 23:50:05 +01:00
|
|
|
### globs (optional)
|
2021-01-13 07:10:33 +01:00
|
|
|
|
2022-11-30 04:29:42 +01:00
|
|
|
Glob expression(s) of files to lint (newline-delimited by default)
|
2021-01-13 07:25:46 +01:00
|
|
|
|
2021-01-13 23:50:05 +01:00
|
|
|
The default `*.{md,markdown}` lints all Markdown files in the base directory
|
2021-01-18 05:34:17 +01:00
|
|
|
of a project.
|
|
|
|
|
2022-07-22 07:24:48 +02:00
|
|
|
For more detail: [glob syntax in `markdownlint-cli2`][glob-syntax].
|
2021-01-13 07:25:46 +01:00
|
|
|
|
2022-11-30 04:29:42 +01:00
|
|
|
### separator (optional)
|
|
|
|
|
|
|
|
String to use as a separator for the `globs` input (defaults to newline)
|
|
|
|
|
|
|
|
Allows the `globs` input to use something other than `\n` to separate glob
|
|
|
|
expressions.
|
|
|
|
|
2021-01-13 07:25:46 +01:00
|
|
|
## Outputs
|
|
|
|
|
|
|
|
[None]
|
2021-01-13 07:10:33 +01:00
|
|
|
|
2021-01-14 00:30:04 +01:00
|
|
|
## Examples
|
2021-01-13 07:10:33 +01:00
|
|
|
|
2021-01-16 05:25:42 +01:00
|
|
|
To lint Markdown files in the base directory of a project:
|
|
|
|
|
|
|
|
```yaml
|
2022-08-14 02:32:14 +02:00
|
|
|
- uses: DavidAnson/markdownlint-cli2-action@v7
|
2021-01-16 05:25:42 +01:00
|
|
|
```
|
|
|
|
|
2021-01-14 00:30:04 +01:00
|
|
|
To lint all Markdown files in a project:
|
|
|
|
|
|
|
|
```yaml
|
2022-08-14 02:32:14 +02:00
|
|
|
- uses: DavidAnson/markdownlint-cli2-action@v7
|
2021-01-14 00:30:04 +01:00
|
|
|
with:
|
2022-07-23 22:28:59 +02:00
|
|
|
globs: '**/*.md'
|
2021-01-14 00:30:04 +01:00
|
|
|
```
|
|
|
|
|
|
|
|
To lint specific Markdown files in a project:
|
|
|
|
|
|
|
|
```yaml
|
2022-08-14 02:32:14 +02:00
|
|
|
- uses: DavidAnson/markdownlint-cli2-action@v7
|
2021-01-14 00:30:04 +01:00
|
|
|
with:
|
|
|
|
globs: |
|
|
|
|
README.md
|
|
|
|
CHANGELOG.md
|
|
|
|
docs/*.md
|
|
|
|
```
|
|
|
|
|
2022-11-30 04:29:42 +01:00
|
|
|
To use a custom separator:
|
|
|
|
|
|
|
|
```yaml
|
|
|
|
- uses: DavidAnson/markdownlint-cli2-action@v7
|
|
|
|
with:
|
|
|
|
globs: 'README.md,CHANGELOG.md,docs/*.md'
|
|
|
|
separator: ','
|
|
|
|
```
|
|
|
|
|
2022-07-23 22:36:46 +02:00
|
|
|
To fix supported issues when linting:
|
|
|
|
|
|
|
|
```yaml
|
2022-08-14 02:32:14 +02:00
|
|
|
- uses: DavidAnson/markdownlint-cli2-action@v7
|
2022-07-23 22:36:46 +02:00
|
|
|
with:
|
|
|
|
command: fix
|
|
|
|
globs: '**/*.md'
|
|
|
|
```
|
|
|
|
|
|
|
|
To specify a custom configuration file:
|
|
|
|
|
|
|
|
```yaml
|
2022-08-14 02:32:14 +02:00
|
|
|
- uses: DavidAnson/markdownlint-cli2-action@v7
|
2022-07-23 22:36:46 +02:00
|
|
|
with:
|
|
|
|
command: config
|
|
|
|
globs: |
|
|
|
|
config/custom.markdownlint.jsonc
|
|
|
|
**/*.md
|
|
|
|
```
|
|
|
|
|
2021-12-13 03:24:10 +01:00
|
|
|
To prevent linting issues from failing the workflow run:
|
|
|
|
|
|
|
|
```yaml
|
2022-08-14 02:32:14 +02:00
|
|
|
- uses: DavidAnson/markdownlint-cli2-action@v7
|
2021-12-13 03:24:10 +01:00
|
|
|
continue-on-error: true
|
|
|
|
```
|
|
|
|
|
2021-01-18 05:34:17 +01:00
|
|
|
See [`example.yml`][example-yml] for a simple GitHub workflow that uses
|
|
|
|
`markdownlint-cli2-action`.
|
|
|
|
|
2022-07-31 20:28:56 +02:00
|
|
|
See [`changed.yml`][changed-yml] for a GitHub workflow that lints only the
|
|
|
|
Markdown files that changed in the most recent commit (useful for Pull
|
|
|
|
Requests and/or gradually introducing linting rules to a new repository).
|
|
|
|
|
|
|
|
[changed-yml]: .github/workflows/changed.yml
|
2022-07-22 07:24:48 +02:00
|
|
|
[command-line]: https://github.com/DavidAnson/markdownlint-cli2#command-line
|
2021-01-14 00:30:04 +01:00
|
|
|
[commonmark]: https://commonmark.org/
|
2021-01-18 05:34:17 +01:00
|
|
|
[example-yml]: .github/workflows/example.yml
|
|
|
|
[glob-syntax]: https://github.com/DavidAnson/markdownlint-cli2#use
|
2021-01-14 00:30:04 +01:00
|
|
|
[markdown]: https://wikipedia.org/wiki/Markdown
|
|
|
|
[markdownlint]: https://github.com/DavidAnson/markdownlint
|
|
|
|
[markdownlint-cli2]: https://github.com/DavidAnson/markdownlint-cli2
|