Index
Symbols
- .ruby–version, Important Ruby and RVM Concepts
- .rvmrc, Important Ruby and RVM Concepts
- 200 status code, Success (200 or 201)
- 201 status code, Success (200 or 201), Successful Creation (201)
- 304 status code, Nothing Has Changed (304)
- 400 status code, Naughty JSON (400)
- 422 status code, Improper JSON (422)
- –c switch, Gist from the Command Line
- –i switch, Debugging Switches for cURL
- –o switch, Gist from the Command Line
- –P switch, Gist from the Command Line
- –s switch, Parsing JSON from the Command Line
- –v switch, Debugging Switches for cURL
- ––help switch, Gist from the Command Line
A
- access control, The API
- Activity API
- affordances, Going Deeper into the Gist API
- AGitHub library, AGitHub
- Android, Android and the Git Data API-Summary
- Android application example
- and GitHub services, GitHub Services
- automated testing for, Android Automated Testing-Android UI Tests
- base SHA implementation, The Base SHA from the Repository and Branch
- blob creation for, Creating the Blob
- code for logging in to GitHub, Code to Log In to GitHub-Code to Log In to GitHub
- code for putting content into GitHub, Code to Talk to GitHub-Code to Talk to GitHub
- creating commit for, Creating the Commit
- creating new project, Creating a New Project-Default Android Main
- default main for, Default Android Main-Default Android Main
- Gradle build file editing, Editing the Gradle Build File-Editing the Gradle Build File
- implementation, Application Implementation-Passing All Our Tests
- master resource updating, Updating the Master Resource
- setup for, Setting Up-Installing Android Studio
- testing, Passing All Our Tests-Passing All Our Tests
- tree generation, Generating a Tree
- UI tests for, Android UI Tests-Android UI Tests
- unit tests for, Unit Tests for Our GitHub Client-Unit Tests for Our GitHub Client
- writing blog content, Writing the Blog Content
- Android Studio, Creating a New Project
- Android Virtual Devices (AVDs), Creating AVDs for development
- AndroidManifest.xml file, Default Android Main
- AngularJS, Adding the Support Libraries
- apex domains, DNS settings
- APIs, reasons for using, Why APIs and Why the GitHub API?
- async keyword, Sending the Request
- authentication
- authorization token
- await keyword, Sending the Request
C
- C#, Let’s Write an App, C#
- caching
- callback, Peering into the response object, JavaScript and the Git Data API
- chat robot (see Hubot)
- CLR (Common Language Runtime), Let’s Write an App
- CNAME file, The CNAME file
- code reviews, Code Reviews via Pull Requests-Setting up our webhook
- code search, Code Search
- code snippets, Code snippets
- coffee shop database app, Building a Coffee Shop Database on GitHub-Summary
- accepting pull requests, Accepting Pull Requests
- and coffeetech.js. file, CoffeeTech.js-CoffeeTech.js
- AngularJS application using GitHub.js, An AngularJS Application Using GitHub.js-CoffeeTech.js
- application database structure visualization, Visualize Application Data Structure
- city data for, City Data
- displaying data, Displaying (Soon-to-Be) User-Reported Data-User-Contributed Data
- error handling, Errors Already?-Errors Already?
- geocoding support, Geocoding Support-Geocoding Support
- login for, Adding Login
- mapping hostnames, Mapping Hostnames
- safe login implementation for, Toward a Safe Login Implementation-Implementing Firebase Login
- setup, Set Up-Adding the Support Libraries
- support libraries for, Adding the Support Libraries
- test data for, Test Data
- testability of app, Making Our App Testable
- user–contributed data for, User-Contributed Data-User-Contributed Data
- CoffeeScript
- Collaborators API, unifying usernames via, Unifying usernames via the Collaborators API
- combined status, Combined Status
- command line
- basics, Command-Line Basics and the Shell
- editing Gollum from, Hacking Gollum
- gists from, Gist from the Command Line
- Jekyll command line tool, Using the Jekyll Command-Line Tool-Using the Jekyll Command-Line Tool
- launching Hubot from, Sanitizing our source code
- parsing JSON from, Parsing JSON from the Command Line
- piping output to successive commands, Piping Output to Successive Commands
- providing variables to commands, Providing Variables to Commands
- redirection, Redirection
- shell comments, Shell Comments
- splitting commands into multiple lines, Splitting Commands into Multiple Lines
- commit (Android app example), Creating the Commit
- Commit Status
- Commit Status API, .NET and the Commit Status API-Summary
- and Visual Studio, Visual Studio
- combined status, Combined Status
- creating a status, Creating a Status
- development environment for app, Development Environment-Xamarin Studio
- libraries for, Libraries
- OAuth flow, OAuth Flow-OAuth Flow
- raw status, Raw Statuses
- sending request, Sending the Request-Sending the Request
- status handler, Status Handler-Status Handler
- statuses in, The API-Creating a Status
- Xamarin Studio, Xamarin Studio-Xamarin Studio
- comp pages, fixing linking between, Fixing Linking Between Comp Pages
- conditional HTTP headers, Conditional Requests to Avoid Rate Limitations
- conditional requests, Conditional Requests to Avoid Rate Limitations
- config.ru, Important Ruby and RVM Concepts
- continuous–integration service, .NET and the Commit Status API
- core rate limits, GitHub API Rate Limits
- CORS, CORS Support
- createBlob function, Creating the Blob
- createCommit() function, Creating the Commit
- createServices() function, GitHub Services
- create_controls method, Windowing and Interface, GitHub Login
- credentials, Windowing and Interface
- CSS
- cURL, cURL
D
- debugging, cURL switches for, Debugging Switches for cURL-Debugging Switches for cURL
- describe functions, Writing tests for Hubot extensions
- Destroy() method, Windowing and Interface
- directed acylic graphs (DAG), The Base SHA from the Repository and Branch
- DNS settings, DNS settings
- doInBackground() function, Code to Log In to GitHub
- doPost() function, Code to Log In to GitHub
- do_layout method, GitHub Login
- do_login method, GitHub Login
G
- gem install gist command, Gist from the Command Line
- Gemfile, Gists as Fully Functioning Apps, Important Ruby and RVM Concepts
- generateContent() function, Writing the Blog Content
- generateTree() function, Generating a Tree
- geocoding, Geocoding Support-Geocoding Support
- get_credentials method, Using the Rugged Library
- get_filename method, Writing Jekyll Posts
- gh–pages branch, The gh-pages branch
- gists, Gists and the Gist API-Summary
- and hypermedia, Going Deeper into the Gist API
- and RESTful APIs, Going Deeper into the Gist API
- as fully functioning apps, Gists as Fully Functioning Apps
- as repositories, Gists Are Repositories
- creating, Easy Code Sharing
- for rendering other gists, Gists that Render Gists-Using Hypermedia Data from Octokit
- from command line, Gist from the Command Line
- in HTML, Embedding Gists Inside HTML
- in Jekyll blogs, Embedding Inside Jekyll Blogs
- using hypermedia data from Octokit, Using Hypermedia Data from Octokit
- git credential fill command, Git Credential Helper
- Git credential helper, Git Credential Helper
- git log, Gists Are Repositories
- git push, Gists Are Repositories
- GitHub API
- accessing content from Web, Accessing Content from the Web-Retrieving formatted content
- and JSON–P, JSON-P
- as hypermedia API, Breadcrumbs to Successive API Paths
- authentication, Authentication-Simplified OAuth flow
- conditional requests to avoid rate limitations, Conditional Requests to Avoid Rate Limitations
- CORS support, CORS Support
- cURL and, cURL
- following a Hypermedia API, Following a Hypermedia API
- important headers, Important Headers
- JSON and, The JavaScript Object Notation (JSON) Format-Debugging Switches for cURL
- rate limits, GitHub API Rate Limits
- reading and writing data from, The Unclad GitHub API-Summary
- reasons for using, Why APIs and Why the GitHub API?
- status codes, Status Codes-Reading Your Rate Limits
- GitHub Enterprise, GitHub Enterprise-Documentation
- administration, Administration
- and C#, C#
- and cURL, Command-Line Client Tools: cURL
- and Java, Java
- and JavaScript library, JavaScript
- and Management Console API, Management API
- and Python, Python
- API, Structure of This Book
- documentation, Documentation
- endpoints, Endpoints
- example request using a client library, Example Request Using a Client Library
- full hostnames vs. mount points, Full Hostnames Versus Mount Points
- installation, Installation
- Ruby client configuration, Ruby Client Configuration
- GitHub login (search API GUI application), GitHub Login-GitHub Login
- GitHub Markup formats, Markup and Structure
- GitHub search (search API GUI application), GitHub Search-GitHub Search
- GitHub wikis, GitHub Wikis with Gollum-Summary
- GitHub.io personal blog site, Using a GitHub.io Jekyll blog
- GitHub.js library, Adding the Support Libraries, An AngularJS Application Using GitHub.js-CoffeeTech.js
- gitignore file, Jekyll Blog Quick Start
- Gollum
- adding structural components, Structural components
- and repository–linked wikis, Repository Linked Wikis
- as hackable wiki, Hacking Gollum
- basics, “The Story of Smeagol…”-Inserting images
- code snippets in wikis, Code snippets
- fixing linking between comp pages, Fixing Linking Between Comp Pages
- GitHub wikis with, GitHub Wikis with Gollum-Summary
- image editor construction, The Starting Point of a Gollum Editor
- improving revision navigation, Improving Revision Navigation
- inserting images, Inserting images
- link tag, Links
- markup options, Markup and Structure-Inserting images
- optimizing for image storage, Optimizing for Image Storage-Optimizing for Image Storage
- programmatically handling images, Programmatically Handling Images-Programmatically Handling Images
- reviewing wiki on GitHub, Reviewing on GitHub-Reviewing on GitHub
- Rugged library for adding files to wiki, Using the Rugged Library-Using the Rugged Library
- styling limitations, No styling or JavaScript
- Google Maps, Building a Coffee Shop Database on GitHub, Displaying (Soon-to-Be) User-Reported Data, Displaying (Soon-to-Be) User-Reported Data
- Gradle, Editing the Gradle Build File-Editing the Gradle Build File
- grep tool, Gist from the Command Line
- Grit
- GUI search API application
H
- hash message authentication code (HMAC), Securing the webhook
- headers
- hear method, Responding to the PR request
- Heroku
- hostnames, mapping, Mapping Hostnames
- HTML, Links
- HTTP Basic authentication, Username and Password Authentication
- HTTP caching tags, Conditional Requests to Avoid Rate Limitations
- HTTP handler, handling PR notifications as post requests over, Handling PR Notifications as Post Requests over HTTP-Sanitizing our source code
- HTTP server app example
- HTTP status codes, Status Codes-Reading Your Rate Limits
- hub tool, Using a GitHub.io Jekyll blog, Triggering Real Pull Requests
- Hubot, CoffeeScript, Hubot, and the Activity API-Summary
- and pull request response object, Peering into the response object
- basic, Creating a Vanilla Hubot
- capabilities of, Planning for PR Satisfaction Guaranteed
- channel creation, Naming the channel-Naming the channel
- code reviews via pull requests, Code Reviews via Pull Requests-Setting up our webhook
- considerations and limitations, Considerations and Limitations
- exploring vocabulary of, Exploring the Hubot vocabulary
- extensions, Writing a Hubot Extension
- first conversation, A first conversation
- handling PR notifications as post requests over HTTP, Handling PR Notifications as Post Requests over HTTP-Sanitizing our source code
- installation on Heroku, Installation on Heroku-Setting Up Heroku
- programming concepts, Writing a Hubot Extension
- responding to pull requests, Responding to the PR request-Responding to the PR request
- running locally, Running Hubot Locally
- sanitizing source code, Sanitizing our source code
- securing webhook, Securing the webhook-Securing the webhook
- sending PR data via webhook, Sending PR data via webhook-Sending PR data via webhook
- Slack account for, Creating a Slack Account-Naming the channel
- triggering real pull requests, Triggering Real Pull Requests-Triggering Real Pull Requests
- unifying usernames via Collaborators API, Unifying usernames via the Collaborators API
- using OAuth token to register for events, Using the OAuth Token to Register for Events-Using the OAuth Token to Register for Events
- webhook setup, Setting up our webhook
- writing tests for extensions, Writing tests for Hubot extensions-Writing tests for Hubot extensions
- Hubot brain
- Hypermedia API, Why APIs and Why the GitHub API?
- hypermedia API, Breadcrumbs to Successive API Paths
- hypermedia data, Octokit, Using Hypermedia Data from Octokit
I
- If–Modified–Since header, Conditional Requests to Avoid Rate Limitations
- If–None–Match header, Conditional Requests to Avoid Rate Limitations
- images
- incomplete_results field, Result Format
- indentation, CoffeeScript, Writing a Hubot Extension
- index.md file, Master Index File with Liquid Markup
- instrumentation registry, Android UI Tests
- integration tests, Android Automated Testing
- interactive Ruby shell (IRB), Refinining with Interactive Ruby, Scraping Body and Author
- issue search, Issue Search
- issues, Structure of This Book
- items array, Result Format
J
- Jasmine
- Java
- JavaScript, GitHub “First Class” Languages, JavaScript and the Git Data API-Summary
- Jekyll, Ruby and Jekyll-Summary
- Jekyll blogs, Jekyll Blog Quick Start-Summary
- adding images to, Adding Images to Jekyll
- and CNAME file, The CNAME file
- command line tool, Using the Jekyll Command-Line Tool-Using the Jekyll Command-Line Tool
- custom CSS for, Customizing Styling (CSS)-Customizing Styling (CSS)
- DNS settings, DNS settings
- for Android app, Creating a Jekyll Blog
- gists in, Embedding Inside Jekyll Blogs
- GitHub.io site creation, Using a GitHub.io Jekyll blog
- hosting via gh–pages branch, The gh-pages branch
- hosting your own domain, Hosting On Your Own Domain-DNS settings
- importing from other blogs into, Importing from Other Blogs-Importing from Other Blogs
- importing from Tumblr, Exporting from Wordpress Alternatives
- markup, Jekyll Markup
- master index file creation with Liquid Markup, Master Index File with Liquid Markup
- publishing on GitHub, Publishing on GitHub, Publishing Our Blog to GitHub
- scraper setup, Setting Up-Setting Up
- scraping sites into, Scraping Sites into Jekyll-Publishing Our Blog to GitHub
- scraping tactics, Jekyll Scraping Tactics
- simple blog creation, Jekyll Blog Quick Start-Exporting from Wordpress Alternatives
- writing posts, Writing Jekyll Posts-Writing Jekyll Posts
- YAML Front Matter, YFM: YAML Front Matter
- jekyll gem, Operating Jekyll Locally
- jekyll new command, Jekyll Blog Quick Start-Jekyll Blog Quick Start
- jekyll ––help command, Using the Jekyll Command
- jq, Parsing JSON from the Command Line-Parsing JSON from the Command Line
- JSON (JavaScript Object Notation), The JavaScript Object Notation (JSON) Format-Debugging Switches for cURL
- JSON.stringify, User-Contributed Data
- JSON–P, JSON-P
- JUnit library, Editing the Gradle Build File
N
- Nancy library, Libraries-Status Handler
- network calls, synchronous, Windowing and Interface
- NodeJS, GitHub “First Class” Languages
- node–github module, Responding to the PR request
- notifications, Activity API Overview
- NuGet, Xamarin Studio
- numerical values, in search queries, Search Operators and Qualifiers
- NVM (Node version manager), Node Version Manager
O
- OAuth, OAuth-Simplified OAuth flow
- and Commit Status API, The API
- authorization process outline, OAuth Flow
- benefits of, Toward a Safe Login Implementation
- flow for Commit Status API, OAuth Flow-OAuth Flow
- for coffee shop database app login, Toward a Safe Login Implementation-Implementing Firebase Login, Implementing Firebase Login
- scopes, OAuth-Scope escalation
- simplified flow, Simplified OAuth flow
- tokens, OAuth-Simplified OAuth flow, Scopes: specified actions tied to authentication tokens, Using the OAuth Token to Register for Events-Using the OAuth Token to Register for Events
- OAuth2, Simplified OAuth flow
- Octokit, Gists that Render Gists
- Octokit NuGet, Xamarin Studio
- Octokit Ruby, Gists that Render Gists
- OkHttp library, Editing the Gradle Build File
- onCreate function, Code to Log In to GitHub
- onPostExecute() function, Code to Log In to GitHub
- onView function, Android UI Tests
- operating system prerequisites, Operating System Prerequisites
- operators, search API, Search Operators and Qualifiers
- Organizations API, Structure of This Book
- output tags, Master Index File with Liquid Markup
P
- package.json, package.json
- password authentication, Username and Password Authentication
- pipes, Piping Output to Successive Commands
- post requests, handling PR notifications as, Handling PR Notifications as Post Requests over HTTP-Sanitizing our source code
- posts, blog, Writing Jekyll Posts-Writing Jekyll Posts
- privacy, Jekyll, Privacy Levels with Jekyll
- public gists, Gists Are Repositories
- published variable, YFM: YAML Front Matter
- publishing Jekyll blogs, Publishing Our Blog to GitHub
- pull requests
- and response object, Peering into the response object
- and user list from Hubot brain, The user list from the Hubot brain
- assigning an active chat room user to, Assigning an active chat room user-Assigning an active chat room user
- code reviews via, Code Reviews via Pull Requests-Setting up our webhook
- handling notifications as post requests over HTTP, Handling PR Notifications as Post Requests over HTTP-Sanitizing our source code
- responding to, Responding to the PR request-Responding to the PR request
- securing webhook, Securing the webhook-Securing the webhook
- sending data via webhook, Sending PR data via webhook-Sending PR data via webhook
- testing Hubot with, Triggering Real Pull Requests-Triggering Real Pull Requests
- unifying usernames via Collaborators API, Unifying usernames via the Collaborators API
- with coffee shop database app, Accepting Pull Requests
- PyInstaller, PyInstaller, Packaging
- Python
R
- rate limits
- redirection, Redirection
- RedirectToOAuth method, OAuth Flow
- repo scope, The API
- repositories
- respond callback, Peering into the response object
- respond method, Responding to the PR request
- RESTful APIs, Going Deeper into the Gist API
- retrieveBaseSha() function, The Base SHA from the Repository and Branch
- return value, search API, Result Format
- revisions, improving navigation of, Improving Revision Navigation
- Ruby, GitHub “First Class” Languages
- Ruby IRB, Refinining with Interactive Ruby
- RubyZip, Programmatically Handling Images
- Rugged library, Programmatically Handling Images, Using the Rugged Library-Using the Rugged Library
- RVM (Ruby Version Manager), Installing Ruby
S
- SaveFile function, Code to Talk to GitHub
- scopes, The API
- score field, Result Format
- scraping
- SDK (software development kit), Creating a New Project
- search API, Python and the Search API-Summary
- authentication, Authentication
- code search, Code Search
- displaying results, Displaying Results-Displaying Results
- example GUI application, Our Example Application-Summary
- general principles, Search API General Principles-Sorting
- Git credential helper, Git Credential Helper
- GitHub login, GitHub Login-GitHub Login
- GitHub search panel, GitHub Search-GitHub Search
- issue search, Issue Search
- operators and qualifiers, Search Operators and Qualifiers
- packaging, Packaging
- Python as implementation language for GUI application, Python-PyInstaller
- repository search, Repository Search
- result format, Result Format
- sorting of results, Sorting
- user flow, User Flow
- user search, User Search
- windowing and interface, Windowing and Interface-Windowing and Interface
- search query, Search Operators and Qualifiers
- search rate limits, GitHub API Rate Limits
- search results, displaying, Displaying Results-Displaying Results
- secret gists, Gists Are Repositories
- secure–compare module, Securing the webhook
- Session property, OAuth Flow
- SHA (secure hash algorithm), The Base SHA from the Repository and Branch
- shell, Operating System Prerequisites
- sidebars, in Gollum wikis, Structural components
- silent mode, Parsing JSON from the Command Line
- Sinatra, Gists as Fully Functioning Apps
- sitemaps, Going Deeper into the Gist API
- sizers, Windowing and Interface, GitHub Login
- Slack, Creating a Slack Account-Naming the channel
- Slack API, Assigning an active chat room user-Assigning an active chat room user
- sorting, search query results, Sorting
- source code management (SCM), Preface
- spyOn function, Making Our App Testable
- standard error, Parsing JSON from the Command Line
- status codes, Status Codes-Reading Your Rate Limits
- status handler, Status Handler-Status Handler
- String type, Code to Log In to GitHub
- subdomain, DNS setup with, DNS settings
- switches, cURL, Debugging Switches for cURL-Debugging Switches for cURL
- synchronous network calls, Windowing and Interface
T
- target SDK, Creating a New Project
- testing
- text format, Retrieving formatted content
- themes, Jekyll, Themes
- titles, scraping, Scraping Titles
- tokens, OAuth, OAuth-Simplified OAuth flow, Scopes: specified actions tied to authentication tokens, Using the OAuth Token to Register for Events-Using the OAuth Token to Register for Events
- total_count field, Result Format
- tree (for Android app), Generating a Tree
- Tumblr, Exporting from Wordpress Alternatives