Prettier now includes support for prettifying Markdown (including code blocks!), so as such, I'd recommend using the official Prettier instead. See the release notes for more information
A simple utility and CLI to run prettier on code blocks within Markdown, leaving any non-code blocks untouched.
Currently works on the following languages (basically everything prettier supports!):
- JavaScript
- TypeScript
- JSON
- CSS
- SASS
- LESS
- GraphQL
yarn global add @dschau/prettier-markdown
Command line usage is simple. All options (besides --dry
, which will not write files to disk) are passed directly through to prettier.
prettier-markdown src/**/*.md README.md --single-quote --trailing-comma es5
Usage is fairly simple. An array of markdown files are passed, as well as any prettier options, and prettier is run on the specified files.
const path = require('path');
const { prettierMarkdown } = require('@dschau/prettier-markdown');
prettierMarkdown(
['README.md', 'blog/posts/2017-01-01-hello-world/index.md'].map(file =>
path.join(process.cwd(), file)
)
).then(files => {
// array of files that were written
});
Note that line highlights (e.g. like the below) are kept intact and the block is still prettified!
```javascript {1-2}
const a = 'b';
const b = 'c';
alert('hello world');
```
Frontmatter, i.e. in a Gastby blog post, is preserved as authored.
---
title: Hello World
tags:
- Some Tag
- Another Tag
---
```javascript
// this will be prettified
var a = 'a';
```