The purpose of this package is to generate markdown with javascript/typescript in a declarative way without having to deal with string templating!
This is already what I need for my project but feel free to open PR if you have some ideas!
npm i --save @scdev/declarative-markdown
# OR
yarn add
You can see output of the following snippet here
import {
Markdown,
italic,
bold,
link,
quote,
inlineCode,
code,
} from '@scdev/declarative-markdown';
const mkd = new Markdown('Declarative Markdown Generator');
mkd
.header('Paragraphs', 2)
.paragraph(`My ${italic('Italic')} text and the ${bold('bold')} one`)
.paragraph(
`Let's add a ${link('link', 'http://google.com')}, why not a quote: ${quote(
"I've become death, destructor of worlds"
)}`
)
.paragraph(
`Do you want to see my fancy ${inlineCode(
"alert('x')"
)}, but I've a better example here: ${code(
'package main\n func main(){}',
'go'
)}`
)
.header('Table', 2)
.table(['id', 'name'], [['1', 'Simone']])
.header('List', 2)
.list([
{ text: 'list1', depth: 0 },
{ text: 'nested', depth: 1 },
{ text: 'nested2', depth: 1 },
{ text: 'list2' },
{ text: 'nested', depth: 1 },
{ text: 'nested2', depth: 1 },
])
.header('Numbered List', 2)
.list(
[
{ text: 'list1' },
{ text: 'nested' },
{ text: 'nested2' },
{ text: 'list2' },
{ text: 'nested' },
{ text: 'nested2' },
],
true
)
.header('Task List', 2)
.tasks([
{ text: 'list1', checked: true },
{ text: 'nested' },
{ text: 'nested2' },
{ text: 'list2' },
{ text: 'nested' },
{ text: 'nested2' },
])
.header('images', 2)
.image('http://ajeje.com/image.png')
.image('http://ajeje.com/image.png', 'ALTTEXT')
.tableOfContent();
const string = mkd.render();
// write it where you want
Project is pretty simple and straight forward for what is my needs, but if you have any idea you're welcome.
This projects uses commitizen so be sure to use standard commit format or PR won't be accepted
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'feat(scope): some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
Simone Corsi - @im_simonecorsi