pretty-remarkable
Version:
Plugin for prettifying markdown with Remarkable using custom renderer rules.
208 lines (144 loc) • 5.69 kB
Markdown
# pretty-remarkable [](https://www.npmjs.com/package/pretty-remarkable) [](https://npmjs.org/package/pretty-remarkable) [](https://npmjs.org/package/pretty-remarkable) [](https://travis-ci.org/jonschlinkert/pretty-remarkable)
> Plugin for prettifying markdown with Remarkable using custom renderer rules.
Please consider following this project's author, [Jon Schlinkert](https://github.com/jonschlinkert), and consider starring the project to show your :heart: and support.
- [Install](#install)
- [Usage](#usage)
- [Examples](#examples)
- [Formatting](#formatting)
* [Tables](#tables)
* [Unordered lists](#unordered-lists)
* [Ordered lists](#ordered-lists)
- [About](#about)
_(TOC generated by [verb](https://github.com/verbose/verb) using [markdown-toc](https://github.com/jonschlinkert/markdown-toc))_
## Install
Install with [npm](https://www.npmjs.com/):
```sh
$ npm install --save pretty-remarkable
```
## Usage
```js
var prettify = require('pretty-remarkable');
```
## Examples
```js
var prettify = require('pretty-remarkable');
var Remarkable = require('remarkable');
var md = new Remarkable();
// register the plugin
md.use(prettify);
var result = md.render('\n\n\n# foo\n\n\nbar\n# baz');
//=> '# foo\n\nbar\n\n# baz'
```
Or create a function if you need to export it or need a more reusable format:
```js
var prettify = require('pretty-remarkable');
var Remarkable = require('remarkable');
function pretty(str, options) {
return new Remarkable()
.use(prettify)
.render(str);
}
pretty('\n\n\n# foo\n\n\nbar\n# baz');
//=> '# foo\n\nbar\n\n# baz'
```
## Formatting
In addition to the formatting mentioned in the following sections:
* does not modify `code` or gfm code blocks
* ensures that an extra newline precedes gfm code blocks, since some text editors do not display proper hightlighting otherwise
* unless `options.condense` is false, condenses 3+ newlines down to two
### Tables
Normalizes table formatting.
**Example**
```markdown
Before
**A**|**B**|**C**
|---:|:---|---|
a |b |c
x |y |z
After
```
Is normalized to:
```markdown
Before
| **A** | **B** | **C** |
| ---: | :--- | --- |
| a | b | c |
| x | y | z |
After
```
### Unordered lists
Normalizes unordered lists.
**Example**
```markdown
* a
* b
* c
* d
* e
* f
```
Is normalized to:
```markdown
* a
* b
- c
- d
+ e
+ f
```
### Ordered lists
Normalizes ordered lists.
**Example**
```markdown
1. foo
a. aaa
b. bbb
c. ccc
1. bar
1. baz
```
Is normalized to:
```markdown
1. foo
a. aaa
b. bbb
c. ccc
2. bar
3. baz
```
## About
<details>
<summary><strong>Contributing</strong></summary>
Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).
</details>
<details>
<summary><strong>Running Tests</strong></summary>
Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
```sh
$ npm install && npm test
```
</details>
<details>
<summary><strong>Building docs</strong></summary>
_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_
To generate the readme, run the following command:
```sh
$ npm install -g verbose/verb#dev verb-generate-readme && verb
```
</details>
### Related projects
You might also be interested in these projects:
* [markdown-toc](https://www.npmjs.com/package/markdown-toc): Generate a markdown TOC (table of contents) with Remarkable. | [homepage](https://github.com/jonschlinkert/markdown-toc "Generate a markdown TOC (table of contents) with Remarkable.")
* [markdown-utils](https://www.npmjs.com/package/markdown-utils): Tiny helpers for creating consistenly-formatted markdown snippets. | [homepage](https://github.com/jonschlinkert/markdown-utils "Tiny helpers for creating consistenly-formatted markdown snippets.")
* [prettify-markdown](https://www.npmjs.com/package/prettify-markdown): Prettify, format or beautify your markdown. Whatever you want to call it, this does that… [more](https://github.com/jonschlinkert/prettify-markdown) | [homepage](https://github.com/jonschlinkert/prettify-markdown "Prettify, format or beautify your markdown. Whatever you want to call it, this does that. Used on hundreds of projects by verb.")
* [remarkable](https://www.npmjs.com/package/remarkable): Markdown parser, done right. 100% Commonmark support, extensions, syntax plugins, high speed - all in… [more](https://github.com/jonschlinkert/remarkable) | [homepage](https://github.com/jonschlinkert/remarkable "Markdown parser, done right. 100% Commonmark support, extensions, syntax plugins, high speed - all in one.")
### Author
**Jon Schlinkert**
* [LinkedIn Profile](https://linkedin.com/in/jonschlinkert)
* [GitHub Profile](https://github.com/jonschlinkert)
* [Twitter Profile](https://twitter.com/jonschlinkert)
### License
Copyright © 2018, [Jon Schlinkert](https://github.com/jonschlinkert).
Released under the [MIT License](LICENSE).
***
_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.6.0, on July 05, 2018._