diff --git a/_apps/commitlint.md b/_apps/commitlint.md index cb0b1a7..ca8c2ee 100644 --- a/_apps/commitlint.md +++ b/_apps/commitlint.md @@ -9,12 +9,16 @@ authors: - ahmed-taj repository: ahmed-taj/commitlint-bot host: https://commitlint.now.sh -stars: 20 -updated: 2017-11-08 18:31:05 UTC -installations: 4 +stars: 25 +updated: 2017-12-02 14:17:57 UTC +installations: 9 organizations: +- db-migrate +- caarlos0 - algolia - ahmed-taj +- aVengineers +- caiquecastro ---

diff --git a/_apps/dco.md b/_apps/dco.md index c34de2e..e3f36b7 100644 --- a/_apps/dco.md +++ b/_apps/dco.md @@ -4,24 +4,24 @@ description: Enforce the DCO on Pull Requests slug: dco screenshots: - https://cloud.githubusercontent.com/assets/173/24482273/a35dc23e-14b5-11e7-9371-fd241873e2c3.png -stars: 31 +stars: 36 authors: - bkeepers repository: probot/dco -updated: 2017-11-02 13:13:46 UTC +updated: 2017-12-13 17:18:43 UTC host: https://probot-dco.herokuapp.com -installations: 76 +installations: 98 organizations: - hyperledger +- gradle - jaegertracing - envoyproxy +- linkerd - phpmyadmin +- db-migrate - WeblateOrg - theupdateframework - coreinfrastructure -- redhat-developer -- mainflux -- jbosstools --- diff --git a/_apps/dep.md b/_apps/dep.md new file mode 100644 index 0000000..d3ae991 --- /dev/null +++ b/_apps/dep.md @@ -0,0 +1,74 @@ +--- +title: Dep +description: A dependency manager for your Pull Requests. +slug: dep +screenshots: +- https://github.com/ahmed-taj/dep/raw/master/docs/assets/comment.png +- https://github.com/ahmed-taj/dep/raw/master/docs/assets/status.png +authors: +- ahmed-taj +repository: ahmed-taj/dep +host: https://dep.now.sh +stars: 8 +updated: 2017-11-25 11:27:00 UTC +installations: 6 +organizations: +- probot +- tunnckoCore +- laughedelic +- philoserf +- aVengineers +--- + +

+ bot logo +

+ +A dependency manager for your Pull Requests. + +## Usage + +1. Browse to [GitHub Apps - dep][apps] +2. Accept the permissions +3. Allow access to repositories + +If you want to update a pull request dependencies write: + +![comment-screenshot][] + +On the pull request, a status check from `dep` will appear: + +![status-check-screenshot][] + +For best results, enable branch protection (in the repository's settings) and require the `dep` status check to pass before merging: + +![branch-protection-screenshot][] + +[apps]: https://github.com/apps/dep +[status-check-screenshot]: https://github.com/ahmed-taj/dep/raw/master/docs/assets/status.png +[comment-screenshot]: https://github.com/ahmed-taj/dep/raw/master/docs/assets/comment.png +[branch-protection-screenshot]: https://github.com/ahmed-taj/dep/raw/master/docs/assets/settings.png + +## Contributors + +Thanks goes to these wonderful people ([emoji key](https://github.com/kentcdodds/all-contributors#emoji-key)): + + + + + + +

Ahmed T. Ali

:memo: :computer: :book: :warning:

Jason Etcovitch

:speech_balloon: :thinking:
+ + +This project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification. Contributions of any kind welcome! + +## Credits + +The Logo is designed by [Freepik](https://www.freepik.com/free-vector/green-and-blue-retro-robots-collection_721192.htm). Modified by [Ahmed T. Ali](https://github.com/ahmed-taj). + +Special thanks to [Jason Etcovitch](https://github.com/JasonEtco) for their help, including the original bot idea. + +## License + +MIT © [Ahmed T. Ali](https://github.com/ahmed-taj) diff --git a/_apps/first-timers.md b/_apps/first-timers.md index d1b7728..0c7b409 100644 --- a/_apps/first-timers.md +++ b/_apps/first-timers.md @@ -7,11 +7,11 @@ screenshots: authors: - agonzalez0515 - Techforchange -stars: 90 +stars: 93 repository: hoodiehq/first-timers-bot -updated: 2017-11-15 16:43:52 UTC +updated: 2017-12-13 16:57:50 UTC host: https://first-timers-bot.now.sh -installations: 188 +installations: 199 organizations: - jekyll - processing @@ -22,7 +22,7 @@ organizations: - mikaelbr - terkelg - gr2m -- sotayamashita +- db-migrate --- # first-timers-bot diff --git a/_apps/gpg.md b/_apps/gpg.md index be02564..7d2d522 100644 --- a/_apps/gpg.md +++ b/_apps/gpg.md @@ -9,18 +9,20 @@ authors: - jarrodldavis repository: jarrodldavis/probot-gpg stars: 14 -updated: 2017-11-08 04:29:24 UTC +updated: 2017-12-13 16:57:48 UTC host: http://probot-gpg-production.herokuapp.com -installations: 14 +installations: 20 organizations: - saltstack -- twuni - mattstratton +- twuni - nikolay - luanmuniz - jarrodldavis - squid-lang - eiwuert +- kburman +- stationgroup --- ## Usage diff --git a/_apps/invite-contributors.md b/_apps/invite-contributors.md index 4fe4d36..ae3ea90 100644 --- a/_apps/invite-contributors.md +++ b/_apps/invite-contributors.md @@ -10,11 +10,13 @@ repository: erickzhao/invite-contributors stars: 8 updated: 2017-11-06 05:29:49 UTC host: https://vast-stream-78160.herokuapp.com -installations: 6 +installations: 8 organizations: - cla-assistant - flyve-mdm - aethonanbot +- sydneyhaskell +- aVengineers - chaijs - elodiebot - dddpppmmm diff --git a/_apps/lock.md b/_apps/lock.md new file mode 100644 index 0000000..a45bc46 --- /dev/null +++ b/_apps/lock.md @@ -0,0 +1,46 @@ +--- +title: Lock Threads +description: Locks closed issues and pull requests. +slug: lock +screenshots: +- https://raw.githubusercontent.com/dessant/lock-threads/master/assets/screenshot.png +authors: +- dessant +repository: dessant/lock-threads +host: https://probot-lock-threads.glitch.me +--- + +A GitHub App that locks closed issues and pull requests after +a period of inactivity. + +## Usage + +1. **[Install the GitHub App](https://github.com/apps/lock)** +2. Create `.github/lock.yml` based on the template below +3. It will start scanning for closed issues and/or pull requests within an hour + +#### Configuration + +Create `.github/lock.yml` in the default branch to enable the app. +The file can be empty, or it can override any of these default settings: + +```yml +# Configuration for lock-threads - https://github.com/dessant/lock-threads + +# Number of days of inactivity before a closed issue or pull request is locked +daysUntilLock: 365 +# Comment to post before locking. Set to `false` to disable +lockComment: > + This thread has been automatically locked because it has not had recent + activity. Please open a new issue for related bugs and link to relevant + comments in this thread. +# Limit to only `issues` or `pulls` +# only: issues +``` + +## Supporting the Project + +Lock Threads is an MIT-licensed open source project. Its ongoing +development is made possible thanks to the support of awesome backers. +If you'd like to join them, please consider contributing with +[Patreon](https://www.patreon.com/dessant). diff --git a/_apps/move.md b/_apps/move.md new file mode 100644 index 0000000..ee8bab2 --- /dev/null +++ b/_apps/move.md @@ -0,0 +1,72 @@ +--- +title: Move Issues +description: Moves issues to a different repository. +slug: move +screenshots: +- https://raw.githubusercontent.com/dessant/move-issues/master/assets/source-issue.png +- https://raw.githubusercontent.com/dessant/move-issues/master/assets/target-issue.png +authors: +- dessant +repository: dessant/move-issues +host: https://probot-move-issues.glitch.me +stars: 4 +updated: 2017-12-13 03:03:26 UTC +installations: 10 +organizations: +- kivy +- probot +- Dallas-Makerspace +- devopsdays +- aVengineers +- Triadai +--- + +A GitHub App that Moves issues to a different repository. + +## Usage + +1. **[Install the GitHub App](https://github.com/apps/move)** +2. Create `.github/move.yml` based on the template below +3. Move an issue by creating a comment with the command: `/move to ` + +#### Configuration + +Create `.github/move.yml` in the default branch to enable the app. +The file can be empty, or it can override any of these default settings: + +```yml +# Configuration for move-issues - https://github.com/dessant/move-issues + +# Delete the command comment. Ignored when the comment also contains other content +deleteCommand: true +# Close the source issue after moving +closeSourceIssue: true +# Lock the source issue after moving +lockSourceIssue: false +# Set custom aliases for targets +# aliases: +# r: repo +# or: owner/repo +``` + +#### Command Syntax + +```sh +/move [to ][/] +``` + +###### Examples: + +```sh +/move to repo +/move to owner/repo +/move repo +/move owner/repo +``` + +## Supporting the Project + +Move Issues is an MIT-licensed open source project. Its ongoing +development is made possible thanks to the support of awesome backers. +If you'd like to join them, please consider contributing with +[Patreon](https://www.patreon.com/dessant). diff --git a/_apps/no-response.md b/_apps/no-response.md index 13e4ae3..800f3bd 100644 --- a/_apps/no-response.md +++ b/_apps/no-response.md @@ -9,12 +9,19 @@ authors: - lee-dohm repository: probot/no-response host: https://probot-no-response.herokuapp.com -stars: 17 +stars: 20 updated: 2017-11-13 22:25:45 UTC -installations: 4 +installations: 12 organizations: - eggjs +- rmm5t - electron-userland +- probot +- db-migrate +- guillermocalvo +- CyclopsMC +- Dallas-Makerspace +- aVengineers --- Automatically closes Issues where the author hasn't responded to a request for more information. diff --git a/_apps/polls.md b/_apps/polls.md index 90ea1fe..5304fe3 100644 --- a/_apps/polls.md +++ b/_apps/polls.md @@ -10,20 +10,20 @@ authors: - evenchange4 repository: evenchange4/gh-polls-bot host: https://gh-polls-bot.now.sh -stars: 106 -updated: 2017-11-09 01:25:41 UTC -installations: 46 +stars: 111 +updated: 2017-12-13 16:57:39 UTC +installations: 60 organizations: - apex - chaijs - detailyang - ahmetb - probot +- hql287 - evhub - Glavin001 +- jbarlow83 - cheton -- axetroy -- notrab --- # GitHub Polls Bot diff --git a/_apps/prevent-public-repos.md b/_apps/prevent-public-repos.md new file mode 100644 index 0000000..4677452 --- /dev/null +++ b/_apps/prevent-public-repos.md @@ -0,0 +1,82 @@ +--- +# A human-friendly name of your listing +title: Prevent Public Repos +# A short description of what your app does +description: Prevent Repos from being made public in an organization +# The slug of your hosted app on GitHub (https://github.com/apps/YOUR-SLUG) +slug: prevent-public-repos +# Include a few screenshots that show your app in action +screenshots: +- https://user-images.githubusercontent.com/6920330/33576380-9a90cc92-d90d-11e7-9e61-6512240cdbf6.png +# The GitHub usernames of anyone who authored the app +authors: [ issc29 ] +# The repository where the code is located +repository: issc29/probot-prevent-public-repos +# The address where this app is deployed +host: https://probot-prevent-public-repos.herokuapp.com +--- + +# Prevent-Public-Repos Probot App + +A GitHub Probot App that monitors and prevents Public Repositories from being created in an organization. + + +## Features +- Can convert newly created Public Repos to Private +- Can also be enabled for repos that switch visibility from private to public + - Not enabled by default it is possible to restrict visibility changes to org owners [directly in GitHub](https://help.github.com/articles/repository-permission-levels-for-an-organization/#changing-the-visibility-of-repositories). +- Will create an issue in the repo explaining the action +- Monitor only mode will not change the repo visibility but will still create an issue +- Can set configuration parameters by using YAML file set in a specific repo for the entire org +- Can exclude certain repos +- Can set a list of users/groups to cc on every issue created + +## Get Started + +1. [Configure the GitHub App](https://github.com/apps/prevent-public-repos) +2. [Recommended] Create repo named `org-settings` and in it a file `.github/prevent-public-repos.yml` as described in the [How it Works](#How-it-Works) section to configure settings (and override defaults) +3. It will then prevent public repos from being created + +## How it Works + +By default when a new repository is created with Public visibility, an Issue will be created in the repository warning that it is Public to the internet [Monitor-Only mode is enabled]. + +A `.github/prevent-public-repos.yml` file is recommended to override the [default settings](https://github.com/issc29/probot-prevent-public-repos/blob/master/lib/defaults.js) created in Repository `org-settings`. This repository will contain global settings for the organization. + +```yml +# Configuration for Prevent-Public-Repos + +# Turn on Monitor Mode. In this mode the repo visibility is not modified and only an Issue is created +monitorOnly: true + +# Enables detection of repos that change visibility from private to public (not just newly created ones) +enablePrivateToPublic: false + +# Issue Title when repo is privatized +privatizedIssueTitle: '[CRITICAL] Public Repositories are Disabled for this Org' + +# Issue Body when repo is privatized +privatizedIssueBody: 'NOTE: Public Repos are disabled for this organization! Repository was automatically converted to a Private Repo. Please contact an admin to override.' + +# Issue Title when monitor mode is enabled +monitorIssueTitle: '[CRITICAL] Public Repository Created' + +# Issue Body when monitor mode is enable +monitorIssueBody: 'Please note that this repository is publicly visible to the internet!' + +# Users/Groups that should be cc'ed on the issue. Should be users/groups separated by a space. +# ccList: '@user123 @user456' + +# Repos to exclude in detection. Should be a List of Strings. +# excludeRepos: ['repo1', 'repo2'] +``` + +When setting up this Probot App you can also set a number of Environment Variables + +## Deployment + +See [docs/deploy.md](https://github.com/issc29/probot-prevent-public-repos/blob/master/docs/deploy.md) if you would like to run your own instance of this app. + +Possible Environment Variables: +- FILE_NAME [default: '.github/prevent-public-repos.yml'] - Sets the location/file name of the config yml file +- ORG_WIDE_REPO_NAME [default: 'org-settings'] - Set the repo where to find the config yml file diff --git a/_apps/reminders.md b/_apps/reminders.md index e8b92fc..8d4607e 100644 --- a/_apps/reminders.md +++ b/_apps/reminders.md @@ -8,21 +8,21 @@ authors: - jbjonesjr - bkeepers repository: probot/reminders -stars: 8 -updated: 2017-11-02 15:17:46 UTC +stars: 9 +updated: 2017-12-06 14:56:36 UTC host: https://probot-reminders.herokuapp.com -installations: 44 +installations: 70 organizations: - eggjs - chaijs - devtools-html - thibmaek -- carambalabs - probot +- goreleaser +- carambalabs - gillesdemey - coredns -- cherrypy -- timvideos +- db-migrate --- Use the `/remind` slash command to set a reminder on any comment box on GitHub and you'll get a ping about it again when the reminder is due. diff --git a/_apps/request-info.md b/_apps/request-info.md index 9b578d1..3451cfd 100644 --- a/_apps/request-info.md +++ b/_apps/request-info.md @@ -5,24 +5,24 @@ description: Requests more info on issues and pull requests with the default tit slug: request-info screenshots: - https://user-images.githubusercontent.com/13410355/28132821-d37bf2a8-66f2-11e7-9e7b-5930ba65d67a.png -stars: 11 +stars: 16 authors: - hiimbex repository: behaviorbot/request-info -updated: 2017-10-21 13:29:36 UTC +updated: 2017-12-07 11:25:34 UTC host: https://probot-request-info.herokuapp.com -installations: 49 +installations: 65 organizations: - nlohmann +- cdnjs - eggjs - electron-userland +- jsonresume +- bolt - desktop -- benbalter - nozzle +- benbalter - terkelg -- probot -- Glavin001 -- clippings --- diff --git a/_apps/sentiment-bot.md b/_apps/sentiment-bot.md index b9794aa..d5f2732 100644 --- a/_apps/sentiment-bot.md +++ b/_apps/sentiment-bot.md @@ -5,24 +5,24 @@ description: Replies to toxic comments with a maintainer designated reply and a slug: sentiment-bot screenshots: - https://user-images.githubusercontent.com/13410355/29323857-fcfe4b4e-8196-11e7-9a08-6184fd46edbb.png -stars: 12 +stars: 20 authors: - hiimbex repository: behaviorbot/sentiment-bot -updated: 2017-10-19 15:54:50 UTC +updated: 2017-12-07 11:27:04 UTC host: https://probot-sentiment-bot.herokuapp.com -installations: 22 +installations: 27 organizations: - nlohmann - MvvmCross -- carambalabs - probot +- carambalabs - xcodeswift +- Dallas-Makerspace - WormieCorp - neetjn - JourneyOver - Mariatta -- marclop --- Replies to toxic comments with a maintainer designated reply and a link to the repo's code of conduct. It does so by taking data from a `.github/config.yml`. diff --git a/_apps/settings.md b/_apps/settings.md index 1bfe6fe..12ff504 100644 --- a/_apps/settings.md +++ b/_apps/settings.md @@ -2,15 +2,15 @@ title: Settings description: Pull Requests for repository settings slug: settings -stars: 171 +stars: 174 authors: - bkeepers repository: probot/settings screenshots: - https://user-images.githubusercontent.com/173/29472917-3fad9db0-841b-11e7-8f6d-a6c63052122b.png -updated: 2017-11-02 13:13:36 UTC +updated: 2017-12-13 16:57:44 UTC host: https://github-configurer.herokuapp.com -installations: 69 +installations: 78 organizations: - apollographql - denysdovhan @@ -18,10 +18,10 @@ organizations: - wp-cli - benbalter - probot +- TGMPA - purpleidea +- GaryJones - pages-themes -- coveralls-clients -- cla-assistant --- This GitHub App syncs repository settings defined in `.github/settings.yml` to GitHub, enabling Pull Requests for repository settings. diff --git a/_apps/stale.md b/_apps/stale.md index fa4fc8a..d477820 100644 --- a/_apps/stale.md +++ b/_apps/stale.md @@ -7,21 +7,21 @@ screenshots: - https://user-images.githubusercontent.com/173/27765705-93f94940-5e7e-11e7-8527-3a91bb64ca70.png authors: - bkeepers -stars: 219 +stars: 241 repository: probot/stale -updated: 2017-11-12 22:20:31 UTC +updated: 2017-12-12 06:40:41 UTC host: https://probot-stale.herokuapp.com -installations: 308 +installations: 375 organizations: - atom - facebook - Homebrew - nwjs -- fchollet -- apollographql +- gohugoio - hexojs - bumptech - strongloop +- storybooks - sequelize --- diff --git a/_apps/support.md b/_apps/support.md index 2a5ed4c..d39e5d6 100644 --- a/_apps/support.md +++ b/_apps/support.md @@ -8,12 +8,17 @@ authors: - dessant repository: dessant/support-requests host: https://probot-support-requests.glitch.me -stars: 0 -updated: 2017-11-12 11:15:14 UTC -installations: 3 +stars: 1 +updated: 2017-12-13 02:58:50 UTC +installations: 9 organizations: - kivy +- MinecraftForge - nozzle +- PHPOffice +- PHPMap +- aVengineers +- Triadai --- A GitHub App that comments on and closes issues labeled as support requests. diff --git a/_apps/todo.md b/_apps/todo.md index c78cffa..af67583 100644 --- a/_apps/todo.md +++ b/_apps/todo.md @@ -8,20 +8,20 @@ authors: - JasonEtco repository: JasonEtco/todo host: https://todo-api.jasonet.co -stars: 47 -updated: 2017-11-02 15:33:07 UTC -installations: 59 +stars: 51 +updated: 2017-12-05 05:46:12 UTC +installations: 85 organizations: - thibmaek -- material-motion +- goreleaser +- caarlos0 +- SpoonX - icco +- getantibody +- drinchev - phatblat -- fennecdjay -- ChrisMcKenzie -- JasonEtco -- bobsru -- TheKevJames -- miklb +- mtxr +- ignatandrei --- ## Usage diff --git a/_apps/unfurl-links.md b/_apps/unfurl-links.md new file mode 100644 index 0000000..bb80dca --- /dev/null +++ b/_apps/unfurl-links.md @@ -0,0 +1,27 @@ +--- +title: Unfurl Links +description: Add context to the links shared in discussions +slug: unfurl-links +screenshots: +- https://user-images.githubusercontent.com/173/32036265-57a501ca-b9e4-11e7-9db3-52374fb7290c.png +authors: +- bkeepers +repository: probot/unfurl +host: http://probot-unfurl.herokuapp.com +stars: 14 +updated: 2017-10-29 13:53:48 UTC +installations: 27 +organizations: +- reactiveui +- probot +- goreleaser +- caarlos0 +- wangzuo +- xcodeswift +- timvideos +- getantibody +- tunnckoCore +- mwarkentin +--- + +When a link is found in a comment, this app will add more information to the bottom of the comment about the link. diff --git a/_apps/untrivializer.md b/_apps/untrivializer.md new file mode 100644 index 0000000..192887d --- /dev/null +++ b/_apps/untrivializer.md @@ -0,0 +1,52 @@ +--- +title: Untrivializer +description: An app that asks if you're really sure something is trivial when you make a comment in Github issues. +slug: https://github.com/apps/untrivializer +screenshots: +- https://raw.githubusercontent.com/entendu/untrivializer/master/docs/ss.png +authors: [ entendu ] +repository: entendu/untrivializer +host: https://puffy-aftermath.glitch.me/ +--- + +# untrivializer + +> a GitHub App built with [probot](https://github.com/probot/probot) that asks in Github comments if you're really sure something is trivial. + +![screenshot](https://raw.githubusercontent.com/entendu/untrivializer/master/docs/ss.png) + +## But why tho + +A lot of times we'll write up an issue without really thinking it through: + +> We want _X_. Just do thing _Y_ to get it, that should be really simple. + +> Make change _Z_, it should be trivial. + +> Do thing _Foo_, it's super easy. + +Doing those things (almost without fail) takes way, way more time than we think it will. Why? A couple reasons: + +* If we're making a comment like that we're probably not thinking through all the little details anyway, +* We're all just [terrible at estimating, _even when we know we're terrible at estimating_](https://en.wikipedia.org/wiki/Planning_fallacy) (it's truly incredible), +* We often forget the downstream repercussions of "simple" changes -- one line of code for you might mean 3 hours or more of code review, testing, etc. + +So this little robot tries to detect when you've said something "should be simple" and asks if that's really the case. The default reply is: + +> Did you mean, "_might be straightforward, but could have unforseen complexities that would completely change the prioritization of the issue, so we should let it go through the normal planning and estimation process_"[?](https://en.wikipedia.org/wiki/Planning_fallacy) + +Detection is an ugly regex. + +## Running + +I think you can run this as a Github app here: https://github.com/apps/untrivializer but no guarantees that the backend will stay up. If you'd rather run it yourself (I don't blame you) look below. + +## Setup + +``` +# Install dependencies +npm install + +# Run the bot +npm start +``` diff --git a/_apps/update-docs.md b/_apps/update-docs.md index d8199fb..251d042 100644 --- a/_apps/update-docs.md +++ b/_apps/update-docs.md @@ -5,21 +5,23 @@ description: Replies to newly opened pull requests that do no update a file in t slug: update-docs screenshots: - https://user-images.githubusercontent.com/13410355/28179044-97207bee-67b5-11e7-80d0-0c8ede4a325f.png -stars: 5 +stars: 6 authors: - hiimbex repository: behaviorbot/update-docs -updated: 2017-10-19 16:03:37 UTC +updated: 2017-12-08 07:07:31 UTC host: https://probot-update-docs.herokuapp.com -installations: 13 +installations: 17 organizations: - adonisjs - xcodeswift - behaviorbot +- PHPMap - ilovecode1 -- marclop - philoserf +- marclop - cms-gem-daq-project +- aVengineers - robotland --- diff --git a/_apps/validate-commit-msg.md b/_apps/validate-commit-msg.md index a102789..2c3ca66 100644 --- a/_apps/validate-commit-msg.md +++ b/_apps/validate-commit-msg.md @@ -8,20 +8,21 @@ screenshots: authors: - tlvince repository: tlvince/validate-commit-msg-bot -stars: 3 +stars: 6 updated: 2017-11-09 09:50:12 UTC host: https://validate-commit-msg-bot.now.sh -installations: 16 +installations: 25 organizations: - chaijs +- SpoonX - angular-pouchdb - axetroy +- devcenter-square - christophehurpeau +- flyve-mdm - tlvince - nikolay - luanmuniz -- Robophil -- lostintangent redirect_from: "/apps/validate-commit-msg-bot/" --- diff --git a/_apps/welcome.md b/_apps/welcome.md index 938f02f..2367111 100644 --- a/_apps/welcome.md +++ b/_apps/welcome.md @@ -6,24 +6,24 @@ screenshots: - https://user-images.githubusercontent.com/13410355/28288851-679f582a-6af5-11e7-8dd8-b85b6c33e16b.png - https://user-images.githubusercontent.com/13410355/28288547-5f83aa8e-6af4-11e7-9692-eb41d42431e2.png - https://user-images.githubusercontent.com/13410355/28289605-1ab81a76-6af8-11e7-8f78-6a1b3948df36.png -stars: 22 +stars: 23 authors: - hiimbex repository: behaviorbot/welcome updated: 2017-10-23 06:55:13 UTC host: https://probot-welcome.herokuapp.com -installations: 75 +installations: 86 organizations: - vuejs - electron - kivy - StevenBlack - electron-userland +- getinsomnia - MarshallOfSound - benbalter -- carambalabs - probot -- karthik +- carambalabs --- diff --git a/_apps/wip.md b/_apps/wip.md index 380bb43..bc9f9cc 100644 --- a/_apps/wip.md +++ b/_apps/wip.md @@ -7,10 +7,10 @@ screenshots: authors: - gr2m repository: gr2m/wip-bot -stars: 28 -updated: 2017-11-05 23:25:40 UTC +stars: 34 +updated: 2017-12-13 17:00:51 UTC host: https://wip-bot.now.sh -installations: 153 +installations: 214 organizations: - dotnet - jekyll @@ -18,10 +18,10 @@ organizations: - aurelia - saltstack - Microsoft +- PowerShell - eggjs - go-sql-driver - reactiveui -- hoodiehq --- If you don’t want a pull request to be merged accidentally, add the word "wip" or "WIP" to its title and WIP bot will set its status to error. That’s all :) diff --git a/_data/toc.yml b/_data/toc.yml index e437068..bdfdfd3 100644 --- a/_data/toc.yml +++ b/_data/toc.yml @@ -8,6 +8,7 @@ Advanced: - docs/http.md - docs/simulating-webhooks.md - docs/testing.md + - docs/logging.md - docs/pagination.md - docs/extensions.md - docs/deployment.md diff --git a/_includes/app.html b/_includes/app.html index 027c3cf..99dc539 100644 --- a/_includes/app.html +++ b/_includes/app.html @@ -1,8 +1,8 @@
- +

{{ app.title }}

{{ app.description }}

-
+
{% if app.installations %}
{% octicon cloud-download height:16 class:"v-align-middle" %} {{ app.installations }}
diff --git a/_submodules/probot b/_submodules/probot index 5bbe625..60c1b2b 160000 --- a/_submodules/probot +++ b/_submodules/probot @@ -1 +1 @@ -Subproject commit 5bbe625ab6859aee4472ab4642c5ca3ec6aa2e5e +Subproject commit 60c1b2b2458a4154a2c2fa52149972801acaec6f diff --git a/api/4.0.0/Context.html b/api/4.0.0/Context.html new file mode 100644 index 0000000..b4d10f2 --- /dev/null +++ b/api/4.0.0/Context.html @@ -0,0 +1,913 @@ + + + + + + Context - Documentation + + + + + + + + + + + + + + + +
+ +
+ +

Context

+ + + + + + + +
+ +
+ +

+ Context +

+ +

Helpers for extracting information from the webhook event, which can be +passed to GitHub API calls.

+ + +
+ +
+
+ + +
+ + +

Constructor

+ + +

new Context()

+ + + + + + + + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
github + + +github + + + +

An authenticated GitHub API client

payload + + +payload + + + +

The webhook event payload

log + + +logger + + + +

A logger

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + +

Members

+ + + +
+

isBot :boolean

+ + + + +
+

Returns a boolean if the actor on the event was a bot.

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + +
Type:
+
    +
  • + +boolean + + +
  • +
+ + + + + +
+ + + + + +

Methods

+ + + +
+ + + +

config(fileName, defaultConfigopt) → {Promise.<Object>}

+ + + + + +
+

Reads the app configuration from the given YAML file in the .github +directory of the repository.

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
fileName + + +string + + + + + + + + + + +

Name of the YAML file in the .github directory

+ +
defaultConfig + + +object + + + + + + <optional>
+ + + + + +
+

An object of default config options

+ +
+ + + + + + + + + + + + + + +
+
Returns:
+ + + +
+
+ Type: +
+
+ +Promise.<Object> + + +
+
+ + +
+
    +
  • Configuration object read from the file
  • +
+
+ + +
+ + + +
+
Examples
+ +

Contents of .github/myapp.yml.

+ +
close: true
+comment: Check the specs on the rotary girder.
+ +

App that reads from .github/myapp.yml.

+ +
// Load config from .github/myapp.yml in the repository
+const config = await context.config('myapp.yml')
+
+if (config.close) {
+  context.github.issues.comment(context.issue({body: config.comment}))
+  context.github.issues.edit(context.issue({state: 'closed'}))
+}
+ +

Using a defaultConfig object.

+ +
// Load config from .github/myapp.yml in the repository and combine with default config
+const config = await context.config('myapp.yml', {comment: 'Make sure to check all the specs.'})
+
+if (config.close) {
+  context.github.issues.comment(context.issue({body: config.comment}));
+  context.github.issues.edit(context.issue({state: 'closed'}))
+}
+ +
+ +
+ + +
+ + + +

issue(objectopt)

+ + + + + +
+

Return the owner, repo, and number params for making API requests +against an issue or pull request. The object passed in will be merged with +the repo params.

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
object + + +object + + + + + + <optional>
+ + + + + +
+

Params to be merged with the issue params.

+ +
+ + + + + + + + + + + + + + + + +
+
Example
+ +
const params = context.issue({body: 'Hello World!'})
+// Returns: {owner: 'username', repo: 'reponame', number: 123, body: 'Hello World!'}
+ +
+ +
+ + +
+ + + +

repo(objectopt)

+ + + + + +
+

Return the owner and repo params for making API requests against a +repository.

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
object + + +object + + + + + + <optional>
+ + + + + +
+

Params to be merged with the repo params.

+ +
+ + + + + + + + + + + + + + + + +
+
Example
+ +
const params = context.repo({path: '.github/stale.yml'})
+// Returns: {owner: 'username', repo: 'reponame', path: '.github/stale.yml'}
+ +
+ +
+ + + + + + +
+ +
+ + + + +
+ +
+ +
+ Generated by JSDoc 3.5.5 on Wed Dec 13 2017 10:15:16 GMT-0600 (CST) using the Minami theme. +
+ + + + + \ No newline at end of file diff --git a/api/4.0.0/Robot.html b/api/4.0.0/Robot.html new file mode 100644 index 0000000..41ed100 --- /dev/null +++ b/api/4.0.0/Robot.html @@ -0,0 +1,729 @@ + + + + + + Robot - Documentation + + + + + + + + + + + + + + + + + +
+ +

Robot

+ + + + + + + +
+ +
+ +

+ Robot +

+ +

The robot parameter available to apps

+ + +
+ +
+
+ + +
+ + +

Constructor

+ + +

new Robot()

+ + + + + + + + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
log + + +logger + + + +

A logger

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + +

Methods

+ + + +
+ + + +

on(event, callback)

+ + + + + +
+

Listen for GitHub webhooks, +which are fired for almost every significant action that users take on +GitHub.

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
event + + +string + + + + +

the name of the GitHub webhook +event. Most events also +include an "action". For example, the * issues +event has actions of assigned, unassigned, labeled, unlabeled, +opened, edited, milestoned, demilestoned, closed, and reopened. +Often, your bot will only care about one type of action, so you can append +it to the event name with a ., like issues.closed.

+ +
callback + + +Robot~webhookCallback + + + + +

a function to call when the +webhook is received.

+ +
+ + + + + + + + + + + + + + + + +
+
Example
+ +
robot.on('push', context => {
+  // Code was just pushed.
+});
+
+robot.on('issues.opened', context => {
+  // An issue was just opened.
+});
+ +
+ +
+ + +
+ + + +

route(path)

+ + + + + +
+

Get an express router that can be used to +expose HTTP endpoints

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
path + + +string + + + + +

the prefix for the routes

+ +
+ + + + + + + + + + + + + + +
+
Returns:
+ + + + + + + +
+ + + +
+
Example
+ +
module.exports = robot => {
+  // Get an express router to expose new HTTP endpoints
+  const app = robot.route('/my-app');
+
+  // Use any middleware
+  app.use(require('express').static(__dirname + '/public'));
+
+  // Add a new route
+  app.get('/hello-world', (req, res) => {
+    res.end('Hello World');
+  });
+};
+ +
+ +
+ + + + +

Type Definitions

+ + + +
+ + + +

webhookCallback(context)

+ + + + + +
+

Do the thing

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
context + + +Context + + + + +

the context of the event that was triggered, + including context.payload, and helpers for extracting information from + the payload, which can be passed to GitHub API calls.

+
 module.exports = robot => {
+   robot.on('push', context => {
+     // Code was pushed to the repo, what should we do with it?
+     robot.log(context);
+   });
+ };
+ +
+ + + + + + + + + + + + + + + + +
+ + + + +
+ +
+ + + + +
+ +
+ +
+ Generated by JSDoc 3.5.5 on Wed Dec 13 2017 10:15:16 GMT-0600 (CST) using the Minami theme. +
+ + + + + \ No newline at end of file diff --git a/api/4.0.0/context.js.html b/api/4.0.0/context.js.html new file mode 100644 index 0000000..25ff5aa --- /dev/null +++ b/api/4.0.0/context.js.html @@ -0,0 +1,180 @@ + + + + + + context.js - Documentation + + + + + + + + + + + + + + + + + +
+ +

context.js

+ + + + + + + +
+
+
const path = require('path')
+const yaml = require('js-yaml')
+
+/**
+ * Helpers for extracting information from the webhook event, which can be
+ * passed to GitHub API calls.
+ *
+ * @property {github} github - An authenticated GitHub API client
+ * @property {payload} payload - The webhook event payload
+ * @property {logger} log - A logger
+ */
+class Context {
+  constructor (event, github, log) {
+    Object.assign(this, event)
+    this.github = github
+    this.log = log
+  }
+
+  /**
+   * Return the `owner` and `repo` params for making API requests against a
+   * repository.
+   *
+   * @param {object} [object] - Params to be merged with the repo params.
+   *
+   * @example
+   *
+   * const params = context.repo({path: '.github/stale.yml'})
+   * // Returns: {owner: 'username', repo: 'reponame', path: '.github/stale.yml'}
+   *
+   */
+  repo (object) {
+    const repo = this.payload.repository
+
+    return Object.assign({
+      owner: repo.owner.login || repo.owner.name,
+      repo: repo.name
+    }, object)
+  }
+
+  /**
+   * Return the `owner`, `repo`, and `number` params for making API requests
+   * against an issue or pull request. The object passed in will be merged with
+   * the repo params.
+   *
+   * @example
+   *
+   * const params = context.issue({body: 'Hello World!'})
+   * // Returns: {owner: 'username', repo: 'reponame', number: 123, body: 'Hello World!'}
+   *
+   * @param {object} [object] - Params to be merged with the issue params.
+   */
+  issue (object) {
+    const payload = this.payload
+    return Object.assign({
+      number: (payload.issue || payload.pull_request || payload).number
+    }, this.repo(), object)
+  }
+
+  /**
+   * Returns a boolean if the actor on the event was a bot.
+   * @type {boolean}
+   */
+  get isBot () {
+    return this.payload.sender.type === 'Bot'
+  }
+
+  /**
+   * Reads the app configuration from the given YAML file in the `.github`
+   * directory of the repository.
+   *
+   * @example <caption>Contents of <code>.github/myapp.yml</code>.</caption>
+   *
+   * close: true
+   * comment: Check the specs on the rotary girder.
+   *
+   * @example <caption>App that reads from <code>.github/myapp.yml</code>.</caption>
+   *
+   * // Load config from .github/myapp.yml in the repository
+   * const config = await context.config('myapp.yml')
+   *
+   * if (config.close) {
+   *   context.github.issues.comment(context.issue({body: config.comment}))
+   *   context.github.issues.edit(context.issue({state: 'closed'}))
+   * }
+   *
+   * @example <caption>Using a <code>defaultConfig</code> object.</caption>
+   *
+   * // Load config from .github/myapp.yml in the repository and combine with default config
+   * const config = await context.config('myapp.yml', {comment: 'Make sure to check all the specs.'})
+   *
+   * if (config.close) {
+   *   context.github.issues.comment(context.issue({body: config.comment}));
+   *   context.github.issues.edit(context.issue({state: 'closed'}))
+   * }
+   *
+   * @param {string} fileName - Name of the YAML file in the `.github` directory
+   * @param {object} [defaultConfig] - An object of default config options
+   * @return {Promise<Object>} - Configuration object read from the file
+   */
+  async config (fileName, defaultConfig) {
+    const params = this.repo({path: path.posix.join('.github', fileName)})
+
+    try {
+      const res = await this.github.repos.getContent(params)
+      const config = yaml.safeLoad(Buffer.from(res.data.content, 'base64').toString()) || {}
+      return Object.assign({}, defaultConfig, config)
+    } catch (err) {
+      if (err.code === 404) {
+        if (defaultConfig) {
+          return defaultConfig
+        }
+        return null
+      } else {
+        throw err
+      }
+    }
+  }
+}
+
+module.exports = Context
+
+
+
+ + + + +
+ +
+ +
+ Generated by JSDoc 3.5.5 on Wed Dec 13 2017 10:15:16 GMT-0600 (CST) using the Minami theme. +
+ + + + + diff --git a/api/4.0.0/fonts/OpenSans-Bold-webfont.eot b/api/4.0.0/fonts/OpenSans-Bold-webfont.eot new file mode 100644 index 0000000..5d20d91 Binary files /dev/null and b/api/4.0.0/fonts/OpenSans-Bold-webfont.eot differ diff --git a/api/4.0.0/fonts/OpenSans-Bold-webfont.svg b/api/4.0.0/fonts/OpenSans-Bold-webfont.svg new file mode 100644 index 0000000..3ed7be4 --- /dev/null +++ b/api/4.0.0/fonts/OpenSans-Bold-webfont.svg @@ -0,0 +1,1830 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/api/4.0.0/fonts/OpenSans-Bold-webfont.woff b/api/4.0.0/fonts/OpenSans-Bold-webfont.woff new file mode 100644 index 0000000..1205787 Binary files /dev/null and b/api/4.0.0/fonts/OpenSans-Bold-webfont.woff differ diff --git a/api/4.0.0/fonts/OpenSans-BoldItalic-webfont.eot b/api/4.0.0/fonts/OpenSans-BoldItalic-webfont.eot new file mode 100644 index 0000000..1f639a1 Binary files /dev/null and b/api/4.0.0/fonts/OpenSans-BoldItalic-webfont.eot differ diff --git a/api/4.0.0/fonts/OpenSans-BoldItalic-webfont.svg b/api/4.0.0/fonts/OpenSans-BoldItalic-webfont.svg new file mode 100644 index 0000000..6a2607b --- /dev/null +++ b/api/4.0.0/fonts/OpenSans-BoldItalic-webfont.svg @@ -0,0 +1,1830 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/api/4.0.0/fonts/OpenSans-BoldItalic-webfont.woff b/api/4.0.0/fonts/OpenSans-BoldItalic-webfont.woff new file mode 100644 index 0000000..ed760c0 Binary files /dev/null and b/api/4.0.0/fonts/OpenSans-BoldItalic-webfont.woff differ diff --git a/api/4.0.0/fonts/OpenSans-Italic-webfont.eot b/api/4.0.0/fonts/OpenSans-Italic-webfont.eot new file mode 100644 index 0000000..0c8a0ae Binary files /dev/null and b/api/4.0.0/fonts/OpenSans-Italic-webfont.eot differ diff --git a/api/4.0.0/fonts/OpenSans-Italic-webfont.svg b/api/4.0.0/fonts/OpenSans-Italic-webfont.svg new file mode 100644 index 0000000..e1075dc --- /dev/null +++ b/api/4.0.0/fonts/OpenSans-Italic-webfont.svg @@ -0,0 +1,1830 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/api/4.0.0/fonts/OpenSans-Italic-webfont.woff b/api/4.0.0/fonts/OpenSans-Italic-webfont.woff new file mode 100644 index 0000000..ff652e6 Binary files /dev/null and b/api/4.0.0/fonts/OpenSans-Italic-webfont.woff differ diff --git a/api/4.0.0/fonts/OpenSans-Light-webfont.eot b/api/4.0.0/fonts/OpenSans-Light-webfont.eot new file mode 100644 index 0000000..1486840 Binary files /dev/null and b/api/4.0.0/fonts/OpenSans-Light-webfont.eot differ diff --git a/api/4.0.0/fonts/OpenSans-Light-webfont.svg b/api/4.0.0/fonts/OpenSans-Light-webfont.svg new file mode 100644 index 0000000..11a472c --- /dev/null +++ b/api/4.0.0/fonts/OpenSans-Light-webfont.svg @@ -0,0 +1,1831 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/api/4.0.0/fonts/OpenSans-Light-webfont.woff b/api/4.0.0/fonts/OpenSans-Light-webfont.woff new file mode 100644 index 0000000..e786074 Binary files /dev/null and b/api/4.0.0/fonts/OpenSans-Light-webfont.woff differ diff --git a/api/4.0.0/fonts/OpenSans-LightItalic-webfont.eot b/api/4.0.0/fonts/OpenSans-LightItalic-webfont.eot new file mode 100644 index 0000000..8f44592 Binary files /dev/null and b/api/4.0.0/fonts/OpenSans-LightItalic-webfont.eot differ diff --git a/api/4.0.0/fonts/OpenSans-LightItalic-webfont.svg b/api/4.0.0/fonts/OpenSans-LightItalic-webfont.svg new file mode 100644 index 0000000..431d7e3 --- /dev/null +++ b/api/4.0.0/fonts/OpenSans-LightItalic-webfont.svg @@ -0,0 +1,1835 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/api/4.0.0/fonts/OpenSans-LightItalic-webfont.woff b/api/4.0.0/fonts/OpenSans-LightItalic-webfont.woff new file mode 100644 index 0000000..43e8b9e Binary files /dev/null and b/api/4.0.0/fonts/OpenSans-LightItalic-webfont.woff differ diff --git a/api/4.0.0/fonts/OpenSans-Regular-webfont.eot b/api/4.0.0/fonts/OpenSans-Regular-webfont.eot new file mode 100644 index 0000000..6bbc3cf Binary files /dev/null and b/api/4.0.0/fonts/OpenSans-Regular-webfont.eot differ diff --git a/api/4.0.0/fonts/OpenSans-Regular-webfont.svg b/api/4.0.0/fonts/OpenSans-Regular-webfont.svg new file mode 100644 index 0000000..25a3952 --- /dev/null +++ b/api/4.0.0/fonts/OpenSans-Regular-webfont.svg @@ -0,0 +1,1831 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/api/4.0.0/fonts/OpenSans-Regular-webfont.woff b/api/4.0.0/fonts/OpenSans-Regular-webfont.woff new file mode 100644 index 0000000..e231183 Binary files /dev/null and b/api/4.0.0/fonts/OpenSans-Regular-webfont.woff differ diff --git a/api/4.0.0/fonts/OpenSans-Semibold-webfont.eot b/api/4.0.0/fonts/OpenSans-Semibold-webfont.eot new file mode 100644 index 0000000..d8375dd Binary files /dev/null and b/api/4.0.0/fonts/OpenSans-Semibold-webfont.eot differ diff --git a/api/4.0.0/fonts/OpenSans-Semibold-webfont.svg b/api/4.0.0/fonts/OpenSans-Semibold-webfont.svg new file mode 100644 index 0000000..eec4db8 --- /dev/null +++ b/api/4.0.0/fonts/OpenSans-Semibold-webfont.svg @@ -0,0 +1,1830 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/api/4.0.0/fonts/OpenSans-Semibold-webfont.ttf b/api/4.0.0/fonts/OpenSans-Semibold-webfont.ttf new file mode 100644 index 0000000..b329084 Binary files /dev/null and b/api/4.0.0/fonts/OpenSans-Semibold-webfont.ttf differ diff --git a/api/4.0.0/fonts/OpenSans-Semibold-webfont.woff b/api/4.0.0/fonts/OpenSans-Semibold-webfont.woff new file mode 100644 index 0000000..28d6ade Binary files /dev/null and b/api/4.0.0/fonts/OpenSans-Semibold-webfont.woff differ diff --git a/api/4.0.0/fonts/OpenSans-SemiboldItalic-webfont.eot b/api/4.0.0/fonts/OpenSans-SemiboldItalic-webfont.eot new file mode 100644 index 0000000..0ab1db2 Binary files /dev/null and b/api/4.0.0/fonts/OpenSans-SemiboldItalic-webfont.eot differ diff --git a/api/4.0.0/fonts/OpenSans-SemiboldItalic-webfont.svg b/api/4.0.0/fonts/OpenSans-SemiboldItalic-webfont.svg new file mode 100644 index 0000000..7166ec1 --- /dev/null +++ b/api/4.0.0/fonts/OpenSans-SemiboldItalic-webfont.svg @@ -0,0 +1,1830 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/api/4.0.0/fonts/OpenSans-SemiboldItalic-webfont.ttf b/api/4.0.0/fonts/OpenSans-SemiboldItalic-webfont.ttf new file mode 100644 index 0000000..d2d6318 Binary files /dev/null and b/api/4.0.0/fonts/OpenSans-SemiboldItalic-webfont.ttf differ diff --git a/api/4.0.0/fonts/OpenSans-SemiboldItalic-webfont.woff b/api/4.0.0/fonts/OpenSans-SemiboldItalic-webfont.woff new file mode 100644 index 0000000..d4dfca4 Binary files /dev/null and b/api/4.0.0/fonts/OpenSans-SemiboldItalic-webfont.woff differ diff --git a/api/4.0.0/github.js.html b/api/4.0.0/github.js.html new file mode 100644 index 0000000..29a787a --- /dev/null +++ b/api/4.0.0/github.js.html @@ -0,0 +1,115 @@ + + + + + + github.js - Documentation + + + + + + + + + + + + + + + + + +
+ +

github.js

+ + + + + + + +
+
+
const Bottleneck = require('bottleneck')
+const GitHubApi = require('github')
+
+/**
+ * the [github Node.js module](https://github.com/octokit/node-github),
+ * which wraps the [GitHub API](https://developer.github.com/v3/) and allows
+ * you to do almost anything programmatically that you can do through a web
+ * browser.
+ * @typedef github
+ * @see {@link https://github.com/octokit/node-github}
+ */
+
+// Default callback should just return the response passed to it.
+const defaultCallback = response => response
+
+class EnhancedGitHubClient extends GitHubApi {
+  constructor (options) {
+    super(options)
+    this.limiter = new Bottleneck(1, 1000)
+    this.logger = options.logger
+  }
+
+  handler (params, block, callback) {
+    // Only allow one request at a time with a 1s delay
+    // https://github.com/octokit/node-github/issues/526
+    this.limiter.submit(super.handler.bind(this), params, block, (err, res) => {
+      let msg = `GitHub request: ${block.method} ${block.url}`
+      if (res) {
+        msg += ` - ${res.meta.status}`
+      } else if (err) {
+        msg += ` - ${err.code} ${err.status}`
+      }
+      this.logger.debug({params}, msg)
+
+      if (res) {
+        this.logger.trace(res, 'GitHub response:')
+      }
+
+      callback(err, res)
+    })
+  }
+
+  async paginate (responsePromise, callback = defaultCallback) {
+    let collection = []
+    let response = await responsePromise
+    collection = collection.concat(await callback(response))
+    while (this.hasNextPage(response)) {
+      response = await this.getNextPage(response)
+      collection = collection.concat(await callback(response))
+    }
+    return collection
+  }
+}
+
+module.exports = EnhancedGitHubClient
+
+
+
+ + + + +
+ +
+ +
+ Generated by JSDoc 3.5.5 on Wed Dec 13 2017 10:15:16 GMT-0600 (CST) using the Minami theme. +
+ + + + + diff --git a/api/4.0.0/global.html b/api/4.0.0/global.html new file mode 100644 index 0000000..956300a --- /dev/null +++ b/api/4.0.0/global.html @@ -0,0 +1,359 @@ + + + + + + Global - Documentation + + + + + + + + + + + + + + + + + +
+ +

Global

+ + + + + + + +
+ +
+ +

+ +

+ + +
+ +
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + + + +

Type Definitions

+ + + +
+

github

+ + + + +
+

the github Node.js module, +which wraps the GitHub API and allows +you to do almost anything programmatically that you can do through a web +browser.

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + + + +
+ + + +
+

logger

+ + + + +
+

A logger backed by bunyan

+

The default log level is info, but you can change it by setting the +LOG_LEVEL environment variable to trace, debug, info, warn, +error, or fatal.

+

By default, logs are formatted for readability in development. If you intend +to drain logs to a logging service, set LOG_FORMAT=json.

+

Note: All execptions reported with logger.error will be forwarded to +sentry if the SENTRY_DSN environment +variable is set.

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + +
Example
+ +
robot.log("This is an info message");
+robot.log.debug("…so is this");
+robot.log.trace("Now we're talking");
+robot.log.info("I thought you should know…");
+robot.log.warn("Woah there");
+robot.log.error("ETOOMANYLOGS");
+robot.log.fatal("Goodbye, cruel world!");
+ + +
+ + + +
+

payload

+ + + + +
+

A GitHub webhook event payload

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + +
+ + + + + +
+ +
+ + + + +
+ +
+ +
+ Generated by JSDoc 3.5.5 on Wed Dec 13 2017 10:15:16 GMT-0600 (CST) using the Minami theme. +
+ + + + + \ No newline at end of file diff --git a/api/4.0.0/index.html b/api/4.0.0/index.html new file mode 100644 index 0000000..b9447cc --- /dev/null +++ b/api/4.0.0/index.html @@ -0,0 +1,66 @@ + + + + + + Home - Documentation + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ Generated by JSDoc 3.5.5 on Wed Dec 13 2017 10:15:16 GMT-0600 (CST) using the Minami theme. +
+ + + + + \ No newline at end of file diff --git a/api/4.0.0/logger.js.html b/api/4.0.0/logger.js.html new file mode 100644 index 0000000..244e889 --- /dev/null +++ b/api/4.0.0/logger.js.html @@ -0,0 +1,122 @@ + + + + + + logger.js - Documentation + + + + + + + + + + + + + + + + + +
+ +

logger.js

+ + + + + + + +
+
+
/**
+ * A logger backed by [bunyan](https://github.com/trentm/node-bunyan)
+ *
+ * The default log level is `info`, but you can change it by setting the
+ * `LOG_LEVEL` environment variable to `trace`, `debug`, `info`, `warn`,
+ * `error`, or `fatal`.
+ *
+ * By default, logs are formatted for readability in development. If you intend
+ * to drain logs to a logging service, set `LOG_FORMAT=json`.
+ *
+ * **Note**: All execptions reported with `logger.error` will be forwarded to
+ * [sentry](https://github.com/getsentry/sentry) if the `SENTRY_DSN` environment
+ * variable is set.
+ *
+ * @typedef logger
+ *
+ * @example
+ *
+ * robot.log("This is an info message");
+ * robot.log.debug("…so is this");
+ * robot.log.trace("Now we're talking");
+ * robot.log.info("I thought you should know…");
+ * robot.log.warn("Woah there");
+ * robot.log.error("ETOOMANYLOGS");
+ * robot.log.fatal("Goodbye, cruel world!");
+ */
+
+const Logger = require('bunyan')
+const bunyanFormat = require('bunyan-format')
+const serializers = require('./serializers')
+
+// Return a function that defaults to "info" level, and has properties for
+// other levels:
+//
+//     robot.log("info")
+//     robot.log.trace("verbose details");
+//
+Logger.prototype.wrap = function () {
+  const fn = this.info.bind(this);
+
+  // Add level methods on the logger
+  ['trace', 'debug', 'info', 'warn', 'error', 'fatal'].forEach(level => {
+    fn[level] = this[level].bind(this)
+  })
+
+  // Expose `child` method for creating new wrapped loggers
+  fn.child = (attrs) => this.child(attrs, true).wrap()
+
+  // Expose target logger
+  fn.target = logger
+
+  return fn
+}
+
+const logger = new Logger({
+  name: 'probot',
+  level: process.env.LOG_LEVEL || 'info',
+  stream: bunyanFormat({outputMode: process.env.LOG_FORMAT || 'short'}),
+  serializers
+})
+
+module.exports = logger
+
+
+
+ + + + +
+ +
+ +
+ Generated by JSDoc 3.5.5 on Wed Dec 13 2017 10:15:16 GMT-0600 (CST) using the Minami theme. +
+ + + + + diff --git a/api/4.0.0/robot.js.html b/api/4.0.0/robot.js.html new file mode 100644 index 0000000..eb447c7 --- /dev/null +++ b/api/4.0.0/robot.js.html @@ -0,0 +1,247 @@ + + + + + + robot.js - Documentation + + + + + + + + + + + + + + + + + +
+ +

robot.js

+ + + + + + + +
+
+
const {EventEmitter} = require('promise-events')
+const express = require('express')
+const Context = require('./context')
+const logger = require('./logger')
+const GitHubApi = require('./github')
+
+/**
+ * The `robot` parameter available to apps
+ *
+ * @property {logger} log - A logger
+ */
+class Robot {
+  constructor ({app, cache, router, catchErrors} = {}) {
+    this.events = new EventEmitter()
+    this.app = app
+    this.cache = cache
+    this.router = router || new express.Router()
+    this.log = logger.wrap()
+    this.catchErrors = catchErrors
+  }
+
+  async receive (event) {
+    return this.events.emit('*', event).then(() => {
+      return this.events.emit(event.event, event)
+    })
+  }
+
+  /**
+   * Get an {@link http://expressjs.com|express} router that can be used to
+   * expose HTTP endpoints
+   *
+   * @example
+   * module.exports = robot => {
+   *   // Get an express router to expose new HTTP endpoints
+   *   const app = robot.route('/my-app');
+   *
+   *   // Use any middleware
+   *   app.use(require('express').static(__dirname + '/public'));
+   *
+   *   // Add a new route
+   *   app.get('/hello-world', (req, res) => {
+   *     res.end('Hello World');
+   *   });
+   * };
+   *
+   * @param {string} path - the prefix for the routes
+   * @returns {@link http://expressjs.com/en/4x/api.html#router|express.Router}
+   */
+  route (path) {
+    if (path) {
+      const router = new express.Router()
+      this.router.use(path, router)
+      return router
+    } else {
+      return this.router
+    }
+  }
+
+  /**
+   * Listen for [GitHub webhooks](https://developer.github.com/webhooks/),
+   * which are fired for almost every significant action that users take on
+   * GitHub.
+   *
+   * @param {string} event - the name of the [GitHub webhook
+   * event](https://developer.github.com/webhooks/#events). Most events also
+   * include an "action". For example, the * [`issues`](
+   * https://developer.github.com/v3/activity/events/types/#issuesevent)
+   * event has actions of `assigned`, `unassigned`, `labeled`, `unlabeled`,
+   * `opened`, `edited`, `milestoned`, `demilestoned`, `closed`, and `reopened`.
+   * Often, your bot will only care about one type of action, so you can append
+   * it to the event name with a `.`, like `issues.closed`.
+   *
+   * @param {Robot~webhookCallback} callback - a function to call when the
+   * webhook is received.
+   *
+   * @example
+   *
+   * robot.on('push', context => {
+   *   // Code was just pushed.
+   * });
+   *
+   * robot.on('issues.opened', context => {
+   *   // An issue was just opened.
+   * });
+   */
+  on (event, callback) {
+    if (event.constructor === Array) {
+      event.forEach(e => this.on(e, callback))
+      return
+    }
+
+    const [name, action] = event.split('.')
+
+    return this.events.on(name, async event => {
+      if (!action || action === event.payload.action) {
+        const log = this.log.child({id: event.id})
+
+        try {
+          const github = await this.auth(event.payload.installation.id, log)
+          const context = new Context(event, github, log)
+
+          await callback(context)
+        } catch (err) {
+          log.error({err, event})
+          if (!this.catchErrors) {
+            throw err
+          }
+        }
+      }
+    })
+  }
+
+  /**
+   * Authenticate and get a GitHub client that can be used to make API calls.
+   *
+   * You'll probably want to use `context.github` instead.
+   *
+   * **Note**: `robot.auth` is asynchronous, so it needs to be prefixed with a
+   * [`await`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/await)
+   * to wait for the magic to happen.
+   *
+   * @example
+   *
+   *  module.exports = function(robot) {
+   *    robot.on('issues.opened', async context => {
+   *      const github = await robot.auth();
+   *    });
+   *  };
+   *
+   * @param {number} [id] - ID of the installation, which can be extracted from
+   * `context.payload.installation.id`. If called without this parameter, the
+   * client wil authenticate [as the app](https://developer.github.com/apps/building-integrations/setting-up-and-registering-github-apps/about-authentication-options-for-github-apps/#authenticating-as-a-github-app)
+   * instead of as a specific installation, which means it can only be used for
+   * [app APIs](https://developer.github.com/v3/apps/).
+   *
+   * @returns {Promise<github>} - An authenticated GitHub API client
+   * @private
+   */
+  async auth (id, log = this.log) {
+    const github = new GitHubApi({
+      debug: process.env.LOG_LEVEL === 'trace',
+      host: process.env.GHE_HOST || 'api.github.com',
+      pathPrefix: process.env.GHE_HOST ? '/api/v3' : '',
+      logger: log.child({installation: id})
+    })
+
+    if (id) {
+      const res = await this.cache.wrap(`app:${id}:token`, () => {
+        log.trace(`creating token for installation`)
+        github.authenticate({type: 'integration', token: this.app()})
+
+        return github.apps.createInstallationToken({installation_id: id})
+      }, {ttl: 60 * 59}) // Cache for 1 minute less than GitHub expiry
+
+      github.authenticate({type: 'token', token: res.data.token})
+    } else {
+      github.authenticate({type: 'integration', token: this.app()})
+    }
+
+    return github
+  }
+}
+
+module.exports = (...args) => new Robot(...args)
+
+/**
+ * Do the thing
+ * @callback Robot~webhookCallback
+ * @param {Context} context - the context of the event that was triggered,
+ *   including `context.payload`, and helpers for extracting information from
+ *   the payload, which can be passed to GitHub API calls.
+ *
+ *  ```js
+ *  module.exports = robot => {
+ *    robot.on('push', context => {
+ *      // Code was pushed to the repo, what should we do with it?
+ *      robot.log(context);
+ *    });
+ *  };
+ *  ```
+ */
+
+/**
+ * A [GitHub webhook event](https://developer.github.com/webhooks/#events) payload
+ *
+ * @typedef payload
+ */
+
+
+
+ + + + +
+ +
+ +
+ Generated by JSDoc 3.5.5 on Wed Dec 13 2017 10:15:16 GMT-0600 (CST) using the Minami theme. +
+ + + + + diff --git a/api/4.0.0/scripts/linenumber.js b/api/4.0.0/scripts/linenumber.js new file mode 100644 index 0000000..8d52f7e --- /dev/null +++ b/api/4.0.0/scripts/linenumber.js @@ -0,0 +1,25 @@ +/*global document */ +(function() { + var source = document.getElementsByClassName('prettyprint source linenums'); + var i = 0; + var lineNumber = 0; + var lineId; + var lines; + var totalLines; + var anchorHash; + + if (source && source[0]) { + anchorHash = document.location.hash.substring(1); + lines = source[0].getElementsByTagName('li'); + totalLines = lines.length; + + for (; i < totalLines; i++) { + lineNumber++; + lineId = 'line' + lineNumber; + lines[i].id = lineId; + if (lineId === anchorHash) { + lines[i].className += ' selected'; + } + } + } +})(); diff --git a/api/4.0.0/scripts/prettify/Apache-License-2.0.txt b/api/4.0.0/scripts/prettify/Apache-License-2.0.txt new file mode 100644 index 0000000..d645695 --- /dev/null +++ b/api/4.0.0/scripts/prettify/Apache-License-2.0.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/api/4.0.0/scripts/prettify/lang-css.js b/api/4.0.0/scripts/prettify/lang-css.js new file mode 100644 index 0000000..041e1f5 --- /dev/null +++ b/api/4.0.0/scripts/prettify/lang-css.js @@ -0,0 +1,2 @@ +PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\f\r ]+/,null," \t\r\n "]],[["str",/^"(?:[^\n\f\r"\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*"/,null],["str",/^'(?:[^\n\f\r'\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*'/,null],["lang-css-str",/^url\(([^"')]*)\)/i],["kwd",/^(?:url|rgb|!important|@import|@page|@media|@charset|inherit)(?=[^\w-]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*)\s*:/i],["com",/^\/\*[^*]*\*+(?:[^*/][^*]*\*+)*\//],["com", +/^(?:<\!--|--\>)/],["lit",/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],["lit",/^#[\da-f]{3,6}/i],["pln",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i],["pun",/^[^\s\w"']+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[["kwd",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[["str",/^[^"')]+/]]),["css-str"]); diff --git a/api/4.0.0/scripts/prettify/prettify.js b/api/4.0.0/scripts/prettify/prettify.js new file mode 100644 index 0000000..eef5ad7 --- /dev/null +++ b/api/4.0.0/scripts/prettify/prettify.js @@ -0,0 +1,28 @@ +var q=null;window.PR_SHOULD_USE_CONTINUATION=!0; +(function(){function L(a){function m(a){var f=a.charCodeAt(0);if(f!==92)return f;var b=a.charAt(1);return(f=r[b])?f:"0"<=b&&b<="7"?parseInt(a.substring(1),8):b==="u"||b==="x"?parseInt(a.substring(2),16):a.charCodeAt(1)}function e(a){if(a<32)return(a<16?"\\x0":"\\x")+a.toString(16);a=String.fromCharCode(a);if(a==="\\"||a==="-"||a==="["||a==="]")a="\\"+a;return a}function h(a){for(var f=a.substring(1,a.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),a= +[],b=[],o=f[0]==="^",c=o?1:0,i=f.length;c122||(d<65||j>90||b.push([Math.max(65,j)|32,Math.min(d,90)|32]),d<97||j>122||b.push([Math.max(97,j)&-33,Math.min(d,122)&-33]))}}b.sort(function(a,f){return a[0]-f[0]||f[1]-a[1]});f=[];j=[NaN,NaN];for(c=0;ci[0]&&(i[1]+1>i[0]&&b.push("-"),b.push(e(i[1])));b.push("]");return b.join("")}function y(a){for(var f=a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=f.length,d=[],c=0,i=0;c=2&&a==="["?f[c]=h(j):a!=="\\"&&(f[c]=j.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return f.join("")}for(var t=0,s=!1,l=!1,p=0,d=a.length;p=5&&"lang-"===b.substring(0,5))&&!(o&&typeof o[1]==="string"))c=!1,b="src";c||(r[f]=b)}i=d;d+=f.length;if(c){c=o[1];var j=f.indexOf(c),k=j+c.length;o[2]&&(k=f.length-o[2].length,j=k-c.length);b=b.substring(5);B(l+i,f.substring(0,j),e,p);B(l+i+j,c,C(b,c),p);B(l+i+k,f.substring(k),e,p)}else p.push(l+i,b)}a.e=p}var h={},y;(function(){for(var e=a.concat(m), +l=[],p={},d=0,g=e.length;d=0;)h[n.charAt(k)]=r;r=r[1];n=""+r;p.hasOwnProperty(n)||(l.push(r),p[n]=q)}l.push(/[\S\s]/);y=L(l)})();var t=m.length;return e}function u(a){var m=[],e=[];a.tripleQuotedStrings?m.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?m.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/, +q,"'\"`"]):m.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&e.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var h=a.hashComments;h&&(a.cStyleComments?(h>1?m.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):m.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),e.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):m.push(["com",/^#[^\n\r]*/, +q,"#"]));a.cStyleComments&&(e.push(["com",/^\/\/[^\n\r]*/,q]),e.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));a.regexLiterals&&e.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(h=a.types)&&e.push(["typ",h]);a=(""+a.keywords).replace(/^ | $/g, +"");a.length&&e.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),q]);m.push(["pln",/^\s+/,q," \r\n\t\xa0"]);e.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return x(m,e)}function D(a,m){function e(a){switch(a.nodeType){case 1:if(k.test(a.className))break;if("BR"===a.nodeName)h(a), +a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)e(a);break;case 3:case 4:if(p){var b=a.nodeValue,d=b.match(t);if(d){var c=b.substring(0,d.index);a.nodeValue=c;(b=b.substring(d.index+d[0].length))&&a.parentNode.insertBefore(s.createTextNode(b),a.nextSibling);h(a);c||a.parentNode.removeChild(a)}}}}function h(a){function b(a,d){var e=d?a.cloneNode(!1):a,f=a.parentNode;if(f){var f=b(f,1),g=a.nextSibling;f.appendChild(e);for(var h=g;h;h=g)g=h.nextSibling,f.appendChild(h)}return e} +for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),e;(e=a.parentNode)&&e.nodeType===1;)a=e;d.push(a)}var k=/(?:^|\s)nocode(?:\s|$)/,t=/\r\n?|\n/,s=a.ownerDocument,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=s.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);for(l=s.createElement("LI");a.firstChild;)l.appendChild(a.firstChild);for(var d=[l],g=0;g=0;){var h=m[e];A.hasOwnProperty(h)?window.console&&console.warn("cannot override language handler %s",h):A[h]=a}}function C(a,m){if(!a||!A.hasOwnProperty(a))a=/^\s*=o&&(h+=2);e>=c&&(a+=2)}}catch(w){"console"in window&&console.log(w&&w.stack?w.stack:w)}}var v=["break,continue,do,else,for,if,return,while"],w=[[v,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"], +"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],F=[w,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],G=[w,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"], +H=[G,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],w=[w,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],I=[v,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"], +J=[v,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],v=[v,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],K=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,N=/\S/,O=u({keywords:[F,H,w,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+ +I,J,v],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};k(O,["default-code"]);k(x([],[["pln",/^[^]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]), +["default-markup","htm","html","mxml","xhtml","xml","xsl"]);k(x([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css", +/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);k(x([],[["atv",/^[\S\s]+/]]),["uq.val"]);k(u({keywords:F,hashComments:!0,cStyleComments:!0,types:K}),["c","cc","cpp","cxx","cyc","m"]);k(u({keywords:"null,true,false"}),["json"]);k(u({keywords:H,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:K}),["cs"]);k(u({keywords:G,cStyleComments:!0}),["java"]);k(u({keywords:v,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);k(u({keywords:I,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}), +["cv","py"]);k(u({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]);k(u({keywords:J,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb"]);k(u({keywords:w,cStyleComments:!0,regexLiterals:!0}),["js"]);k(u({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes", +hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);k(x([],[["str",/^[\S\s]+/]]),["regex"]);window.prettyPrintOne=function(a,m,e){var h=document.createElement("PRE");h.innerHTML=a;e&&D(h,e);E({g:m,i:e,h:h});return h.innerHTML};window.prettyPrint=function(a){function m(){for(var e=window.PR_SHOULD_USE_CONTINUATION?l.now()+250:Infinity;p=0){var k=k.match(g),f,b;if(b= +!k){b=n;for(var o=void 0,c=b.firstChild;c;c=c.nextSibling)var i=c.nodeType,o=i===1?o?b:c:i===3?N.test(c.nodeValue)?b:o:o;b=(f=o===b?void 0:o)&&"CODE"===f.tagName}b&&(k=f.className.match(g));k&&(k=k[1]);b=!1;for(o=n.parentNode;o;o=o.parentNode)if((o.tagName==="pre"||o.tagName==="code"||o.tagName==="xmp")&&o.className&&o.className.indexOf("prettyprint")>=0){b=!0;break}b||((b=(b=n.className.match(/\blinenums\b(?::(\d+))?/))?b[1]&&b[1].length?+b[1]:!0:!1)&&D(n,b),d={g:k,h:n,i:b},E(d))}}p code { + font-size: 0.85em; +} + +.readme table { + margin-bottom: 1em; + border-collapse: collapse; + border-spacing: 0; +} + +.readme table tr { + background-color: #fff; + border-top: 1px solid #ccc; +} + +.readme table th, +.readme table td { + padding: 6px 13px; + border: 1px solid #ddd; +} + +.readme table tr:nth-child(2n) { + background-color: #f8f8f8; +} + +/** Nav **/ +nav { + float: left; + display: block; + width: 250px; + background: #fff; + overflow: auto; + position: fixed; + height: 100%; + padding: 10px; + border-right: 1px solid #eee; + /* box-shadow: 0 0 3px rgba(0,0,0,0.1); */ +} + +nav li { + list-style: none; + padding: 0; + margin: 0; +} + +.nav-heading { + margin-top: 10px; + font-weight: bold; +} + +.nav-heading a { + color: #888; + font-size: 14px; + display: inline-block; +} + +.nav-item-type { + /* margin-left: 5px; */ + width: 18px; + height: 18px; + display: inline-block; + text-align: center; + border-radius: 0.2em; + margin-right: 5px; + font-weight: bold; + line-height: 20px; + font-size: 13px; +} + +.type-function { + background: #B3E5FC; + color: #0288D1; +} + +.type-class { + background: #D1C4E9; + color: #4527A0; +} + +.type-member { + background: #C8E6C9; + color: #388E3C; +} + +.type-module { + background: #E1BEE7; + color: #7B1FA2; +} + + +/** Footer **/ +footer { + color: hsl(0, 0%, 28%); + margin-left: 250px; + display: block; + padding: 30px; + font-style: italic; + font-size: 90%; + border-top: 1px solid #eee; +} + +.ancestors { + color: #999 +} + +.ancestors a { + color: #999 !important; + text-decoration: none; +} + +.clear { + clear: both +} + +.important { + font-weight: bold; + color: #950B02; +} + +.yes-def { + text-indent: -1000px +} + +.type-signature { + color: #aaa +} + +.name, .signature { + font-family: Consolas, Monaco, 'Andale Mono', monospace +} + +.details { + margin-top: 14px; + border-left: 2px solid #DDD; + line-height: 30px; +} + +.details dt { + width: 120px; + float: left; + padding-left: 10px; +} + +.details dd { + margin-left: 70px +} + +.details ul { + margin: 0 +} + +.details ul { + list-style-type: none +} + +.details li { + margin-left: 30px +} + +.details pre.prettyprint { + margin: 0 +} + +.details .object-value { + padding-top: 0 +} + +.description { + margin-bottom: 1em; + margin-top: 1em; +} + +.code-caption { + font-style: italic; + font-size: 107%; + margin: 0; +} + +.prettyprint { + font-size: 13px; + border: 1px solid #ddd; + border-radius: 3px; + box-shadow: 0 1px 3px hsla(0, 0%, 0%, 0.05); + overflow: auto; +} + +.prettyprint.source { + width: inherit +} + +.prettyprint code { + font-size: 12px; + line-height: 18px; + display: block; + background-color: #fff; + color: #4D4E53; +} + +.prettyprint code:empty:before { + content: ''; +} + +.prettyprint > code { + padding: 15px +} + +.prettyprint .linenums code { + padding: 0 15px +} + +.prettyprint .linenums li:first-of-type code { + padding-top: 15px +} + +.prettyprint code span.line { + display: inline-block +} + +.prettyprint.linenums { + padding-left: 70px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.prettyprint.linenums ol { + padding-left: 0 +} + +.prettyprint.linenums li { + border-left: 3px #ddd solid +} + +.prettyprint.linenums li.selected, .prettyprint.linenums li.selected * { + background-color: lightyellow +} + +.prettyprint.linenums li * { + -webkit-user-select: text; + -moz-user-select: text; + -ms-user-select: text; + user-select: text; +} + +.params, .props { + border-spacing: 0; + border: 1px solid #ddd; + border-collapse: collapse; + border-radius: 3px; + box-shadow: 0 1px 3px rgba(0,0,0,0.1); + width: 100%; + font-size: 14px; + /* margin-left: 15px; */ +} + +.params .name, .props .name, .name code { + color: #4D4E53; + font-family: Consolas, Monaco, 'Andale Mono', monospace; + font-size: 100%; +} + +.params td, .params th, .props td, .props th { + margin: 0px; + text-align: left; + vertical-align: top; + padding: 10px; + display: table-cell; +} + +.params td { + border-top: 1px solid #eee +} + +.params thead tr, .props thead tr { + background-color: #fff; + font-weight: bold; +} + +.params .params thead tr, .props .props thead tr { + background-color: #fff; + font-weight: bold; +} + +.params td.description > p:first-child, .props td.description > p:first-child { + margin-top: 0; + padding-top: 0; +} + +.params td.description > p:last-child, .props td.description > p:last-child { + margin-bottom: 0; + padding-bottom: 0; +} + +dl.param-type { + /* border-bottom: 1px solid hsl(0, 0%, 87%); */ + margin: 0; + padding: 0; + font-size: 16px; +} + +.param-type dt, .param-type dd { + display: inline-block +} + +.param-type dd { + font-family: Consolas, Monaco, 'Andale Mono', monospace; + display: inline-block; + padding: 0; + margin: 0; + font-size: 14px; +} + +.disabled { + color: #454545 +} + +/* navicon button */ +.navicon-button { + display: none; + position: relative; + padding: 2.0625rem 1.5rem; + transition: 0.25s; + cursor: pointer; + user-select: none; + opacity: .8; +} +.navicon-button .navicon:before, .navicon-button .navicon:after { + transition: 0.25s; +} +.navicon-button:hover { + transition: 0.5s; + opacity: 1; +} +.navicon-button:hover .navicon:before, .navicon-button:hover .navicon:after { + transition: 0.25s; +} +.navicon-button:hover .navicon:before { + top: .825rem; +} +.navicon-button:hover .navicon:after { + top: -.825rem; +} + +/* navicon */ +.navicon { + position: relative; + width: 2.5em; + height: .3125rem; + background: #000; + transition: 0.3s; + border-radius: 2.5rem; +} +.navicon:before, .navicon:after { + display: block; + content: ""; + height: .3125rem; + width: 2.5rem; + background: #000; + position: absolute; + z-index: -1; + transition: 0.3s 0.25s; + border-radius: 1rem; +} +.navicon:before { + top: .625rem; +} +.navicon:after { + top: -.625rem; +} + +/* open */ +.nav-trigger:checked + label:not(.steps) .navicon:before, +.nav-trigger:checked + label:not(.steps) .navicon:after { + top: 0 !important; +} + +.nav-trigger:checked + label .navicon:before, +.nav-trigger:checked + label .navicon:after { + transition: 0.5s; +} + +/* Minus */ +.nav-trigger:checked + label { + transform: scale(0.75); +} + +/* × and + */ +.nav-trigger:checked + label.plus .navicon, +.nav-trigger:checked + label.x .navicon { + background: transparent; +} + +.nav-trigger:checked + label.plus .navicon:before, +.nav-trigger:checked + label.x .navicon:before { + transform: rotate(-45deg); + background: #FFF; +} + +.nav-trigger:checked + label.plus .navicon:after, +.nav-trigger:checked + label.x .navicon:after { + transform: rotate(45deg); + background: #FFF; +} + +.nav-trigger:checked + label.plus { + transform: scale(0.75) rotate(45deg); +} + +.nav-trigger:checked ~ nav { + left: 0 !important; +} + +.nav-trigger:checked ~ .overlay { + display: block; +} + +.nav-trigger { + position: fixed; + top: 0; + clip: rect(0, 0, 0, 0); +} + +.overlay { + display: none; + position: fixed; + top: 0; + bottom: 0; + left: 0; + right: 0; + width: 100%; + height: 100%; + background: hsla(0, 0%, 0%, 0.5); + z-index: 1; +} + +.section-method { + margin-bottom: 30px; + padding-bottom: 30px; + border-bottom: 1px solid #eee; +} + +@media only screen and (min-width: 320px) and (max-width: 680px) { + body { + overflow-x: hidden; + } + + nav { + background: #FFF; + width: 250px; + height: 100%; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: -250px; + z-index: 3; + padding: 0 10px; + transition: left 0.2s; + } + + .navicon-button { + display: inline-block; + position: fixed; + top: 1.5em; + right: 0; + z-index: 2; + } + + #main { + width: 100%; + min-width: 360px; + } + + #main h1.page-title { + margin: 1em 0; + } + + #main section { + padding: 0; + } + + footer { + margin-left: 0; + } +} + +@media only print { + nav { + display: none; + } + + #main { + float: none; + width: 100%; + } +} diff --git a/api/4.0.0/styles/prettify-jsdoc.css b/api/4.0.0/styles/prettify-jsdoc.css new file mode 100644 index 0000000..834a866 --- /dev/null +++ b/api/4.0.0/styles/prettify-jsdoc.css @@ -0,0 +1,111 @@ +/* JSDoc prettify.js theme */ + +/* plain text */ +.pln { + color: #000000; + font-weight: normal; + font-style: normal; +} + +/* string content */ +.str { + color: hsl(104, 100%, 24%); + font-weight: normal; + font-style: normal; +} + +/* a keyword */ +.kwd { + color: #000000; + font-weight: bold; + font-style: normal; +} + +/* a comment */ +.com { + font-weight: normal; + font-style: italic; +} + +/* a type name */ +.typ { + color: #000000; + font-weight: normal; + font-style: normal; +} + +/* a literal value */ +.lit { + color: #006400; + font-weight: normal; + font-style: normal; +} + +/* punctuation */ +.pun { + color: #000000; + font-weight: bold; + font-style: normal; +} + +/* lisp open bracket */ +.opn { + color: #000000; + font-weight: bold; + font-style: normal; +} + +/* lisp close bracket */ +.clo { + color: #000000; + font-weight: bold; + font-style: normal; +} + +/* a markup tag name */ +.tag { + color: #006400; + font-weight: normal; + font-style: normal; +} + +/* a markup attribute name */ +.atn { + color: #006400; + font-weight: normal; + font-style: normal; +} + +/* a markup attribute value */ +.atv { + color: #006400; + font-weight: normal; + font-style: normal; +} + +/* a declaration */ +.dec { + color: #000000; + font-weight: bold; + font-style: normal; +} + +/* a variable name */ +.var { + color: #000000; + font-weight: normal; + font-style: normal; +} + +/* a function name */ +.fun { + color: #000000; + font-weight: bold; + font-style: normal; +} + +/* Specify class=linenums on a pre to get line numbering */ +ol.linenums { + margin-top: 0; + margin-bottom: 0; +} diff --git a/api/4.0.0/styles/prettify-tomorrow.css b/api/4.0.0/styles/prettify-tomorrow.css new file mode 100644 index 0000000..81e74d1 --- /dev/null +++ b/api/4.0.0/styles/prettify-tomorrow.css @@ -0,0 +1,132 @@ +/* Tomorrow Theme */ +/* Original theme - https://github.com/chriskempson/tomorrow-theme */ +/* Pretty printing styles. Used with prettify.js. */ +/* SPAN elements with the classes below are added by prettyprint. */ +/* plain text */ +.pln { + color: #4d4d4c; } + +@media screen { + /* string content */ + .str { + color: hsl(104, 100%, 24%); } + + /* a keyword */ + .kwd { + color: hsl(240, 100%, 50%); } + + /* a comment */ + .com { + color: hsl(0, 0%, 60%); } + + /* a type name */ + .typ { + color: hsl(240, 100%, 32%); } + + /* a literal value */ + .lit { + color: hsl(240, 100%, 40%); } + + /* punctuation */ + .pun { + color: #000000; } + + /* lisp open bracket */ + .opn { + color: #000000; } + + /* lisp close bracket */ + .clo { + color: #000000; } + + /* a markup tag name */ + .tag { + color: #c82829; } + + /* a markup attribute name */ + .atn { + color: #f5871f; } + + /* a markup attribute value */ + .atv { + color: #3e999f; } + + /* a declaration */ + .dec { + color: #f5871f; } + + /* a variable name */ + .var { + color: #c82829; } + + /* a function name */ + .fun { + color: #4271ae; } } +/* Use higher contrast and text-weight for printable form. */ +@media print, projection { + .str { + color: #060; } + + .kwd { + color: #006; + font-weight: bold; } + + .com { + color: #600; + font-style: italic; } + + .typ { + color: #404; + font-weight: bold; } + + .lit { + color: #044; } + + .pun, .opn, .clo { + color: #440; } + + .tag { + color: #006; + font-weight: bold; } + + .atn { + color: #404; } + + .atv { + color: #060; } } +/* Style */ +/* +pre.prettyprint { + background: white; + font-family: Consolas, Monaco, 'Andale Mono', monospace; + font-size: 12px; + line-height: 1.5; + border: 1px solid #ccc; + padding: 10px; } +*/ + +/* Specify class=linenums on a pre to get line numbering */ +ol.linenums { + margin-top: 0; + margin-bottom: 0; } + +/* IE indents via margin-left */ +li.L0, +li.L1, +li.L2, +li.L3, +li.L4, +li.L5, +li.L6, +li.L7, +li.L8, +li.L9 { + /* */ } + +/* Alternate shading for lines */ +li.L1, +li.L3, +li.L5, +li.L7, +li.L9 { + /* */ } diff --git a/api/latest b/api/latest index 142464b..0c89fc9 120000 --- a/api/latest +++ b/api/latest @@ -1 +1 @@ -0.11.0 \ No newline at end of file +4.0.0 \ No newline at end of file