For your next project on GitHub, take advantage of the service’s powerful API to meet your unique development requirements. This practical guide shows you how to build your own software tools for customizing the GitHub workflow. Each hands-on chapter is a compelling story that walks you through the tradeoffs and considerations for building applications on top of various GitHub technologies.
If you’re an experienced programmer familiar with GitHub, you’ll learn how to build tools with the GitHub API and related open source technologies such as Jekyll (site builder), Hubot (NodeJS chat robot), and Gollum (wiki).
Build a simple Ruby server with Gist API command-line tools and Ruby’s "Octokit" API client
Use the Gollum command-line tool to build an image management application
Build a GUI tool to search GitHub with Python
Document interactions between third-party tools and your code
Use Jekyll to create a fully-featured blog from material in your GitHub repository
Create an Android mobile application that reads and writes information into a Jekyll repository
Use Hubot to automate pull request reviews
Chapter 1The Unclad GitHub API
Breadcrumbs to Successive API Paths
Following a Hypermedia API
Conditional Requests to Avoid Rate Limitations
Accessing Content from the Web
Chapter 2Gists and the Gist API
Easy Code Sharing
Gists Are Repositories
Gist from the Command Line
Gists as Fully Functioning Apps
Gists that Render Gists
Chapter 3GitHub Wikis with Gollum
“The Story of Smeagol…”
The Starting Point of a Gollum Editor
Programmatically Handling Images
Using the Rugged Library
Optimizing for Image Storage
Reviewing on GitHub
Improving Revision Navigation
Fixing Linking Between Comp Pages
Chapter 4Python and the Search API
Search API General Principles
Search APIs in Detail
Our Example Application
Chapter 5.NET and the Commit Status API
Let’s Write an App
Chapter 6Ruby and Jekyll
Learning and Building with Jekyll
What Is Jekyll?
Jekyll Blog Quick Start
Importing from Other Blogs
Scraping Sites into Jekyll
Chapter 7Android and the Git Data API
Creating a New Project
Android Automated Testing
Chapter 8CoffeeScript, Hubot, and the Activity API
Chris Dawson comes from a family of public school teachers. From an early age, computers provided an always fascinating and often frustrating complement to learning and teaching for Chris. Notably inconspicuous at several notable startups and technology companies like Apple, Virage and RealNetworks, Chris gratefully had the opportunity to live on three continents and experience the power and dynamism of diverse communities. As such, it is with great relish that Chris has been participating in and documenting one of the most exciting learning communities of the 21st century: GitHub.
Ben Straub is a lifelong developer, and enthusiast of the craft of making great software. He's written software for over 15 years, has authored several books, and has recorded educational software training videos. He enjoys reading, taking his kids on bike rides, chocolate, dogs, those little notebooks you carry around with you, photography, a good weekend hack, traveling, writing, food, craftsmanship, a great pen, Markdown, music, movies, and talking to amazing people.
The animal on the cover of Building Tools with GitHub is a beagle, a small- to medium-sized breed of dog (Canis familiaris). The modern beagle breed was developed in Great Britain in the 1830s, and was originally created to track small game animals, such as rabbits. Hunting by using beagles to track prey is known as “beagling.”
Beagles are part of the hound family of dog breeds, but compared to other hounds beagles are small, with shorter legs and snouts. Beagles are most commonly tricolored (white, black, and brown), but can occasionally be found with only two of the three colors.
Beagles are well-regarded as household pets because of their even demeanor and high intelligence. They have made appearances in popular culture since Elizabethan times, from the works of Shakespeare to modern cartoon strips.