1. remark-lint-table-cell-padding
remark-lint rule to warn when table cells are incorrectly padded
remark-lint-table-cell-padding
Package: remark-lint-table-cell-padding
Created by: remarkjs
Last modified: Tue, 09 Apr 2024 16:59:48 GMT
Version: 5.0.0
License: MIT
Downloads: 335,143
Repository: https://github.com/remarkjs/remark-lint

Install

npm install remark-lint-table-cell-padding
yarn add remark-lint-table-cell-padding

remark-lint-table-cell-padding

Build
Coverage
Downloads
Size
Sponsors
Backers
Chat

remark-lint rule to warn when GFM table cells are padded inconsistently.

Contents

What is this?

This package checks table cell padding.
Tables are a GFM feature enabled with 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 only.
In Node.js (version 16+),
install with npm:

 npm install remark-lint-table-cell-padding

In Deno with esm.sh:

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

In browsers with esm.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 TypeScript types
Options and
Style.
The default export is
remarkLintTableCellPadding.

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

Warn when GFM table cells are padded inconsistently.

Parameters
  • options (Options, optional)
    — preferred style or whether to detect the first style and warn for
    further differences
Returns

Transform (Transformer from unified).

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-stringify with
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-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-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-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-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-gfm).

 | Planet |
| - |
Out

No messages.

consistent-padded-nok.md
In

👉 Note: this example uses
GFM (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-gfm).

 |Planet|
|-|
Out

No messages.

consistent-compact-nok.md
In

👉 Note: this example uses
GFM (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-gfm).

 | | Satellites |
| - | - |
| Mercury | |
Out

No messages.

missing-cells.md
In

👉 Note: this example uses
GFM (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-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-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-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-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-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-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-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-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.md in remarkjs/.github for ways
to get started.
See support.md for ways to get help.

This project has a code of conduct.
By interacting with this repository, organization, or community you agree to
abide by its terms.

License

MIT © Titus Wormer

RELATED POST

10 Must-Know Windows Shortcuts That Will Save You Time

10 Must-Know Windows Shortcuts That Will Save You Time

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Navigating AWS Networking: Essential Hacks for Smooth Operation

Navigating AWS Networking: Essential Hacks for Smooth Operation

Achieving Stunning Visuals with Unity's Global Illumination

Achieving Stunning Visuals with Unity's Global Illumination

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code