npm.io
0.1.7 • Published 5 years ago

markdown-tables-to-json

Licence
MIT
Version
0.1.7
Deps
1
Size
21 kB
Vulns
0
Weekly
0
Stars
18

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' }
}

Keywords