Skip to content

Latest commit

 

History

History
139 lines (100 loc) · 3.48 KB

INSTALL.md

File metadata and controls

139 lines (100 loc) · 3.48 KB

GitHub badges in SVG format

npm version

coverage

build status

Make your own badges here!

Install the API

npm install gh-badges
var badge = require('gh-badges');
badge({ text: [ "build", "passed" ], colorscheme: "green" },
  function(svg, err) {
    // svg is a String… of your badge.
  });

Use the CLI

npm install -g gh-badges
badge build passed :green .png > mybadge.png
# Stored a PNG version of your badge on disk.

Start the Server

To run the server you will need the following executables on your Path:

On an OS X machine, Homebrew is a good package manager that will allow you to install them.

git clone git@github.com:badges/shields
cd shields
npm install  # You may need sudo for this.
sudo node server

The server uses port 80 by default, which requires sudo permissions. There are two ways to provide an alternate port:

PORT=8080 node server
node server 8080

The root gets redirected to http://shields.io. For testing purposes, you can go to http://localhost/try.html. You should modify that file. The "real" root, http://localhost/index.html, gets generated from the try.html file.

Format

The format is the following:

{
  /* Textual information shown, in order. */
  "text": [ "build", "passed" ],
  "format": "svg",  // Also supports "json".
  "colorscheme": "green"
  /* … Or… */
  "colorA": "#555",
  "colorB": "#4c1"
}

Defaults

If you want to add a colorscheme, head to colorscheme.json. Each scheme has a name and a CSS/SVG color for the color used in the first box (for the first piece of text, field colorA) and for the one used in the second box (field colorB).

"green": {
  "colorB": "#4c1"
}

Both colorA and colorB have default values. Usually, the first box uses the same dark grey, so you can rely on that default value by not providing a "colorA" field (such as above).

You can also use the "colorA" and "colorB" fields directly in the badges if you don't want to make a color scheme for it. In that case, remove the "colorscheme" field altogether.

Requirements

Because of the usage of the npm module canvas you need to have cairo installed.

For more information check the wiki of the canvas project with system-specific installation details.

Making your Heroku badge server

Once you have installed the Heroku Toolbelt:

heroku login
heroku create your-app-name
heroku config:set BUILDPACK_URL=https://github.com/mojodna/heroku-buildpack-multi.git#build-env
cp /path/to/Verdana.ttf .
make deploy
heroku open

Links

See h5bp/lazyweb-requests#150 for a story of the project's inception.

This is also available as a gem badgerbadgerbadger, code here.

License

All work here is licensed CC0.