markdown-tables-to-json

0.1.7 • Public • Published

markdown-tables-to-json

This is a module for extracting tables from Markdown documents and converting them to string arrays or JSON objects.

Example

The following code snippet demonstrates the basic usage of the module and the difference between 'rows' and 'columns' modes. Take a look at src/index.ts for additional static methods available.

Code

// import the table extractor
var { Extractor } = require('markdown-tables-to-json');

// markdown string with a row-oriented table
let md_rows = `
| Name     | Head  | Body  | Tail  | Paws  |
|----------|-------|-------|-------|-------|
| Mittens  | BLACK | black | black | white |
| Dipstick | white | white | black | white |
| Snow     | white | white | white | white |
`

// markdown string with a column-oriented table
let md_cols = `
| Name | Mittens | Dipstick | Snow  |
|------|---------|----------|-------|
| Head | BLACK   | white    | white |
| Body | black   | white    | white |
| Tail | black   | black    | white |
| Paws | white   | white    | white |
`

// leave the case of the keys alone
console.log(Extractor.extractObject(md_rows, 'rows', false));

// make all the keys lowercase
console.log(Extractor.extractObject(md_cols, 'columns', true));

Output

// unmodified case
{
  Mittens: { Head: 'BLACK', Body: 'black', Tail: 'black', Paws: 'white' },
  Dipstick: { Head: 'white', Body: 'white', Tail: 'black', Paws: 'white' },
  Snow: { Head: 'white', Body: 'white', Tail: 'white', Paws: 'white' }
}

// all keys lowercase
{
  mittens: { head: 'BLACK', body: 'black', tail: 'black', paws: 'white' },
  dipstick: { head: 'white', body: 'white', tail: 'black', paws: 'white' },
  snow: { head: 'white', body: 'white', tail: 'white', paws: 'white' }
}

Package Sidebar

Install

npm i markdown-tables-to-json

Weekly Downloads

1,048

Version

0.1.7

License

MIT

Unpacked Size

21.3 kB

Total Files

8

Last publish

Collaborators

  • icooper