diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index aead852..6b4b6ce 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -598,8 +598,8 @@ | [got@8.3.0](https://github.com/sindresorhus/got#readme) | Simplified HTTP requests | 8.3.0 | MIT | production | | [insight@0.10.1](https://github.com/yeoman/insight#readme) | Understand how your tool is being used by anonymously reporting usage metrics to Google Analytics or Yandex.Metrica | 0.10.1 | BSD-2-Clause | production | | [lodash.camelcase@4.3.0](https://lodash.com/) | The lodash method `_.camelCase` exported as a module. | 4.3.0 | MIT | production | - | [lodash.isstring@4.0.1](https://lodash.com/) | The lodash method `_.isString` exported as a module. | 4.0.1 | MIT | production | - | [lodash.transform@4.6.0](https://lodash.com/) | The lodash method `_.transform` exported as a module. | 4.6.0 | MIT | production | + | [lodash.mapkeys@4.6.0](https://lodash.com/) | The lodash method `_.mapKeys` exported as a module. | 4.6.0 | MIT | production | + | [lodash.noop@3.0.1](https://lodash.com/) | The lodash method `_.noop` exported as a module. | 3.0.1 | MIT | production | | [meow@4.0.0](https://github.com/sindresorhus/meow#readme) | CLI app helper | 4.0.0 | MIT | production | @@ -611,7 +611,7 @@ | **Dependency** | **Description** | **Version** | **License** | **Type** | | -------------- | --------------- | ----------- | ----------- | -------- | | [@semantic-release/changelog@2.0.1](https://github.com/semantic-release/changelog#readme) | Set of semantic-release plugins for creating or updating a changelog file | 2.0.1 | MIT | dev | - | [@semantic-release/git@4.0.1](https://github.com/semantic-release/git#readme) | Set of semantic-release plugins to publish to a git repository | 4.0.1 | MIT | dev | + | [@semantic-release/git@4.0.2](https://github.com/semantic-release/git#readme) | Set of semantic-release plugins to publish to a git repository | 4.0.2 | MIT | dev | | [@semantic-release/npm@3.2.4](https://github.com/semantic-release/npm#readme) | Set of semantic-release plugins to publish to a npm registry | 3.2.4 | MIT | dev | | [ajv@6.4.0](https://github.com/epoberezkin/ajv) | Another JSON Schema Validator | 6.4.0 | MIT | dev | | [ajv-keywords@3.1.0](https://github.com/epoberezkin/ajv-keywords#readme) | Custom JSON-Schema keywords for Ajv validator | 3.1.0 | MIT | dev | @@ -649,7 +649,7 @@ | [markdown-magic-package-scripts@1.2.1](https://github.com/camacho/markdown-magic-package-scripts#readme) | Print list of scripts in package.json with descriptions | 1.2.1 | MIT | dev | | [minami@1.2.3](https://github.com/Nijikokun/minami) | Clean and minimal JSDoc 3 Template / Theme | 1.2.3 | UNLICENSED | dev | | [nsp@^3.2.1](https://github.com/nodesecurity/nsp#readme) | The Node Security (nodesecurity.io) command line interface | 3.2.1 | Apache-2.0 | dev | - | [prettier@1.12.1](https://prettier.io) | Prettier is an opinionated code formatter | 1.12.0 | MIT | dev | + | [prettier@1.12.1](https://prettier.io) | Prettier is an opinionated code formatter | 1.12.1 | MIT | dev | | [semantic-release@15.1.7](https://github.com/semantic-release/semantic-release#readme) | Automated semver compliant package publishing | 15.1.7 | MIT | dev | | [standard-markdown@4.0.2](https://github.com/zeke/standard-markdown#readme) | Test your Markdown files for Standard JavaScript Style™ | 4.0.2 | MIT | dev | | [standard-version@4.3.0](https://github.com/conventional-changelog/standard-version#readme) | replacement for `npm version` with automatic CHANGELOG generation | 4.3.0 | ISC | dev | diff --git a/.github/assets/examples/usage.js b/.github/assets/examples/usage.js new file mode 100644 index 0000000..6002453 --- /dev/null +++ b/.github/assets/examples/usage.js @@ -0,0 +1,70 @@ +// Load all .env variables before anything else. + +const dotenvExtended = require('dotenv-extended') +const envConfig = dotenvExtended.config() + +// Import readme-inspector. + +const readmeInspector = require('readme-inspector') + +// Recommended: authenticate to avoid rate limts. + +readmeInspector.authenticate({ + token: envConfig.GH_TOKEN, + type: 'oauth' +}) + +// Verify that the repository with the slug +// gregswindle/github-resource-converter +// 1. Has a README, and +// 2. Score the README for quality. + +const info = await readmeInspector.check( + 'gregswindle', + 'github-resource-converter' +) + +// Display the resulting readmeInfo as a +// JSON string. + +const WHITESPACE = 2 +console.log(JSON.stringify(results, null, WHITESPACE)) +// => +/* +{ + "appraisal": { + "breakdown": { + "cumulativeCodeBlockLength": 0, + "hasLists": 0, + "lowCodeBlockPenalty": 0, + "numberOfCodeBlocks": 0, + "numberOfGifs": 0, + "numberOfImages": 0, + "numberOfNonCodeSections": 0 + }, + "error": null, + "score": 0, + "url": null + }, + "error": null, + "isPresent": true, + "value": { + "name": "README.md", + "path": "README.md", + "sha": "4769744aad57ff3e9aac2df603795c4d10fcdc31", + "size": 36877, + "url": "https://api.github.com/repos/commonality/readme-inspector/contents/README.md?ref=master", + "html_url": "https://github.com/commonality/readme-inspector/blob/master/README.md", + "git_url": "https://api.github.com/repos/commonality/readme-inspector/git/blobs/4769744aad57ff3e9aac2df603795c4d10fcdc31", + "download_url": "https://raw.githubusercontent.com/commonality/readme-inspector/master/README.md", + "type": "file", + "content": "{base64-encoding-of-readme-markdown}", + "encoding": "base64", + "_links": { + "self": "https://api.github.com/repos/commonality/readme-inspector/contents/README.md?ref=master", + "git": "https://api.github.com/repos/commonality/readme-inspector/git/blobs/4769744aad57ff3e9aac2df603795c4d10fcdc31", + "html": "https://github.com/commonality/readme-inspector/blob/master/README.md" + } + } +} +*/ diff --git a/.github/config/.jsdoc.json b/.github/config/.jsdoc.json index 07068f4..67ec0f3 100644 --- a/.github/config/.jsdoc.json +++ b/.github/config/.jsdoc.json @@ -16,7 +16,7 @@ "showInheritedInNav": true }, "opts": { - "destination": "./docs/", + "destination": "./docs/api/", "encoding": "utf8", "private": true, "recurse": true, diff --git a/.github/config/markdown.config.js b/.github/config/markdown.config.js index 8eac6a1..dfb6eef 100644 --- a/.github/config/markdown.config.js +++ b/.github/config/markdown.config.js @@ -15,11 +15,13 @@ const config = { const main = () => { let markdownPath = path.join(__dirname, '**/*.md') - markdownMagic(markdownPath, config) + let index = 0 + let paths = ['**/*.md', '../CONTRIBUTING.md', '../../docs/**/*.md'] - markdownPath = path.join(__dirname, '..', 'CONTRIBUTING.md') - console.log(markdownPath) - markdownMagic(markdownPath, config) + paths.forEach(filePath => { + markdownPath = path.join(__dirname, filePath) + markdownMagic(markdownPath, config) + }) } main() diff --git a/.github/config/sonar-project.properties b/.github/config/sonar-project.properties index dc52d23..f690e24 100644 --- a/.github/config/sonar-project.properties +++ b/.github/config/sonar-project.properties @@ -30,7 +30,7 @@ sonar.sourceEncoding=UTF-8 sonar.organization=commonality sonar.projectKey=readme-inspector sonar.projectName=readme-inspector -sonar.projectVersion=1.0.2 +# sonar.projectVersion=1.0.2 # ===================================================== # Meta-data for the project diff --git a/.travis.yml b/.travis.yml index 0ddafc4..e343aa0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -37,8 +37,7 @@ script: after_script: - npm run posttest:ci:coverage:codacy - npm run posttest:ci:coverage:coveralls -- sonar-scanner -Dproject.settings=./.github/config/sonar-project.properties -Dsonar.organization=$SONAR_ORGANIZATION - -Dsonar.login=$SONAR_COMMONALITY_TOKEN -X +- npm run code-quality:sonar jobs: include: - stage: release diff --git a/CHANGELOG.md b/CHANGELOG.md index b11ce58..faceec6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,47 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +--- + + + +## [2.0.0](https://github.com/commonality/readme-inspector/compare/v1.0.2...v2.0.0) (2018-04-21) + +### Bug Fixes + +* **@semantic-release/git:** update to version 4.0.2 ([ad96ea5](https://github.com/commonality/readme-inspector/commit/ad96ea5)) +* **score:** verify appraisal initialization ([fd87a8b](https://github.com/commonality/readme-inspector/commit/fd87a8b)), closes [#18](https://github.com/commonality/readme-inspector/issues/18) [#21](https://github.com/commonality/readme-inspector/issues/21) + +### BREAKING CHANGES + +**readme-score:** `ReadmeScore` is now `ReadmeAppraisal`, with two method signatures changes and one property name change. + +#### Objects & Properties + +`readmeInspector.ReadmeScore` - refactor:rename `ReadmeScore` → `ReadmeAppraisal`, which is now a class. + +#### Functions + +1. `readmeInspector.getReadmeInfo` → `readmeInspector.getInfo` + + > * Refactor:rename function + > + > * Refactor function signature: now expects a `params` object literal + +2. `readmeInspector.getReadmeScore` → `readmeInspector.getAppraisal` + + > Refactor:rename function; signature remains the same as in 1.x.x, + > however. + +3. `readmeInspector.check`'s signature now expects a `params` object literal, + which it passes to `getInfo`. + +#### API tests + +Add API (integration) tests. + +--- + ## [1.0.2](https://github.com/commonality/readme-inspector/compare/v1.0.1...v1.0.2) (2018-04-17) @@ -14,6 +55,8 @@ All notable changes to this project will be documented in this file. See [standa > > Refactor `readmeScoreApiClientOptions` with a single property called `apiEndpoint: URL` in order to set the `url` query parameter explicitly, and call `apiEndpoint.toString()` for a serialized URL string. +--- + ## [1.0.1](https://github.com/commonality/readme-inspector/compare/v1.0.0...v1.0.1) (2018-04-16) @@ -24,13 +67,17 @@ All notable changes to this project will be documented in this file. See [standa Replaced [`dotenv`][dotenv-url] with [`dotenv-extended`][dotenv-extended-url] in order to load default values. +--- + ## 1.0.0 (2018-04-12) ### Features -* **module:readme-inspector:** Verify the existence—and assess the quality—of README files +* #### module:readme-inspector + + Verify the existence—and assess the quality—of README files > ![quote][octicon-quote] READMEs do more than explain how to use your project. They also > explain why your project matters, and what your users can do with it. @@ -47,29 +94,29 @@ All notable changes to this project will be documented in this file. See [standa > licenses and attribution. If you don’t want to accept contributions, or > your project is not yet ready for production, write this information down. [1] - **Public API** +* #### Public API _Methods_ - * `authenticate` - Sets GitHub credentials for all subsequent requests. - * `check` - Attempts to GET and assess a README at a repo-root directory. - * `getReadmeInfo` - Attempt to GET a README without assessing it. - * `getReadmeScore` - Assess the quality of a README. + > * `authenticate` - Sets GitHub credentials for all subsequent requests. + > * `check` - Attempts to GET and assess a README at a repo-root directory. + > * `getReadmeInfo` - Attempt to GET a README without assessing it. + > * `getReadmeScore` - Assess the quality of a README. _Properties_ - * `ReadmeScore` - An API proxy wrapper for the readme-score-api. - * `api` - A configurable Octokit instance. + > * `ReadmeScore` - An API proxy wrapper for the readme-score-api. + > * `api` - A configurable Octokit instance. _Documentation_ - Visit for - more information about installation, usage, API, version, - contributing guidelines, and licenses. + > Visit for + > more information about installation, usage, API, version, + > contributing guidelines, and licenses. _Commit_ - ([e04a07a](https://github.com/commonality/readme-inspector/commit/e04a07a)), closes [#1](https://github.com/commonality/readme-inspector/issues/1) + > ([e04a07a](https://github.com/commonality/readme-inspector/commit/e04a07a)), closes [#1](https://github.com/commonality/readme-inspector/issues/1) ## References diff --git a/README.md b/README.md index 7a4be91..b1e52e4 100644 --- a/README.md +++ b/README.md @@ -1,78 +1,96 @@ -# readme-inspector [![NPM version][npm-image]][npm-url] +# readme-inspector [![NPM version][npm-image]][npm-url] [![GitHub release][github-release-image]][github-release-url] > markdown Inspect GitHub (and GitHub Enterprise) repositories for the presence and quality of READMEs. [![The MIT License][license-image]][license-url] -[![FOSSA Status][fossa-image]][fossa-url]
+[![FOSSA Status][fossa-image]][fossa-url] [![NSP Status][nsp-image]][nsp-url] +[![Known Vulnerabilities][vulnerabilities-image]][vulnerabilities-url]
[![Dependency Status][daviddm-image]][daviddm-url] [![Development Dependency Status][daviddm-dev-image]][daviddm-dev-url]
[![MacOS and Ubuntu build statuses][travis-image]][travis-url] [![Windows build status][appveyor-image]][appveyor-url] [![Coverage percentage][codacy-coverage-image]][codacy-url] [![Codacy code quality][codacy-image]][codacy-url] +![Maintenance][maintenance-image]
[![NPMS score][npms-image]][npms-url] [![NPM downloads per month][npm-downloads-month]][npm-url] ## Table of contents - + - [1. Installation](#1-installation) +- [2. Configuration](#2-configuration) - [2. Usage](#2-usage) - [3. API](#3-api) * [3.1. `authenticate({token, type, key})`](#31-authenticatetoken-type-key) + [3.1.1. Parameters](#311-parameters) + [3.1.2. Returns `void`](#312-returns-void) + [3.1.3. Example](#313-example) - * [3.2. `check(ower, repo, ref)`](#32-checkower-repo-ref) + * [3.2. `check({ower, repo, ref})`](#32-checkower-repo-ref) + [3.2.1. Parameters](#321-parameters) + [3.2.2. Returns `Promise`](#322-returns-promise) + [3.2.3. Examples](#323-examples) - * [3.3. `getReadmeInfo(owner, repo, ref)`](#33-getreadmeinfoowner-repo-ref) + * [3.3. `getInfo({owner, repo, ref})`](#33-getinfoowner-repo-ref) + [3.3.1. Parameters](#331-parameters) + [3.3.2. Returns `Promise`](#332-returns-promise) + [3.3.3. Examples](#333-examples) - * [3.4. `getReadmeScore(url)`](#34-getreadmescoreurl) - * [3.5. `ReadmeScore`](#35-readmescore) - + [3.5.1. `for(url: String): Promise`](#351-forurl-string-promise) + * [3.4. `getAppraisal(url)`](#34-getappraisalurl) + * [3.5. `ReadmeAppraisal`](#35-readmeappraisal) + + [3.5.1. `for(url): Promise`](#351-forurl-promise) - [3.5.1.1. Parameters](#3511-parameters) - [3.5.1.2. Returns `Promise`](#3512-returns-promise) - [3.5.1.3. Examples](#3513-examples) - [4. Version](#4-version) - [5. Contributing](#5-contributing) - [6. License](#6-license) - + ## 1. Installation `readme-inspector` is written in JavaScript (CommonJS) for [Node.js ![External link][octicon-link-external]](https://nodejs.org/) versions 7.6.0 or higher (for `async/await` support). -```sh +```bash $ npm install --save readme-inspector ``` -> ![light-bulb][octicon-light-bulb] **Recommendation:** To avoid rate-limiting, you should [create a personal access token ![External link][octicon-link-external]](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/) and save your personal access token in an environment variable called `GH_TOKEN`. -> -> * **MacOS and Unix** -> -> ```bash -> $ mkdir -p /usr/local/etc/readme-inspector/envvars/ -> $ touch /usr/local/etc/readme-inspector/envvars/.env -> $ echo "GH_TOKEN={your-personal-access-token-value}" > \ -> /usr/local/etc/readme-inspector/envvars/.env -> ``` -> -> * **Windows** -> -> ```shell -> md -p C:\usr\local\etc\readme-inspector\envvars\ -> touch C:\usr\local\etc\readme-inspector\envvars\.env -> echo "GH_TOKEN="{your-personal-access-token-value}" > C:\usr\local\etc\readme-inspector\envvars\.env -> ``` +## 2. Configuration + +The `commonality/readme-inspector` module combines the mediator, proxy, and factory design patterns to simplify: + +* README detection with the `readmeInfo` object, and +* Quality assessment with the `readmeInfo.appraisal` object. + +Since both of these features invoke Web services to return information, they both use `.env` variables +that require configuration: + +```properties +# 🔹 OPTIONAL env vars + +# API endpoint for the readme-score-api (with default value) +API_ENDPOINT_README_SCORE="http://readme-score-api.herokuapp.com/score.json?url=&human_breakdown=false&force=false" + +# Google Analytics trackingCode (with default value) +GA_README_INSPECTOR="UA-117338111-1" + +# 🔸 GitHub token variables to extend GitHub API rate limits +# from 60 requests per minute to 5,000 requests per minute: +GH_TOKEN= +GITHUB_ACCESS_TOKEN= +``` + +> ![light-bulb][octicon-light-bulb] **To avoid rate-limiting**, you should [create a personal access token ![External link][octicon-link-external]](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/) and save your personal access token in an environment variable called `GH_TOKEN`. --- -
Click here for detailed .env variable initialization instructions
+
Click here for detailed .env variable initialization instructions.

+ +> [![info][octicon-info] View **dotenv-extended**'s README ![External link][octicon-link-external]](https://github.com/keithmorris/node-dotenv-extended#readme) for detailed `.env` variable set up instructions. + +

file .env.schema

+ +Defines a schema of what variables should be defined in the combination of +.env and .env.defaults. @@ -101,6 +119,55 @@ GITHUB_ACCESS_TOKEN= ``` +

file .env.defaults

+ +.env.defaults provides common configuration defaults across all +environments (commited to source control). This contains overall app +configuration values that would be common across environments. The +.env.defaults file is loaded first; then the .env +file is loaded and will overwrite any values from the .env.defaults +file. + + + +```properties +# .env.defaults, committed to repo + +## See https://github.com/keithmorris/node-dotenv-extended/#readme +## ⛔️ +## 🚫 DO NOT COMMIT YOUR ACTUAL .env file to version control. +## 🚫 It should only include environment-specific values such +## 🚫 as database passwords or API keys. +## 🚫 Your production database should have a different password +## 🚫 than your development database. + +# ENV VARS defaults for readme-inspector: + +## Google Analytics trackingCode +GA_README_INSPECTOR="UA-117338111-1" + +# ReadmeAppraisal +API_ENDPOINT_README_SCORE="http://readme-score-api.herokuapp.com/score.json?url=&human_breakdown=false&force=false" +``` + + +

file .env

+ +The environment-specific file (not committed to source control). +This file will have sensitive information such as usernames, passwords, +api keys, etc. These would be specific to each environment and **should +not be committed to source control**. + + + +```properties +API_ENDPOINT_README_SCORE="http://readme-score-api.herokuapp.com/score.json?url=&human_breakdown=false&force=false" +GA_README_INSPECTOR="UA-117338111-1" +GH_TOKEN=$GH_TOKEN +GITHUB_ACCESS_TOKEN=$GH_TOKEN +``` + +
--- @@ -144,9 +211,7 @@ console.log(JSON.stringify(results, null, WHITESPACE)) // => /* { - "err": null, - "isPresent": true, - "scoreData": { + "appraisal": { "breakdown": { "cumulativeCodeBlockLength": 0, "hasLists": 0, @@ -156,10 +221,12 @@ console.log(JSON.stringify(results, null, WHITESPACE)) "numberOfImages": 0, "numberOfNonCodeSections": 0 }, - "err": null, + "error": null, "score": 0, "url": null }, + "error": null, + "isPresent": true, "value": { "name": "README.md", "path": "README.md", @@ -186,6 +253,8 @@ console.log(JSON.stringify(results, null, WHITESPACE)) ## 3. API > [![beaker][octicon-beaker] Test `readme-inspector` in your Web browser ![link-external][octicon-link-external]][runkit-readme-inspector-url]. +> +> [![gear][octicon-gear] View the full API docs for details](docs/readme-inspector/1.0.2/ReadmeAppraisal.html). The `readmeInspector` module detects whether or not a README document exists at the root of a GitHub or GitHub Enterprise repository. If a README exists, it can evaluate the README's quality and provide a numerical score from 0 to 100, where 0 is the lowest quality and 100 is the highest. @@ -227,7 +296,7 @@ The `readmeInspector` module detects whether or not a README document exists at > }) > ``` -### 3.2. `check(ower, repo, ref)` +### 3.2. `check({ower, repo, ref})` A convenience method that @@ -283,7 +352,7 @@ A convenience method that { 'err': null, 'isPresent': null, - 'scoreData': { + 'appraisal': { 'breakdown': { 'cumulativeCodeBlockLength': 0, 'hasLists': 0, @@ -326,9 +395,9 @@ A convenience method that > .catch(err => {}) > ``` -### 3.3. `getReadmeInfo(owner, repo, ref)` +### 3.3. `getInfo({owner, repo, ref})` -Retrieves README information _without_ any `ScoreData`. +Retrieves README information _without_ any `AppraisalData`. ![GET][rest-get-img] @@ -379,7 +448,7 @@ Retrieves README information _without_ any `ScoreData`. { 'err': null, 'isPresent': null, - 'scoreData': { + 'appraisal': { 'breakdown': { 'cumulativeCodeBlockLength': 0, 'hasLists': 0, @@ -402,7 +471,7 @@ Retrieves README information _without_ any `ScoreData`. * _async/await:_ > ```js - > const readmeInfo = await readmeInspector.getReadmeInfo({ + > const readmeInfo = await readmeInspector.getInfo({ > owner: 'commonality', > ref: 'GH-1-feat-inspect-readmes', > repo: 'readme-inspector' @@ -413,7 +482,7 @@ Retrieves README information _without_ any `ScoreData`. > ```js > readmeInspector - > .getReadmeInfo({ + > .getInfo({ > owner: 'commonality', > ref: 'GH-1-feat-inspect-readmes', > repo: 'readme-inspector' @@ -422,13 +491,13 @@ Retrieves README information _without_ any `ScoreData`. > .catch(err => {}) > ``` -### 3.4. `getReadmeScore(url)` +### 3.4. `getAppraisal(url)` -A convenience wrapper that calls the `ReadmeScore.for` method. +A convenience wrapper that calls the `ReadmeAppraisal.prototype.for` method. -### 3.5. `ReadmeScore` +### 3.5. `ReadmeAppraisal` -`ReadmeScore` is an API proxy for [@clayallsopp ![External link][octicon-link-external]](https://github.com/clayallsopp)'s [`readme-score-api` ![External link][octicon-link-external]](https://github.com/clayallsopp/readme-score-api). +`ReadmeAppraisal` is an API proxy for [@clayallsopp ![External link][octicon-link-external]](https://github.com/clayallsopp)'s [`readme-score-api` ![External link][octicon-link-external]](https://github.com/clayallsopp/readme-score-api). > ![quote][octicon-quote] ScoreMe gives you a numerical score from 0 to 100 for your Github-style README. The intention is to measure complexity, which is a generally correlated with quality. > @@ -436,7 +505,7 @@ A convenience wrapper that calls the `ReadmeScore.for` method. > > ScoreMe. (2018). Clayallsopp.github.io. Retrieved 10 April 2018, from -#### 3.5.1. `for(url: String): Promise` +#### 3.5.1. `for(url): Promise` Evaluate the README at the root of a GitHub repository. @@ -446,9 +515,9 @@ Evaluate the README at the root of a GitHub repository. | :--- | :----- | :--------------------------------------------------------------- | | url | String | The URL, or slug of the repository to be evaluated for a README. | -##### 3.5.1.2. Returns `Promise` +##### 3.5.1.2. Returns `Promise` -* `ScoreData` as a `NullObject` (see [lib/score-data](lib/score-data.js)):
+* `AppraisalData` as a `NullObject` (see [lib/appraisal-data](lib/appraisal-data.js)):
> ```js > { @@ -472,11 +541,11 @@ Evaluate the README at the root of a GitHub repository. * _URL:_ > ```js - > const inspector = require('readme-inspector') - > + > const { ReadmeAppraisal } = require('readme-inspector') + > const readmeAppraisal = new ReadmeAppraisal() > const url = 'https://github.com/gregswindle/github-resource-converter' > - > const result = inspector.readmeScore.for(url) + > const appraisal = readmeAppraisal.for(url) > /** => > * { > * breakdown: { @@ -498,11 +567,11 @@ Evaluate the README at the root of a GitHub repository. * _Repository slug:_ > ```js - > const inspector = require('readme-inspector') - > - > const slug = 'gregswindle/github-resource-converter' + > const { ReadmeAppraisal } = require('readme-inspector') + > const readmeAppraisal = new ReadmeAppraisal() + > const url = 'gregswindle/github-resource-converter' > - > const result = inspector.readmeScore.for(slug) + > const appraisal = readmeAppraisal.for(url) > ``` ## 4. Version @@ -555,9 +624,11 @@ Before embarking on a significant change, please follow these guidelines: --- [![Greenkeeper badge](https://badges.greenkeeper.io/commonality/readme-inspector.svg)](https://greenkeeper.io/) -[![Readme ReadmeScore](http://readme-score-api.herokuapp.com/score.svg?url=https://github.com/commonality/readme-inspector)](http://clayallsopp.github.io/readme-score?url=https://github.com/commonality/readme-inspector) +[![Readme ReadmeAppraisal](http://readme-score-api.herokuapp.com/score.svg?url=https://github.com/commonality/readme-inspector)](http://clayallsopp.github.io/readme-score?url=https://github.com/commonality/readme-inspector) + + - + [bunyan-format-url]: https://github.com/thlorenz/bunyan-format/#readme [node-bunyan-url]: https://github.com/trentm/node-bunyan/#readme @@ -566,7 +637,7 @@ Before embarking on a significant change, please follow these guidelines: [runkit-readme-inspector-url]: https://runkit.com/gregswindle/5acc09bde794d70011a136e5 [toc]: #table-of-contents - + [appveyor-image]: https://img.shields.io/appveyor/ci/gregswindle/readme-inspector.svg?style=flat-square&logo=appveyor&label=windows%20build [appveyor-url]: https://ci.appveyor.com/project/gregswindle/readme-inspector @@ -581,8 +652,11 @@ Before embarking on a significant change, please follow these guidelines: [daviddm-url]: https://david-dm.org/commonality/readme-inspector [fossa-image]: https://app.fossa.io/api/projects/git%2Bgithub.com%2Fcommonality%2Freadme-inspector.svg?type=shield&style=flat-square [fossa-url]: https://app.fossa.io/projects/git%2Bgithub.com%2Fcommonality%2Freadme-inspector?ref=badge_shield +[github-release-image]: https://img.shields.io/github/release/commonality/readme-inspector.svg?style=flat-square +[github-release-url]: https://github.com/commonality/readme-inspector/releases/latest [license-image]: https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square [license-url]: http://opensource.org/licenses/MIT +[maintenance-image]: https://img.shields.io/maintenance/readme-inspector/2018.svg?style=flat-square [notice-url]: https://app.fossa.io/reports/07123904-7d26-40a6-b6af-c74e82a53789 [npm-downloads-month]: https://img.shields.io/npm/dm/readme-inspector.svg?style=social [npm-image]: https://img.shields.io/npm/v/readme-inspector.svg?style=flat-square @@ -593,22 +667,24 @@ Before embarking on a significant change, please follow these guidelines: [nsp-url]: https://nodesecurity.io/orgs/commonality/projects/a2aa0184-ae94-4307-8b87-f0e12324368a [travis-image]: https://img.shields.io/travis/commonality/readme-inspector.svg?branch=master&style=flat-square&label=macOS%20%7C%20ubuntu%20builds&logo=travis [travis-url]: https://travis-ci.org/commonality/readme-inspector +[vulnerabilities-image]: https://snyk.io/test/github/commonality/readme-inspector/badge.svg?style=flat-square&targetFile=package.json +[vulnerabilities-url]: https://snyk.io/test/github/commonality/readme-inspector?targetFile=package.json - + [code-of-conduct-url]: https://github.com/commonality/readme-inspector/blob/master/.github/CODE_OF_CONDUCT.md [contributing-image]: https://img.shields.io/badge/read-CONTRIBUTING%20Guidelines-yellow.svg?style=for-the-badge&label=read+the [contributing-url]: https://github.com/commonality/readme-inspector/blob/master/.github/CONTRIBUTING.md -[issues-new-defect-image]: https://img.shields.io/badge/report-defect-lightgrey.svg?style=for-the-badge&label=report+a +[issues-new-defect-image]: https://img.shields.io/badge/report-defect-F5CB5C.svg?style=for-the-badge&label=report+a [issues-new-defect-url]: https://github.com/commonality/readme-inspector/issues/new?title=defect%28scope%29%3A+defect-summary&labels=priority%3a+medium%2cstatus%3a+review+needed%2ctype%3a+defect&template=defect-report.md -[issues-new-feat-image]: https://img.shields.io/badge/request-feature-blue.svg?style=for-the-badge&label=request+a +[issues-new-feat-image]: https://img.shields.io/badge/request-feature-c1ccc6.svg?style=for-the-badge&label=request+a [issues-new-feat-url]: https://github.com/commonality/readme-inspector/issues/new?title=feat%28scope%29%3A+change-proposal-summary&labels=priority%3a+medium%2cstatus%3a+review+needed%2ctype%3a+feature&template=feature-request.md [issues-url]: https://github.com/commonality/readme-inspector/issues [makeapullrequest-image]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square [makeapullrequest-url]: http://makeapullrequest.com [pr-url]: https://github.com/commonality/readme-inspector/pulls - + [octicon-alert]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/alert.svg [octicon-arrow-down]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/arrow-down.svg diff --git a/appveyor.yml b/appveyor.yml index d1cd971..05368f4 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,4 +1,10 @@ environment: + API_ENDPOINT_README_SCORE: http://readme-score-api.herokuapp.com/score.json?url=&human_breakdown=false&force=false + GA_README_INSPECTOR: UA-117338111-1 + GH_TOKEN: + secure: 1nsZPoMsZopgW0XtFNZdjuzxWvw8EcheaCS6H3B8zYM1ihueWRMc1hdUdeHyg9TM + GITHUB_ACCESS_TOKEN: + secure: 1nsZPoMsZopgW0XtFNZdjuzxWvw8EcheaCS6H3B8zYM1ihueWRMc1hdUdeHyg9TM matrix: - nodejs_version: '9' - nodejs_version: '8' diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000..84d4378 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,207 @@ +# readme-inspector product development and delivery + +> Rules, guidelines, a governance for developing, fixing, maintaining, and delivering readme-inspector. + +## Table of contents + + +- [API reference](#api-reference) +- [Development](#development) +- [Delivery](#delivery) +- [Maintenance](#maintenance) +- [Governance](#governance) + + +## API reference + +[![book][octicon-book] JSDocs](api/readme-inspector/2.0.0/index.html) for readme-inspector. + +## Development + +[![tools][octicon-tools] Guidelines for developing, buidling, and testing](project/DEVELOPERS.md) readme-inspector. + +## Delivery + +> package Instructions coming in the next patch or feature release. + +## Maintenance + +> repo Instructions coming in the next patch or feature release. + +## Governance + +> organization Information coming in the next patch or feature release. + + + +[octicon-alert]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/alert.svg +[octicon-arrow-down]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/arrow-down.svg +[octicon-arrow-left]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/arrow-left.svg +[octicon-arrow-right]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/arrow-right.svg +[octicon-arrow-small-down]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/arrow-small-down.svg +[octicon-arrow-small-left]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/arrow-small-left.svg +[octicon-arrow-small-right]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/arrow-small-right.svg +[octicon-arrow-small-up]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/arrow-small-up.svg +[octicon-arrow-up]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/arrow-up.svg +[octicon-beaker]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/beaker.svg +[octicon-bell]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/bell.svg +[octicon-bold]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/bold.svg +[octicon-book]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/book.svg +[octicon-bookmark]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/bookmark.svg +[octicon-briefcase]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/briefcase.svg +[octicon-broadcast]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/broadcast.svg +[octicon-browser]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/browser.svg +[octicon-bug]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/bug.svg +[octicon-calendar]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/calendar.svg +[octicon-check]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/check.svg +[octicon-checklist]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/checklist.svg +[octicon-chevron-down]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/chevron-down.svg +[octicon-chevron-left]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/chevron-left.svg +[octicon-chevron-right]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/chevron-right.svg +[octicon-chevron-up]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/chevron-up.svg +[octicon-circle-slash]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/circle-slash.svg +[octicon-circuit-board]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/circuit-board.svg +[octicon-clippy]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/clippy.svg +[octicon-clock]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/clock.svg +[octicon-cloud-download]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/cloud-download.svg +[octicon-cloud-upload]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/cloud-upload.svg +[octicon-code]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/code.svg +[octicon-comment-discussion]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/comment-discussion.svg +[octicon-comment]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/comment.svg +[octicon-credit-card]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/credit-card.svg +[octicon-dash]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/dash.svg +[octicon-dashboard]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/dashboard.svg +[octicon-database]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/database.svg +[octicon-desktop-download]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/desktop-download.svg +[octicon-device-camera-video]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/device-camera-video.svg +[octicon-device-camera]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/device-camera.svg +[octicon-device-desktop]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/device-desktop.svg +[octicon-device-mobile]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/device-mobile.svg +[octicon-diff-added]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/diff-added.svg +[octicon-diff-ignored]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/diff-ignored.svg +[octicon-diff-modified]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/diff-modified.svg +[octicon-diff-removed]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/diff-removed.svg +[octicon-diff-renamed]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/diff-renamed.svg +[octicon-diff]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/diff.svg +[octicon-ellipses]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/ellipses.svg +[octicon-ellipsis]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/ellipsis.svg +[octicon-eye]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/eye.svg +[octicon-file-binary]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/file-binary.svg +[octicon-file-code]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/file-code.svg +[octicon-file-directory]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/file-directory.svg +[octicon-file-media]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/file-media.svg +[octicon-file-pdf]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/file-pdf.svg +[octicon-file-submodule]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/file-submodule.svg +[octicon-file-symlink-directory]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/file-symlink-directory.svg +[octicon-file-symlink-file]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/file-symlink-file.svg +[octicon-file-text]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/file-text.svg +[octicon-file-zip]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/file-zip.svg +[octicon-file]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/file.svg +[octicon-flame]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/flame.svg +[octicon-fold]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/fold.svg +[octicon-gear]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/gear.svg +[octicon-gift]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/gift.svg +[octicon-gist-secret]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/gist-secret.svg +[octicon-gist]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/gist.svg +[octicon-git-branch]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/git-branch.svg +[octicon-git-commit]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/git-commit.svg +[octicon-git-compare]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/git-compare.svg +[octicon-git-merge]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/git-merge.svg +[octicon-git-pull-request]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/git-pull-request.svg +[octicon-globe]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/globe.svg +[octicon-grabber]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/grabber.svg +[octicon-graph]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/graph.svg +[octicon-heart]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/heart.svg +[octicon-history]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/history.svg +[octicon-home]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/home.svg +[octicon-horizontal-rule]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/horizontal-rule.svg +[octicon-hubot]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/hubot.svg +[octicon-inbox]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/inbox.svg +[octicon-info]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/info.svg +[octicon-issue-closed]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/issue-closed.svg +[octicon-issue-opened]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/issue-opened.svg +[octicon-issue-reopened]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/issue-reopened.svg +[octicon-italic]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/italic.svg +[octicon-jersey]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/jersey.svg +[octicon-key]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/key.svg +[octicon-keyboard]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/keyboard.svg +[octicon-law]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/law.svg +[octicon-light-bulb]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/light-bulb.svg +[octicon-link-external]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/link-external.svg +[octicon-link]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/link.svg +[octicon-list-ordered]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/list-ordered.svg +[octicon-list-unordered]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/list-unordered.svg +[octicon-location]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/location.svg +[octicon-lock]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/lock.svg +[octicon-logo-gist]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/logo-gist.svg +[octicon-logo-github]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/logo-github.svg +[octicon-mail-read]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/mail-read.svg +[octicon-mail-reply]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/mail-reply.svg +[octicon-mail]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/mail.svg +[octicon-mark-github]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/mark-github.svg +[octicon-markdown]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/markdown.svg +[octicon-megaphone]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/megaphone.svg +[octicon-mention]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/mention.svg +[octicon-milestone]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/milestone.svg +[octicon-mirror]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/mirror.svg +[octicon-mortar-board]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/mortar-board.svg +[octicon-mute]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/mute.svg +[octicon-no-newline]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/no-newline.svg +[octicon-octoface]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/octoface.svg +[octicon-organization]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/organization.svg +[octicon-package]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/package.svg +[octicon-paintcan]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/paintcan.svg +[octicon-pencil]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/pencil.svg +[octicon-person]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/person.svg +[octicon-pin]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/pin.svg +[octicon-plug]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/plug.svg +[octicon-plus-small]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/plus-small.svg +[octicon-plus]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/plus.svg +[octicon-primitive-dot]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/primitive-dot.svg +[octicon-primitive-square]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/primitive-square.svg +[octicon-pulse]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/pulse.svg +[octicon-question]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/question.svg +[octicon-quote]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/quote.svg +[octicon-radio-tower]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/radio-tower.svg +[octicon-reply]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/reply.svg +[octicon-repo-clone]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/repo-clone.svg +[octicon-repo-force-push]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/repo-force-push.svg +[octicon-repo-forked]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/repo-forked.svg +[octicon-repo-pull]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/repo-pull.svg +[octicon-repo-push]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/repo-push.svg +[octicon-repo]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/repo.svg +[octicon-rocket]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/rocket.svg +[octicon-rss]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/rss.svg +[octicon-ruby]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/ruby.svg +[octicon-search]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/search.svg +[octicon-server]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/server.svg +[octicon-settings]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/settings.svg +[octicon-shield]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/shield.svg +[octicon-sign-in]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/sign-in.svg +[octicon-sign-out]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/sign-out.svg +[octicon-smiley]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/smiley.svg +[octicon-squirrel]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/squirrel.svg +[octicon-star]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/star.svg +[octicon-stop]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/stop.svg +[octicon-sync]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/sync.svg +[octicon-tag]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/tag.svg +[octicon-tasklist]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/tasklist.svg +[octicon-telescope]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/telescope.svg +[octicon-terminal]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/terminal.svg +[octicon-text-size]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/text-size.svg +[octicon-three-bars]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/three-bars.svg +[octicon-thumbsdown]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/thumbsdown.svg +[octicon-thumbsup]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/thumbsup.svg +[octicon-tools]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/tools.svg +[octicon-trashcan]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/trashcan.svg +[octicon-triangle-down]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/triangle-down.svg +[octicon-triangle-left]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/triangle-left.svg +[octicon-triangle-right]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/triangle-right.svg +[octicon-triangle-up]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/triangle-up.svg +[octicon-unfold]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/unfold.svg +[octicon-unmute]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/unmute.svg +[octicon-unverified]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/unverified.svg +[octicon-verified]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/verified.svg +[octicon-versions]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/versions.svg +[octicon-watch]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/watch.svg +[octicon-x]: https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/svg/x.svg diff --git a/docs/api/readme-inspector/1.0.2/ReadmeAppraisal.html b/docs/api/readme-inspector/1.0.2/ReadmeAppraisal.html new file mode 100644 index 0000000..af004c3 --- /dev/null +++ b/docs/api/readme-inspector/1.0.2/ReadmeAppraisal.html @@ -0,0 +1,481 @@ + + + + + + ReadmeAppraisal - Documentation + + + + + + + + + + + + + + + + + +
+ +

ReadmeAppraisal

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

+ ReadmeAppraisal +

+ +

An API proxy/wrapper that invokes the readme-score-api +in order to assess and grade the quality of a README file.

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

Constructor

+ + +

new ReadmeAppraisal(serviceEndpointUrlopt)

+ + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
serviceEndpointUrl + + +string + + + + + + <optional>
+ + + + + +
+ + http://readme-score-api.herokuapp.com/score.json?url=&human_breakdown=false&force=false + + +

The URL of the + readme-score-api service you want to consume.

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

Methods

+ + + +
+ + + +

for(url, apiEndpointopt) → {Promise.<AppraisalData>}

+ + + + + +
+

Evalutate the root-level README in a repository (if present).

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
url + + +string + + + + + + + + + + + + +

A URL or repository slug.

+ +
apiEndpoint + + +URL + + + + + + <optional>
+ + + + + +
+ + http://readme-score-api.herokuapp.com/score.json?url= + + +

The API endpoint.

+ +
+ + + + + + + + + + + + + + +
+
Returns:
+ + + +
+
+ Type: +
+
+ +Promise.<AppraisalData> + + +
+
+ + +
+

AppraisalData for a README.

+
+ + +
+ + + +
+
Example
+ +
const ReadmeAppraisal = require('./readme-appraisal')
+
+// Parameters: url|slug|string<html>
+const readmeAppraisal = new ReadmeAppraisal()
+const result = await readmeAppraisal.for('commonality/readme-inspector')
+ +
+ +
+ + + + + + +
+ +
+ + + + +
+ +
+ +
+ Generated by JSDoc 3.5.5 on Fri Apr 20 2018 23:26:17 GMT-0500 (CDT) using the Minami theme. +
+ + + + + \ No newline at end of file diff --git a/docs/api/readme-inspector/1.0.2/appraisal-data.js.html b/docs/api/readme-inspector/1.0.2/appraisal-data.js.html new file mode 100644 index 0000000..d836faf --- /dev/null +++ b/docs/api/readme-inspector/1.0.2/appraisal-data.js.html @@ -0,0 +1,186 @@ + + + + + + appraisal-data.js - Documentation + + + + + + + + + + + + + + + + + +
+ +

appraisal-data.js

+ + + + + + + +
+
+
/**
+ *
+ * @module readme-inspector/appraisal-data
+ *
+ * Represents a numerical score from 0 to 100 for a Github-style README.
+ * The intention is to measure complexity, which the authors of the
+ * readme-score-api believe to be "generally correlated with quality."
+ *
+ * AppraisalData does not measure whether one README is absolutely better
+ * than another, but it does indicated whether a README is high-quality,
+ * needs more work, or somewhere in-between.
+ *
+ * @typedef AppraisalData
+ * @type {object}
+ *
+ * @prop {Error|null} err=null - A Error object or `null`.
+ *
+ * @prop {number} score=0 - The sum of all values in the breakdown collection.
+ *
+ * @prop {string} url=null - The location of the README that was evaluated.
+ *
+ * @prop {object} breakdown - A collection of README file quality measures.
+ * @prop {number} breakdown.cumulativeCodeBlockLength=0 - Amount of code.
+ *
+ *  * Value of each: 0.0009475244447271192
+ *  * Maximum allowed total: 10
+ *
+ * @prop {number} breakdown.hasLists=0 - Total count of lists.
+ *
+ *  * Value per list: 10
+ *
+ * @prop {number} breakdown.lowCodeBlockPenalty=0 - Penalty for lack of code blocks.
+ *
+ *  * Metric: code-block count
+ *  * Rule: if there are fewer than three code blocks, deduct 10 points.
+ *
+ * @prop {number} breakdown.numberOfCodeBlocks=0 - The total count of source code
+ *  examples on the README.md document.
+ *
+ *  * Value per code block: 5
+ *  * Maximum allowed total: 40
+ *
+ * @prop {number} breakdown.numberOfGifs=0 - Number of GIF images.
+ *
+ *  * Value per code block: 5
+ *  * Maximum allowed total: 15
+ *
+ * @prop {number} breakdown.numberOfImages=0 - Number of images.
+ *
+ *  * Value per code block: 5
+ *  * Maximum allowed total: 15
+ *
+ * @prop {number} breakdown.numberOfNonCodeSections=0 - The total count of sections
+ *   in the README that do _not_ contain source code.
+ *
+ *  * Value per section: 5
+ *  * Maximum allowed total: 30
+ *
+ * @example
+ * // Successfully appraise a high-quality README.
+ *
+ * const {ReadmeAppraisal} = require('readme-inspector')
+ * const readmeAppraisal = new ReadmeAppraisal()
+ * const appraisal = readmeAppraisal.for('commonality/readme-inspector')
+ *
+ * const WHITESPACE = 2
+ * console.log(JSON.stringify(appraisal, null, WHITESPACE))
+ * // =>
+ * {
+ *   "breakdown": {
+ *     "cumulativeCodeBlockLength": 10,
+ *     "hasLists": 10,
+ *     "lowCodeBlockPenalty": 0,
+ *     "numberOfCodeBlocks": 40,
+ *     "numberOfGifs": 0,
+ *     "numberOfImages": 15,
+ *     "numberOfNonCodeSections": 30
+ *   },
+ *   "error": null,
+ *   "score": 100,
+ *   "url": "commonality/readme-inspector"
+ * }
+ *
+ * @example
+ * // Return a `NullAppraisal` for a repository that doesn't
+ * // have a README.
+ *
+ * const readmeInspector = require('readme-inspector')
+ * const appraisal =
+ *   await readmeInspector.getAppraisal('https://github.com/gregswindle/no-readme')
+ *
+ * const WHITESPACE = 2
+ * console.log(JSON.stringify(appraisal, null, WHITESPACE))
+ * // =>
+ * {
+ *   "breakdown": {
+ *     "cumulativeCodeBlockLength": 0,
+ *     "hasLists": 0,
+ *     "lowCodeBlockPenalty": 0,
+ *     "numberOfCodeBlocks": 0,
+ *     "numberOfGifs": 0,
+ *     "numberOfImages": 0,
+ *     "numberOfNonCodeSections": 0
+ *   },
+ *   "error": "Could not determine score for https://github.com/gregswindle/no-readme",
+ *   "score": 0,
+ *   "url": null
+ * }
+ */
+
+const appraisal = {
+  'breakdown': {
+    'cumulativeCodeBlockLength': 0,
+    'hasLists': 0,
+    'lowCodeBlockPenalty': 0,
+    'numberOfCodeBlocks': 0,
+    'numberOfGifs': 0,
+    'numberOfImages': 0,
+    'numberOfNonCodeSections': 0
+  },
+  'error': null,
+  'score': 0,
+  'url': null
+}
+
+module.exports = appraisal
+
+
+
+ + + + +
+ +
+ +
+ Generated by JSDoc 3.5.5 on Fri Apr 20 2018 23:26:17 GMT-0500 (CDT) using the Minami theme. +
+ + + + + diff --git a/docs/api/readme-inspector/1.0.2/external-Contents.html b/docs/api/readme-inspector/1.0.2/external-Contents.html new file mode 100644 index 0000000..1eea4e6 --- /dev/null +++ b/docs/api/readme-inspector/1.0.2/external-Contents.html @@ -0,0 +1,170 @@ + + + + + + Contents - Documentation + + + + + + + + + + + + + + + + + +
+ +

Contents

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

+ Contents +

+ + +
+ +
+
+ + +

Represents the contents of files within a repository as Base64 encoded content.

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

Example

+ +
{
+  "type": file",
+  "encoding": base64",
+  "size": 5362,
+  "name": README.md",
+  "path": README.md",
+  "content": encoded content ...",
+  "sha": 3d21ec53a331a6f037a91c368710b99387d012c1",
+  "url": https://api.github.com/repos/octokit/octokit.rb/contents/README.md",
+  "git_url": https://api.github.com/repos/octokit/octokit.rb/git/blobs/3d21ec53a331a6f037a91c368710b99387d012c1",
+  "html_url": https://github.com/octokit/octokit.rb/blob/master/README.md",
+  "download_url": https://raw.githubusercontent.com/octokit/octokit.rb/master/README.md",
+  "_links": {
+    "git": https://api.github.com/repos/octokit/octokit.rb/git/blobs/3d21ec53a331a6f037a91c368710b99387d012c1",
+    "self": https://api.github.com/repos/octokit/octokit.rb/contents/README.md",
+    "html": https://github.com/octokit/octokit.rb/blob/master/README.md"
+  }
+}
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ +
+ +
+ Generated by JSDoc 3.5.5 on Fri Apr 20 2018 23:26:17 GMT-0500 (CDT) using the Minami theme. +
+ + + + + \ No newline at end of file diff --git a/docs/api/readme-inspector/1.0.2/external-Octokit.html b/docs/api/readme-inspector/1.0.2/external-Octokit.html new file mode 100644 index 0000000..cb8204a --- /dev/null +++ b/docs/api/readme-inspector/1.0.2/external-Octokit.html @@ -0,0 +1,148 @@ + + + + + + Octokit - Documentation + + + + + + + + + + + + + + + + + +
+ +

Octokit

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

+ Octokit +

+ + +
+ + + +
+ + + + +
+ +
+ +
+ Generated by JSDoc 3.5.5 on Fri Apr 20 2018 23:26:17 GMT-0500 (CDT) using the Minami theme. +
+ + + + + \ No newline at end of file diff --git a/docs/api/readme-inspector/1.0.2/external-Promise.html b/docs/api/readme-inspector/1.0.2/external-Promise.html new file mode 100644 index 0000000..b2869d5 --- /dev/null +++ b/docs/api/readme-inspector/1.0.2/external-Promise.html @@ -0,0 +1,148 @@ + + + + + + Promise - Documentation + + + + + + + + + + + + + + + + + +
+ +

Promise

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

+ Promise +

+ + +
+ + + +
+ + + + +
+ +
+ +
+ Generated by JSDoc 3.5.5 on Fri Apr 20 2018 23:26:17 GMT-0500 (CDT) using the Minami theme. +
+ + + + + \ No newline at end of file diff --git a/docs/api/readme-inspector/1.0.2/external-URL.html b/docs/api/readme-inspector/1.0.2/external-URL.html new file mode 100644 index 0000000..f91550c --- /dev/null +++ b/docs/api/readme-inspector/1.0.2/external-URL.html @@ -0,0 +1,148 @@ + + + + + + URL - Documentation + + + + + + + + + + + + + + + + + +
+ +

URL

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

+ URL +

+ + +
+ +
+
+ + +

A Node.js WHATWG URL object.

+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + +
See:
+
+ +
+ + + +
+ + + + +
+ + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ +
+ +
+ Generated by JSDoc 3.5.5 on Fri Apr 20 2018 23:26:17 GMT-0500 (CDT) using the Minami theme. +
+ + + + + \ No newline at end of file diff --git a/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Bold-webfont.eot b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Bold-webfont.eot new file mode 100644 index 0000000..5d20d91 Binary files /dev/null and b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Bold-webfont.eot differ diff --git a/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Bold-webfont.svg b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Bold-webfont.svg new file mode 100644 index 0000000..3ed7be4 --- /dev/null +++ b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Bold-webfont.svg @@ -0,0 +1,1830 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Bold-webfont.woff b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Bold-webfont.woff new file mode 100644 index 0000000..1205787 Binary files /dev/null and b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Bold-webfont.woff differ diff --git a/docs/api/readme-inspector/1.0.2/fonts/OpenSans-BoldItalic-webfont.eot b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-BoldItalic-webfont.eot new file mode 100644 index 0000000..1f639a1 Binary files /dev/null and b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-BoldItalic-webfont.eot differ diff --git a/docs/api/readme-inspector/1.0.2/fonts/OpenSans-BoldItalic-webfont.svg b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-BoldItalic-webfont.svg new file mode 100644 index 0000000..6a2607b --- /dev/null +++ b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-BoldItalic-webfont.svg @@ -0,0 +1,1830 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/readme-inspector/1.0.2/fonts/OpenSans-BoldItalic-webfont.woff b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-BoldItalic-webfont.woff new file mode 100644 index 0000000..ed760c0 Binary files /dev/null and b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-BoldItalic-webfont.woff differ diff --git a/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Italic-webfont.eot b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Italic-webfont.eot new file mode 100644 index 0000000..0c8a0ae Binary files /dev/null and b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Italic-webfont.eot differ diff --git a/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Italic-webfont.svg b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Italic-webfont.svg new file mode 100644 index 0000000..e1075dc --- /dev/null +++ b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Italic-webfont.svg @@ -0,0 +1,1830 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Italic-webfont.woff b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Italic-webfont.woff new file mode 100644 index 0000000..ff652e6 Binary files /dev/null and b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Italic-webfont.woff differ diff --git a/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Light-webfont.eot b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Light-webfont.eot new file mode 100644 index 0000000..1486840 Binary files /dev/null and b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Light-webfont.eot differ diff --git a/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Light-webfont.svg b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Light-webfont.svg new file mode 100644 index 0000000..11a472c --- /dev/null +++ b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Light-webfont.svg @@ -0,0 +1,1831 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Light-webfont.woff b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Light-webfont.woff new file mode 100644 index 0000000..e786074 Binary files /dev/null and b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Light-webfont.woff differ diff --git a/docs/api/readme-inspector/1.0.2/fonts/OpenSans-LightItalic-webfont.eot b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-LightItalic-webfont.eot new file mode 100644 index 0000000..8f44592 Binary files /dev/null and b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-LightItalic-webfont.eot differ diff --git a/docs/api/readme-inspector/1.0.2/fonts/OpenSans-LightItalic-webfont.svg b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-LightItalic-webfont.svg new file mode 100644 index 0000000..431d7e3 --- /dev/null +++ b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-LightItalic-webfont.svg @@ -0,0 +1,1835 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/readme-inspector/1.0.2/fonts/OpenSans-LightItalic-webfont.woff b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-LightItalic-webfont.woff new file mode 100644 index 0000000..43e8b9e Binary files /dev/null and b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-LightItalic-webfont.woff differ diff --git a/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Regular-webfont.eot b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Regular-webfont.eot new file mode 100644 index 0000000..6bbc3cf Binary files /dev/null and b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Regular-webfont.eot differ diff --git a/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Regular-webfont.svg b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Regular-webfont.svg new file mode 100644 index 0000000..25a3952 --- /dev/null +++ b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Regular-webfont.svg @@ -0,0 +1,1831 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Regular-webfont.woff b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Regular-webfont.woff new file mode 100644 index 0000000..e231183 Binary files /dev/null and b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Regular-webfont.woff differ diff --git a/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Semibold-webfont.eot b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Semibold-webfont.eot new file mode 100644 index 0000000..d8375dd Binary files /dev/null and b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Semibold-webfont.eot differ diff --git a/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Semibold-webfont.svg b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Semibold-webfont.svg new file mode 100644 index 0000000..eec4db8 --- /dev/null +++ b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Semibold-webfont.svg @@ -0,0 +1,1830 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Semibold-webfont.ttf b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Semibold-webfont.ttf new file mode 100644 index 0000000..b329084 Binary files /dev/null and b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Semibold-webfont.ttf differ diff --git a/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Semibold-webfont.woff b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Semibold-webfont.woff new file mode 100644 index 0000000..28d6ade Binary files /dev/null and b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-Semibold-webfont.woff differ diff --git a/docs/api/readme-inspector/1.0.2/fonts/OpenSans-SemiboldItalic-webfont.eot b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-SemiboldItalic-webfont.eot new file mode 100644 index 0000000..0ab1db2 Binary files /dev/null and b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-SemiboldItalic-webfont.eot differ diff --git a/docs/api/readme-inspector/1.0.2/fonts/OpenSans-SemiboldItalic-webfont.svg b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-SemiboldItalic-webfont.svg new file mode 100644 index 0000000..7166ec1 --- /dev/null +++ b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-SemiboldItalic-webfont.svg @@ -0,0 +1,1830 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/readme-inspector/1.0.2/fonts/OpenSans-SemiboldItalic-webfont.ttf b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-SemiboldItalic-webfont.ttf new file mode 100644 index 0000000..d2d6318 Binary files /dev/null and b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-SemiboldItalic-webfont.ttf differ diff --git a/docs/api/readme-inspector/1.0.2/fonts/OpenSans-SemiboldItalic-webfont.woff b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-SemiboldItalic-webfont.woff new file mode 100644 index 0000000..d4dfca4 Binary files /dev/null and b/docs/api/readme-inspector/1.0.2/fonts/OpenSans-SemiboldItalic-webfont.woff differ diff --git a/docs/api/readme-inspector/1.0.2/github-rest-api-options.js.html b/docs/api/readme-inspector/1.0.2/github-rest-api-options.js.html new file mode 100644 index 0000000..3398793 --- /dev/null +++ b/docs/api/readme-inspector/1.0.2/github-rest-api-options.js.html @@ -0,0 +1,114 @@ + + + + + + github-rest-api-options.js - Documentation + + + + + + + + + + + + + + + + + +
+ +

github-rest-api-options.js

+ + + + + + + +
+
+
const {name, version} = require('../package')
+
+const acceptHeaders = [
+  'application/vnd.github.mercy-preview+json',
+  'application/vnd.github.scarlet-witch-preview+json',
+  'application/vnd.github.symmetra-preview+json',
+  'application/vnd.github.v3+json'
+]
+
+/**
+ * All available @octokit/rest.js client options, with default values.
+ *
+ * @name githubRestApiOptions
+ * @memberOf readme-inspector
+ *
+ * @prop [string='https://api.github.com'] baseUrl - A serialzied URL origin
+ *  followed by an _optional_ pathname. Change this value for
+ *  GitHub Enterprise requests.
+ * @see https://nodejs.org/api/url.html#url_url_origin
+ * @see https://nodejs.org/api/url.html#url_url_pathname
+ *
+ * @example
+ * $ const response = await readmeInspector.api.issues.getForRepo({
+ *     baseUrl: 'https://github.evilcorp.com:666/api/v3'
+ *   })
+ *
+ * @prop {HTTPHeaders} headers -
+ * {@link Headers https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers}
+ * applying to both requests and responses but with no relation to the data
+ * eventually transmitted in the body.
+ *
+ * @prop {string} owner - The GitHub (Enterprise) organization or account name.
+ * @prop {string} repo - The name of a GitHub (Enterprise) repository.
+ * @prop [string] {@link requestMedia https://developer.github.com/v3/media/} -
+ * Custom media types to let you choose the format of the data you wish to receive.
+ * @prop [number=0] {@link timeout https://tools.ietf.org/id/draft-thomson-hybi-http-timeout-01.html#rfc.section.2.1} -
+ * HTTP Header that sets the number of _seconds_ an
+ *  idle connection should remain open before it's closed. The default value--0
+ *  seconds--means "no timeout."
+ */
+
+const githubRestApiOptions = {
+  'baseUrl': 'https://api.github.com',
+  'headers': {
+    'Accept': acceptHeaders.join(','),
+    'User-Agent': `commonality/${name} v${version}`
+  },
+  'owner': null,
+  'repo': null,
+  'requestMedia': 'application/vnd.github.v3+json',
+  'timeout': 0
+}
+
+module.exports = githubRestApiOptions
+
+
+
+ + + + +
+ +
+ +
+ Generated by JSDoc 3.5.5 on Fri Apr 20 2018 23:26:17 GMT-0500 (CDT) using the Minami theme. +
+ + + + + diff --git a/docs/api/readme-inspector/1.0.2/global.html b/docs/api/readme-inspector/1.0.2/global.html new file mode 100644 index 0000000..ec8b5d2 --- /dev/null +++ b/docs/api/readme-inspector/1.0.2/global.html @@ -0,0 +1,954 @@ + + + + + + Global - Documentation + + + + + + + + + + + + + + + + + +
+ +

Global

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

+ +

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

Type Definitions

+ + + +
+

AppraisalData

+ + + + + + + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Properties
+ +
NameTypeDefaultDescription
err + + +Error +| + +null + + + + + + null + +

A Error object or null.

score + + +number + + + + + + 0 + +

The sum of all values in the breakdown collection.

url + + +string + + + + + + null + +

The location of the README that was evaluated.

breakdown + + +object + + + + + +

A collection of README file quality measures.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefaultDescription
cumulativeCodeBlockLength + + +number + + + + + + 0 + +

Amount of code.

+
    +
  • Value of each: 0.0009475244447271192
  • +
  • Maximum allowed total: 10
  • +
hasLists + + +number + + + + + + 0 + +

Total count of lists.

+
    +
  • Value per list: 10
  • +
lowCodeBlockPenalty + + +number + + + + + + 0 + +

Penalty for lack of code blocks.

+
    +
  • Metric: code-block count
  • +
  • Rule: if there are fewer than three code blocks, deduct 10 points.
  • +
numberOfCodeBlocks + + +number + + + + + + 0 + +

The total count of source code + examples on the README.md document.

+
    +
  • Value per code block: 5
  • +
  • Maximum allowed total: 40
  • +
numberOfGifs + + +number + + + + + + 0 + +

Number of GIF images.

+
    +
  • Value per code block: 5
  • +
  • Maximum allowed total: 15
  • +
numberOfImages + + +number + + + + + + 0 + +

Number of images.

+
    +
  • Value per code block: 5
  • +
  • Maximum allowed total: 15
  • +
numberOfNonCodeSections + + +number + + + + + + 0 + +

The total count of sections + in the README that do not contain source code.

+
    +
  • Value per section: 5
  • +
  • Maximum allowed total: 30
  • +
+ + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + +
Type:
+
    +
  • + +object + + +
  • +
+ + + + + +
Examples
+ +
// Successfully appraise a high-quality README.
+
+const {ReadmeAppraisal} = require('readme-inspector')
+const readmeAppraisal = new ReadmeAppraisal()
+const appraisal = readmeAppraisal.for('commonality/readme-inspector')
+
+const WHITESPACE = 2
+console.log(JSON.stringify(appraisal, null, WHITESPACE))
+// =>
+{
+  "breakdown": {
+    "cumulativeCodeBlockLength": 10,
+    "hasLists": 10,
+    "lowCodeBlockPenalty": 0,
+    "numberOfCodeBlocks": 40,
+    "numberOfGifs": 0,
+    "numberOfImages": 15,
+    "numberOfNonCodeSections": 30
+  },
+  "error": null,
+  "score": 100,
+  "url": "commonality/readme-inspector"
+}
+ +
// Return a `NullAppraisal` for a repository that doesn't
+// have a README.
+
+const readmeInspector = require('readme-inspector')
+const appraisal =
+  await readmeInspector.getAppraisal('https://github.com/gregswindle/no-readme')
+
+const WHITESPACE = 2
+console.log(JSON.stringify(appraisal, null, WHITESPACE))
+// =>
+{
+  "breakdown": {
+    "cumulativeCodeBlockLength": 0,
+    "hasLists": 0,
+    "lowCodeBlockPenalty": 0,
+    "numberOfCodeBlocks": 0,
+    "numberOfGifs": 0,
+    "numberOfImages": 0,
+    "numberOfNonCodeSections": 0
+  },
+  "error": "Could not determine score for https://github.com/gregswindle/no-readme",
+  "score": 0,
+  "url": null
+}
+ + +
+ + + +
+

ReadmeInfo

+ + + + + + + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefaultDescription
appraisal + + +AppraisalData + + + + + +

Represents the + quantifiable quality of a README file.

err + + +Error + + + + + + null + +

Provides Error information + in case of exceptions.

isPresent + + +boolean + + + + + +

Declares whether a README + document was found.

value + + +external:Contents + + + + + +

A README Contents + instance.

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + +
Type:
+
    +
  • + +object + + +
  • +
+ + + + + +
Example
+ +
{
+  "appraisal":{
+    "breakdown":{
+      "cumulativeCodeBlockLength":10,
+      "hasLists":10,
+      "lowCodeBlockPenalty":0,
+      "numberOfCodeBlocks":40,
+      "numberOfGifs":0,
+      "numberOfImages":15,
+      "numberOfNonCodeSections":30
+    },
+    "error":null,
+    "score":100,
+    "url":null
+  },
+  "err":null,
+  "isPresent":true,
+  "value":{
+    "name":"README.md",
+    "path":"README.md",
+    "sha":"7a4be917e2f73fe701170753ef31f278936a7499",
+    "size":37410,
+    "url":"https://api.github.com/repos/commonality/readme-inspector/contents/README.md?ref=master",
+    "html_url":"https://github.com/commonality/readme-inspector/blob/master/README.md",
+    "git_url":"https://api.github.com/repos/commonality/readme-inspector/git/blobs/7a4be917e2f73fe701170753ef31f278936a7499",
+    "download_url":"https://raw.githubusercontent.com/commonality/readme-inspector/master/README.md",
+    "type":"file",
+    "content":"...",
+    "encoding":"base64",
+    "_links":{
+      "self":"https://api.github.com/repos/commonality/readme-inspector/contents/README.md?ref=master",
+      "git":"https://api.github.com/repos/commonality/readme-inspector/git/blobs/7a4be917e2f73fe701170753ef31f278936a7499",
+      "html":"https://github.com/commonality/readme-inspector/blob/master/README.md"
+    }
+  }
+}
+ + +
+ + + + + +
+ +
+ + + + +
+ +
+ +
+ Generated by JSDoc 3.5.5 on Fri Apr 20 2018 23:26:17 GMT-0500 (CDT) using the Minami theme. +
+ + + + + \ No newline at end of file diff --git a/docs/api/readme-inspector/1.0.2/index.html b/docs/api/readme-inspector/1.0.2/index.html new file mode 100644 index 0000000..a3077de --- /dev/null +++ b/docs/api/readme-inspector/1.0.2/index.html @@ -0,0 +1,589 @@ + + + + + + Home - Documentation + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+

readme-inspector NPM version GitHub release

+

markdown Inspect GitHub (and GitHub Enterprise) repositories for the presence and quality of READMEs.

+
+

The MIT License +FOSSA Status
+NSP Status +Known Vulnerabilities +Dependency Status +Development Dependency Status
+MacOS and Ubuntu build statuses +Windows build status +Coverage percentage +Codacy code quality +Maintenance
+NPMS score +NPM downloads per month

+

Table of contents

+ +

1. Installation

readme-inspector is written in JavaScript (CommonJS) for Node.js External link versions 7.6.0 or higher (for async/await support).

+
$ npm install --save readme-inspector

2. Configuration

The commonality/readme-inspector module combines the mediator, proxy, and factory design patterns to simplify:

+
    +
  • README detection with the readmeInfo object, and
  • +
  • Quality assessment with the readmeInfo.appraisal object.
  • +
+
+

light-bulb **Avoid rate-limiting, you should create a personal access token External link and save your personal access token in an environment variable called GH_TOKEN.

+
+
+
Click here for detailed .env variable initialization instructions
+
+
+
+properties
+# .env.schema, committed to repo
+
+## See https://github.com/keithmorris/node-dotenv-extended/#readme
+## ⛔️
+## 🚫  DO NOT COMMIT YOUR ACTUAL .env file to version control.
+## 🚫  It should only include environment-specific values such
+## 🚫  as database passwords or API keys.
+## 🚫  Your production database should have a different password
+## 🚫  than your development database.
+
+# ENV VARS required for readme-inspector
+## Add values to these ENV VARs and save to
+## {your-project-root-directory}/.env
+
+# 🔹 OPTIONAL env vars:
+API_ENDPOINT_README_SCORE=
+GA_README_INSPECTOR=
+
+# 🔸 RECOMMENDED vars (to extend GitHub API rate limits)
+GH_TOKEN=
+GITHUB_ACCESS_TOKEN=
+
+
+
+
+properties
+# .env.defaults, committed to repo
+
+## See https://github.com/keithmorris/node-dotenv-extended/#readme
+## ⛔️
+## 🚫  DO NOT COMMIT YOUR ACTUAL .env file to version control.
+## 🚫  It should only include environment-specific values such
+## 🚫  as database passwords or API keys.
+## 🚫  Your production database should have a different password
+## 🚫  than your development database.
+
+# ENV VARS defaults for readme-inspector:
+
+## Google Analytics trackingCode
+GA_README_INSPECTOR="UA-117338111-1"
+
+# ReadmeAppraisal
+API_ENDPOINT_README_SCORE="http://readme-score-api.herokuapp.com/score.json?url=&human_breakdown=false&force=false"
+
+
+
+ +
+

2. Usage

+ +
// Load all .env variables before anything else.
+
+const dotenvExtended = require('dotenv-extended')
+const envConfig = dotenvExtended.config()
+
+// Import readme-inspector.
+
+const readmeInspector = require('readme-inspector')
+
+// Recommended: authenticate to avoid rate limts.
+
+readmeInspector.authenticate({
+  token: envConfig.GH_TOKEN,
+  type: 'oauth'
+})
+
+// Verify that the repository with the slug
+// gregswindle/github-resource-converter
+// 1. Has a README, and
+// 2. Score the README for quality.
+
+const info = await readmeInspector.check(
+  'gregswindle',
+  'github-resource-converter'
+)
+
+// Display the resulting readmeInfo as a
+// JSON string.
+
+const WHITESPACE = 2
+console.log(JSON.stringify(results, null, WHITESPACE))
+// =>
+/*
+{
+  "appraisal": {
+    "breakdown": {
+      "cumulativeCodeBlockLength": 0,
+      "hasLists": 0,
+      "lowCodeBlockPenalty": 0,
+      "numberOfCodeBlocks": 0,
+      "numberOfGifs": 0,
+      "numberOfImages": 0,
+      "numberOfNonCodeSections": 0
+    },
+    "error": null,
+    "score": 0,
+    "url": null
+  },
+  "error": null,
+  "isPresent": true,
+  "value": {
+    "name": "README.md",
+    "path": "README.md",
+    "sha": "4769744aad57ff3e9aac2df603795c4d10fcdc31",
+    "size": 36877,
+    "url": "https://api.github.com/repos/commonality/readme-inspector/contents/README.md?ref=master",
+    "html_url": "https://github.com/commonality/readme-inspector/blob/master/README.md",
+    "git_url": "https://api.github.com/repos/commonality/readme-inspector/git/blobs/4769744aad57ff3e9aac2df603795c4d10fcdc31",
+    "download_url": "https://raw.githubusercontent.com/commonality/readme-inspector/master/README.md",
+    "type": "file",
+    "content": "{base64-encoding-of-readme-markdown}",
+    "encoding": "base64",
+    "_links": {
+      "self": "https://api.github.com/repos/commonality/readme-inspector/contents/README.md?ref=master",
+      "git": "https://api.github.com/repos/commonality/readme-inspector/git/blobs/4769744aad57ff3e9aac2df603795c4d10fcdc31",
+      "html": "https://github.com/commonality/readme-inspector/blob/master/README.md"
+    }
+  }
+}
+*/
+

3. API

+

beaker Test readme-inspector in your Web browser link-external.

+

gear View the full API docs for details.

+
+

The readmeInspector module detects whether or not a README document exists at the root of a GitHub or GitHub Enterprise repository. If a README exists, it can evaluate the README's quality and provide a numerical score from 0 to 100, where 0 is the lowest quality and 100 is the highest.

+

3.1. authenticate({token, type, key})

+

Info Most GitHub API calls don't require authentication. Rules of thumb:

+
    +
  1. If you can see the information by visiting the site without being logged in, you don't have to be authenticated to retrieve the same information through the API.
  2. +
  3. If you want to change data, you have to be authenticated.
  4. +
+

octokit/rest.js. (2018). GitHub. Retrieved 21 March 2018, from https://github.com/octokit/rest.js#authentication link-external

+
+

3.1.1. Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionNotes
keyString
tokenString
typeEnumbasic, oauth, oauth-key-secret, token, and integration
+

3.1.2. Returns void

authenticate does not return a value.

+

3.1.3. Example

+
// Token (https://github.com/settings/tokens)
+// Load your GH_TOKEN or GITHUB_ACCESS_TOKEN from
+// environment variables:
+const dotenvExtended = require('dotenv-extended')
+const envConfig = dotenvExtended.config()
+
+const readmeInspector = require('readme-inspector')
+
+readmeInspector.authenticate({
+  token: envConfig.GH_TOKEN,
+  type: 'token'
+})
+

3.2. check({ower, repo, ref})

A convenience method that

+
    +
  • Attempts to GET a repository's root-level README, and, if found,
  • +
  • Scores the README.
  • +
+

GET

+
/repos/:owner/:repo/readme

3.2.1. Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
owner + String +
repo + String +
ref optional + String + The name of the commit/branch/tag. Default: the repository’s default branch (usually master).
+ +

3.2.2. Returns Promise<ReadmeInfo>

ReadmeInfo's interface (as a NullObject):

+
{
+  'err': null,
+  'isPresent': null,
+  'appraisal': {
+    'breakdown': {
+      'cumulativeCodeBlockLength': 0,
+      'hasLists': 0,
+      'lowCodeBlockPenalty': 0,
+      'numberOfCodeBlocks': 0,
+      'numberOfGifs': 0,
+      'numberOfImages': 0,
+      'numberOfNonCodeSections': 0
+    },
+    'err': null,
+    'score': 0,
+    'url': null
+  },
+  'value': null
+}

3.2.3. Examples

    +
  • async/await:

    +
    +
    const readmeInfo = await readmeInspector.check({
    +  owner: 'commonality',
    +  ref: 'GH-1-feat-inspect-readmes',
    +  repo: 'readme-inspector'
    +})
    +
  • +
  • Promise:

    +
    +
    readmeInspector
    +  .check({
    +    owner: 'commonality',
    +    ref: 'GH-1-feat-inspect-readmes',
    +    repo: 'readme-inspector'
    +  })
    +  .then(readmeInfo => {})
    +  .catch(err => {})
    +
  • +
+

3.3. getInfo({owner, repo, ref})

Retrieves README information without any AppraisalData.

+

GET

+
/repos/:owner/:repo/readme

3.3.1. Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
owner + String +
repo + String +
ref optional + String + The name of the commit/branch/tag. Default: the repository’s default branch (usually master).
+ +

3.3.2. Returns Promise<ReadmeInfo>

ReadmeInfo's interface (as a NullObject):

+
{
+  'err': null,
+  'isPresent': null,
+  'appraisal': {
+    'breakdown': {
+      'cumulativeCodeBlockLength': 0,
+      'hasLists': 0,
+      'lowCodeBlockPenalty': 0,
+      'numberOfCodeBlocks': 0,
+      'numberOfGifs': 0,
+      'numberOfImages': 0,
+      'numberOfNonCodeSections': 0
+    },
+    'err': null,
+    'score': 0,
+    'url': null
+  },
+  'value': null
+}

3.3.3. Examples

    +
  • async/await:

    +
    +
    const readmeInfo = await readmeInspector.getInfo({
    +  owner: 'commonality',
    +  ref: 'GH-1-feat-inspect-readmes',
    +  repo: 'readme-inspector'
    +})
    +
  • +
  • Promise:

    +
    +
    readmeInspector
    +  .getInfo({
    +    owner: 'commonality',
    +    ref: 'GH-1-feat-inspect-readmes',
    +    repo: 'readme-inspector'
    +  })
    +  .then(readmeInfo => {})
    +  .catch(err => {})
    +
  • +
+

3.4. getAppraisal(url)

A convenience wrapper that calls the ReadmeAppraisal.prototype.for method.

+

3.5. ReadmeAppraisal

ReadmeAppraisal is an API proxy for @clayallsopp External link's readme-score-api External link.

+
+

quote ScoreMe gives you a numerical score from 0 to 100 for your Github-style README. The intention is to measure complexity, which is a generally correlated with quality.

+

It won't measure if one README is absolutely better than another, but it will give you a good idea if the README is high-quality, needs more work, or somewhere inbetween.

+

ScoreMe. (2018). Clayallsopp.github.io. Retrieved 10 April 2018, from http://clayallsopp.github.io/readme-score/

+
+

3.5.1. for(url): Promise<AppraisalData>

Evaluate the README at the root of a GitHub repository.

+
3.5.1.1. Parameters
+ + + + + + + + + + + + + + +
NameTypeDescription
urlStringThe URL, or slug of the repository to be evaluated for a README.
+
3.5.1.2. Returns Promise<AppraisalData>
    +
  • AppraisalData as a NullObject (see lib/appraisal-data):

    +
    +
    {
    +  breakdown: {
    +    cumulativeCodeBlockLength: 0
    +    hasLists: 0
    +    lowCodeBlockPenalty: 0
    +    numberOfCodeBlocks: 0
    +    numberOfGifs: 0
    +    numberOfImages: 0
    +    numberOfNonCodeSections: 0
    +  },
    +  err: null,
    +  score: 0
    +  url: null
    +}
    +
  • +
+
3.5.1.3. Examples
    +
  • URL:

    +
    +
    const { ReadmeAppraisal } = require('readme-inspector')
    +const readmeAppraisal = new ReadmeAppraisal()
    +const url = 'https://github.com/gregswindle/github-resource-converter'
    +
    +const appraisal = readmeAppraisal.for(url)
    +/** =>
    + * {
    + *   breakdown: {
    + *    cumulativeCodeBlockLength: 10
    + *    hasLists: 10
    + *    lowCodeBlockPenalty: 0
    + *    numberOfCodeBlocks: 40
    + *    numberOfGifs: 0
    + *    numberOfImages: 15
    + *    numberOfNonCodeSections: 30
    + *  },
    + *  err: null,
    + *  score: 100
    + *  url: 'https://github.com/gregswindle/github-resource-converter'
    + * }
    + */
    +
  • +
  • Repository slug:

    +
    +
    const { ReadmeAppraisal } = require('readme-inspector')
    +const readmeAppraisal = new ReadmeAppraisal()
    +const url = 'gregswindle/github-resource-converter'
    +
    +const appraisal = readmeAppraisal.for(url)
    +
  • +
+

4. Version

NPM version

+

View the Change Log and Releases for details.

+

5. Contributing

PRs Welcome External link We welcome contributions with GitHub issues and pull requests.

+
+

Request a feature +Report a defect

+

Read the CONTRIBUTING guidelines

+
+

Before embarking on a significant change, please follow these guidelines:

+
    +
  1. Create an issue—e.g., a defect ("bug") report or a feature request—to propose changes.

    +

    Exceptions:

    +
    +

    If you're working on documentation and fixing something simple like a typo or an easy bug, go ahead and make a pull request.

    +
    +
  2. +
  3. Follow the CONTRIBUTING guidelines.

    +

    Why:

    +
    +

    Standards and guidelines make communication easier. If you're willing and able to program—or want to learn how— following the guidelines will increase the likelihood of having your changes added to readme-inspector.

    +
    +
  4. +
  5. Read the Code of Conduct.

    +
  6. +
  7. Make a pull request when you're ready for other to review your changes (or you get stuck somewhere).

    +

    Never created a pull request?

    +
    +

    No problem: this free online training External link covers most of the conventions in the CONTRIBUTING guidelines.)

    +
    +
  8. +
+

6. License

MIT link-external © commonality link-external

+

FOSSA Status

+
+

Greenkeeper badge +Readme ReadmeAppraisal

+ + + + +
+
+ + + + + + +
+ +
+ +
+ Generated by JSDoc 3.5.5 on Fri Apr 20 2018 23:26:17 GMT-0500 (CDT) using the Minami theme. +
+ + + + + \ No newline at end of file diff --git a/docs/api/readme-inspector/1.0.2/index.js.html b/docs/api/readme-inspector/1.0.2/index.js.html new file mode 100644 index 0000000..193dae4 --- /dev/null +++ b/docs/api/readme-inspector/1.0.2/index.js.html @@ -0,0 +1,278 @@ + + + + + + index.js - Documentation + + + + + + + + + + + + + + + + + +
+ +

index.js

+ + + + + + + +
+
+
// Copyright (c) 2018 commonality <greg@swindle.net> (https://github.com/commonality). All rights reserved.
+
+// See LICENSE <https://github.com/commonality/readme-inspector/blob/master/LICENSE>.
+
+/*
+ * Load required environment variables
+ * @see /lib/.env.example
+ * @private
+ * @ignore
+ */
+
+const dotenvExtended = require('dotenv-extended')
+const envConfig = dotenvExtended.config()
+
+/**
+ * Represents the contents of files within a repository as Base64 encoded content.
+ * @external Contents
+ * @see {@link https://developer.github.com/v3/repos/contents/#get-the-readme}
+ * @example
+ * {
+ *   "type": file",
+ *   "encoding": base64",
+ *   "size": 5362,
+ *   "name": README.md",
+ *   "path": README.md",
+ *   "content": encoded content ...",
+ *   "sha": 3d21ec53a331a6f037a91c368710b99387d012c1",
+ *   "url": https://api.github.com/repos/octokit/octokit.rb/contents/README.md",
+ *   "git_url": https://api.github.com/repos/octokit/octokit.rb/git/blobs/3d21ec53a331a6f037a91c368710b99387d012c1",
+ *   "html_url": https://github.com/octokit/octokit.rb/blob/master/README.md",
+ *   "download_url": https://raw.githubusercontent.com/octokit/octokit.rb/master/README.md",
+ *   "_links": {
+ *     "git": https://api.github.com/repos/octokit/octokit.rb/git/blobs/3d21ec53a331a6f037a91c368710b99387d012c1",
+ *     "self": https://api.github.com/repos/octokit/octokit.rb/contents/README.md",
+ *     "html": https://github.com/octokit/octokit.rb/blob/master/README.md"
+ *   }
+ * }
+ */
+
+/**
+ * A GitHub REST API client instance.
+ * @external Octokit
+ * @see {@link https://github.com/octokit/rest.js/#readme}
+ */
+
+/**
+ * A Promise is an object representing the eventual completion or failure of an asynchronous operation.
+ * @external Promise
+ * @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise}
+ */
+
+/**
+ * A Node.js WHATWG URL object.
+ * @external URL
+ * @see {@link https://nodejs.org/api/url.html}
+ */
+
+/**
+ * Detect whether or not a README document exists at the root of a
+ * GitHub or GitHub Enterprise repository. If a README exists,
+ * evaluate the README for quality and provide a numerical score
+ * from 0 to 100, where 0 is the lowest quality and 100 is the
+ * highest.
+ *
+ * @public
+ * @prop {external:Octokit} api - A GitHubAPI (@octokit/rest) instance.
+ * @see https://github.com/octokit/rest.js/#readme
+ * @see https://octokit.github.io/rest.js/
+ *
+ * @prop {ReadmeAppraisal} ReadmeAppraisal - An API proxy/wrapper that
+ * invokes the readme-score-api in order to assess and grade
+ * the quality of a README file.
+ *
+ * @module readme-inspector
+ */
+
+const githubRestApiOptions = require('./github-rest-api-options')
+const Octokit = require('@octokit/rest')
+const readmeInfo = require('./readme-info')
+const ReadmeAppraisal = require('./readme-appraisal')
+
+/**
+ * Octokit GitHubAPI shadow instance.
+ *
+ * @private
+ * @ignore
+ */
+
+const octokit = new Octokit(githubRestApiOptions)
+
+/**
+ * @module readme-inspector
+ * @alias readmeInspector
+ */
+
+const readmeInspector = {
+  ReadmeAppraisal,
+
+  'api': octokit,
+
+  /**
+   * Sets GitHub credentials for all subsequent requests.
+   *
+   * @method
+   * @memberOf module:readme-inspector
+   *
+   * @param {object} credentials - Secret strings used to prove identity.
+   * @param {string} credentials.type - Valid values are `basic`, `oauth`, `token`, and `integration`.
+   * @param {string} credentials.username - The name of an agent.
+   * @param {string} credentials.password - A secret sequence of characters.
+   * @param {string} credentials.token
+   * @param {string} credentials.key
+   * @param {string} credentials.secret
+   *
+   * @returns {void}
+   * @see https://github.com/octokit/rest.js#authentication
+   */
+
+  authenticate (credentials) {
+    const creds = credentials || {
+      'token': envConfig.GH_TOKEN,
+      'type': 'token'
+    }
+    octokit.authenticate(creds)
+  },
+
+  /**
+   * Attempts to GET a README at the root of a GitHub
+   * (or GitHub Enterprise) repository and, if found,
+   * rate its quality with the
+   * [readme-score-api](https://github.com/clayallsopp/readme-score-api/#readme).
+   *
+   * @method check
+   * @memberOf module:readme-inspector
+   *
+   * @param {object} params - The owner/org, repo, and (optional)
+   *  branch to check.
+   * @param {string} params.owner - The account or organization to which
+   *  the source code belongs.
+   * @param {string} params.repo - The name of the repository in which
+   *  to look for a README.
+   * @param {string} [params.ref={Default branch}] - The name of the
+   *  commit/branch/tag.
+   *  Default: the repository’s default branch (usually master).
+   * @returns {Promise<ReadmeInfo>}
+   * @fulfil {ReadmeInfo} - A {ReadmeInfo} object with the `appraisal` property.
+   * @reject {ReadmeInfo} - A {ReadmeInfo} object with a defined `error` property.
+   */
+
+  async check (params = {
+  }) {
+    const info = await readmeInspector.getInfo(params)
+    if (info.isPresent) {
+      info.appraisal = await readmeInspector.getAppraisal(`${params.owner}/${params.repo}`)
+    }
+    return info
+  },
+
+  /**
+   * An API proxy for the readme-score-api, which provides quality
+   * measures for README files with the {@link appraisalData AppraisalData}
+   * interface.
+   *
+   * @method getAppraisal
+   * @memberOf module:readme-inspector
+   * @param {string} url - The URL or slug of a repository.
+   *
+   * @returns {Promise<AppraisalData>}
+   * @see https://github.com/clayallsopp/readme-score-api/#readme
+   */
+
+  async getAppraisal (url) {
+    const readmeAppraisal = new ReadmeAppraisal()
+    const appraisal = await readmeAppraisal.for(url)
+    return appraisal
+  },
+
+  /**
+   * Attempts to GET a remote README at the root of a GitHub
+   * (or GitHub Enterprise) repository, but with an {AppraisalData}
+   * `NullObject`.
+   *
+   * @method getInfo
+   * @memberOf module:readme-inspector
+   *
+   * @param {object} params - The owner/org, repo, and (optional)
+   *  branch to check.
+   * @param {string} params.owner - The account or organization to which
+   *  the source code belongs.
+   * @param {string} params.repo - The name of the repository in which
+   *  to look for a README.
+   * @param {string} [params.ref={Default branch}] - The name of the
+   *  commit/branch/tag.
+   *  Default: the repository’s default branch (usually master).
+   * @returns {Promise.<ReadmeInfo>}
+   * @fulfil {ReadmeInfo} - A {ReadmeInfo} object with `null` {AppraisalData}.
+   * @reject {ReadmeInfo} - A {ReadmeInfo} object with a defined `err` property.
+   *
+   * @see https://octokit.github.io/rest.js/#api-Repos-getReadme
+   */
+
+  async getInfo (params) {
+    const info = Object.assign({
+    }, readmeInfo)
+    try {
+      const {data} = await readmeInspector.api.repos.getReadme(params)
+      info.value = data
+      info.isPresent = true
+    } catch (err) {
+      info.err = err
+      info.isPresent = false
+    }
+
+    return info
+  }
+}
+
+module.exports = readmeInspector
+
+
+
+ + + + +
+ +
+ +
+ Generated by JSDoc 3.5.5 on Fri Apr 20 2018 23:26:17 GMT-0500 (CDT) using the Minami theme. +
+ + + + + diff --git a/docs/api/readme-inspector/1.0.2/module-readme-inspector.html b/docs/api/readme-inspector/1.0.2/module-readme-inspector.html new file mode 100644 index 0000000..efcb216 --- /dev/null +++ b/docs/api/readme-inspector/1.0.2/module-readme-inspector.html @@ -0,0 +1,2754 @@ + + + + + + readme-inspector - Documentation + + + + + + + + + + + + + + + + + +
+ +

readme-inspector

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

Detect whether or not a README document exists at the root of a +GitHub or GitHub Enterprise repository. If a README exists, +evaluate the README for quality and provide a numerical score +from 0 to 100, where 0 is the lowest quality and 100 is the +highest.

+ + + + +
+ + + + + + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
api + + +external:Octokit + + + +

A GitHubAPI (@octokit/rest) instance.

ReadmeAppraisal + + +ReadmeAppraisal + + + +

An API proxy/wrapper that +invokes the readme-score-api in order to assess and grade +the quality of a README file.

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

Methods

+ + + +
+ + + +

(static) authenticate(credentials) → {void}

+ + + + + +
+

Sets GitHub credentials for all subsequent requests.

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
credentials + + +object + + + + +

Secret strings used to prove identity.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
type + + +string + + + + +

Valid values are basic, oauth, token, and integration.

+ +
username + + +string + + + + +

The name of an agent.

+ +
password + + +string + + + + +

A secret sequence of characters.

+ +
token + + +string + + + + + + +
key + + +string + + + + + + +
secret + + +string + + + + + + +
+ + +
+ + + + + + + + + + + + + + +
+
Returns:
+ + + +
+
+ Type: +
+
+ +void + + +
+
+ + + +
+ + + +
+ + +
+ + + +

(static) check(params) → {Promise.<ReadmeInfo>}

+ + + + + +
+

Attempts to GET a README at the root of a GitHub +(or GitHub Enterprise) repository and, if found, +rate its quality with the +readme-score-api.

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
params + + +object + + + + +

The owner/org, repo, and (optional) + branch to check.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
owner + + +string + + + + + + + + + + + + +

The account or organization to which + the source code belongs.

+ +
repo + + +string + + + + + + + + + + + + +

The name of the repository in which + to look for a README.

+ +
ref + + +string + + + + + + <optional>
+ + + + + +
+ + {Default branch} + + +

The name of the + commit/branch/tag. + Default: the repository’s default branch (usually master).

+ +
+ + +
+ + + + + + + + + + + + + + +
+
Returns:
+ + + +
+
+ Type: +
+
+ +Promise.<ReadmeInfo> + + +
+
+ + + +
+ + + +
+ + +
+ + + +

(static) getAppraisal(url) → {Promise.<AppraisalData>}

+ + + + + +
+

An API proxy for the readme-score-api, which provides quality +measures for README files with the AppraisalData +interface.

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
url + + +string + + + + +

The URL or slug of a repository.

+ +
+ + + + + + + + + + + + + + +
+
Returns:
+ + + +
+
+ Type: +
+
+ +Promise.<AppraisalData> + + +
+
+ + + +
+ + + +
+ + +
+ + + +

(static) getInfo(params) → {Promise.<ReadmeInfo>}

+ + + + + +
+

Attempts to GET a remote README at the root of a GitHub +(or GitHub Enterprise) repository, but with an {AppraisalData} +NullObject.

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
params + + +object + + + + +

The owner/org, repo, and (optional) + branch to check.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
owner + + +string + + + + + + + + + + + + +

The account or organization to which + the source code belongs.

+ +
repo + + +string + + + + + + + + + + + + +

The name of the repository in which + to look for a README.

+ +
ref + + +string + + + + + + <optional>
+ + + + + +
+ + {Default branch} + + +

The name of the + commit/branch/tag. + Default: the repository’s default branch (usually master).

+ +
+ + +
+ + + + + + + + + + + + + + +
+
Returns:
+ + + +
+
+ Type: +
+
+ +Promise.<ReadmeInfo> + + +
+
+ + + +
+ + + +
+ + + + + + +
+ +
+ + + + + + + +
+ +
+ + + + + +
+ +
+
+ + + + + +
+ + + + + + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
api + + +external:Octokit + + + +

A GitHubAPI (@octokit/rest) instance.

ReadmeAppraisal + + +ReadmeAppraisal + + + +

An API proxy/wrapper that +invokes the readme-score-api in order to assess and grade +the quality of a README file.

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

Methods

+ + + +
+ + + +

(static) authenticate(credentials) → {void}

+ + + + + +
+

Sets GitHub credentials for all subsequent requests.

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
credentials + + +object + + + + +

Secret strings used to prove identity.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
type + + +string + + + + +

Valid values are basic, oauth, token, and integration.

+ +
username + + +string + + + + +

The name of an agent.

+ +
password + + +string + + + + +

A secret sequence of characters.

+ +
token + + +string + + + + + + +
key + + +string + + + + + + +
secret + + +string + + + + + + +
+ + +
+ + + + + + + + + + + + + + +
+
Returns:
+ + + +
+
+ Type: +
+
+ +void + + +
+
+ + + +
+ + + +
+ + +
+ + + +

(static) check(params) → {Promise.<ReadmeInfo>}

+ + + + + +
+

Attempts to GET a README at the root of a GitHub +(or GitHub Enterprise) repository and, if found, +rate its quality with the +readme-score-api.

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
params + + +object + + + + +

The owner/org, repo, and (optional) + branch to check.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
owner + + +string + + + + + + + + + + + + +

The account or organization to which + the source code belongs.

+ +
repo + + +string + + + + + + + + + + + + +

The name of the repository in which + to look for a README.

+ +
ref + + +string + + + + + + <optional>
+ + + + + +
+ + {Default branch} + + +

The name of the + commit/branch/tag. + Default: the repository’s default branch (usually master).

+ +
+ + +
+ + + + + + + + + + + + + + +
+
Returns:
+ + + +
+
+ Type: +
+
+ +Promise.<ReadmeInfo> + + +
+
+ + + +
+ + + +
+ + +
+ + + +

(static) getAppraisal(url) → {Promise.<AppraisalData>}

+ + + + + +
+

An API proxy for the readme-score-api, which provides quality +measures for README files with the AppraisalData +interface.

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
url + + +string + + + + +

The URL or slug of a repository.

+ +
+ + + + + + + + + + + + + + +
+
Returns:
+ + + +
+
+ Type: +
+
+ +Promise.<AppraisalData> + + +
+
+ + + +
+ + + +
+ + +
+ + + +

(static) getInfo(params) → {Promise.<ReadmeInfo>}

+ + + + + +
+

Attempts to GET a remote README at the root of a GitHub +(or GitHub Enterprise) repository, but with an {AppraisalData} +NullObject.

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
params + + +object + + + + +

The owner/org, repo, and (optional) + branch to check.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
owner + + +string + + + + + + + + + + + + +

The account or organization to which + the source code belongs.

+ +
repo + + +string + + + + + + + + + + + + +

The name of the repository in which + to look for a README.

+ +
ref + + +string + + + + + + <optional>
+ + + + + +
+ + {Default branch} + + +

The name of the + commit/branch/tag. + Default: the repository’s default branch (usually master).

+ +
+ + +
+ + + + + + + + + + + + + + +
+
Returns:
+ + + +
+
+ Type: +
+
+ +Promise.<ReadmeInfo> + + +
+
+ + + +
+ + + +
+ + + + + + +
+ +
+ + + + +
+ +
+ +
+ Generated by JSDoc 3.5.5 on Fri Apr 20 2018 23:26:17 GMT-0500 (CDT) using the Minami theme. +
+ + + + + \ No newline at end of file diff --git a/docs/api/readme-inspector/1.0.2/readme-appraisal.js.html b/docs/api/readme-inspector/1.0.2/readme-appraisal.js.html new file mode 100644 index 0000000..dedcaf0 --- /dev/null +++ b/docs/api/readme-inspector/1.0.2/readme-appraisal.js.html @@ -0,0 +1,127 @@ + + + + + + readme-appraisal.js - Documentation + + + + + + + + + + + + + + + + + +
+ +

readme-appraisal.js

+ + + + + + + +
+
+
const dotenvExtended = require('dotenv-extended')
+const envConfig = dotenvExtended.config()
+
+const {URL} = require('url')
+const appraisalData = require('./appraisal-data')
+const camelCase = require('lodash.camelcase')
+const got = require('got')
+const mapKeys = require('lodash.mapkeys')
+
+const adapt = (appraisal) => {
+  appraisal.breakdown =
+    mapKeys(appraisal.breakdown, (val, key) => camelCase(key))
+  return appraisal
+}
+
+/**
+ *
+ * @module readme-inspector/readme-appraisal
+ *
+ * @class ReadmeAppraisal
+ * @classdesc
+ * An API proxy/wrapper that invokes the readme-score-api
+ * in order to assess and grade the quality of a README file.
+ *
+ * @param {string} [serviceEndpointUrl=http://readme-score-api.herokuapp.com/score.json?url=&human_breakdown=false&force=false] - The URL of the
+ *  readme-score-api service you want to consume.
+ */
+
+class ReadmeAppraisal {
+  constructor (serviceEndpointUrl = envConfig.API_ENDPOINT_README_SCORE) {
+    this.apiEndpoint = new URL(serviceEndpointUrl)
+  }
+
+  /**
+   * Evalutate the root-level README in a repository (if present).
+   *
+   * @method for
+   * @param {string} url - A URL or repository slug.
+   * @param {URL} [apiEndpoint=http://readme-score-api.herokuapp.com/score.json?url=] - The API endpoint.
+   * @returns {Promise<AppraisalData>} AppraisalData for a README.
+   * @memberof ReadmeAppraisal#
+   * @example
+   * const ReadmeAppraisal = require('./readme-appraisal')
+   *
+   * // Parameters: url|slug|string<html>
+   * const readmeAppraisal = new ReadmeAppraisal()
+   * const result = await readmeAppraisal.for('commonality/readme-inspector')
+   */
+
+  async for (url) {
+    this.apiEndpoint.searchParams.set('url', url)
+    const serviceUrl = this.apiEndpoint.toString()
+    let result = null
+    try {
+      const {body} = await got(serviceUrl)
+      result = Object.assign({
+      }, appraisalData, JSON.parse(body))
+    } catch (err) {
+      /* istanbul ignore next */
+      result.err = err.response.body
+    }
+
+    return adapt(result)
+  }
+}
+
+module.exports = ReadmeAppraisal
+
+
+
+ + + + +
+ +
+ +
+ Generated by JSDoc 3.5.5 on Fri Apr 20 2018 23:26:17 GMT-0500 (CDT) using the Minami theme. +
+ + + + + diff --git a/docs/api/readme-inspector/1.0.2/readme-info.js.html b/docs/api/readme-inspector/1.0.2/readme-info.js.html new file mode 100644 index 0000000..dc45beb --- /dev/null +++ b/docs/api/readme-inspector/1.0.2/readme-info.js.html @@ -0,0 +1,128 @@ + + + + + + readme-info.js - Documentation + + + + + + + + + + + + + + + + + +
+ +

readme-info.js

+ + + + + + + +
+
+
const appraisalData = require('./appraisal-data')
+
+/**
+ *
+ * @module readme-inspector/readme-info
+ *
+ * Provides information about a README document.
+ *
+ * @typedef ReadmeInfo
+ * @type {object}
+ *
+ * @prop {AppraisalData} appraisal - Represents the
+ *   quantifiable quality of a README file.
+ * @prop {Error} err=null - Provides `Error` information
+ *   in case of exceptions.
+ * @prop {boolean} isPresent - Declares whether a README
+ *   document was found.
+ * @prop {external:Contents} value - A README `Contents`
+ *   instance.
+ *
+ * @example
+ * {
+ *   "appraisal":{
+ *     "breakdown":{
+ *       "cumulativeCodeBlockLength":10,
+ *       "hasLists":10,
+ *       "lowCodeBlockPenalty":0,
+ *       "numberOfCodeBlocks":40,
+ *       "numberOfGifs":0,
+ *       "numberOfImages":15,
+ *       "numberOfNonCodeSections":30
+ *     },
+ *     "error":null,
+ *     "score":100,
+ *     "url":null
+ *   },
+ *   "err":null,
+ *   "isPresent":true,
+ *   "value":{
+ *     "name":"README.md",
+ *     "path":"README.md",
+ *     "sha":"7a4be917e2f73fe701170753ef31f278936a7499",
+ *     "size":37410,
+ *     "url":"https://api.github.com/repos/commonality/readme-inspector/contents/README.md?ref=master",
+ *     "html_url":"https://github.com/commonality/readme-inspector/blob/master/README.md",
+ *     "git_url":"https://api.github.com/repos/commonality/readme-inspector/git/blobs/7a4be917e2f73fe701170753ef31f278936a7499",
+ *     "download_url":"https://raw.githubusercontent.com/commonality/readme-inspector/master/README.md",
+ *     "type":"file",
+ *     "content":"...",
+ *     "encoding":"base64",
+ *     "_links":{
+ *       "self":"https://api.github.com/repos/commonality/readme-inspector/contents/README.md?ref=master",
+ *       "git":"https://api.github.com/repos/commonality/readme-inspector/git/blobs/7a4be917e2f73fe701170753ef31f278936a7499",
+ *       "html":"https://github.com/commonality/readme-inspector/blob/master/README.md"
+ *     }
+ *   }
+ * }
+ */
+
+const readmeInfo = {
+  'appraisal': Object.assign({
+  }, appraisalData),
+  'err': null,
+  'isPresent': null,
+  'value': null
+}
+
+module.exports = readmeInfo
+
+
+
+ + + + +
+ +
+ +
+ Generated by JSDoc 3.5.5 on Fri Apr 20 2018 23:26:17 GMT-0500 (CDT) using the Minami theme. +
+ + + + + diff --git a/docs/api/readme-inspector/1.0.2/scripts/linenumber.js b/docs/api/readme-inspector/1.0.2/scripts/linenumber.js new file mode 100644 index 0000000..8d52f7e --- /dev/null +++ b/docs/api/readme-inspector/1.0.2/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/docs/api/readme-inspector/1.0.2/scripts/prettify/Apache-License-2.0.txt b/docs/api/readme-inspector/1.0.2/scripts/prettify/Apache-License-2.0.txt new file mode 100644 index 0000000..d645695 --- /dev/null +++ b/docs/api/readme-inspector/1.0.2/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/docs/api/readme-inspector/1.0.2/scripts/prettify/lang-css.js b/docs/api/readme-inspector/1.0.2/scripts/prettify/lang-css.js new file mode 100644 index 0000000..041e1f5 --- /dev/null +++ b/docs/api/readme-inspector/1.0.2/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/docs/api/readme-inspector/1.0.2/scripts/prettify/prettify.js b/docs/api/readme-inspector/1.0.2/scripts/prettify/prettify.js new file mode 100644 index 0000000..eef5ad7 --- /dev/null +++ b/docs/api/readme-inspector/1.0.2/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/docs/api/readme-inspector/1.0.2/styles/prettify-jsdoc.css b/docs/api/readme-inspector/1.0.2/styles/prettify-jsdoc.css new file mode 100644 index 0000000..834a866 --- /dev/null +++ b/docs/api/readme-inspector/1.0.2/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/docs/api/readme-inspector/1.0.2/styles/prettify-tomorrow.css b/docs/api/readme-inspector/1.0.2/styles/prettify-tomorrow.css new file mode 100644 index 0000000..81e74d1 --- /dev/null +++ b/docs/api/readme-inspector/1.0.2/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/docs/api/readme-inspector/2.0.0/ReadmeAppraisal.html b/docs/api/readme-inspector/2.0.0/ReadmeAppraisal.html new file mode 100644 index 0000000..5b18f2f --- /dev/null +++ b/docs/api/readme-inspector/2.0.0/ReadmeAppraisal.html @@ -0,0 +1,481 @@ + + + + + + ReadmeAppraisal - Documentation + + + + + + + + + + + + + + + + + +
+ +

ReadmeAppraisal

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

+ ReadmeAppraisal +

+ +

An API proxy/wrapper that invokes the readme-score-api +in order to assess and grade the quality of a README file.

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

Constructor

+ + +

new ReadmeAppraisal(serviceEndpointUrlopt)

+ + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
serviceEndpointUrl + + +string + + + + + + <optional>
+ + + + + +
+ + http://readme-score-api.herokuapp.com/score.json?url=&human_breakdown=false&force=false + + +

The URL of the + readme-score-api service you want to consume.

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

Methods

+ + + +
+ + + +

for(url, apiEndpointopt) → {Promise.<AppraisalData>}

+ + + + + +
+

Evalutate the root-level README in a repository (if present).

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
url + + +string + + + + + + + + + + + + +

A URL or repository slug.

+ +
apiEndpoint + + +URL + + + + + + <optional>
+ + + + + +
+ + http://readme-score-api.herokuapp.com/score.json?url= + + +

The API endpoint.

+ +
+ + + + + + + + + + + + + + +
+
Returns:
+ + + +
+
+ Type: +
+
+ +Promise.<AppraisalData> + + +
+
+ + +
+

AppraisalData for a README.

+
+ + +
+ + + +
+
Example
+ +
const ReadmeAppraisal = require('./readme-appraisal')
+
+// Parameters: url|slug|string<html>
+const readmeAppraisal = new ReadmeAppraisal()
+const result = await readmeAppraisal.for('commonality/readme-inspector')
+ +
+ +
+ + + + + + +
+ +
+ + + + +
+ +
+ +
+ Generated by JSDoc 3.5.5 on Sat Apr 21 2018 02:14:35 GMT-0500 (CDT) using the Minami theme. +
+ + + + + \ No newline at end of file diff --git a/docs/api/readme-inspector/2.0.0/appraisal-data.js.html b/docs/api/readme-inspector/2.0.0/appraisal-data.js.html new file mode 100644 index 0000000..dc7364b --- /dev/null +++ b/docs/api/readme-inspector/2.0.0/appraisal-data.js.html @@ -0,0 +1,186 @@ + + + + + + appraisal-data.js - Documentation + + + + + + + + + + + + + + + + + +
+ +

appraisal-data.js

+ + + + + + + +
+
+
/**
+ *
+ * @module readme-inspector/appraisal-data
+ *
+ * Represents a numerical score from 0 to 100 for a Github-style README.
+ * The intention is to measure complexity, which the authors of the
+ * readme-score-api believe to be "generally correlated with quality."
+ *
+ * AppraisalData does not measure whether one README is absolutely better
+ * than another, but it does indicated whether a README is high-quality,
+ * needs more work, or somewhere in-between.
+ *
+ * @typedef AppraisalData
+ * @type {object}
+ *
+ * @prop {Error|null} err=null - A Error object or `null`.
+ *
+ * @prop {number} score=0 - The sum of all values in the breakdown collection.
+ *
+ * @prop {string} url=null - The location of the README that was evaluated.
+ *
+ * @prop {object} breakdown - A collection of README file quality measures.
+ * @prop {number} breakdown.cumulativeCodeBlockLength=0 - Amount of code.
+ *
+ *  * Value of each: 0.0009475244447271192
+ *  * Maximum allowed total: 10
+ *
+ * @prop {number} breakdown.hasLists=0 - Total count of lists.
+ *
+ *  * Value per list: 10
+ *
+ * @prop {number} breakdown.lowCodeBlockPenalty=0 - Penalty for lack of code blocks.
+ *
+ *  * Metric: code-block count
+ *  * Rule: if there are fewer than three code blocks, deduct 10 points.
+ *
+ * @prop {number} breakdown.numberOfCodeBlocks=0 - The total count of source code
+ *  examples on the README.md document.
+ *
+ *  * Value per code block: 5
+ *  * Maximum allowed total: 40
+ *
+ * @prop {number} breakdown.numberOfGifs=0 - Number of GIF images.
+ *
+ *  * Value per code block: 5
+ *  * Maximum allowed total: 15
+ *
+ * @prop {number} breakdown.numberOfImages=0 - Number of images.
+ *
+ *  * Value per code block: 5
+ *  * Maximum allowed total: 15
+ *
+ * @prop {number} breakdown.numberOfNonCodeSections=0 - The total count of sections
+ *   in the README that do _not_ contain source code.
+ *
+ *  * Value per section: 5
+ *  * Maximum allowed total: 30
+ *
+ * @example
+ * // Successfully appraise a high-quality README.
+ *
+ * const {ReadmeAppraisal} = require('readme-inspector')
+ * const readmeAppraisal = new ReadmeAppraisal()
+ * const appraisal = readmeAppraisal.for('commonality/readme-inspector')
+ *
+ * const WHITESPACE = 2
+ * console.log(JSON.stringify(appraisal, null, WHITESPACE))
+ * // =>
+ * {
+ *   "breakdown": {
+ *     "cumulativeCodeBlockLength": 10,
+ *     "hasLists": 10,
+ *     "lowCodeBlockPenalty": 0,
+ *     "numberOfCodeBlocks": 40,
+ *     "numberOfGifs": 0,
+ *     "numberOfImages": 15,
+ *     "numberOfNonCodeSections": 30
+ *   },
+ *   "error": null,
+ *   "score": 100,
+ *   "url": "commonality/readme-inspector"
+ * }
+ *
+ * @example
+ * // Return a `NullAppraisal` for a repository that doesn't
+ * // have a README.
+ *
+ * const readmeInspector = require('readme-inspector')
+ * const appraisal =
+ *   await readmeInspector.getAppraisal('https://github.com/gregswindle/no-readme')
+ *
+ * const WHITESPACE = 2
+ * console.log(JSON.stringify(appraisal, null, WHITESPACE))
+ * // =>
+ * {
+ *   "breakdown": {
+ *     "cumulativeCodeBlockLength": 0,
+ *     "hasLists": 0,
+ *     "lowCodeBlockPenalty": 0,
+ *     "numberOfCodeBlocks": 0,
+ *     "numberOfGifs": 0,
+ *     "numberOfImages": 0,
+ *     "numberOfNonCodeSections": 0
+ *   },
+ *   "error": "Could not determine score for https://github.com/gregswindle/no-readme",
+ *   "score": 0,
+ *   "url": null
+ * }
+ */
+
+const appraisal = {
+  'breakdown': {
+    'cumulativeCodeBlockLength': 0,
+    'hasLists': 0,
+    'lowCodeBlockPenalty': 0,
+    'numberOfCodeBlocks': 0,
+    'numberOfGifs': 0,
+    'numberOfImages': 0,
+    'numberOfNonCodeSections': 0
+  },
+  'error': null,
+  'score': 0,
+  'url': null
+}
+
+module.exports = appraisal
+
+
+
+ + + + +
+ +
+ +
+ Generated by JSDoc 3.5.5 on Sat Apr 21 2018 02:14:35 GMT-0500 (CDT) using the Minami theme. +
+ + + + + diff --git a/docs/api/readme-inspector/2.0.0/external-Contents.html b/docs/api/readme-inspector/2.0.0/external-Contents.html new file mode 100644 index 0000000..bbba8fe --- /dev/null +++ b/docs/api/readme-inspector/2.0.0/external-Contents.html @@ -0,0 +1,170 @@ + + + + + + Contents - Documentation + + + + + + + + + + + + + + + + + +
+ +

Contents

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

+ Contents +

+ + +
+ +
+
+ + +

Represents the contents of files within a repository as Base64 encoded content.

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

Example

+ +
{
+  "type": file",
+  "encoding": base64",
+  "size": 5362,
+  "name": README.md",
+  "path": README.md",
+  "content": encoded content ...",
+  "sha": 3d21ec53a331a6f037a91c368710b99387d012c1",
+  "url": https://api.github.com/repos/octokit/octokit.rb/contents/README.md",
+  "git_url": https://api.github.com/repos/octokit/octokit.rb/git/blobs/3d21ec53a331a6f037a91c368710b99387d012c1",
+  "html_url": https://github.com/octokit/octokit.rb/blob/master/README.md",
+  "download_url": https://raw.githubusercontent.com/octokit/octokit.rb/master/README.md",
+  "_links": {
+    "git": https://api.github.com/repos/octokit/octokit.rb/git/blobs/3d21ec53a331a6f037a91c368710b99387d012c1",
+    "self": https://api.github.com/repos/octokit/octokit.rb/contents/README.md",
+    "html": https://github.com/octokit/octokit.rb/blob/master/README.md"
+  }
+}
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ +
+ +
+ Generated by JSDoc 3.5.5 on Sat Apr 21 2018 02:14:35 GMT-0500 (CDT) using the Minami theme. +
+ + + + + \ No newline at end of file diff --git a/docs/api/readme-inspector/2.0.0/external-Octokit.html b/docs/api/readme-inspector/2.0.0/external-Octokit.html new file mode 100644 index 0000000..8ca64ea --- /dev/null +++ b/docs/api/readme-inspector/2.0.0/external-Octokit.html @@ -0,0 +1,148 @@ + + + + + + Octokit - Documentation + + + + + + + + + + + + + + + + + +
+ +

Octokit

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

+ Octokit +

+ + +
+ + + +
+ + + + +
+ +
+ +
+ Generated by JSDoc 3.5.5 on Sat Apr 21 2018 02:14:35 GMT-0500 (CDT) using the Minami theme. +
+ + + + + \ No newline at end of file diff --git a/docs/api/readme-inspector/2.0.0/external-Promise.html b/docs/api/readme-inspector/2.0.0/external-Promise.html new file mode 100644 index 0000000..fc247df --- /dev/null +++ b/docs/api/readme-inspector/2.0.0/external-Promise.html @@ -0,0 +1,148 @@ + + + + + + Promise - Documentation + + + + + + + + + + + + + + + + + +
+ +

Promise

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

+ Promise +

+ + +
+ + + +
+ + + + +
+ +
+ +
+ Generated by JSDoc 3.5.5 on Sat Apr 21 2018 02:14:35 GMT-0500 (CDT) using the Minami theme. +
+ + + + + \ No newline at end of file diff --git a/docs/api/readme-inspector/2.0.0/external-URL.html b/docs/api/readme-inspector/2.0.0/external-URL.html new file mode 100644 index 0000000..bbc34fd --- /dev/null +++ b/docs/api/readme-inspector/2.0.0/external-URL.html @@ -0,0 +1,148 @@ + + + + + + URL - Documentation + + + + + + + + + + + + + + + + + +
+ +

URL

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

+ URL +

+ + +
+ +
+
+ + +

A Node.js WHATWG URL object.

+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + +
See:
+
+ +
+ + + +
+ + + + +
+ + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ +
+ +
+ Generated by JSDoc 3.5.5 on Sat Apr 21 2018 02:14:35 GMT-0500 (CDT) using the Minami theme. +
+ + + + + \ No newline at end of file diff --git a/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Bold-webfont.eot b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Bold-webfont.eot new file mode 100644 index 0000000..5d20d91 Binary files /dev/null and b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Bold-webfont.eot differ diff --git a/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Bold-webfont.svg b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Bold-webfont.svg new file mode 100644 index 0000000..3ed7be4 --- /dev/null +++ b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Bold-webfont.svg @@ -0,0 +1,1830 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Bold-webfont.woff b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Bold-webfont.woff new file mode 100644 index 0000000..1205787 Binary files /dev/null and b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Bold-webfont.woff differ diff --git a/docs/api/readme-inspector/2.0.0/fonts/OpenSans-BoldItalic-webfont.eot b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-BoldItalic-webfont.eot new file mode 100644 index 0000000..1f639a1 Binary files /dev/null and b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-BoldItalic-webfont.eot differ diff --git a/docs/api/readme-inspector/2.0.0/fonts/OpenSans-BoldItalic-webfont.svg b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-BoldItalic-webfont.svg new file mode 100644 index 0000000..6a2607b --- /dev/null +++ b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-BoldItalic-webfont.svg @@ -0,0 +1,1830 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/readme-inspector/2.0.0/fonts/OpenSans-BoldItalic-webfont.woff b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-BoldItalic-webfont.woff new file mode 100644 index 0000000..ed760c0 Binary files /dev/null and b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-BoldItalic-webfont.woff differ diff --git a/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Italic-webfont.eot b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Italic-webfont.eot new file mode 100644 index 0000000..0c8a0ae Binary files /dev/null and b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Italic-webfont.eot differ diff --git a/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Italic-webfont.svg b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Italic-webfont.svg new file mode 100644 index 0000000..e1075dc --- /dev/null +++ b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Italic-webfont.svg @@ -0,0 +1,1830 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Italic-webfont.woff b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Italic-webfont.woff new file mode 100644 index 0000000..ff652e6 Binary files /dev/null and b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Italic-webfont.woff differ diff --git a/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Light-webfont.eot b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Light-webfont.eot new file mode 100644 index 0000000..1486840 Binary files /dev/null and b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Light-webfont.eot differ diff --git a/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Light-webfont.svg b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Light-webfont.svg new file mode 100644 index 0000000..11a472c --- /dev/null +++ b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Light-webfont.svg @@ -0,0 +1,1831 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Light-webfont.woff b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Light-webfont.woff new file mode 100644 index 0000000..e786074 Binary files /dev/null and b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Light-webfont.woff differ diff --git a/docs/api/readme-inspector/2.0.0/fonts/OpenSans-LightItalic-webfont.eot b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-LightItalic-webfont.eot new file mode 100644 index 0000000..8f44592 Binary files /dev/null and b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-LightItalic-webfont.eot differ diff --git a/docs/api/readme-inspector/2.0.0/fonts/OpenSans-LightItalic-webfont.svg b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-LightItalic-webfont.svg new file mode 100644 index 0000000..431d7e3 --- /dev/null +++ b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-LightItalic-webfont.svg @@ -0,0 +1,1835 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/readme-inspector/2.0.0/fonts/OpenSans-LightItalic-webfont.woff b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-LightItalic-webfont.woff new file mode 100644 index 0000000..43e8b9e Binary files /dev/null and b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-LightItalic-webfont.woff differ diff --git a/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Regular-webfont.eot b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Regular-webfont.eot new file mode 100644 index 0000000..6bbc3cf Binary files /dev/null and b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Regular-webfont.eot differ diff --git a/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Regular-webfont.svg b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Regular-webfont.svg new file mode 100644 index 0000000..25a3952 --- /dev/null +++ b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Regular-webfont.svg @@ -0,0 +1,1831 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Regular-webfont.woff b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Regular-webfont.woff new file mode 100644 index 0000000..e231183 Binary files /dev/null and b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Regular-webfont.woff differ diff --git a/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Semibold-webfont.eot b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Semibold-webfont.eot new file mode 100644 index 0000000..d8375dd Binary files /dev/null and b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Semibold-webfont.eot differ diff --git a/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Semibold-webfont.svg b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Semibold-webfont.svg new file mode 100644 index 0000000..eec4db8 --- /dev/null +++ b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Semibold-webfont.svg @@ -0,0 +1,1830 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Semibold-webfont.ttf b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Semibold-webfont.ttf new file mode 100644 index 0000000..b329084 Binary files /dev/null and b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Semibold-webfont.ttf differ diff --git a/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Semibold-webfont.woff b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Semibold-webfont.woff new file mode 100644 index 0000000..28d6ade Binary files /dev/null and b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-Semibold-webfont.woff differ diff --git a/docs/api/readme-inspector/2.0.0/fonts/OpenSans-SemiboldItalic-webfont.eot b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-SemiboldItalic-webfont.eot new file mode 100644 index 0000000..0ab1db2 Binary files /dev/null and b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-SemiboldItalic-webfont.eot differ diff --git a/docs/api/readme-inspector/2.0.0/fonts/OpenSans-SemiboldItalic-webfont.svg b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-SemiboldItalic-webfont.svg new file mode 100644 index 0000000..7166ec1 --- /dev/null +++ b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-SemiboldItalic-webfont.svg @@ -0,0 +1,1830 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/readme-inspector/2.0.0/fonts/OpenSans-SemiboldItalic-webfont.ttf b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-SemiboldItalic-webfont.ttf new file mode 100644 index 0000000..d2d6318 Binary files /dev/null and b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-SemiboldItalic-webfont.ttf differ diff --git a/docs/api/readme-inspector/2.0.0/fonts/OpenSans-SemiboldItalic-webfont.woff b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-SemiboldItalic-webfont.woff new file mode 100644 index 0000000..d4dfca4 Binary files /dev/null and b/docs/api/readme-inspector/2.0.0/fonts/OpenSans-SemiboldItalic-webfont.woff differ diff --git a/docs/api/readme-inspector/2.0.0/github-rest-api-options.js.html b/docs/api/readme-inspector/2.0.0/github-rest-api-options.js.html new file mode 100644 index 0000000..a590060 --- /dev/null +++ b/docs/api/readme-inspector/2.0.0/github-rest-api-options.js.html @@ -0,0 +1,114 @@ + + + + + + github-rest-api-options.js - Documentation + + + + + + + + + + + + + + + + + +
+ +

github-rest-api-options.js

+ + + + + + + +
+
+
const {name, version} = require('../package')
+
+const acceptHeaders = [
+  'application/vnd.github.mercy-preview+json',
+  'application/vnd.github.scarlet-witch-preview+json',
+  'application/vnd.github.symmetra-preview+json',
+  'application/vnd.github.v3+json'
+]
+
+/**
+ * All available @octokit/rest.js client options, with default values.
+ *
+ * @name githubRestApiOptions
+ * @memberOf readme-inspector
+ *
+ * @prop [string='https://api.github.com'] baseUrl - A serialzied URL origin
+ *  followed by an _optional_ pathname. Change this value for
+ *  GitHub Enterprise requests.
+ * @see https://nodejs.org/api/url.html#url_url_origin
+ * @see https://nodejs.org/api/url.html#url_url_pathname
+ *
+ * @example
+ * $ const response = await readmeInspector.api.issues.getForRepo({
+ *     baseUrl: 'https://github.evilcorp.com:666/api/v3'
+ *   })
+ *
+ * @prop {HTTPHeaders} headers -
+ * {@link Headers https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers}
+ * applying to both requests and responses but with no relation to the data
+ * eventually transmitted in the body.
+ *
+ * @prop {string} owner - The GitHub (Enterprise) organization or account name.
+ * @prop {string} repo - The name of a GitHub (Enterprise) repository.
+ * @prop [string] {@link requestMedia https://developer.github.com/v3/media/} -
+ * Custom media types to let you choose the format of the data you wish to receive.
+ * @prop [number=0] {@link timeout https://tools.ietf.org/id/draft-thomson-hybi-http-timeout-01.html#rfc.section.2.1} -
+ * HTTP Header that sets the number of _seconds_ an
+ *  idle connection should remain open before it's closed. The default value--0
+ *  seconds--means "no timeout."
+ */
+
+const githubRestApiOptions = {
+  'baseUrl': 'https://api.github.com',
+  'headers': {
+    'Accept': acceptHeaders.join(','),
+    'User-Agent': `commonality/${name} v${version}`
+  },
+  'owner': null,
+  'repo': null,
+  'requestMedia': 'application/vnd.github.v3+json',
+  'timeout': 0
+}
+
+module.exports = githubRestApiOptions
+
+
+
+ + + + +
+ +
+ +
+ Generated by JSDoc 3.5.5 on Sat Apr 21 2018 02:14:35 GMT-0500 (CDT) using the Minami theme. +
+ + + + + diff --git a/docs/api/readme-inspector/2.0.0/global.html b/docs/api/readme-inspector/2.0.0/global.html new file mode 100644 index 0000000..f107941 --- /dev/null +++ b/docs/api/readme-inspector/2.0.0/global.html @@ -0,0 +1,954 @@ + + + + + + Global - Documentation + + + + + + + + + + + + + + + + + +
+ +

Global

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

+ +

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

Type Definitions

+ + + +
+

AppraisalData

+ + + + + + + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Properties
+ +
NameTypeDefaultDescription
err + + +Error +| + +null + + + + + + null + +

A Error object or null.

score + + +number + + + + + + 0 + +

The sum of all values in the breakdown collection.

url + + +string + + + + + + null + +

The location of the README that was evaluated.

breakdown + + +object + + + + + +

A collection of README file quality measures.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefaultDescription
cumulativeCodeBlockLength + + +number + + + + + + 0 + +

Amount of code.

+
    +
  • Value of each: 0.0009475244447271192
  • +
  • Maximum allowed total: 10
  • +
hasLists + + +number + + + + + + 0 + +

Total count of lists.

+
    +
  • Value per list: 10
  • +
lowCodeBlockPenalty + + +number + + + + + + 0 + +

Penalty for lack of code blocks.

+
    +
  • Metric: code-block count
  • +
  • Rule: if there are fewer than three code blocks, deduct 10 points.
  • +
numberOfCodeBlocks + + +number + + + + + + 0 + +

The total count of source code + examples on the README.md document.

+
    +
  • Value per code block: 5
  • +
  • Maximum allowed total: 40
  • +
numberOfGifs + + +number + + + + + + 0 + +

Number of GIF images.

+
    +
  • Value per code block: 5
  • +
  • Maximum allowed total: 15
  • +
numberOfImages + + +number + + + + + + 0 + +

Number of images.

+
    +
  • Value per code block: 5
  • +
  • Maximum allowed total: 15
  • +
numberOfNonCodeSections + + +number + + + + + + 0 + +

The total count of sections + in the README that do not contain source code.

+
    +
  • Value per section: 5
  • +
  • Maximum allowed total: 30
  • +
+ + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + +
Type:
+
    +
  • + +object + + +
  • +
+ + + + + +
Examples
+ +
// Successfully appraise a high-quality README.
+
+const {ReadmeAppraisal} = require('readme-inspector')
+const readmeAppraisal = new ReadmeAppraisal()
+const appraisal = readmeAppraisal.for('commonality/readme-inspector')
+
+const WHITESPACE = 2
+console.log(JSON.stringify(appraisal, null, WHITESPACE))
+// =>
+{
+  "breakdown": {
+    "cumulativeCodeBlockLength": 10,
+    "hasLists": 10,
+    "lowCodeBlockPenalty": 0,
+    "numberOfCodeBlocks": 40,
+    "numberOfGifs": 0,
+    "numberOfImages": 15,
+    "numberOfNonCodeSections": 30
+  },
+  "error": null,
+  "score": 100,
+  "url": "commonality/readme-inspector"
+}
+ +
// Return a `NullAppraisal` for a repository that doesn't
+// have a README.
+
+const readmeInspector = require('readme-inspector')
+const appraisal =
+  await readmeInspector.getAppraisal('https://github.com/gregswindle/no-readme')
+
+const WHITESPACE = 2
+console.log(JSON.stringify(appraisal, null, WHITESPACE))
+// =>
+{
+  "breakdown": {
+    "cumulativeCodeBlockLength": 0,
+    "hasLists": 0,
+    "lowCodeBlockPenalty": 0,
+    "numberOfCodeBlocks": 0,
+    "numberOfGifs": 0,
+    "numberOfImages": 0,
+    "numberOfNonCodeSections": 0
+  },
+  "error": "Could not determine score for https://github.com/gregswindle/no-readme",
+  "score": 0,
+  "url": null
+}
+ + +
+ + + +
+

ReadmeInfo

+ + + + + + + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefaultDescription
appraisal + + +AppraisalData + + + + + +

Represents the + quantifiable quality of a README file.

err + + +Error + + + + + + null + +

Provides Error information + in case of exceptions.

isPresent + + +boolean + + + + + +

Declares whether a README + document was found.

value + + +external:Contents + + + + + +

A README Contents + instance.

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + +
Type:
+
    +
  • + +object + + +
  • +
+ + + + + +
Example
+ +
{
+  "appraisal":{
+    "breakdown":{
+      "cumulativeCodeBlockLength":10,
+      "hasLists":10,
+      "lowCodeBlockPenalty":0,
+      "numberOfCodeBlocks":40,
+      "numberOfGifs":0,
+      "numberOfImages":15,
+      "numberOfNonCodeSections":30
+    },
+    "error":null,
+    "score":100,
+    "url":null
+  },
+  "err":null,
+  "isPresent":true,
+  "value":{
+    "name":"README.md",
+    "path":"README.md",
+    "sha":"7a4be917e2f73fe701170753ef31f278936a7499",
+    "size":37410,
+    "url":"https://api.github.com/repos/commonality/readme-inspector/contents/README.md?ref=master",
+    "html_url":"https://github.com/commonality/readme-inspector/blob/master/README.md",
+    "git_url":"https://api.github.com/repos/commonality/readme-inspector/git/blobs/7a4be917e2f73fe701170753ef31f278936a7499",
+    "download_url":"https://raw.githubusercontent.com/commonality/readme-inspector/master/README.md",
+    "type":"file",
+    "content":"...",
+    "encoding":"base64",
+    "_links":{
+      "self":"https://api.github.com/repos/commonality/readme-inspector/contents/README.md?ref=master",
+      "git":"https://api.github.com/repos/commonality/readme-inspector/git/blobs/7a4be917e2f73fe701170753ef31f278936a7499",
+      "html":"https://github.com/commonality/readme-inspector/blob/master/README.md"
+    }
+  }
+}
+ + +
+ + + + + +
+ +
+ + + + +
+ +
+ +
+ Generated by JSDoc 3.5.5 on Sat Apr 21 2018 02:14:35 GMT-0500 (CDT) using the Minami theme. +
+ + + + + \ No newline at end of file diff --git a/docs/api/readme-inspector/2.0.0/index.html b/docs/api/readme-inspector/2.0.0/index.html new file mode 100644 index 0000000..de1514f --- /dev/null +++ b/docs/api/readme-inspector/2.0.0/index.html @@ -0,0 +1,634 @@ + + + + + + Home - Documentation + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+

readme-inspector NPM version GitHub release

+

markdown Inspect GitHub (and GitHub Enterprise) repositories for the presence and quality of READMEs.

+
+

The MIT License +FOSSA Status +NSP Status +Known Vulnerabilities
+Dependency Status +Development Dependency Status
+MacOS and Ubuntu build statuses +Windows build status +Coverage percentage +Codacy code quality +Maintenance
+NPMS score +NPM downloads per month

+

Table of contents

+ +

1. Installation

readme-inspector is written in JavaScript (CommonJS) for Node.js External link versions 7.6.0 or higher (for async/await support).

+
$ npm install --save readme-inspector

2. Configuration

The commonality/readme-inspector module combines the mediator, proxy, and factory design patterns to simplify:

+
    +
  • README detection with the readmeInfo object, and
  • +
  • Quality assessment with the readmeInfo.appraisal object.
  • +
+

Since both of these features invoke Web services to return information, they both use .env variables +that require configuration:

+
# 🔹 OPTIONAL env vars
+
+# API endpoint for the readme-score-api (with default value)
+API_ENDPOINT_README_SCORE="http://readme-score-api.herokuapp.com/score.json?url=&human_breakdown=false&force=false"
+
+# Google Analytics trackingCode (with default value)
+GA_README_INSPECTOR="UA-117338111-1"
+
+# 🔸 GitHub token variables to extend GitHub API rate limits
+#    from 60 requests per minute to 5,000 requests per minute:
+GH_TOKEN=
+GITHUB_ACCESS_TOKEN=
+

light-bulb To avoid rate-limiting, you should create a personal access token External link and save your personal access token in an environment variable called GH_TOKEN.

+
+
+
Click here for detailed .env variable initialization instructions.

+ +> info View dotenv-extended's README External link for detailed .env variable set up instructions. + +

file .env.schema

+ +Defines a schema of what variables should be defined in the combination of +.env and .env.defaults. + + + +properties +# .env.schema, committed to repo + +## See https://github.com/keithmorris/node-dotenv-extended/#readme +## ⛔️ +## 🚫 DO NOT COMMIT YOUR ACTUAL .env file to version control. +## 🚫 It should only include environment-specific values such +## 🚫 as database passwords or API keys. +## 🚫 Your production database should have a different password +## 🚫 than your development database. + +# ENV VARS required for readme-inspector +## Add values to these ENV VARs and save to +## {your-project-root-directory}/.env + +# 🔹 OPTIONAL env vars: +API_ENDPOINT_README_SCORE= +GA_README_INSPECTOR= + +# 🔸 RECOMMENDED vars (to extend GitHub API rate limits) +GH_TOKEN= +GITHUB_ACCESS_TOKEN= + + +

file .env.defaults

+ +.env.defaults provides common configuration defaults across all +environments (commited to source control). This contains overall app +configuration values that would be common across environments. The +.env.defaults file is loaded first; then the .env +file is loaded and will overwrite any values from the .env.defaults +file. + + + +properties +# .env.defaults, committed to repo + +## See https://github.com/keithmorris/node-dotenv-extended/#readme +## ⛔️ +## 🚫 DO NOT COMMIT YOUR ACTUAL .env file to version control. +## 🚫 It should only include environment-specific values such +## 🚫 as database passwords or API keys. +## 🚫 Your production database should have a different password +## 🚫 than your development database. + +# ENV VARS defaults for readme-inspector: + +## Google Analytics trackingCode +GA_README_INSPECTOR="UA-117338111-1" + +# ReadmeAppraisal +API_ENDPOINT_README_SCORE="http://readme-score-api.herokuapp.com/score.json?url=&human_breakdown=false&force=false" + + +

file .env

+ +The environment-specific file (not committed to source control). +This file will have sensitive information such as usernames, passwords, +api keys, etc. These would be specific to each environment and should +not be committed to source control. + + + +properties +API_ENDPOINT_README_SCORE="http://readme-score-api.herokuapp.com/score.json?url=&human_breakdown=false&force=false" +GA_README_INSPECTOR="UA-117338111-1" +GH_TOKEN=$GH_TOKEN +GITHUB_ACCESS_TOKEN=$GH_TOKEN + + +
+ +
+

2. Usage

+ +
// Load all .env variables before anything else.
+
+const dotenvExtended = require('dotenv-extended')
+const envConfig = dotenvExtended.config()
+
+// Import readme-inspector.
+
+const readmeInspector = require('readme-inspector')
+
+// Recommended: authenticate to avoid rate limts.
+
+readmeInspector.authenticate({
+  token: envConfig.GH_TOKEN,
+  type: 'oauth'
+})
+
+// Verify that the repository with the slug
+// gregswindle/github-resource-converter
+// 1. Has a README, and
+// 2. Score the README for quality.
+
+const info = await readmeInspector.check(
+  'gregswindle',
+  'github-resource-converter'
+)
+
+// Display the resulting readmeInfo as a
+// JSON string.
+
+const WHITESPACE = 2
+console.log(JSON.stringify(results, null, WHITESPACE))
+// =>
+/*
+{
+  "appraisal": {
+    "breakdown": {
+      "cumulativeCodeBlockLength": 0,
+      "hasLists": 0,
+      "lowCodeBlockPenalty": 0,
+      "numberOfCodeBlocks": 0,
+      "numberOfGifs": 0,
+      "numberOfImages": 0,
+      "numberOfNonCodeSections": 0
+    },
+    "error": null,
+    "score": 0,
+    "url": null
+  },
+  "error": null,
+  "isPresent": true,
+  "value": {
+    "name": "README.md",
+    "path": "README.md",
+    "sha": "4769744aad57ff3e9aac2df603795c4d10fcdc31",
+    "size": 36877,
+    "url": "https://api.github.com/repos/commonality/readme-inspector/contents/README.md?ref=master",
+    "html_url": "https://github.com/commonality/readme-inspector/blob/master/README.md",
+    "git_url": "https://api.github.com/repos/commonality/readme-inspector/git/blobs/4769744aad57ff3e9aac2df603795c4d10fcdc31",
+    "download_url": "https://raw.githubusercontent.com/commonality/readme-inspector/master/README.md",
+    "type": "file",
+    "content": "{base64-encoding-of-readme-markdown}",
+    "encoding": "base64",
+    "_links": {
+      "self": "https://api.github.com/repos/commonality/readme-inspector/contents/README.md?ref=master",
+      "git": "https://api.github.com/repos/commonality/readme-inspector/git/blobs/4769744aad57ff3e9aac2df603795c4d10fcdc31",
+      "html": "https://github.com/commonality/readme-inspector/blob/master/README.md"
+    }
+  }
+}
+*/
+

3. API

+

beaker Test readme-inspector in your Web browser link-external.

+

gear View the full API docs for details.

+
+

The readmeInspector module detects whether or not a README document exists at the root of a GitHub or GitHub Enterprise repository. If a README exists, it can evaluate the README's quality and provide a numerical score from 0 to 100, where 0 is the lowest quality and 100 is the highest.

+

3.1. authenticate({token, type, key})

+

Info Most GitHub API calls don't require authentication. Rules of thumb:

+
    +
  1. If you can see the information by visiting the site without being logged in, you don't have to be authenticated to retrieve the same information through the API.
  2. +
  3. If you want to change data, you have to be authenticated.
  4. +
+

octokit/rest.js. (2018). GitHub. Retrieved 21 March 2018, from https://github.com/octokit/rest.js#authentication link-external

+
+

3.1.1. Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionNotes
keyString
tokenString
typeEnumbasic, oauth, oauth-key-secret, token, and integration
+

3.1.2. Returns void

authenticate does not return a value.

+

3.1.3. Example

+
// Token (https://github.com/settings/tokens)
+// Load your GH_TOKEN or GITHUB_ACCESS_TOKEN from
+// environment variables:
+const dotenvExtended = require('dotenv-extended')
+const envConfig = dotenvExtended.config()
+
+const readmeInspector = require('readme-inspector')
+
+readmeInspector.authenticate({
+  token: envConfig.GH_TOKEN,
+  type: 'token'
+})
+

3.2. check({ower, repo, ref})

A convenience method that

+
    +
  • Attempts to GET a repository's root-level README, and, if found,
  • +
  • Scores the README.
  • +
+

GET

+
/repos/:owner/:repo/readme

3.2.1. Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
owner + String +
repo + String +
ref optional + String + The name of the commit/branch/tag. Default: the repository’s default branch (usually master).
+ +

3.2.2. Returns Promise<ReadmeInfo>

ReadmeInfo's interface (as a NullObject):

+
{
+  'err': null,
+  'isPresent': null,
+  'appraisal': {
+    'breakdown': {
+      'cumulativeCodeBlockLength': 0,
+      'hasLists': 0,
+      'lowCodeBlockPenalty': 0,
+      'numberOfCodeBlocks': 0,
+      'numberOfGifs': 0,
+      'numberOfImages': 0,
+      'numberOfNonCodeSections': 0
+    },
+    'err': null,
+    'score': 0,
+    'url': null
+  },
+  'value': null
+}

3.2.3. Examples

    +
  • async/await:

    +
    +
    const readmeInfo = await readmeInspector.check({
    +  owner: 'commonality',
    +  ref: 'GH-1-feat-inspect-readmes',
    +  repo: 'readme-inspector'
    +})
    +
  • +
  • Promise:

    +
    +
    readmeInspector
    +  .check({
    +    owner: 'commonality',
    +    ref: 'GH-1-feat-inspect-readmes',
    +    repo: 'readme-inspector'
    +  })
    +  .then(readmeInfo => {})
    +  .catch(err => {})
    +
  • +
+

3.3. getInfo({owner, repo, ref})

Retrieves README information without any AppraisalData.

+

GET

+
/repos/:owner/:repo/readme

3.3.1. Parameters

+ + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescription
owner + String +
repo + String +
ref optional + String + The name of the commit/branch/tag. Default: the repository’s default branch (usually master).
+ +

3.3.2. Returns Promise<ReadmeInfo>

ReadmeInfo's interface (as a NullObject):

+
{
+  'err': null,
+  'isPresent': null,
+  'appraisal': {
+    'breakdown': {
+      'cumulativeCodeBlockLength': 0,
+      'hasLists': 0,
+      'lowCodeBlockPenalty': 0,
+      'numberOfCodeBlocks': 0,
+      'numberOfGifs': 0,
+      'numberOfImages': 0,
+      'numberOfNonCodeSections': 0
+    },
+    'err': null,
+    'score': 0,
+    'url': null
+  },
+  'value': null
+}

3.3.3. Examples

    +
  • async/await:

    +
    +
    const readmeInfo = await readmeInspector.getInfo({
    +  owner: 'commonality',
    +  ref: 'GH-1-feat-inspect-readmes',
    +  repo: 'readme-inspector'
    +})
    +
  • +
  • Promise:

    +
    +
    readmeInspector
    +  .getInfo({
    +    owner: 'commonality',
    +    ref: 'GH-1-feat-inspect-readmes',
    +    repo: 'readme-inspector'
    +  })
    +  .then(readmeInfo => {})
    +  .catch(err => {})
    +
  • +
+

3.4. getAppraisal(url)

A convenience wrapper that calls the ReadmeAppraisal.prototype.for method.

+

3.5. ReadmeAppraisal

ReadmeAppraisal is an API proxy for @clayallsopp External link's readme-score-api External link.

+
+

quote ScoreMe gives you a numerical score from 0 to 100 for your Github-style README. The intention is to measure complexity, which is a generally correlated with quality.

+

It won't measure if one README is absolutely better than another, but it will give you a good idea if the README is high-quality, needs more work, or somewhere inbetween.

+

ScoreMe. (2018). Clayallsopp.github.io. Retrieved 10 April 2018, from http://clayallsopp.github.io/readme-score/

+
+

3.5.1. for(url): Promise<AppraisalData>

Evaluate the README at the root of a GitHub repository.

+
3.5.1.1. Parameters
+ + + + + + + + + + + + + + +
NameTypeDescription
urlStringThe URL, or slug of the repository to be evaluated for a README.
+
3.5.1.2. Returns Promise<AppraisalData>
    +
  • AppraisalData as a NullObject (see lib/appraisal-data):

    +
    +
    {
    +  breakdown: {
    +    cumulativeCodeBlockLength: 0
    +    hasLists: 0
    +    lowCodeBlockPenalty: 0
    +    numberOfCodeBlocks: 0
    +    numberOfGifs: 0
    +    numberOfImages: 0
    +    numberOfNonCodeSections: 0
    +  },
    +  err: null,
    +  score: 0
    +  url: null
    +}
    +
  • +
+
3.5.1.3. Examples
    +
  • URL:

    +
    +
    const { ReadmeAppraisal } = require('readme-inspector')
    +const readmeAppraisal = new ReadmeAppraisal()
    +const url = 'https://github.com/gregswindle/github-resource-converter'
    +
    +const appraisal = readmeAppraisal.for(url)
    +/** =>
    + * {
    + *   breakdown: {
    + *    cumulativeCodeBlockLength: 10
    + *    hasLists: 10
    + *    lowCodeBlockPenalty: 0
    + *    numberOfCodeBlocks: 40
    + *    numberOfGifs: 0
    + *    numberOfImages: 15
    + *    numberOfNonCodeSections: 30
    + *  },
    + *  err: null,
    + *  score: 100
    + *  url: 'https://github.com/gregswindle/github-resource-converter'
    + * }
    + */
    +
  • +
  • Repository slug:

    +
    +
    const { ReadmeAppraisal } = require('readme-inspector')
    +const readmeAppraisal = new ReadmeAppraisal()
    +const url = 'gregswindle/github-resource-converter'
    +
    +const appraisal = readmeAppraisal.for(url)
    +
  • +
+

4. Version

NPM version

+

View the Change Log and Releases for details.

+

5. Contributing

PRs Welcome External link We welcome contributions with GitHub issues and pull requests.

+
+

Request a feature +Report a defect

+

Read the CONTRIBUTING guidelines

+
+

Before embarking on a significant change, please follow these guidelines:

+
    +
  1. Create an issue—e.g., a defect ("bug") report or a feature request—to propose changes.

    +

    Exceptions:

    +
    +

    If you're working on documentation and fixing something simple like a typo or an easy bug, go ahead and make a pull request.

    +
    +
  2. +
  3. Follow the CONTRIBUTING guidelines.

    +

    Why:

    +
    +

    Standards and guidelines make communication easier. If you're willing and able to program—or want to learn how— following the guidelines will increase the likelihood of having your changes added to readme-inspector.

    +
    +
  4. +
  5. Read the Code of Conduct.

    +
  6. +
  7. Make a pull request when you're ready for other to review your changes (or you get stuck somewhere).

    +

    Never created a pull request?

    +
    +

    No problem: this free online training External link covers most of the conventions in the CONTRIBUTING guidelines.)

    +
    +
  8. +
+

6. License

MIT link-external © commonality link-external

+

FOSSA Status

+
+

Greenkeeper badge +Readme ReadmeAppraisal

+ + + + +
+
+ + + + + + +
+ +
+ +
+ Generated by JSDoc 3.5.5 on Sat Apr 21 2018 02:14:35 GMT-0500 (CDT) using the Minami theme. +
+ + + + + \ No newline at end of file diff --git a/docs/api/readme-inspector/2.0.0/index.js.html b/docs/api/readme-inspector/2.0.0/index.js.html new file mode 100644 index 0000000..382cf14 --- /dev/null +++ b/docs/api/readme-inspector/2.0.0/index.js.html @@ -0,0 +1,278 @@ + + + + + + index.js - Documentation + + + + + + + + + + + + + + + + + +
+ +

index.js

+ + + + + + + +
+
+
// Copyright (c) 2018 commonality <greg@swindle.net> (https://github.com/commonality). All rights reserved.
+
+// See LICENSE <https://github.com/commonality/readme-inspector/blob/master/LICENSE>.
+
+/*
+ * Load required environment variables
+ * @see /lib/.env.example
+ * @private
+ * @ignore
+ */
+
+const dotenvExtended = require('dotenv-extended')
+const envConfig = dotenvExtended.config()
+
+/**
+ * Represents the contents of files within a repository as Base64 encoded content.
+ * @external Contents
+ * @see {@link https://developer.github.com/v3/repos/contents/#get-the-readme}
+ * @example
+ * {
+ *   "type": file",
+ *   "encoding": base64",
+ *   "size": 5362,
+ *   "name": README.md",
+ *   "path": README.md",
+ *   "content": encoded content ...",
+ *   "sha": 3d21ec53a331a6f037a91c368710b99387d012c1",
+ *   "url": https://api.github.com/repos/octokit/octokit.rb/contents/README.md",
+ *   "git_url": https://api.github.com/repos/octokit/octokit.rb/git/blobs/3d21ec53a331a6f037a91c368710b99387d012c1",
+ *   "html_url": https://github.com/octokit/octokit.rb/blob/master/README.md",
+ *   "download_url": https://raw.githubusercontent.com/octokit/octokit.rb/master/README.md",
+ *   "_links": {
+ *     "git": https://api.github.com/repos/octokit/octokit.rb/git/blobs/3d21ec53a331a6f037a91c368710b99387d012c1",
+ *     "self": https://api.github.com/repos/octokit/octokit.rb/contents/README.md",
+ *     "html": https://github.com/octokit/octokit.rb/blob/master/README.md"
+ *   }
+ * }
+ */
+
+/**
+ * A GitHub REST API client instance.
+ * @external Octokit
+ * @see {@link https://github.com/octokit/rest.js/#readme}
+ */
+
+/**
+ * A Promise is an object representing the eventual completion or failure of an asynchronous operation.
+ * @external Promise
+ * @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise}
+ */
+
+/**
+ * A Node.js WHATWG URL object.
+ * @external URL
+ * @see {@link https://nodejs.org/api/url.html}
+ */
+
+/**
+ * Detect whether or not a README document exists at the root of a
+ * GitHub or GitHub Enterprise repository. If a README exists,
+ * evaluate the README for quality and provide a numerical score
+ * from 0 to 100, where 0 is the lowest quality and 100 is the
+ * highest.
+ *
+ * @public
+ * @prop {external:Octokit} api - A GitHubAPI (@octokit/rest) instance.
+ * @see https://github.com/octokit/rest.js/#readme
+ * @see https://octokit.github.io/rest.js/
+ *
+ * @prop {ReadmeAppraisal} ReadmeAppraisal - An API proxy/wrapper that
+ * invokes the readme-score-api in order to assess and grade
+ * the quality of a README file.
+ *
+ * @module readme-inspector
+ */
+
+const githubRestApiOptions = require('./github-rest-api-options')
+const Octokit = require('@octokit/rest')
+const readmeInfo = require('./readme-info')
+const ReadmeAppraisal = require('./readme-appraisal')
+
+/**
+ * Octokit GitHubAPI shadow instance.
+ *
+ * @private
+ * @ignore
+ */
+
+const octokit = new Octokit(githubRestApiOptions)
+
+/**
+ * @module readme-inspector
+ * @alias readmeInspector
+ */
+
+const readmeInspector = {
+  ReadmeAppraisal,
+
+  'api': octokit,
+
+  /**
+   * Sets GitHub credentials for all subsequent requests.
+   *
+   * @method
+   * @memberOf module:readme-inspector
+   *
+   * @param {object} credentials - Secret strings used to prove identity.
+   * @param {string} credentials.type - Valid values are `basic`, `oauth`, `token`, and `integration`.
+   * @param {string} credentials.username - The name of an agent.
+   * @param {string} credentials.password - A secret sequence of characters.
+   * @param {string} credentials.token
+   * @param {string} credentials.key
+   * @param {string} credentials.secret
+   *
+   * @returns {void}
+   * @see https://github.com/octokit/rest.js#authentication
+   */
+
+  authenticate (credentials) {
+    const creds = credentials || {
+      'token': envConfig.GH_TOKEN,
+      'type': 'token'
+    }
+    octokit.authenticate(creds)
+  },
+
+  /**
+   * Attempts to GET a README at the root of a GitHub
+   * (or GitHub Enterprise) repository and, if found,
+   * rate its quality with the
+   * [readme-score-api](https://github.com/clayallsopp/readme-score-api/#readme).
+   *
+   * @method check
+   * @memberOf module:readme-inspector
+   *
+   * @param {object} params - The owner/org, repo, and (optional)
+   *  branch to check.
+   * @param {string} params.owner - The account or organization to which
+   *  the source code belongs.
+   * @param {string} params.repo - The name of the repository in which
+   *  to look for a README.
+   * @param {string} [params.ref={Default branch}] - The name of the
+   *  commit/branch/tag.
+   *  Default: the repository’s default branch (usually master).
+   * @returns {Promise<ReadmeInfo>}
+   * @fulfil {ReadmeInfo} - A {ReadmeInfo} object with the `appraisal` property.
+   * @reject {ReadmeInfo} - A {ReadmeInfo} object with a defined `error` property.
+   */
+
+  async check (params = {
+  }) {
+    const info = await readmeInspector.getInfo(params)
+    if (info.isPresent) {
+      info.appraisal = await readmeInspector.getAppraisal(`${params.owner}/${params.repo}`)
+    }
+    return info
+  },
+
+  /**
+   * An API proxy for the readme-score-api, which provides quality
+   * measures for README files with the {@link appraisalData AppraisalData}
+   * interface.
+   *
+   * @method getAppraisal
+   * @memberOf module:readme-inspector
+   * @param {string} url - The URL or slug of a repository.
+   *
+   * @returns {Promise<AppraisalData>}
+   * @see https://github.com/clayallsopp/readme-score-api/#readme
+   */
+
+  async getAppraisal (url) {
+    const readmeAppraisal = new ReadmeAppraisal()
+    const appraisal = await readmeAppraisal.for(url)
+    return appraisal
+  },
+
+  /**
+   * Attempts to GET a remote README at the root of a GitHub
+   * (or GitHub Enterprise) repository, but with an {AppraisalData}
+   * `NullObject`.
+   *
+   * @method getInfo
+   * @memberOf module:readme-inspector
+   *
+   * @param {object} params - The owner/org, repo, and (optional)
+   *  branch to check.
+   * @param {string} params.owner - The account or organization to which
+   *  the source code belongs.
+   * @param {string} params.repo - The name of the repository in which
+   *  to look for a README.
+   * @param {string} [params.ref={Default branch}] - The name of the
+   *  commit/branch/tag.
+   *  Default: the repository’s default branch (usually master).
+   * @returns {Promise.<ReadmeInfo>}
+   * @fulfil {ReadmeInfo} - A {ReadmeInfo} object with `null` {AppraisalData}.
+   * @reject {ReadmeInfo} - A {ReadmeInfo} object with a defined `err` property.
+   *
+   * @see https://octokit.github.io/rest.js/#api-Repos-getReadme
+   */
+
+  async getInfo (params) {
+    const info = Object.assign({
+    }, readmeInfo)
+    try {
+      const {data} = await readmeInspector.api.repos.getReadme(params)
+      info.value = data
+      info.isPresent = true
+    } catch (err) {
+      info.err = err
+      info.isPresent = false
+    }
+
+    return info
+  }
+}
+
+module.exports = readmeInspector
+
+
+
+ + + + +
+ +
+ +
+ Generated by JSDoc 3.5.5 on Sat Apr 21 2018 02:14:35 GMT-0500 (CDT) using the Minami theme. +
+ + + + + diff --git a/docs/api/readme-inspector/2.0.0/module-readme-inspector.html b/docs/api/readme-inspector/2.0.0/module-readme-inspector.html new file mode 100644 index 0000000..8650d67 --- /dev/null +++ b/docs/api/readme-inspector/2.0.0/module-readme-inspector.html @@ -0,0 +1,2754 @@ + + + + + + readme-inspector - Documentation + + + + + + + + + + + + + + + + + +
+ +

readme-inspector

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

Detect whether or not a README document exists at the root of a +GitHub or GitHub Enterprise repository. If a README exists, +evaluate the README for quality and provide a numerical score +from 0 to 100, where 0 is the lowest quality and 100 is the +highest.

+ + + + +
+ + + + + + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
api + + +external:Octokit + + + +

A GitHubAPI (@octokit/rest) instance.

ReadmeAppraisal + + +ReadmeAppraisal + + + +

An API proxy/wrapper that +invokes the readme-score-api in order to assess and grade +the quality of a README file.

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

Methods

+ + + +
+ + + +

(static) authenticate(credentials) → {void}

+ + + + + +
+

Sets GitHub credentials for all subsequent requests.

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
credentials + + +object + + + + +

Secret strings used to prove identity.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
type + + +string + + + + +

Valid values are basic, oauth, token, and integration.

+ +
username + + +string + + + + +

The name of an agent.

+ +
password + + +string + + + + +

A secret sequence of characters.

+ +
token + + +string + + + + + + +
key + + +string + + + + + + +
secret + + +string + + + + + + +
+ + +
+ + + + + + + + + + + + + + +
+
Returns:
+ + + +
+
+ Type: +
+
+ +void + + +
+
+ + + +
+ + + +
+ + +
+ + + +

(static) check(params) → {Promise.<ReadmeInfo>}

+ + + + + +
+

Attempts to GET a README at the root of a GitHub +(or GitHub Enterprise) repository and, if found, +rate its quality with the +readme-score-api.

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
params + + +object + + + + +

The owner/org, repo, and (optional) + branch to check.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
owner + + +string + + + + + + + + + + + + +

The account or organization to which + the source code belongs.

+ +
repo + + +string + + + + + + + + + + + + +

The name of the repository in which + to look for a README.

+ +
ref + + +string + + + + + + <optional>
+ + + + + +
+ + {Default branch} + + +

The name of the + commit/branch/tag. + Default: the repository’s default branch (usually master).

+ +
+ + +
+ + + + + + + + + + + + + + +
+
Returns:
+ + + +
+
+ Type: +
+
+ +Promise.<ReadmeInfo> + + +
+
+ + + +
+ + + +
+ + +
+ + + +

(static) getAppraisal(url) → {Promise.<AppraisalData>}

+ + + + + +
+

An API proxy for the readme-score-api, which provides quality +measures for README files with the AppraisalData +interface.

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
url + + +string + + + + +

The URL or slug of a repository.

+ +
+ + + + + + + + + + + + + + +
+
Returns:
+ + + +
+
+ Type: +
+
+ +Promise.<AppraisalData> + + +
+
+ + + +
+ + + +
+ + +
+ + + +

(static) getInfo(params) → {Promise.<ReadmeInfo>}

+ + + + + +
+

Attempts to GET a remote README at the root of a GitHub +(or GitHub Enterprise) repository, but with an {AppraisalData} +NullObject.

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
params + + +object + + + + +

The owner/org, repo, and (optional) + branch to check.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
owner + + +string + + + + + + + + + + + + +

The account or organization to which + the source code belongs.

+ +
repo + + +string + + + + + + + + + + + + +

The name of the repository in which + to look for a README.

+ +
ref + + +string + + + + + + <optional>
+ + + + + +
+ + {Default branch} + + +

The name of the + commit/branch/tag. + Default: the repository’s default branch (usually master).

+ +
+ + +
+ + + + + + + + + + + + + + +
+
Returns:
+ + + +
+
+ Type: +
+
+ +Promise.<ReadmeInfo> + + +
+
+ + + +
+ + + +
+ + + + + + +
+ +
+ + + + + + + +
+ +
+ + + + + +
+ +
+
+ + + + + +
+ + + + + + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
api + + +external:Octokit + + + +

A GitHubAPI (@octokit/rest) instance.

ReadmeAppraisal + + +ReadmeAppraisal + + + +

An API proxy/wrapper that +invokes the readme-score-api in order to assess and grade +the quality of a README file.

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

Methods

+ + + +
+ + + +

(static) authenticate(credentials) → {void}

+ + + + + +
+

Sets GitHub credentials for all subsequent requests.

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
credentials + + +object + + + + +

Secret strings used to prove identity.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
type + + +string + + + + +

Valid values are basic, oauth, token, and integration.

+ +
username + + +string + + + + +

The name of an agent.

+ +
password + + +string + + + + +

A secret sequence of characters.

+ +
token + + +string + + + + + + +
key + + +string + + + + + + +
secret + + +string + + + + + + +
+ + +
+ + + + + + + + + + + + + + +
+
Returns:
+ + + +
+
+ Type: +
+
+ +void + + +
+
+ + + +
+ + + +
+ + +
+ + + +

(static) check(params) → {Promise.<ReadmeInfo>}

+ + + + + +
+

Attempts to GET a README at the root of a GitHub +(or GitHub Enterprise) repository and, if found, +rate its quality with the +readme-score-api.

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
params + + +object + + + + +

The owner/org, repo, and (optional) + branch to check.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
owner + + +string + + + + + + + + + + + + +

The account or organization to which + the source code belongs.

+ +
repo + + +string + + + + + + + + + + + + +

The name of the repository in which + to look for a README.

+ +
ref + + +string + + + + + + <optional>
+ + + + + +
+ + {Default branch} + + +

The name of the + commit/branch/tag. + Default: the repository’s default branch (usually master).

+ +
+ + +
+ + + + + + + + + + + + + + +
+
Returns:
+ + + +
+
+ Type: +
+
+ +Promise.<ReadmeInfo> + + +
+
+ + + +
+ + + +
+ + +
+ + + +

(static) getAppraisal(url) → {Promise.<AppraisalData>}

+ + + + + +
+

An API proxy for the readme-score-api, which provides quality +measures for README files with the AppraisalData +interface.

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
url + + +string + + + + +

The URL or slug of a repository.

+ +
+ + + + + + + + + + + + + + +
+
Returns:
+ + + +
+
+ Type: +
+
+ +Promise.<AppraisalData> + + +
+
+ + + +
+ + + +
+ + +
+ + + +

(static) getInfo(params) → {Promise.<ReadmeInfo>}

+ + + + + +
+

Attempts to GET a remote README at the root of a GitHub +(or GitHub Enterprise) repository, but with an {AppraisalData} +NullObject.

+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
params + + +object + + + + +

The owner/org, repo, and (optional) + branch to check.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
owner + + +string + + + + + + + + + + + + +

The account or organization to which + the source code belongs.

+ +
repo + + +string + + + + + + + + + + + + +

The name of the repository in which + to look for a README.

+ +
ref + + +string + + + + + + <optional>
+ + + + + +
+ + {Default branch} + + +

The name of the + commit/branch/tag. + Default: the repository’s default branch (usually master).

+ +
+ + +
+ + + + + + + + + + + + + + +
+
Returns:
+ + + +
+
+ Type: +
+
+ +Promise.<ReadmeInfo> + + +
+
+ + + +
+ + + +
+ + + + + + +
+ +
+ + + + +
+ +
+ +
+ Generated by JSDoc 3.5.5 on Sat Apr 21 2018 02:14:35 GMT-0500 (CDT) using the Minami theme. +
+ + + + + \ No newline at end of file diff --git a/docs/api/readme-inspector/2.0.0/readme-appraisal.js.html b/docs/api/readme-inspector/2.0.0/readme-appraisal.js.html new file mode 100644 index 0000000..f08d878 --- /dev/null +++ b/docs/api/readme-inspector/2.0.0/readme-appraisal.js.html @@ -0,0 +1,127 @@ + + + + + + readme-appraisal.js - Documentation + + + + + + + + + + + + + + + + + +
+ +

readme-appraisal.js

+ + + + + + + +
+
+
const dotenvExtended = require('dotenv-extended')
+const envConfig = dotenvExtended.config()
+
+const {URL} = require('url')
+const appraisalData = require('./appraisal-data')
+const camelCase = require('lodash.camelcase')
+const got = require('got')
+const mapKeys = require('lodash.mapkeys')
+
+const adapt = (appraisal) => {
+  appraisal.breakdown =
+    mapKeys(appraisal.breakdown, (val, key) => camelCase(key))
+  return appraisal
+}
+
+/**
+ *
+ * @module readme-inspector/readme-appraisal
+ *
+ * @class ReadmeAppraisal
+ * @classdesc
+ * An API proxy/wrapper that invokes the readme-score-api
+ * in order to assess and grade the quality of a README file.
+ *
+ * @param {string} [serviceEndpointUrl=http://readme-score-api.herokuapp.com/score.json?url=&human_breakdown=false&force=false] - The URL of the
+ *  readme-score-api service you want to consume.
+ */
+
+class ReadmeAppraisal {
+  constructor (serviceEndpointUrl = envConfig.API_ENDPOINT_README_SCORE) {
+    this.apiEndpoint = new URL(serviceEndpointUrl)
+  }
+
+  /**
+   * Evalutate the root-level README in a repository (if present).
+   *
+   * @method for
+   * @param {string} url - A URL or repository slug.
+   * @param {URL} [apiEndpoint=http://readme-score-api.herokuapp.com/score.json?url=] - The API endpoint.
+   * @returns {Promise<AppraisalData>} AppraisalData for a README.
+   * @memberof ReadmeAppraisal#
+   * @example
+   * const ReadmeAppraisal = require('./readme-appraisal')
+   *
+   * // Parameters: url|slug|string<html>
+   * const readmeAppraisal = new ReadmeAppraisal()
+   * const result = await readmeAppraisal.for('commonality/readme-inspector')
+   */
+
+  async for (url) {
+    this.apiEndpoint.searchParams.set('url', url)
+    const serviceUrl = this.apiEndpoint.toString()
+    let result = null
+    try {
+      const {body} = await got(serviceUrl)
+      result = Object.assign({
+      }, appraisalData, JSON.parse(body))
+    } catch (err) {
+      /* istanbul ignore next */
+      result.err = err.response.body
+    }
+
+    return adapt(result)
+  }
+}
+
+module.exports = ReadmeAppraisal
+
+
+
+ + + + +
+ +
+ +
+ Generated by JSDoc 3.5.5 on Sat Apr 21 2018 02:14:35 GMT-0500 (CDT) using the Minami theme. +
+ + + + + diff --git a/docs/api/readme-inspector/2.0.0/readme-info.js.html b/docs/api/readme-inspector/2.0.0/readme-info.js.html new file mode 100644 index 0000000..eb33868 --- /dev/null +++ b/docs/api/readme-inspector/2.0.0/readme-info.js.html @@ -0,0 +1,128 @@ + + + + + + readme-info.js - Documentation + + + + + + + + + + + + + + + + + +
+ +

readme-info.js

+ + + + + + + +
+
+
const appraisalData = require('./appraisal-data')
+
+/**
+ *
+ * @module readme-inspector/readme-info
+ *
+ * Provides information about a README document.
+ *
+ * @typedef ReadmeInfo
+ * @type {object}
+ *
+ * @prop {AppraisalData} appraisal - Represents the
+ *   quantifiable quality of a README file.
+ * @prop {Error} err=null - Provides `Error` information
+ *   in case of exceptions.
+ * @prop {boolean} isPresent - Declares whether a README
+ *   document was found.
+ * @prop {external:Contents} value - A README `Contents`
+ *   instance.
+ *
+ * @example
+ * {
+ *   "appraisal":{
+ *     "breakdown":{
+ *       "cumulativeCodeBlockLength":10,
+ *       "hasLists":10,
+ *       "lowCodeBlockPenalty":0,
+ *       "numberOfCodeBlocks":40,
+ *       "numberOfGifs":0,
+ *       "numberOfImages":15,
+ *       "numberOfNonCodeSections":30
+ *     },
+ *     "error":null,
+ *     "score":100,
+ *     "url":null
+ *   },
+ *   "err":null,
+ *   "isPresent":true,
+ *   "value":{
+ *     "name":"README.md",
+ *     "path":"README.md",
+ *     "sha":"7a4be917e2f73fe701170753ef31f278936a7499",
+ *     "size":37410,
+ *     "url":"https://api.github.com/repos/commonality/readme-inspector/contents/README.md?ref=master",
+ *     "html_url":"https://github.com/commonality/readme-inspector/blob/master/README.md",
+ *     "git_url":"https://api.github.com/repos/commonality/readme-inspector/git/blobs/7a4be917e2f73fe701170753ef31f278936a7499",
+ *     "download_url":"https://raw.githubusercontent.com/commonality/readme-inspector/master/README.md",
+ *     "type":"file",
+ *     "content":"...",
+ *     "encoding":"base64",
+ *     "_links":{
+ *       "self":"https://api.github.com/repos/commonality/readme-inspector/contents/README.md?ref=master",
+ *       "git":"https://api.github.com/repos/commonality/readme-inspector/git/blobs/7a4be917e2f73fe701170753ef31f278936a7499",
+ *       "html":"https://github.com/commonality/readme-inspector/blob/master/README.md"
+ *     }
+ *   }
+ * }
+ */
+
+const readmeInfo = {
+  'appraisal': Object.assign({
+  }, appraisalData),
+  'err': null,
+  'isPresent': null,
+  'value': null
+}
+
+module.exports = readmeInfo
+
+
+
+ + + + +
+ +
+ +
+ Generated by JSDoc 3.5.5 on Sat Apr 21 2018 02:14:35 GMT-0500 (CDT) using the Minami theme. +
+ + + + + diff --git a/docs/api/readme-inspector/2.0.0/scripts/linenumber.js b/docs/api/readme-inspector/2.0.0/scripts/linenumber.js new file mode 100644 index 0000000..8d52f7e --- /dev/null +++ b/docs/api/readme-inspector/2.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/docs/api/readme-inspector/2.0.0/scripts/prettify/Apache-License-2.0.txt b/docs/api/readme-inspector/2.0.0/scripts/prettify/Apache-License-2.0.txt new file mode 100644 index 0000000..d645695 --- /dev/null +++ b/docs/api/readme-inspector/2.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/docs/api/readme-inspector/2.0.0/scripts/prettify/lang-css.js b/docs/api/readme-inspector/2.0.0/scripts/prettify/lang-css.js new file mode 100644 index 0000000..041e1f5 --- /dev/null +++ b/docs/api/readme-inspector/2.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/docs/api/readme-inspector/2.0.0/scripts/prettify/prettify.js b/docs/api/readme-inspector/2.0.0/scripts/prettify/prettify.js new file mode 100644 index 0000000..eef5ad7 --- /dev/null +++ b/docs/api/readme-inspector/2.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/docs/api/readme-inspector/2.0.0/styles/prettify-jsdoc.css b/docs/api/readme-inspector/2.0.0/styles/prettify-jsdoc.css new file mode 100644 index 0000000..834a866 --- /dev/null +++ b/docs/api/readme-inspector/2.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/docs/api/readme-inspector/2.0.0/styles/prettify-tomorrow.css b/docs/api/readme-inspector/2.0.0/styles/prettify-tomorrow.css new file mode 100644 index 0000000..81e74d1 --- /dev/null +++ b/docs/api/readme-inspector/2.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/docs/project/DEVELOPERS.md b/docs/project/DEVELOPERS.md new file mode 100644 index 0000000..9ba9451 --- /dev/null +++ b/docs/project/DEVELOPERS.md @@ -0,0 +1,1210 @@ +# Building and testing readme-inspector + +> code This document describes how to set up your development environment to build and test readme-inspector. It also explains the basic mechanics of using `git`, `node`, and `npm` from a Terminal/CLI (command-line interface). +> +> [![Request a feature][issues-new-feat-image]][issues-new-feat-url] [![Report a defect][issues-new-defect-image]][issues-new-defect-url] + +## Table of contents + + +- [1. Prerequisite software](#1-prerequisite-software) +- [2. Getting the source code](#2-getting-the-source-code) +- [3. Installing dependencies](#3-installing-dependencies) +- [4. Building](#4-building) +- [5. Running tests](#5-running-tests) +- [5. Formatting and verifying your sources](#5-formatting-and-verifying-your-sources) +- [6. Git guidelines](#6-git-guidelines) + * [6.1. Makes changes in a topic branch](#61-makes-changes-in-a-topic-branch) + * [6..2. Favor the topic branch naming convention `GH-{ISSUE_NUMBER}-type-scope`](#62-favor-the-topic-branch-naming-convention-gh-issue_number-type-scope) + * [6.3. Branch out from `master`.](#63-branch-out-from-master) + * [6.4. **_Never_**. push into the `master` branch. **_Always_** submit a Pull Request](#64-_never_-push-into-the-master-branch-_always_-submit-a-pull-request) + * [6.5. Submit a Pull Request as soon as possible.](#65-submit-a-pull-request-as-soon-as-possible) + * [6.6. Rebase your local `master` branch before you ask for PR approvals.](#66-rebase-your-local-master-branch-before-you-ask-for-pr-approvals) + * [6.7. Resolve rebase conflicts before Pull Request reviews.](#67-resolve-rebase-conflicts-before-pull-request-reviews) + * [6.8. Add reviewers and the label `Status: Needs Review` when the topic branch is ready.](#68-add-reviewers-and-the-label-status-needs-review-when-the-topic-branch-is-ready) + * [6.9. Delete local and remote topic branches after merging.](#69-delete-local-and-remote-topic-branches-after-merging) + * [6.10. Protect your `master` branch.](#610-protect-your-master-branch) + * [6.2. **Feature-branch-workflow**](#62-feature-branch-workflow) + * [6.2.1. Initialize a Git repository in the product directory (_for new repositories only_).](#621-initialize-a-git-repository-in-the-product-directory-_for-new-repositories-only_) + * [6.2.2. Checkout a new `feat`ure or `fix` branch.](#622-checkout-a-new-feature-or-fix-branch) + * [6.2.3. Make Changes.](#623-make-changes) + * [6.2.4. Follow the Conventional Commits Specification for commit messages.](#624-follow-the-conventional-commits-specification-for-commit-messages) + * [6.2.5. Sync with remote to get changes you’ve missed.](#625-sync-with-remote-to-get-changes-youve-missed) + * [6.2.6. Update your topic branch with the latest changes from `master` by interactive rebase.](#626-update-your-topic-branch-with-the-latest-changes-from-master-by-interactive-rebase) + * [6.2.7. Resolve conflicts (if any occur), and continue rebase.](#627-resolve-conflicts-if-any-occur-and-continue-rebase) + * [6.2.8. Push your branch with the `-f` flag (if necessary).](#628-push-your-branch-with-the--f-flag-if-necessary) + * [6.2.9. Submit a Pull Request.](#629-submit-a-pull-request) + * [6.2.10. Once accepted, the Pull request will be merged, closed, and deleted by an administrator.](#6210-once-accepted-the-pull-request-will-be-merged-closed-and-deleted-by-an-administrator) + * [6.2.11. Remove your local topic branch if you're done.](#6211-remove-your-local-topic-branch-if-youre-done) +- [3. **Code standards**](#3-code-standards) + * [3.1. Use the Standard JS Style.](#31-use-the-standard-js-style) + * [3.2. Use ESLint to analyze source code.](#32-use-eslint-to-analyze-source-code) +- [4. **Unit testing**](#4-unit-testing) + * [4.1. Write Jest tests.](#41-write-jest-tests) + * [4.2. Reach 100% code coverage.](#42-reach-100%25-code-coverage) +- [5. **Directory structure**](#5-directory-structure) +- [6. **Logging**](#6-logging) +- [7. **Dependencies**](#7-dependencies) + * [7.1. Production](#71-production) + * [7.2. Development](#72-development) + * [7.3. Optional](#73-optional) +- [8. **APIs**](#8-apis) + * [8.1 **API design**](#81-api-design) + * [8.2 **API security**](#82-api-security) + * [8.3 **API documentation**](#83-api-documentation) +- [9. **Licensing**](#9-licensing) + + +## 1. Prerequisite software + +Before you can build and test readme-inspector, you must install and configure the +following products on your development machine: + +1. [Git](http://git-scm.com) and/or the \**GitHub app*1. (for [Mac](http://mac.github.com) or + [Windows](http://windows.github.com)); [GitHub's Guide to Installing + Git](https://help.github.com/articles/set-up-git) is a good source of information. + +1. [Node.js](http://nodejs.org), (version specified in the engines field of [`package.json`](../package.json)) which is used to run a development web server, + run tests, and generate distributable files. + +1. [NPM](https://yarnpkg.com) (version specified in the engines field of [`package.json`](../package.json)) which is used to install dependencies. + +## 2. Getting the source code + +Fork and clone the readme-inspector repository: + +1. [**Sign in**](https://github.com/login) to your GitHub account or [sign up for a (free) GitHub account](https://github.com/join). +2. [**Fork**](http://help.github.com/forking) the [main readme-inspector repository](https://github.com/commonality/readme-inspector) (aka, "`origin`"). +3. \**Clone your fork*1. of the readme-inspector repository and define an `upstream` remote pointing back to the readme-inspector repository that you forked in the first place. + +```shell +# Clone your GitHub repository: +git clone git@github.com:/readme-inspector.git + +# Go to the readme-inspector directory: +cd readme-inspector + +# Add the main readme-inspector repository as an upstream remote to your repository: +git remote add upstream https://github.com/commonality/readme-inspector.git +``` + +## 3. Installing dependencies + +Next, install the JavaScript modules needed to build and test readme-inspector: + +```shell +# Install readme-inspector project dependencies (package.json) +npm install +``` + +## 4. Building + +![info][octicon-info] There are no build tasks for versions 1.x.x of readme-inspector. + +## 5. Running tests + +> ![check][octicon-check] Your test suites must pass within coverage thresholds before you submit a PR to GitHub. + +To run tests: + +```shell +$ npm test +# => Run all readme-inspector tests on node + +$ npm run test:watch +# => Run tests whenever a file changes +``` + +>

Debugging your source code

+> +> ![bug][octicon-bug] See [DEBUG.md](DEBUG.md) for information on debugging the code while running the unit tests. + +All the tests are executed on our Continuous Integration infrastructure and a PR could only be merged once the tests pass. + +1. CircleCI fails if your code is not formatted properly, +1. Travis CI fails if any of the test suites described above fails. + +## 5. Formatting and verifying your sources + +![verified][octicon-verified] readme-inspector uses + +1. [ESLint](http://clang.llvm.org/docs/ClangFormat.html) to evaluate and format source code; +1. [Fixpack]() to order all `package.json` properties in alphabetical order; and +1. [Prettier]() to format JSON, Markdown, and YAML. + +You can both evaluate and format your all sources by running: + +```shell +$ npm run lint +# => Formats and lints all JavaScript, JSON, Markdown, and +# package.json. +``` + +You can also format sources by type: + +```shell +# Evaluate and format JavaScript: +npm run lint:js + +# Format JSON: +npm run lint:json + +# Clean up the product manifest (package.json): +npm run lint:manifest + +# Format all markdown files: +npm run lint:md +``` + +> ![alert][octicon-alert] If the source code does not pass linting, the CI will fail and the PR can not be merged. + +## 6. Git guidelines + +![Git Logo][icon-git-logo-image] + +`readme-inspector` manages contributions with the [feature-branch-workflow](https://www.atlassian.com/git/tutorials/comparing-workflows#feature-branch-workflow). + +### 6.1. Makes changes in a topic branch + +_Why:_ + +> ⌦ Use an isolated topic branch for parallel product development. Topic branches allow you to submit multiple pull requests without confusion. You can iterate without polluting the master branch with potentially unstable, unfinished code. The `readme-inspector` team uses: +> +> 1. [Feature-branch-workflow](https://www.atlassian.com/git/tutorials/comparing-workflows#feature-branch-workflow) for small-ish codebases, or +> 1. [Gitflow Workflow](https://www.atlassian.com/git/tutorials/comparing-workflows#gitflow-workflow) for large applications and monoliths + +### 6..2. Favor the topic branch naming convention `GH-{ISSUE_NUMBER}-type-scope` + +_Why:_ + +> ⌦ Although not required, our team prefixes branches with the GitHub issue number, followed by the type of change being introduced, followed by the scope of changes. +> +> **Examples:** +> +> 1. **feat**: a new feature, e.g., `GH-1-feat-cli-add-authz`. +> 1. **fix**: a defect/bug repair, e.g., `GH-2-fix-api-logging-error`. +> 1. **build**: changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm), e.g., `GH-8-build-add-markdown-toc`. +> 1. **chore**: changes that don't modify src or test files, e.g., `GH-10-remove-unused-files`. +> 1. **ci**: changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs), e.g., `GH-9-ci-travis-deploy-semantic-release`. +> 1. **docs**: documentation changes, e.g., `GH-3-docs-readme-revise-api`. +> 1. **perf**: change that improves performance `GH-6-perf-quicksort`. +> 1. **refactor**: code changes that improve design, but neither fixes a bug nor adds a feature, e.g., `GH-5-refactor-extract-class`. +> 1. **revert**: reverts a previous commit, e.g., `GH-11-revert-7f87cc2`. +> 1. **style**: changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc), e.g., `GH-4-style-lint`. +> 1. **test**: add missing tests or correct existing tests, e.g., `GH-7-test-complete-coverage`. + +### 6.3. Branch out from `master`. + +_Why:_ + +> ⌦ `readme-inspector` follows the feature-branch-workflow. + +### 6.4. **_Never_**. push into the `master` branch. **_Always_** submit a Pull Request + +_Why:_ + +> ⌦ It notifies team members whenever changes occur and allows the community to review your changes at any time.. +> +> It also enables easy peer-review of the code and dedicates forum for discussing the proposed feature. + +### 6.5. Submit a Pull Request as soon as possible. + +_Why:_ + +> ⌦ Pull Requests declare work in progress. Frequent pushes to a Pull Request notify your team members about change, and gives them the opportunity to provide feedback more often. +> +> Pull Request pushes also trigger automated CI-services, which help you fail fast and assess quality. + +### 6.6. Rebase your local `master` branch before you ask for PR approvals. + +_Why:_ + +> ⌦ Rebasing will merge in the requested branch (`master` or `develop`) and apply the commits that you have made locally to the top of the history without creating a merge commit (assuming there were no conflicts). This results in a nice and clean history. + +### 6.7. Resolve rebase conflicts before Pull Request reviews. + +_Why:_ + +> ⌦ Rebasing will merge in the `master` branch and apply the commits that you have made locally to the top of it. + +### 6.8. Add reviewers and the label `Status: Needs Review` when the topic branch is ready. + +_Why:_ + +> ⌦ When you add a Reviewer, GitHub (or Bitbucket) notifies teammates that your topic branch meets all Acceptance Criteria and is ready to be merged into `master`. +> +> Add the label "Status: Review Needed" formally declares the status of your topic branch, and helps teams filter through issues. + +### 6.9. Delete local and remote topic branches after merging. + +_Why:_ + +> ⌦ Topic branches should only exist while work is in-progress. Merged topic branches clutter up your list of branches with dead branches. Topic branch deletion also insures that you only ever merge back into `master`. + +### 6.10. Protect your `master` branch. + +_Why:_ + +> ⌦ Branch protection prevents production-ready branches from incorporating unexpected and irreversible changes. Learn more about +> +> 1. [GitHub protected branches](https://help.github.com/articles/about-protected-branches/) and +> 1. [Bitbucket protected branches](https://confluence.atlassian.com/bitbucketserver/using-branch-permissions-776639807.html). + +### 6.2. **Feature-branch-workflow** + +We use the [feature-branch-workflow](https://www.atlassian.com/git/tutorials/comparing-workflows#feature-branch-workflow). We _recommend_ [interactive rebasing](https://www.atlassian.com/git/tutorials/merging-vs-rebasing#the-golden-rule-of-rebasing), too, but that's not required. + +### 6.2.1. Initialize a Git repository in the product directory (_for new repositories only_). + +For subsequent features and changes, this step should be ignored. + +```sh +cd +git init +``` + +### 6.2.2. Checkout a new `feat`ure or `fix` branch. + +```sh +# For a new feature branch: +git checkout -b GH--feat-scope-of-change + +# For branches that address defects: +git checkout -b GH--fix-scope-of-change +``` + +### 6.2.3. Make Changes. + +```sh +git add +git commit -a +``` + +_Why:_ + +> ⌦ `git commit -a` will start an editor which lets you separate the subject from the body. Read more about it in _section 1.3_. + +### 6.2.4. Follow the Conventional Commits Specification for commit messages. + +This project enforces [AngularJS Git Commit Guidelines][git-commit-guidelines-url] (which is now an extension of the [Conventional Commits Specfication][conventional-commits-url]) with [`commitplease`][commitplease-url] pre-commit hooks. + +_Why:_ + +> Consistent, legible Git logs not only facilitate communication, but also enable automated `CHANGELOG` generation and semantic versioning with [`standard-version`][standard-version-url]. + +1. **`build` commit messages** + + Issues related to product builds. + + ```shell + build(): + + <[body]> + +