This project allows managing Markdown files through JavaScript/TypeScript
Install using npm
npm i markdown-as-code
Install using pnpm
pnpm i markdown-as-code
Install using yarn
yarn add markdown-as-code
Run tests
npm t
# or
npm run test
- Run the tests
pnpm t
import { acknowledgementsSection } from 'markdown-as-code';
const content = acknowledgementsSection()
.add({
text: 'Acknowledgement',
url: 'https://github.com',
})
.synthesize();
import { apiReferenceSection } from 'markdown-as-code';
const content = apiReferenceSection()
.add({
title: 'Get all items',
httpMethod: 'GET',
path: '/api/items',
parameter: {
name: 'api_key',
type: 'string',
description: '**Required**. Your API key',
},
})
.synthesize();
import { appendixSection } from 'markdown-as-code';
const content = appendixSection().appendContent('Test content').synthesize();
import { authorsSection } from 'markdown-as-code';
const content = authorsSection()
.add({ githubUsername: 'JaneDoe' })
.add({ githubUsername: 'JohnSmith' })
.synthesize();
import { contentSection, orderedList } from 'markdown-as-code';
// Create a content section with a title
const section = contentSection('Test Section');
// Add content to the section using the appendContent method
section.appendContent('Some markdown content');
// Use one of the element builders to add content
section.appendContent(orderedList(['item 1', 'item 2']));
import { contributingSection } from 'markdown-as-code';
const content = contributingSection().synthesize();
import { environmentVariablesSection } from 'markdown-as-code';
const content = environmentVariablesSection()
.add({
name: 'API_KEY',
defaultValue: 'YOUR-API-KEY-HERE',
})
.synthesize();
import { examplesSection } from 'markdown-as-code';
const content = examplesSection()
.add({
title: 'Create an example section',
description:
'The title is defaulted to Examples but can be overridden in the constructor',
codeblock: {
language: 'typescript',
code: 'const section = new Examples();',
},
})
.synthesize();
import { faqSection } from 'markdown-as-code';
const content = faqSection()
.add({
question: 'Question 1',
answer: 'Answer 1',
})
.synthesize();
import { installationSection } from 'markdown-as-code';
const content = installationSection()
.add({
command: 'npm i markdown-as-code',
description: 'Install using npm',
})
.synthesize();
import { roadmapSection } from 'markdown-as-code';
const content = roadmapSection().add({ text: 'Item 1' }).synthesize();
import { runLocallySection } from 'markdown-as-code';
const content = runLocallySection()
.add({
command: 'npm t',
description: 'Run the tests',
})
.synthesize();
import { supportSection } from 'markdown-as-code';
const support = supportSection().appendContent('Test content').synthesize();
import { tableOfContentsSection, contentSection } from 'markdown-as-code';
const content = tableOfContentsSection({
sections: [contentSection('Test Section')],
}).synthesize();
import { createMarkdownDocument, ContentSection } from 'markdown-as-code';
const content = createMarkdownDocument({
title: 'Test',
fileName: 'test.md',
})
.addSection(new ContentSection('Custom Section', 'Some markdown content'))
.synthContent();
import { createReadmeDocument, ContentSection } from 'markdown-as-code';
const content = createReadmeDocument({
title: 'Test',
fileName: 'test.md',
})
.addSection(new ContentSection('Custom Section', 'Some markdown content'))
.synthContent();
import { codeBlock } from 'markdown-as-code';
codeBlock({ language: 'typescript', code: 'const testNumber = 1' });
import { heading } from 'markdown-as-code';
heading(1, 'Heading Level 1');
heading(2, 'Heading Level 2');
heading(3, 'Heading Level 3');
heading(4, 'Heading Level 4');
heading(5, 'Heading Level 5');
heading(6, 'Heading Level 6');
import { image } from 'markdown-as-code';
image('https://via.placeholder.com/150', 'Placeholder Image');
import { link } from 'markdown-as-code';
link('Link Text', '');
import { orderedList, unorderedList, taskList } from 'markdown-as-code';
orderedList(['Item 1', 'Item 2', 'Item 3']);
unorderedList(['Item 1', 'Item 2', 'Item 3']);
taskList([
{ description: 'Task 1', complete: true },
{ description: 'Task 2', complete: false },
{ description: 'Task 3', complete: true },
]);
import { mentionPerson } from 'markdown-as-code';
mentionPerson('AllyMurray');
import { quote } from 'markdown-as-code';
quote('This is a quote');
import { style } from 'markdown-as-code';
style('Bold', 'Example Bold Text');
style('Italic', 'Example Italic Text');
style('Strikethrough', 'Example Strikethrough Text');
style('Superscript', 'Example Superscript Text');
style('Subscript', 'Example Subscript Text');
style('BoldItalic', 'Example BoldItalic Text');
import { table } from 'markdown-as-code';
table<'email' | 'description'>({
rows: [
{
email: 'hr@example.com',
description: 'Human Resources email',
},
{
email: 'support@example.com',
description: 'Customer Support email',
},
],
});