# markdown-doc-builder

> Markdown documents builder. Can output .md and .html files

Latest version **1.3.0** (published 2020-08-26) · MIT license · 0 weekly downloads

## Install

```sh
npm install markdown-doc-builder
pnpm add markdown-doc-builder
yarn add markdown-doc-builder
bun add markdown-doc-builder
```

## Health

**Score 20/100 (F)** — status: abandoned.

Positive: has types; no vulnerabilities.

Warnings: low downloads; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.3.0 |
| Published | 2020-08-26 |
| First published | 2020-08-25 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 81.1 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 4 |
| Author | arnozhang |
| Maintainers | arnozhang |
| Keywords | Markdown, Documents, HTML |

## Links

- npm: https://www.npmjs.com/package/markdown-doc-builder
- Repository: https://github.com/arnozhang/markdown-doc-builder
- Homepage: https://github.com/arnozhang/markdown-doc-builder#readme
- Issues: https://github.com/arnozhang/markdown-doc-builder/issues
- npm.io page: https://npm.io/package/markdown-doc-builder

## Dependencies (1)

- [js-utils-lite](https://npm.io/package/js-utils-lite.md) ^2.0.0

## Alternatives

- [@tsparticles/shape-image](https://npm.io/package/@tsparticles/shape-image.md) — 303.7K weekly downloads
- [@tsparticles/shape-line](https://npm.io/package/@tsparticles/shape-line.md) — 233.7K weekly downloads
- [stringify-attributes](https://npm.io/package/stringify-attributes.md) — 58.6K weekly downloads
- [mobile-drag-drop](https://npm.io/package/mobile-drag-drop.md) — 46.3K weekly downloads
- [@comunica/actor-rdf-parse-html](https://npm.io/package/@comunica/actor-rdf-parse-html.md) — 29.2K weekly downloads

## Recent versions

- 1.3.0 (latest) — 2020-08-26
- 1.2.0 — 2020-08-25
- 1.1.0 — 2020-08-25
- 1.0.0 — 2020-08-25

## README

# markdown-doc-builder

Markdown documents builder. Can output .md and .html files

## 1. Usage

> npm install --save markdown-doc-builder

Using [markdown-doc-builder](https://www.npmjs.com/package/markdown-doc-builder) is quite easy:

```typescript
import markdown from 'markdown-doc-builder';


// output md
const markdownContent = markdown
    .newBuilder()
    .h1('Hello')
    .text('world')
    .toMarkdown();

// output HTML
const htmlContent = markdown
    .newBuilder()
    .h1('Hello')
    .text('world')
    .toHtml(markdown.defaultHtmlStyles());
```

## 2. API

### 2.1. Headers

Use the h1, h2, h3, h4, h5, h6 or header to generate a markdown header. Calling header with a level above 6 returns a h6 Header.

```typescript
import markdown from 'markdown-doc-builder';


markdown
    .newBuilder()
    .h1('Usage')
    .h1('API')
    .h2('Headers')
    .h2('Emphasis')
    .h2('Lists')
    .h2('Table')
    .toMarkdown();
```

### 2.2. Emphasis

```typescript
import markdown from 'markdown-doc-builder';


markdown
    .newBuilder()
    .bold('This is bold text')
    .italic('This is italic text')
    .boldItalic('This is bold-italic text')
    .strikethrough('This is strikethrough text');
```

### 2.3. Lists

```typescript
import markdown from 'markdown-doc-builder';


markdown
    .newBuilder()
    .list([ 'Java', 'JavaScript', 'TypeScript' ]);

markdown
    .newBuilder()
    .list([
        'Java', 'JavaScript', 'TypeScript',
        'Misc',
        markdown.newListBuilder().append('a', 'b', 'c'),
    ]);
```

### 2.4. Table

```typescript
import markdown from 'markdown-doc-builder';


const table = markdown
    .newTableBuilder(0, 2)
    .header([ 'Option', 'Description' ])
    .appendRow([ 'data', 'path to data files to supply the data that will be passed into templates.' ])
    .appendRow([ 'engine', 'engine to be used for processing templates. Handlebars is the default.' ])
    .appendRow([ 'ext', 'extension to be used for dest files.' ]));

markdown
    .newBuilder()
    .table(table)
    .toMarkdown();
```

### 2.5. Link

```typescript
import markdown from 'markdown-doc-builder';


markdown
    .newBuilder()
    .link('https://github.com/arnozhang/markdown-doc-builder', 'markdown-doc-builder')
    .toMarkdown();
```

### 2.5. Image

```typescript
import markdown from 'markdown-doc-builder';


markdown
    .newBuilder()
    .image('https://octodex.github.com/images/minion.png', 'Minion')
    .toMarkdown();
```

### 2.6. Code

```typescript
import markdown from 'markdown-doc-builder';


markdown
    .newBuilder()
    .compositeNodes(
        markdown.text('Inline '),
        markdown.code('code'))
    .toMarkdown();

markdown
    .newBuilder()
    .codeBlock(MarkdownCodeType.Json, JSON.stringify({
        name: 'Arno Zhang',
        github: 'https://github.com/arnozhang',
    }, null, 4))
    .toMarkdown();
```

## 3. Output HTML


```typescript
import markdown from 'markdown-doc-builder';


const styles = markdown
    .defaultStyles()
    .globalCss("body {color: #000; font-size: 15px;}");

const htmlContent = markdown
    .newBuilder()
    .xxx()
    .toHtml(styles);
```

---
_Source: https://npm.io/package/markdown-doc-builder · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
