0.8.3 • Published 3 months ago
@joggr/tempo v0.8.3
Overview
Library used to programmatically build markdown documents, with a heavy tilt toward GitHub Flavored Markdown (GFM).
Getting Started
Install the library and you can begin to use it in your application(s).
This is a GitHub Package and your application must support installing internal GitHub packages before you can use this package.
npm
npm install @joggr/tempo
yarn
yarn add @joggr/tempo
Usage
import fs from 'node:fs/promises';
import tempo from '@joggrdocs/tempo';
const result = tempo()
.h1('Hello World')
.paragraph('Some things')
.paragraph((txt) =>
txt
.plainText('A sentence with')
.bold('bolded words')
.plainText('and')
.italic('italicized words')
.plainText('.', { append: true })
.build()
)
.h2((txt) =>
txt
.plainText('A')
.italic('table')
)
.table([
['name', 'email'],
['Zac', 'zac@acmecorp.com']
])
.toString();
fs.writeFile('myFile.md', result)
.then(() => {
console.log('DONE');
});
Serialized Data (⚠️ Unstable API ⚠️)
Tempo creates a syntax tree that can be serialized and stored in a data base.
import db from 'db/orm';
import tempo from '@joggrdocs/tempo';
const result = tempo()
.h1('Hello World')
.paragraph('Some things')
.paragraph((txt) =>
txt
.plainText('A sentence with')
.bold('bolded words')
.plainText('and')
.italic('italicized words')
.plainText('.', { append: true })
.build()
)
.toJSON();
// Example of storing a serializable data object to the DB
await db.collection('tempoDoc').findAndSave(1, result);