Welcome to Inkpebble’s documentation!

Contents:

Prime Directive

Inkpebble started as a group of friends trying to make the world a better place for artists, writers, and creators of all kinds. We will not always acheive perfection, but we should try and leave the world better than we found it.

Chat

There is an Inkpebble group chat system available at https://inkpebble.slack.com. This page is a guide for how to use it. If you think you need access, email philip (at) inkpebble (dot) com.

The Rules

(in order of importance)

  1. Don’t be a dick
  2. Have fun
  3. Keep chat relevant to the channel you’re in.

Angel

Angel is a chatbot who has an ever-expanding list of useful functions. Any testing of her functions should be done in #testing-bots. The full list of current commands is:

angel <user> doesn't have <role> role - Removes a role from a user
angel <user> has <role> role - Assigns a role to a user
angel animate me <query> - The same thing as `image me`, except adds a few parameters to try to return an animated GIF instead.
angel flip <text> - express your anger
angel google me <query> - Googles <query> & returns 1st result's URL
angel help - Displays all of the help commands that angel knows about.
angel help <query> - Displays all help commands that match <query>.
angel image me <query> - The Original. Queries Google Images for <query> and returns a random top result.
angel is <domain> up? - Checks if <domain> is up
angel map me <query> - Returns a map view of the area returned by `query`.
angel mustache me <query> - Searches Google Images for the specified query and mustaches it.
angel mustache me <url> - Adds a mustache to the specified URL.
angel pa - The latest Penny Arcade comic
angel pa <date> - Penny Arcade comic from <date> - mm/dd/yyyy format
angel pug bomb N - get N pugs
angel pug me - Receive a pug
angel rage flip <text> - express your anger with rage
angel the rules - Make sure angel still knows the rules.
angel translate me <phrase> - Searches for a translation for the <phrase> and then prints that bad boy out.
angel translate me from <source> into <target> <phrase> - Translates <phrase> from <source> into <target>. Both <source> and <target> are optional
angel unflip <text>
angel url encode|decode <query> - URL encode or decode <string>
angel url form encode|decode <query> - URL form-data encode or decode <string>
angel what role does <user> have - Find out what roles are assigned to a specific user
angel who has admin role - Find out who's an admin and can assign roles
angel wiki me <query> - Searches for <query> on Wikipedia.
angel xkcd <num> - XKCD comic <num>
angel xkcd [latest]- The latest XKCD comic
angel xkcd random - XKCD comic <num>
angel youtube me <query> - Searches YouTube for the query and returns the video embed link.

Channels

Anyone can create any channel or private group they wish, but there are some common ones worth knowing about:

  • #general: Discussion for the good of the whole group
  • #random: The gifs that keep on giving. All the random crap you can think of.
  • #bot-announce: A channel devoted to automatic notifications that don’t make sense in other channels. Git, heroku, travis notifications go here for now
  • #engineering: Anything techy. Designed to keep tech discussions out of #general
  • #inkpebble: The business of the the business. Things that directly relate to Captain Quail or Inkpebble. No funny business, please.
  • #mediastuffs: Discussion about videos, podcasts, etc, around Inkpebble
  • #vent: A place to rant, rave, complain, swear, and generally get things off your chest. No judging, no trying to fix problems. Just ranting.

Other channels are hopefully self-explanatory.

Engineering

Engineering Documentation for Inkpebble

Contents:

Getting Started

This doc should guide developers through getting a development environment set up to work on the Inkpebble main site.

  1. Install virtualbox (https://www.virtualbox.org/)
  2. Pull the ‘nest’ repo (nest is the name of the project on github)
  3. cd into the repo and run ‘vagrant up’. This should build and start your dev environment
  4. When it has completed, run ‘vagrant ssh’. This will log you into your dev environment
  5. Type ‘rs’ to run the dev server, which will be available on your host machine at localhost:8000

A common workflow looks like this:

  1. Pull changes from git (‘git pull –rebase’)
  2. Make any changes you need to the codebase on your host machine
  3. Test against your dev server
  4. Commit your changes
  5. Check for new changes from git (‘git pull –rebase’)
  6. Push your changes to git (‘git push origin master’)

Feature Flags

Feature flags are used in Inkpebble projects to allow certain flags for certain sets of users. The control of feature flags is done by navigating to /nexus/gargoyle.

More info can be found at https://github.com/ImmaculateObsession/gargoyle

Comic Site API

There are currently api endpoints for listing all comics a user has access to, as well as editing certain properties of those comics. Check back here for info about changing endpoints.

The api is authenticated with username and password (for now). If you hit the endpoints without authentication, you can only view public published comics.

Endpoints:

Examples:

curl https://www.inkpebble.com/comic/api/list/ -u {username}:{password}

curl https://www.inkpebble.com/comic/api/1/ -u {username}:{password}

curl -X PUT https://www.inkpebble.com/comic/api/1/ -u {username}:{password} -d '{"alt_text":"Testing the api"}' -H "Content-Type: application/json"

Eventually, these endpoints will probably change, and grow. If you want more features, ping Philip.

Style Notes

Some notes on style

Icons

Currently we use Font Awesome (http://http://fontawesome.io/) for our icon fonts, rather than the default bootstrap set.

Comic Navigation:

  • Go to first: fa-fast-backward
  • Go back one chapter/to beginning of chapter: fa-step-backward
  • Go to previous comic: fa-arrow-left
  • Go to next comic: fa-arrow-right
  • Go to next chapter: fa-step-forward
  • Go to last comic: fa-fast-forward

Media

Here are some notes and instructions for accessing the Inkpebble media resources (video and audio). Check the #mediastuffs channel on slack for more info and to communicate with the rest of the media team.

Youtube channel: https://www.youtube.com/channel/UCE1vJqnMCtQqHwAcRRg0vbA/

Accessing the media folder:

  1. Download and install Bittorrent Sync (http://www.bittorrent.com/sync)
  2. In the Bittorrent Sync setup, select the option for having a shared code
  3. Ask in #mediastuffs for the folder code
  4. Select the folder you want the media to sync to
  5. Start using it!

The awesome part about this is that we’re only limited by the space of our harddrives, and don’t have to pay another provider for space.