Skip to content

Latest commit

 

History

History
65 lines (41 loc) · 2.01 KB

README.md

File metadata and controls

65 lines (41 loc) · 2.01 KB

openbadges-bakery

This is a fork of https://github.com/mozilla/openbadges-bakery

Note that the streampng dependency reference https://github.com/OpenWorksGroup/streampng. Please see README that tests fail. However, baking PNGs seem to work.

This is an ungraceful patch to a no longer suported but necessary library for Open Badges.

An OpenBadges image baking library that works with PNGs and SVGs

Install

$ npm install openbadges-bakery

CLI Usage

Baking

$ oven [--in ./path/to/image.svg] [--out ./path/to/baked-image.svg] <data>

If --out is not set, the baked image will print to stdout.

The input file can also be piped into stdin.

$ oven <data> <  ./path/to/image.png  > ./path/to/baked-image.png

Extracting

$ oven [--in path/to/image.png] --extract

Same as above, you can also pipe a file to stdin. The data will be printed to stdout.

Libary Usage

bakery.bake(options callback);

Bakes some data into an image.

Options are

  • image: either a buffer or a stream representing the PNG or SVG to bake
  • assertion: assertion to save into the image (optional)
  • signature: JSON Web Signature representing a signed OpenBadges assertion (optional)

You must pass either assertion or signature

callback has the signature function(err, imageData)

bakery.extract(image, callback)

Gets the raw data from the badge. This could be a URL, assertion in JSON format or a signature.

callback has the signature function (err, data)

bakery.debake(image, callback);

bakery.getAssertion(image, callback);

Gets the assertion from the badge. If the assertion is remote, this will require an HTTP request. If the assertion is baked into the badge, either directly or as part of a signature, this will pull the local copy.

image should be a stream or a buffer

callback has the signature function (err, object) where object is expected to be a OpenBadges assertion.