Generate GitHub-style labels in SVG.
If you've ever tried to recreate a GitHub label in a markdown document or issue, you'll discover you can't do it! Markdown doesn't let you style text and colors.
We can get around this by styling the text and colors in an SVG "image" and embedding that instead:
The code for this is hosted on labl.es.
It works just like similar badge generator sites like shields.io or badge.fury.io
makeLabel(options)
- does what it says on the tin
option | type | default | description |
---|---|---|---|
option.text | string | 'bug' | Label text - will appear centered on the label. |
option.fontfamily | string | 'Helvetica,Arial' | Text font - we just pass this directly into the SVG file. |
option.fontsize | number | 12 | Font size in px - this affects the overall size of the label. |
option.fontweight | number | 600 | Font weight as a number (over 500 is considered 'bold'). |
option.width | number | calculated | Label width - calculated based on fontsize, but you can override it. |
option.strokeopacity | number | 0.12 | Opacity for the shadow outline. |
option.strokewidth | number | calculated | Shadow stroke width - also calculated but you can override it. |
option.bgcolor | hex | #ee0701 | Background color of the label. |
option.fgcolor | hex | #333026 / #ffffff | Foreground color of the label - calculated for light/dark backgrounds but you can override it. |
option.strokecolor | hex | #273135 | Stroke color for the shadow outline. |
All hex colors can be passed either as 3 or 6 characters, and the '#' is optional.
server.js contains a simple microservice built on the koa.js framework.
npm run start
will start the server on port 3000.
This is the same code that serves up labl.es.
Report any issues here: https://github.com/bhousel/svg-labels/issues
svg-labels is available under the ISC License. See the LICENSE.md file for more details.