gfm-table-generator

Genera

Usage no npm install needed!

<script type="module">
  import gfmTableGenerator from 'https://cdn.skypack.dev/gfm-table-generator';
</script>

README

GitHub Flavored Markdown Table Generator

Installation

npm install --save-dev gfm-table-generator

Usage

let gfmtg = require('gfm-table-generator')

Data

[
  {
    "Name": "Beowulf",
    "Age": 150,
    "Class": "Warrior",
    "Height": 4,
    "Weight": 200,
    "Experience": 2000
  },
  {
    "Name": "Truestrike",
    "Age": 250,
    "Class": "Archer",
    "Height": 6,
    "Weight": 150,
    "Experience": 4500
  },
  {
    "Name": "Dugalka",
    "Age": 70,
    "Class": "Warrior",
    "Height": 5.4,
    "Weight": 350,
    "Experience": 7500
  },
  {
    "Name": "Abutambani",
    "Age": 60,
    "Class": "Shaman",
    "Height": 5.5,
    "Weight": 300,
    "Experience": 7000
  }
]

Options

{
  "header": [
    "Name",
    "Class",
    "Experience",
    "Age",
    "Height",
    "Weight"
  ],
  "delimiter": [
    "left",
    "center",
    "right",
    "right",
    "right",
    "right"
  ]
}

Example

// required packages
let gfmtg = require('gfm-table-generator')
let fs = require("fs")

// datasets
let data = fs.readFileSync("./data.json", "utf8")
data = JSON.parse(data)

// gfmtg options
let options = fs.readFileSync("./options.json", "utf8")
options = JSON.parse(options)

// generate table
let table = gfmtg(data, options)

// write to file
let markdown = `# Table\n\n${table}`
fs.writeFileSync("demo.md", markdown)

Sample Output

Name Class Experience Age Height Weight
Beowulf Warrior 2000 150 4 200
Truestrike Archer 4500 250 6 150
Dugalka Warrior 7500 70 5.4 350
Abutambani Shaman 7000 60 5.5 300