Fast handcraft svg badge generator library . Used on badgen.net.
 
 
Go to file
Amio 49b999f5da chore: update tsconfig 2022-04-30 17:14:20 +08:00
.github chore: update tsconfig 2022-04-30 17:14:20 +08:00
bench refactor: js => ts 2019-10-03 12:10:43 +08:00
preview fix: add edge cases for quotes, use sanitize function for aria-label (#63) 2020-07-07 12:56:54 +08:00
src chore: update tsconfig 2022-04-30 17:14:20 +08:00
tap-snapshots feat: apply escaping to all string inputs (#68) 2021-03-28 11:25:47 +08:00
test feat: apply escaping to all string inputs (#68) 2021-03-28 11:25:47 +08:00
.gitignore use ncc & test on dist 2019-01-29 20:53:41 +08:00
.npmignore use ncc & test on dist 2019-01-29 20:53:41 +08:00
.travis.yml chore: publish bundled badgen.min.js only 2018-09-07 23:05:09 +08:00
LICENSE.md chore: add license and improve readme 2018-08-08 22:05:01 +02:00
README.md docs: fix in-browser code sample (#72) 2022-04-30 15:54:32 +08:00
package-lock.json chore: npm update 2022-04-30 17:14:20 +08:00
package.json 3.2.2 2020-11-30 21:11:04 +08:00
tsconfig.json chore: update tsconfig 2022-04-30 17:14:20 +08:00

README.md

badgen

npm version Coverage Status Bundle size License

Fast handcraft svg badge generator. Used on badgen.net.

  • 🌀 Zero dependency
  • Fast by design (see benchmarks)
  • 👯 Running in node & browser

Usage

npm install badgen

const { badgen } = require('badgen')

// only `status` is required.
const svgString = badgen({
  label: 'npm',      // <Text>
  labelColor: 'ADF', // <Color RGB> or <Color Name> (default: '555')
  status: 'v1.2.3',  // <Text>, required
  color: 'blue',     // <Color RGB> or <Color Name> (default: 'blue')
  style: 'flat',     // 'flat' or 'classic' (default: 'classic')
  icon: 'data:image/svg+xml;base64,...', // Use icon (default: undefined)
  iconWidth: 13,     // Set this if icon is not square (default: 13)
  scale: 1           // Set badge scale (default: 1)
})

Available color names:

In browser

<script src="https://unpkg.com/badgen"></script>
<script>
  var svgString = badgen({ /*...*/ })
</script>

Benchmarks

npm run bench on iMac 5K (Late 2014), 3.5G i5, with Node.js 12.11.0:

[classic] style, long params x 985,898 ops/sec ±0.37% (94 runs sampled)
[classic] style, full params x 1,284,886 ops/sec ±0.42% (95 runs sampled)
[classic] style, with emoji  x 1,291,768 ops/sec ±0.28% (95 runs sampled)
[classic] style, with icon   x 1,177,120 ops/sec ±0.94% (95 runs sampled)
   [flat] style, long params x 780,504 ops/sec ±0.39% (94 runs sampled)
   [flat] style, full params x 1,012,111 ops/sec ±0.40% (97 runs sampled)
   [flat] style, with emoji  x 1,013,695 ops/sec ±0.91% (95 runs sampled)
   [flat] style, with icon   x 994,481 ops/sec ±0.30% (94 runs sampled)

See Also