A simple message formatter for bold, strikethrough, underline, sub, sup, italic and code.
yarn add msgdown
constdown=require('msgdown')constmsg=`*Attention:* /msgdown/^TM^ is great¡1¡. _Use it_ or ~don\'t~ it is \`console.log('up to you!')\``consthtml=down(msg)html will contain exactly this:
<strong>Attention:</strong><em>msgdown</em><sup>TM</sup> is great<sub>1</sub>. <u>Use it</u> or <del>don\'t</del> it is <code>console.log('up to you!')</code>By default msgdown will use these tokens:
constdefaultTokens={bold: {delimiter: '*',tag: 'strong'},italic: {delimiter: '/',tag: 'em'},underline: {delimiter: '_',tag: 'u'},strike: {delimiter: '~',tag: 'del'},code: {delimiter: '`',tag: 'code'},sup: {delimiter: '^',tag: 'sup'},sub: {delimiter: '¡',tag: 'sub'}}You can override every and each of the tokens by passing in your custom token object on every function call:
consthtml=down('ßI am bold with a bß',{bold: {delmiter: 'ß',tag: 'b'}})The above html will contain <b>I am bold with a b</b>.
There is a test file linked to yarn test. Should be enough even though enough is never enough.
Maybe add more tokens? Maybe add pattern matching instead of plain one char matching? Maybe something else? You name it...
Matteo Merola mattmezza@gmail.com
