Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Gratipay Widgets + API
JavaScript HTML Nginx Makefile Shell
branch: master

Merge pull request #95 from gratipay/infra

Add server config to repository
latest commit f437de9e01
@whit537 whit537 authored

README.md

grtp.co Builds Deps

Gratipay widgets + widget API

Getting Started

Quickstart:

$ git clone git@github.com:gratipay/grtp.co.git
$ cd grtp.co
$ make run

Then visit http://localhost:9537/test/

Documentation

JSDoc comments are used, but documentation generation is not setup yet. The code is documented, please dive in.

Configuration options:

  • window.grtpAPI - Where to look for the grtp.co API
    • defaults to //grtp.co/v1/
  • window.gratipayURI - Where to look for Gratipay
    • defaults to https://gratipay.com/

Examples

In the following examples, just switch out rummik with your Gratipay username.

Standard Widgets

<script data-gratipay-username="rummik"
  src="//grtp.co/v1.js" async></script>

<script data-gratipay-username="rummik"
  data-gratipay-widget="button"
  src="//grtp.co/v1.js" async></script>

<script data-gratipay-username="rummik"
  data-gratipay-widget="giving"
  src="//grtp.co/v1.js" async></script>

Custom Widgets

You can create your own widgets by adding data-gratipay-widget="custom" to your widget's HTML, and the following classes:

  • Text
    • gratipay-receiving - dollar-sign prefixed value of receiving
    • gratipay-username - the user's username
    • gratipay-goal - dollar-sign prefixed value of goal
    • gratipay-giving - dollar-sign prefixed value of giving
    • gratipay-identity - I if number is singular, We if number is plural
  • Links
    • gratipay-profile-link - sets the href attribute to the user's profile link
    • gratipay-link - sets the href attribute to https://gratipay.com/
  • Misc styling
    • gratipay-goal-progress-bar - sets the element's width to a percentage value of the user's goal progress
<div data-gratipay-username="rummik" data-gratipay-widget="custom">
  I receive <a class="gratipay-profile-link">
    <span class="gratipay-receiving">$0.00</span> / wk
  </a>
  on <a class="gratipay-link">Gratipay</a>.
</div>
<script src="//grtp.co/v1.js"></script>

Other Widgets

Shields.io:

<img src="http://img.shields.io/gratipay/Gratipay.svg">

Google Gadget for Blogger and Google Code.

Release and Deployment

Grtp.co is hosted on a Digital Ocean VPS (called droplet) accessible through SSH. It runs nginx and the publishing root is /home/grtp.co/production.

To access the server, you need someone who already has access to add your key to /home/grtp.co/.ssh/authorized_keys

Configure

If you need to alter nginx configuration, it is stored at /etc/nginx/sites-enabled/grtp.co

After you make changes, you can reload configuration:

# service nginx reload

Deploy

Bump version in package.json and create new tag.

Add the remote to your own local repo:

$ git remote add prod grtp@grtp.co:production

Then you can git push prod. There's a post-receive hook that updates the filesystem on the droplet and runs the grunt build task that minifies code and copies files from lib to www.

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using grunt.

To help keep a consistent style, we also recommend using EditorConfig.

License

Released into the public domain (per CC0).

Something went wrong with that request. Please try again.