8000 GitHub - 75lb/gfmt: A use-anywhere, github-flavoured-markdown table generator. · GitHub
[go: up one dir, main page]

Skip to content

75lb/gfmt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

view on npm npm module downloads Gihub repo dependents Gihub package dependents Node.js CI js-standard-style

gfmt

A use-anywhere, github-flavoured-markdown table generator. Useful in markdown generators or for presenting table data in the terminal.

Synopsis

Where example/simple.json looks like this:

[
    { "date": "10 Jun 2015", "downloads": 100 },
    { "date": "11 Jun 2015", "downloads": 120 },
    { "date": "12 Jun 2015", "downloads": 150 },
    { "date": "13 Jun 2015", "downloads": 120 },
    { "date": "14 Jun 2015", "downloads": 110 }
]

this command:

$ cat example/simple.json | gfmt

produces this output:

| date        | downloads |
| ----------- | --------- |
| 10 Jun 2015 | 100       |
| 11 Jun 2015 | 120       |
| 12 Jun 2015 | 150       |
| 13 Jun 2015 | 120       |
| 14 Jun 2015 | 110       |

This command pipes cherry-picked fields from a github repo list into gfmt:

$ curl -s "https://api.github.com/users/jsdoc2md/repos" \
| jq 'map({repo:.name, stars:.stargazers_count, forks:.forks_count, issues:.open_issues_count}) | sort_by(.stargazers_count) | reverse' \
| gfmt

produces this output:

| repo                    | stars | forks | issues |
| ----------------------- | ----- | ----- | ------ |
| jsdoc-to-markdown       | 133   | 20    | 18     |
| jsdoc-parse             | 26    | 8     | 4      |
| jsdoc                   | 0     | 1     | 0      |
| gulp-jsdoc-to-markdown  | 6     | 2     | 0      |
| grunt-jsdoc-to-markdown | 12    | 2     | 1      |
| ddata                   | 0     | 2     | 2      |
| dmd-locale-en-gb        | 0     | 0     | 0      |
| dmd-bitbucket           | 0     | 1     | 0      |
| dmd                     | 13    | 10    | 5      |
| dhtml                   | 0     | 0     | 0      |
| dmd-plugin-example      | 0     | 1     | 0      |

Install

As a library:

$ npm install gfmt --save

As a command-line tool:

$ npm install -g gfmt

Run gfmt --help to see the command-line options.

API Reference

A use-anywhere, github-flavoured-markdown table generator.

gfmTable(data, [options]) ⇒ string

Get a github-flavoured-markdown table instance

Kind: Exported function

Param Type Description
data object | Array.<object> the input data
[options] 8000 object
[options.columns] Array.<object> column definitions
[options.wrap] boolean wrap to fit into width
[options.width] boolean table width
[options.ignoreEmptyColumns] boolean table width

Example

> gfmt = require("gfmt")
> table = gfmt([
    { "date": "10 Jun 2015", "downloads": 100 },
    { "date": "11 Jun 2015", "downloads": 120 },
    { "date": "12 Jun 2015", "downloads": 150 },
    { "date": "13 Jun 2015", "downloads": 120 },
    { "date": "14 Jun 2015", "downloads": 110 }
])
> console.log(table.getTable())
| date        | downloads |
| ----------- | --------- |
| 10 Jun 2015 | 100       |
| 11 Jun 2015 | 120       |
| 12 Jun 2015 | 150       |
| 13 Jun 2015 | 120       |
| 14 Jun 2015 | 110       |

© 2015-25 Lloyd Brookes <opensource@75lb.com>. Documented by jsdoc-to-markdown.

About

A use-anywhere, github-flavoured-markdown table generator.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Contributors

0