markdown-tables-to-json

Extracts tables from Markdown documents and converts to JSON objects.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
markdown-tables-to-json
830.1.72 years ago4 years agoMinified + gzip package size for markdown-tables-to-json in KB

Readme

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