remark-lint-table-cell-padding

remark-lint rule to warn when table cells are incorrectly padded

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
remark-lint-table-cell-padding
5.0.019 days ago7 years agoMinified + gzip package size for remark-lint-table-cell-padding in KB

Readme

remark-lint-table-cell-padding
!Buildbadge-build-imagebadge-build-url !Coveragebadge-coverage-imagebadge-coverage-url !Downloadsbadge-downloads-imagebadge-downloads-url !Sizebadge-size-imagebadge-size-url !Sponsorsbadge-funding-sponsors-imagebadge-funding-url !Backersbadge-funding-backers-imagebadge-funding-url !Chatbadge-chat-imagebadge-chat-url
remark-lintgithub-remark-lint rule to warn when GFM table cells are padded inconsistently.

Contents

unified().use(remarkLintTableCellPadding[, options]) Style Options

What is this?

This package checks table cell padding. Tables are a GFM feature enabled with remark-gfmgithub-remark-gfm.

When should I use this?

You can use this package to check that tables are consistent.

Presets

This plugin is included in the following presets:
| Preset | Options | | - | - | | remark-preset-lint-consistent | 'consistent' | | remark-preset-lint-markdown-style-guide | 'padded' |

Install

This package is ESM onlygithub-gist-esm. In Node.js (version 16+), install with npmnpm-install:
npm install remark-lint-table-cell-padding

In Deno with esm.shesm-sh:
import remarkLintTableCellPadding from 'https://esm.sh/remark-lint-table-cell-padding@5'

In browsers with esm.shesm-sh:
<script type="module">
  import remarkLintTableCellPadding from 'https://esm.sh/remark-lint-table-cell-padding@5?bundle'
</script>

Use

On the API:
import remarkLint from 'remark-lint'
import remarkLintTableCellPadding from 'remark-lint-table-cell-padding'
import remarkParse from 'remark-parse'
import remarkStringify from 'remark-stringify'
import {read} from 'to-vfile'
import {unified} from 'unified'
import {reporter} from 'vfile-reporter'

const file = await read('example.md')

await unified()
  .use(remarkParse)
  .use(remarkLint)
  .use(remarkLintTableCellPadding)
  .use(remarkStringify)
  .process(file)

console.error(reporter(file))

On the CLI:
remark --frail --use remark-lint --use remark-lint-table-cell-padding .

On the CLI in a config file (here a package.json):
…
"remarkConfig": {
  "plugins": [
    …
    "remark-lint",
+    "remark-lint-table-cell-padding",
    …
  ]
}
…

API

This package exports no identifiers. It exports the TypeScripttypescript types Optionsapi-options and Styleapi-style. The default export is remarkLintTableCellPaddingapi-remark-lint-table-cell-padding.

unified().use(remarkLintTableCellPadding[, options])

Warn when GFM table cells are padded inconsistently.
Parameters
— preferred style or whether to detect the first style and warn for further differences
Returns
Transform (Transformer from unifiedgithub-unified-transformer).

Style

Style (TypeScript type).
  • 'compact'
— prefer zero spaces between pipes and content
  • 'padded'
— prefer at least one space between pipes and content
Type
type Style = 'compact' | 'padded'

Options

Configuration (TypeScript type).
Type
type Options = Style | 'consistent'

Recommendation

It’s recommended to use at least one space between pipes and content for legibility of the markup ('padded').

Fix

remark-stringifygithub-remark-stringify with remark-gfmgithub-remark-gfm formats all table cells as padded by default. Pass tableCellPadding: false to use a more compact style.

Examples

ok.md
When configured with 'padded'.
In
👉 Note: this example uses GFM (remark-gfmgithub-remark-gfm).

| Planet  | Symbol | Satellites | Mean anomaly (°) |
| ------- | :----- | :--------: | ---------------: |
| Mercury | ☿      |    None    |          174 796 |

| Planet | Symbol | Satellites | Mean anomaly (°) |
| - | :- | :-: | -: |
| Venus | ♀ | None | 50 115 |
Out
No messages.
not-ok.md
When configured with 'padded'.
In
👉 Note: this example uses GFM (remark-gfmgithub-remark-gfm).

| Planet |
| -------|
| Mercury|

|Planet |
|------ |
|Venus  |

|  Planet  |
|  ------  |
|  Venus   |
Out
2:10: Unexpected `0` spaces between cell content and edge, expected `1` space, add `1` space
3:10: Unexpected `0` spaces between cell content and edge, expected `1` space, add `1` space
5:2: Unexpected `0` spaces between cell edge and content, expected `1` space, add `1` space
6:2: Unexpected `0` spaces between cell edge and content, expected `1` space, add `1` space
7:2: Unexpected `0` spaces between cell edge and content, expected `1` space, add `1` space
9:4: Unexpected `2` spaces between cell edge and content, expected `1` space, remove `1` space
9:12: Unexpected `2` spaces between cell content and edge, expected `1` space, remove `1` space
10:4: Unexpected `2` spaces between cell edge and content, expected `1` space, remove `1` space
10:12: Unexpected `2` spaces between cell content and edge, expected `1` space, remove `1` space
11:4: Unexpected `2` spaces between cell edge and content, expected `1` space, remove `1` space
11:12: Unexpected `3` spaces between cell content and edge, expected between `1` (unaligned) and `2` (aligned) spaces, remove between `1` and `2` spaces
ok.md
When configured with 'compact'.
In
👉 Note: this example uses GFM (remark-gfmgithub-remark-gfm).

|Planet |Symbol|Satellites|Mean anomaly (°)|
|-------|:-----|:--------:|---------------:|
|Mercury|☿     |   None   |         174 796|

|Planet|Symbol|Satellites|Mean anomaly (°)|
|-|:-|:-:|-:|
|Venus|♀|None|50 115|
Out
No messages.
not-ok.md
When configured with 'compact'.
In
👉 Note: this example uses GFM (remark-gfmgithub-remark-gfm).

| Planet |
| -------|
| Mercury|

|Planet |
|------ |
|Venus  |

|  Planet  |
|  ------  |
|  Venus   |
Out
1:3: Unexpected `1` space between cell edge and content, expected `0` spaces, remove `1` space
2:3: Unexpected `1` space between cell edge and content, expected `0` spaces, remove `1` space
3:3: Unexpected `1` space between cell edge and content, expected `0` spaces, remove `1` space
5:9: Unexpected `1` space between cell content and edge, expected `0` spaces, remove `1` space
6:9: Unexpected `1` space between cell content and edge, expected `0` spaces, remove `1` space
7:9: Unexpected `2` spaces between cell content and edge, expected between `0` (unaligned) and `1` (aligned) space, remove between `1` and `2` spaces
9:4: Unexpected `2` spaces between cell edge and content, expected `0` spaces, remove `2` spaces
9:12: Unexpected `2` spaces between cell content and edge, expected `0` spaces, remove `2` spaces
10:4: Unexpected `2` spaces between cell edge and content, expected `0` spaces, remove `2` spaces
10:12: Unexpected `2` spaces between cell content and edge, expected `0` spaces, remove `2` spaces
11:4: Unexpected `2` spaces between cell edge and content, expected `0` spaces, remove `2` spaces
11:12: Unexpected `3` spaces between cell content and edge, expected between `0` (unaligned) and `1` (aligned) space, remove between `2` and `3` spaces
consistent-padded-ok.md
In
👉 Note: this example uses GFM (remark-gfmgithub-remark-gfm).

| Planet |
| - |
Out
No messages.
consistent-padded-nok.md
In
👉 Note: this example uses GFM (remark-gfmgithub-remark-gfm).

| Planet|
| - |
Out
1:9: Unexpected `0` spaces between cell content and edge, expected `1` space, add `1` space
consistent-compact-ok.md
In
👉 Note: this example uses GFM (remark-gfmgithub-remark-gfm).

|Planet|
|-|
Out
No messages.
consistent-compact-nok.md
In
👉 Note: this example uses GFM (remark-gfmgithub-remark-gfm).

|Planet |
|-|
Out
1:9: Unexpected `1` space between cell content and edge, expected `0` spaces, remove `1` space
empty.md
In
👉 Note: this example uses GFM (remark-gfmgithub-remark-gfm).

| | Satellites |
| - | - |
| Mercury | |
Out
No messages.
missing-cells.md
In
👉 Note: this example uses GFM (remark-gfmgithub-remark-gfm).

| Planet | Symbol | Satellites |
| - | - | - |
| Mercury |
| Venus | ♀ |
| Earth | 🜨 and ♁ | 1 |
| Mars | ♂ | 2 | 19 412 |
Out
No messages.
missing-fences.md
When configured with 'padded'.
In
👉 Note: this example uses GFM (remark-gfmgithub-remark-gfm).

␠Planet|Symbol|Satellites
------:|:-----|----------
Mercury|☿     |0

Planet|Symbol
-----:|------
␠Venus|♀
Out
1:8: Unexpected `0` spaces between cell content and edge, expected `1` space, add `1` space
1:9: Unexpected `0` spaces between cell edge and content, expected `1` space, add `1` space
1:15: Unexpected `0` spaces between cell content and edge, expected `1` space, add `1` space
1:16: Unexpected `0` spaces between cell edge and content, expected `1` space, add `1` space
2:8: Unexpected `0` spaces between cell content and edge, expected `1` space, add `1` space
2:9: Unexpected `0` spaces between cell edge and content, expected `1` space, add `1` space
2:15: Unexpected `0` spaces between cell content and edge, expected `1` space, add `1` space
2:16: Unexpected `0` spaces between cell edge and content, expected `1` space, add `1` space
3:8: Unexpected `0` spaces between cell content and edge, expected `1` space, add `1` space
3:9: Unexpected `0` spaces between cell edge and content, expected `1` space, add `1` space
3:16: Unexpected `0` spaces between cell edge and content, expected `1` space, add `1` space
5:7: Unexpected `0` spaces between cell content and edge, expected `1` space, add `1` space
5:8: Unexpected `0` spaces between cell edge and content, expected `1` space, add `1` space
6:7: Unexpected `0` spaces between cell content and edge, expected `1` space, add `1` space
6:8: Unexpected `0` spaces between cell edge and content, expected `1` space, add `1` space
7:7: Unexpected `0` spaces between cell content and edge, expected `1` space, add `1` space
7:8: Unexpected `0` spaces between cell edge and content, expected `1` space, add `1` space
missing-fences.md
When configured with 'compact'.
In
👉 Note: this example uses GFM (remark-gfmgithub-remark-gfm).

Planet | Symbol | Satellites
-: | - | -
Mercury | ☿ | 0

Planet | Symbol
-----: | ------
␠Venus | ♀
Out
1:8: Unexpected `1` space between cell content and edge, expected `0` spaces, remove `1` space
1:10: Unexpected `1` space between cell edge and content, expected `0` spaces, remove `1` space
1:17: Unexpected `1` space between cell content and edge, expected `0` spaces, remove `1` space
1:19: Unexpected `1` space between cell edge and content, expected `0` spaces, remove `1` space
2:4: Unexpected `1` space between cell content and edge, expected `0` spaces, remove `1` space
2:6: Unexpected `1` space between cell edge and content, expected `0` spaces, remove `1` space
2:10: Unexpected `1` space between cell edge and content, expected `0` spaces, remove `1` space
3:9: Unexpected `1` space between cell content and edge, expected `0` spaces, remove `1` space
3:11: Unexpected `1` space between cell edge and content, expected `0` spaces, remove `1` space
3:15: Unexpected `1` space between cell edge and content, expected `0` spaces, remove `1` space
5:8: Unexpected `1` space between cell content and edge, expected `0` spaces, remove `1` space
5:10: Unexpected `1` space between cell edge and content, expected `0` spaces, remove `1` space
6:8: Unexpected `1` space between cell content and edge, expected `0` spaces, remove `1` space
6:10: Unexpected `1` space between cell edge and content, expected `0` spaces, remove `1` space
7:8: Unexpected `1` space between cell content and edge, expected `0` spaces, remove `1` space
7:10: Unexpected `1` space between cell edge and content, expected `0` spaces, remove `1` space
trailing-spaces.md
When configured with 'compact'.
In
👉 Note: this example uses GFM (remark-gfmgithub-remark-gfm).

Planet | Symbol␠
-: | -␠
Mercury | ☿␠␠

| Planet | Symbol |␠
| ------ | ------ |␠
| Venus  | ♀      |␠␠
Out
1:8: Unexpected `1` space between cell content and edge, expected `0` spaces, remove `1` space
1:10: Unexpected `1` space between cell edge and content, expected `0` spaces, remove `1` space
2:4: Unexpected `1` space between cell content and edge, expected `0` spaces, remove `1` space
2:6: Unexpected `1` space between cell edge and content, expected `0` spaces, remove `1` space
3:9: Unexpected `1` space between cell content and edge, expected `0` spaces, remove `1` space
3:11: Unexpected `1` space between cell edge and content, expected `0` spaces, remove `1` space
5:3: Unexpected `1` space between cell edge and content, expected `0` spaces, remove `1` space
5:10: Unexpected `1` space between cell content and edge, expected `0` spaces, remove `1` space
5:12: Unexpected `1` space between cell edge and content, expected `0` spaces, remove `1` space
5:19: Unexpected `1` space between cell content and edge, expected `0` spaces, remove `1` space
6:3: Unexpected `1` space between cell edge and content, expected `0` spaces, remove `1` space
6:10: Unexpected `1` space between cell content and edge, expected `0` spaces, remove `1` space
6:12: Unexpected `1` space between cell edge and content, expected `0` spaces, remove `1` space
6:19: Unexpected `1` space between cell content and edge, expected `0` spaces, remove `1` space
7:3: Unexpected `1` space between cell edge and content, expected `0` spaces, remove `1` space
7:10: Unexpected `2` spaces between cell content and edge, expected between `0` (unaligned) and `1` (aligned) space, remove between `1` and `2` spaces
7:12: Unexpected `1` space between cell edge and content, expected `0` spaces, remove `1` space
7:19: Unexpected `6` spaces between cell content and edge, expected between `0` (unaligned) and `5` (aligned) spaces, remove between `1` and `6` spaces
nothing.md
When configured with 'compact'.
In
👉 Note: this example uses GFM (remark-gfmgithub-remark-gfm).

|   |   |   |
| - | - | - |
|   |   |   |
Out
1:5: Unexpected `3` spaces between cell edge and content, expected between `0` (unaligned) and `1` (aligned) space, remove between `2` and `3` spaces
1:9: Unexpected `3` spaces between cell edge and content, expected between `0` (unaligned) and `1` (aligned) space, remove between `2` and `3` spaces
1:13: Unexpected `3` spaces between cell edge and content, expected between `0` (unaligned) and `1` (aligned) space, remove between `2` and `3` spaces
2:3: Unexpected `1` space between cell edge and content, expected `0` spaces, remove `1` space
2:5: Unexpected `1` space between cell content and edge, expected `0` spaces, remove `1` space
2:7: Unexpected `1` space between cell edge and content, expected `0` spaces, remove `1` space
2:9: Unexpected `1` space between cell content and edge, expected `0` spaces, remove `1` space
2:11: Unexpected `1` space between cell edge and content, expected `0` spaces, remove `1` space
2:13: Unexpected `1` space between cell content and edge, expected `0` spaces, remove `1` space
3:5: Unexpected `3` spaces between cell edge and content, expected between `0` (unaligned) and `1` (aligned) space, remove between `2` and `3` spaces
3:9: Unexpected `3` spaces between cell edge and content, expected between `0` (unaligned) and `1` (aligned) space, remove between `2` and `3` spaces
3:13: Unexpected `3` spaces between cell edge and content, expected between `0` (unaligned) and `1` (aligned) space, remove between `2` and `3` spaces
nothing.md
When configured with 'padded'.
In
👉 Note: this example uses GFM (remark-gfmgithub-remark-gfm).

||||
|-|-|-|
||||
Out
1:2: Unexpected `0` spaces between cell edge and content, expected between `1` (unaligned) and `3` (aligned) spaces, add between `3` and `1` space
1:3: Unexpected `0` spaces between cell edge and content, expected between `1` (unaligned) and `3` (aligned) spaces, add between `3` and `1` space
1:4: Unexpected `0` spaces between cell edge and content, expected between `1` (unaligned) and `3` (aligned) spaces, add between `3` and `1` space
2:2: Unexpected `0` spaces between cell edge and content, expected `1` space, add `1` space
2:3: Unexpected `0` spaces between cell content and edge, expected `1` space, add `1` space
2:4: Unexpected `0` spaces between cell edge and content, expected `1` space, add `1` space
2:5: Unexpected `0` spaces between cell content and edge, expected `1` space, add `1` space
2:6: Unexpected `0` spaces between cell edge and content, expected `1` space, add `1` space
2:7: Unexpected `0` spaces between cell content and edge, expected `1` space, add `1` space
3:2: Unexpected `0` spaces between cell edge and content, expected between `1` (unaligned) and `3` (aligned) spaces, add between `3` and `1` space
3:3: Unexpected `0` spaces between cell edge and content, expected between `1` (unaligned) and `3` (aligned) spaces, add between `3` and `1` space
3:4: Unexpected `0` spaces between cell edge and content, expected between `1` (unaligned) and `3` (aligned) spaces, add between `3` and `1` space
more-weirdness.md
When configured with 'padded'.
In
👉 Note: this example uses GFM (remark-gfmgithub-remark-gfm).

Mercury
|-

Venus
-|
Out
2:2: Unexpected `0` spaces between cell edge and content, expected `1` space, add `1` space
5:2: Unexpected `0` spaces between cell content and edge, expected between `1` (unaligned) and `5` (aligned) spaces, add between `5` and `1` space
containers.md
When configured with 'padded'.
In
👉 Note: this example uses GFM (remark-gfmgithub-remark-gfm).

> | Mercury|
> | - |

* | Venus|
  | - |

> * > | Earth|
>   > | - |
Out
1:12: Unexpected `0` spaces between cell content and edge, expected `1` space, add `1` space
4:10: Unexpected `0` spaces between cell content and edge, expected `1` space, add `1` space
7:14: Unexpected `0` spaces between cell content and edge, expected `1` space, add `1` space
windows.md
When configured with 'padded'.
In
👉 Note: this example uses GFM (remark-gfmgithub-remark-gfm).

| Mercury|␍␊| --- |␍␊| None |
Out
1:10: Unexpected `0` spaces between cell content and edge, expected `1` space, add `1` space
not-ok.md
When configured with '🌍'.
Out
1:1: Unexpected value `🌍` for `options`, expected `'compact'`, `'padded'`, or `'consistent'`

Compatibility

Projects maintained by the unified collective are compatible with maintained versions of Node.js.
When we cut a new major release, we drop support for unmaintained versions of Node. This means we try to keep the current release line, remark-lint-table-cell-padding@5, compatible with Node.js 16.

Contribute

See contributing.mdgithub-dotfiles-contributing in remarkjs/.githubgithub-dotfiles-health for ways to get started. See support.mdgithub-dotfiles-support for ways to get help.
This project has a code of conductgithub-dotfiles-coc. By interacting with this repository, organization, or community you agree to abide by its terms.

License

MITfile-license © Titus Wormerauthor