UNPKG

pretty-remarkable

Version:

Plugin for prettifying markdown with Remarkable using custom renderer rules.

208 lines (144 loc) 5.69 kB
# pretty-remarkable [![NPM version](https://img.shields.io/npm/v/pretty-remarkable.svg?style=flat)](https://www.npmjs.com/package/pretty-remarkable) [![NPM monthly downloads](https://img.shields.io/npm/dm/pretty-remarkable.svg?style=flat)](https://npmjs.org/package/pretty-remarkable) [![NPM total downloads](https://img.shields.io/npm/dt/pretty-remarkable.svg?style=flat)](https://npmjs.org/package/pretty-remarkable) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/pretty-remarkable.svg?style=flat&label=Travis)](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._