"Running gives freedom. When you run you can determine your own tempo. You can choose your own course and think whatever you want. Nobody tells you what to do." - Nina Kuscsik
A TypeScript package used to programmatically build markdown documents, with a heavy tilt toward GitHub Flavored Markdown (GFM).
- 🦄 Programmatically generate docs for
CI
orcommit-hooks
- 📋 Create reusable templates for your projects
- 🤖 Build templates for standardizing output from LLMs
- 🐱 Use all the goodness of GitHub Flavored Markdown (GFM)
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
import fs from 'node:fs/promises';
import tempo from '@joggr/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('.')
.build()
)
.h2((txt) =>
txt
.plainText('A')
.italic('table')
)
.table([
['name', 'email'],
['Zac', 'zac@acmecorp.com']
])
.toString();
await fs.writeFile('myFile.md', result);
Tempo creates a syntax tree that can be serialized and stored in a data base.
import db from 'db/orm';
import tempo from '@joggr/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('.')
.build()
)
.toJSON();
// Example of storing a serializable data object to the DB
await db.collection('tempoDoc').findAndSave(1, result);
Licensed under MIT.
We'd love to have you join, but we are in closed beta.
You can join our waitlist below.