Transforms markdown tables to be more readable.
npm install markdown-table-prettifycode blocks\ and ignore blocks with and .
- Support indented tables (tables with borders or tab indented).
Visual Studio Code
!feature X
The extension is available for markdown language mode. It can either prettify a selection (Format Selection) or the entire document (Format Document).
A VSCode command called Prettify markdown tables is also available to format the currently opened document.
$3
- The maximum texth length of a selection/entire document to consider for formatting. Default: 1M chars (limit does not apply from CLI or NPM).
- Additional languages to support formatting for besides markdown. See possible configurable values here. Default: [ ].
- Column padding to make the columns more spaced out from each other. Default: 0 (no extra spacing/padding).
- Keyboard shortcut to prettify the currently opened markdown document. Default: CTRL+ALT+M (CMD+ALT+M on Mac).
NPM
The core formatting logic is available as an NPM package: npm install --save markdown-table-prettify. The Typescript code is compiled down to ES5 and shipped inside the package.
It currently exposes the entry point also used by the _CLI_. It can be used from regular NodeJS or web apps:
`JS
import { CliPrettify } from 'markdown-table-prettify';
// or
const { CliPrettify } = require('markdown-table-prettify');
console.log(CliPrettify.prettify(
hello|world
));
/* Output:
hello | world
------|------
foo | bar
*/
// specifying a column padding
console.log(CliPrettify.prettify(
hello|world
, { columnPadding: 1 }));
/* Output:
hello | world
------ | ------
foo | bar
*/
`
Docker & CLI
The core formatting logic is available as a node docker image: docker pull darkriszty/prettify-md or as a stand alone CLI tool.
Formatting files or checking if they're already formatted is also possible from the command line without docker. This requires node and npm (optionally also npx).
| Feature | Docker | CLI |
|---------------------------------------|-------------------------------------------------------------------------------|----------------------------------------------------------------|
| Prettify a file | docker container run -i darkriszty/prettify-md < input.md | npm run --silent prettify-md < input.md |
| Prettify a file and save the output | docker container run -i darkriszty/prettify-md < input.md > output.md | npm run --silent prettify-md < input.md > output.md |
| Check whether a file is pretty or not | docker container run -i darkriszty/prettify-md --check < input.md | npm run --silent check-md < input.md |
| Use 1 as column padding | docker container run -i darkriszty/prettify-md --columnPadding=1 < input.md | npm run --silent prettify-md -- --columnPadding=1 < input.md |
> Notes:
> * The prettify check (--check or check-md) will fail with an exception and return code 1 if the file is not prettyfied.
> * The --silent switch sets the NPM log level to silent, which is useful to hide the executed file name and concentrate on the actual output.
> * The -- after the npm run script part is needed for npm to forward the arguments (for instance --columnPadding=1) to the actual prettyfier script.
> * Optionally, use npx to prettify files: npx markdown-table-prettify < input.md instead of npm run --silent prettify-md < input.md.
$3
To access the CLI, the extension can either be used from the Github sources, from the already installed VSCode extension or from NPM.
#### Compiling from the source code
- Clone or download the source code.
- Run npm install.
- Run npm run compile.
#### Using the already installed VSCode extension
Locate the installed extension path. The typical location of the installed extension:
- Windows: %USERPROFILE%\.vscode\extensions\darkriszty.markdown-table-prettify-{version}
- macOS: ~/.vscode/extensions/darkriszty.markdown-table-prettify-{version}
- Linux: ~/.vscode/extensions/darkriszty.markdown-table-prettify-{version}
#### Getting it from NPM
Install the NPM package npm install -g markdown-table-prettify`.