2021-01-13 06:28:47 +01:00
|
|
|
# markdownlint-cli2-action
|
2021-01-13 07:10:33 +01:00
|
|
|
|
2023-06-11 06:02:38 +02:00
|
|
|
> A GitHub Action to run the [`markdownlint-cli2`][markdownlint-cli2] tool for
|
|
|
|
linting [Markdown][markdown]/[CommonMark][commonmark] files with
|
2021-01-14 00:30:04 +01:00
|
|
|
[`markdownlint`][markdownlint]
|
2021-01-13 07:10:33 +01:00
|
|
|
|
2023-06-11 06:02:38 +02:00
|
|
|
`markdownlint-cli2` has extensive support for configuring options and disabling
|
|
|
|
or customizing `markdownlint` rules. See the
|
2021-12-13 03:38:25 +01:00
|
|
|
[`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
|
|
|
|
|
2023-06-11 05:35:20 +02:00
|
|
|
### config (optional)
|
2022-07-22 07:24:48 +02:00
|
|
|
|
2023-06-11 05:35:20 +02:00
|
|
|
Path of a file to use for the base configuration object (defaults to none)
|
2022-07-22 07:24:48 +02:00
|
|
|
|
2023-06-11 05:35:20 +02:00
|
|
|
Equivalent to using the `--config` [command-line option][command-line] and
|
|
|
|
passing the specified configuration file.
|
2022-07-22 07:24:48 +02:00
|
|
|
|
2023-06-11 05:35:20 +02:00
|
|
|
### fix (optional)
|
|
|
|
|
|
|
|
Whether to fix supported issues automatically (any truthy value enables)
|
|
|
|
|
|
|
|
Equivalent to specifying the `--fix` [command-line option][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
|
|
|
|
2023-06-11 06:02:38 +02:00
|
|
|
The default `*.{md,markdown}` lints all Markdown files in the base directory of
|
|
|
|
a project.
|
2021-01-18 05:34:17 +01:00
|
|
|
|
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
|
2024-09-11 04:59:48 +02:00
|
|
|
- uses: DavidAnson/markdownlint-cli2-action@v17
|
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
|
2024-09-11 04:59:48 +02:00
|
|
|
- uses: DavidAnson/markdownlint-cli2-action@v17
|
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
|
2024-09-11 04:59:48 +02:00
|
|
|
- uses: DavidAnson/markdownlint-cli2-action@v17
|
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
|
2024-09-11 04:59:48 +02:00
|
|
|
- uses: DavidAnson/markdownlint-cli2-action@v17
|
2022-11-30 04:29:42 +01:00
|
|
|
with:
|
|
|
|
globs: 'README.md,CHANGELOG.md,docs/*.md'
|
|
|
|
separator: ','
|
|
|
|
```
|
|
|
|
|
2022-07-23 22:36:46 +02:00
|
|
|
To fix supported issues when linting:
|
|
|
|
|
|
|
|
```yaml
|
2024-09-11 04:59:48 +02:00
|
|
|
- uses: DavidAnson/markdownlint-cli2-action@v17
|
2022-07-23 22:36:46 +02:00
|
|
|
with:
|
2023-06-11 05:35:20 +02:00
|
|
|
fix: true
|
2022-07-23 22:36:46 +02:00
|
|
|
globs: '**/*.md'
|
|
|
|
```
|
|
|
|
|
|
|
|
To specify a custom configuration file:
|
|
|
|
|
|
|
|
```yaml
|
2024-09-11 04:59:48 +02:00
|
|
|
- uses: DavidAnson/markdownlint-cli2-action@v17
|
2022-07-23 22:36:46 +02:00
|
|
|
with:
|
2023-06-11 05:35:20 +02:00
|
|
|
config: 'config/custom.markdownlint.jsonc'
|
|
|
|
globs: '**/*.md'
|
2022-07-23 22:36:46 +02:00
|
|
|
```
|
|
|
|
|
2021-12-13 03:24:10 +01:00
|
|
|
To prevent linting issues from failing the workflow run:
|
|
|
|
|
|
|
|
```yaml
|
2024-09-11 04:59:48 +02:00
|
|
|
- uses: DavidAnson/markdownlint-cli2-action@v17
|
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
|
2023-06-11 06:02:38 +02:00
|
|
|
Markdown files that changed in the most recent commit (useful for Pull Requests
|
|
|
|
and/or gradually introducing linting rules to a new repository).
|
2022-07-31 20:28:56 +02:00
|
|
|
|
|
|
|
[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
|