3.0.0 • Published 1 year ago

@davidenke/marked-text-renderer v3.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

marked-text-renderer

Github | NPM

Forked from https://github.com/edazpotato/marked-render-to-text

A custom renderer for Marked that renders markdown to plain text. Can be useful for when you want to show a preview snippet of an article (or anything written in markdown) without any rich formatting.

Installation

npm i -s @davidenke/marked-text-renderer

Usage

Global usage

By replacing the renderer entirely.

import { marked } from 'marked';
import { TextRenderer } from '@davidenke/marked-text-renderer';

const testText = `# Title\n**bold text**\n- A\n- List\n- *of*\n- ~~things~~`;
const renderer = new TextRenderer();

marked.use({ renderer });
console.log(marked(testText)); // Note that it preseves newlines - you need to remove those yourself
/*
Title
bold text
A
List
of
things

*/

One-time usage

By providing the renderer as an option to the marked function.

import { marked } from 'marked';
import { TextRenderer } from '@davidenke/marked-text-renderer';

const testText = `# Title\n**bold text**\n- A\n- List\n- *of*\n- ~~things~~`;
const renderer = new TextRenderer();
console.log(marked(testText, { renderer }));

Options

You can enable fancy mode by passing true as the first argument when initialising the class.

import { marked } from 'marked';
import { TextRenderer } from '@davidenke/marked-text-renderer';

const testText = `# Title\n**bold text**\n- A\n- List\n- *of*\n- ~~things~~`;
const renderer = new TextRenderer(true);

const testText = `# Title\n**bold text**\n- A\n- List\n- *of*\n- ~~things~~`;
marked.use({ renderer });
console.log(marked(testText));
/*

Title

BOLD TEXT
- A
- List
- *of*
- ~things~

*/

You can pass any normal marked renderer options as the second paramater (if you don't want to enable fancy mode, you should pass false as the first parameter when doing this).

3.0.0

1 year ago