@trial-trl/markdown-doc-builder
v1.0.3
Published
Markdown documents builder. Can output .md and .html files
Downloads
3
Readme
@trial-trl/markdown-doc-builder
Markdown documents builder. Can output .md and .html files
1. Usage
npm install --save @trial-trl/markdown-doc-builder
Using @trial-trl/markdown-doc-builder is quite easy:
import markdown from '@trial-trl/markdown-doc-builder';
// output md
const markdownContent = markdown
.newBuilder()
.h1('Hello')
.text('world')
.toMarkdown();
// output HTML
const htmlContent = markdown
.newBuilder()
.h1('Hello')
.text('world')
.toHtml(markdown.defaultHtmlStyles());
2. API
2.1. Headers
Use the h1, h2, h3, h4, h5, h6 or header to generate a markdown header. Calling header with a level above 6 returns a h6 Header.
import markdown from '@trial-trl/markdown-doc-builder';
markdown
.newBuilder()
.h1('Usage')
.h1('API')
.h2('Headers')
.h2('Emphasis')
.h2('Lists')
.h2('Table')
.toMarkdown();
2.2. Emphasis
import markdown from '@trial-trl/markdown-doc-builder';
markdown
.newBuilder()
.bold('This is bold text')
.italic('This is italic text')
.boldItalic('This is bold-italic text')
.strikethrough('This is strikethrough text');
2.3. Lists
import markdown from '@trial-trl/markdown-doc-builder';
markdown
.newBuilder()
.list([ 'Java', 'JavaScript', 'TypeScript' ]);
markdown
.newBuilder()
.list([
'Java', 'JavaScript', 'TypeScript',
'Misc',
markdown.newListBuilder().append('a', 'b', 'c'),
]);
2.4. Table
import markdown from '@trial-trl/markdown-doc-builder';
const table = markdown
.newTableBuilder(0, 2)
.header([ 'Option', 'Description' ])
.appendRow([ 'data', 'path to data files to supply the data that will be passed into templates.' ])
.appendRow([ 'engine', 'engine to be used for processing templates. Handlebars is the default.' ])
.appendRow([ 'ext', 'extension to be used for dest files.' ]));
markdown
.newBuilder()
.table(table)
.toMarkdown();
2.5. Link
import markdown from '@trial-trl/markdown-doc-builder';
markdown
.newBuilder()
.link('https://github.com/trial-trl/markdown-doc-builder', '@trial-trl/markdown-doc-builder')
.toMarkdown();
2.5. Image
import markdown from '@trial-trl/markdown-doc-builder';
markdown
.newBuilder()
.image('https://octodex.github.com/images/minion.png', 'Minion')
.toMarkdown();
2.6. Code
import markdown from '@trial-trl/markdown-doc-builder';
markdown
.newBuilder()
.compositeNodes(
markdown.text('Inline '),
markdown.code('code'))
.toMarkdown();
markdown
.newBuilder()
.codeBlock(MarkdownCodeType.Json, JSON.stringify({
name: 'Matheus Leonardo',
github: 'https://github.com/mlsm-trl',
}, null, 4))
.toMarkdown();
3. Output HTML
import markdown from '@trial-trl/markdown-doc-builder';
const styles = markdown
.defaultStyles()
.globalCss("body {color: #000; font-size: 15px;}");
const htmlContent = markdown
.newBuilder()
.xxx()
.toHtml(styles);