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'; ```
