Coder Social home page Coder Social logo

markdown-as-code's Introduction

markdown-as-code

This project allows managing Markdown files through JavaScript/TypeScript

Table of Contents

Installation

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 Locally

  • Run the tests
pnpm t

Examples

Document Sections

Acknowledgements

import { acknowledgementsSection } from 'markdown-as-code';

const content = acknowledgementsSection()
  .add({
    text: 'Acknowledgement',
    url: 'https://github.com',
  })
  .synthesize();

Api Reference

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();

Appendix

import { appendixSection } from 'markdown-as-code';

const content = appendixSection().appendContent('Test content').synthesize();

Authors

import { authorsSection } from 'markdown-as-code';

const content = authorsSection()
  .add({ githubUsername: 'JaneDoe' })
  .add({ githubUsername: 'JohnSmith' })
  .synthesize();

Content

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']));

Contributing

import { contributingSection } from 'markdown-as-code';

const content = contributingSection().synthesize();

Environment Variables

import { environmentVariablesSection } from 'markdown-as-code';

const content = environmentVariablesSection()
  .add({
    name: 'API_KEY',
    defaultValue: 'YOUR-API-KEY-HERE',
  })
  .synthesize();

Examples

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();

Faq

import { faqSection } from 'markdown-as-code';

const content = faqSection()
  .add({
    question: 'Question 1',
    answer: 'Answer 1',
  })
  .synthesize();

Installation

import { installationSection } from 'markdown-as-code';

const content = installationSection()
  .add({
    command: 'npm i markdown-as-code',
    description: 'Install using npm',
  })
  .synthesize();

Roadmap

import { roadmapSection } from 'markdown-as-code';

const content = roadmapSection().add({ text: 'Item 1' }).synthesize();

Run Locally

import { runLocallySection } from 'markdown-as-code';

const content = runLocallySection()
  .add({
    command: 'npm t',
    description: 'Run the tests',
  })
  .synthesize();

Support

import { supportSection } from 'markdown-as-code';

const support = supportSection().appendContent('Test content').synthesize();

Table Of Contents

import { tableOfContentsSection, contentSection } from 'markdown-as-code';

const content = tableOfContentsSection({
  sections: [contentSection('Test Section')],
}).synthesize();

Documents

Markdown
import { createMarkdownDocument, ContentSection } from 'markdown-as-code';

const content = createMarkdownDocument({
  title: 'Test',
  fileName: 'test.md',
})
  .addSection(new ContentSection('Custom Section', 'Some markdown content'))
  .synthContent();
Readme
import { createReadmeDocument, ContentSection } from 'markdown-as-code';

const content = createReadmeDocument({
  title: 'Test',
  fileName: 'test.md',
})
  .addSection(new ContentSection('Custom Section', 'Some markdown content'))
  .synthContent();
Elements
Code Block
import { codeBlock } from 'markdown-as-code';

codeBlock({ language: 'typescript', code: 'const testNumber = 1' });
Heading
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');
Image
import { image } from 'markdown-as-code';

image('https://via.placeholder.com/150', 'Placeholder Image');
Link
import { link } from 'markdown-as-code';

link('Link Text', '');
List
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 },
]);
Mention
import { mentionPerson } from 'markdown-as-code';

mentionPerson('AllyMurray');
Quote
import { quote } from 'markdown-as-code';

quote('This is a quote');
Style
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');
Table
import { table } from 'markdown-as-code';

table<'email' | 'description'>({
  rows: [
    {
      email: '[email protected]',
      description: 'Human Resources email',
    },
    {
      email: '[email protected]',
      description: 'Customer Support email',
    },
  ],
});

Authors

Acknowledgements

markdown-as-code's People

Contributors

allymurray avatar andrchiamus avatar

Stargazers

 avatar Roman avatar

Watchers

 avatar

Forkers

andrchiamus

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.