markdown-cutter

1.0.8 • Public • Published

markdown-cutter

Package Quality NPM Downloads NPM Version

Markdown text cutter, will not cut off links, pictures

Usage

Quick to use

The component provides a fast markdown summary trimming capability. Can be used directly without any configuration. By default, it will return a picture, a link, 140 words(including the link text).

const MarkdownCutter = require('markdown-cutter');
const summary = new MarkdownCutter().cut('balabala ![image](xxx) ![]([object Object]#height=18&width=18) balabalabalabala');

Custom use

You can also configure custom parsing markdown text.

const MarkdownCutter = require('markdown-cutter');
const cutter = new MarkdownCutter({
    // Custom matches
    matches: [
        {
            key: 'emoticon',
            reg: /\!\[\]\(\[object Object\]#height=18&width=18\)/g,
            getValue(str) {
                return '[emoticon]'
            }
        },
    ],
    // matches limit
    limits: {
        text: 140, // Up to 140 characters,
        image: 1, // 1 image,
        emoticon: 3, // 3 emoticons;
    },
    // content preparation
    prepare: (str) =>  str.trim(),
    textParse: (str) => str.replace(/[!*\[\]<>`]/g, he.encode),
    suffix: '...',
});
const content = 'balabala ![image](xxx) ![]([object Object]#height=18&width=18) balabala';
// quick cut
console.log(cutter.cut(content));
// 'balabala ![image](xxx) [emoticon] balabala'

// analyze only 
console.log(cutter.analyze(content));
// { resources: [{key:'image', content: '![image](xxx)', index: 9}], string: 'balabala _______ _______ balabala'}

// analyze and cut
console.log(cutter.dissect(content));
// {report: "as analyze result", content: "as cut result"}

Built-in matches

image | /![.?](.?)/g | match images link | /[.?](.?)/g | match links

Readme

Keywords

Package Sidebar

Install

npm i markdown-cutter

Weekly Downloads

3

Version

1.0.8

License

MIT

Unpacked Size

24.8 kB

Total Files

11

Last publish

Collaborators

  • moshui