Git Product home page Git Product logo

gfmt's Introduction

view on npm npm module downloads Gihub repo dependents Gihub package dependents Build Status 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] 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-21 Lloyd Brookes <[email protected]>. Documented by jsdoc-to-markdown.

gfmt's People

Contributors

75lb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

gfmt's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.