commonality/readme-inspector

node v8.17.0
version: 2.0.1
endpointsharetweet
https://github.com/commonality/readme-inspector/#readme FEATURES ⓵ Inspect source code repositories for READMEs (readmeInfo.isPresent: {boolean}), and ⓶ Score the READMEs (readmeInfo.appraisal.score: {number}) when found 🚩 For demonstration purposes, we have to mock three (3) files: ▹ ▹ 1. .env.defaults ▹ 2. .env.schema ▹ 3. .env
/********** DEMO-SET-UP:BEGIN **********/ const envVar = { '.env.defaults': ` GA_README_INSPECTOR="UA-117338111-1" API_ENDPOINT_README_SCORE="http://readme-score-api.herokuapp.com/score.json?url=&human_breakdown=false&force=false" `, '.env.schema': ` API_ENDPOINT_README_SCORE= BITBUCKET_API_BASE_URL="https://api.bitbucket.org" GA_README_INSPECTOR= GH_TOKEN= GITHUB_ACCESS_TOKEN= `, '.env': ` GH_TOKEN=${process.env.GITHUB_ACCESS_TOKEN} GITHUB_ACCESS_TOKEN=${process.env.GITHUB_ACCESS_TOKEN} ` } const fs = require('fs-extra') const WHITESPACE = 2 const writeMockFile = async (f, data) => { try { await fs.outputFile(f, data) console.log(`Created ${f}`) } catch (err) { console.error(err) } } await writeMockFile('.env.defaults', envVar['.env.defaults']) await writeMockFile('.env.schema', envVar['.env.schema']) await writeMockFile('.env', envVar['.env']) const dotenvExtended = require('dotenv-extended') const envConfig = dotenvExtended.config(); console.log('Created mocks for the required .env* files.') /********** DEMO-SET-UP:END **********/
▷Import/require readmeInspector
const readmeInspector = require('readme-inspector@2.0.1')
▶︎ readmeInspector.authenticate ⇢ extend your API rate limits with a valid token or credentials.
readmeInspector.authenticate({ token: envConfig.GITHUB_ACCESS_TOKEN, type: 'oauth' })
▶︎ readmeInspector.getInfo ⇢ determines whether a repository has a README. (NOTE: its "appraisal" property will result in a NullObject).
let readmeInfo = await readmeInspector.getInfo({ owner: 'commonality', repo: 'readme-inspector' }) console.log(JSON.stringify(readmeInfo, null, WHITESPACE))
▶︎ readmeInspector.getAppraisal ⇢ {AppraisalData} Does a README quality assessment and returns a score with breakdown.
// ▶︎ readmeInspector.getAppraisal const slug = 'gregswindle/github-resource-converter' let appraisal = await readmeInspector.getAppraisal(slug) console.log(JSON.stringify(appraisal, null, WHITESPACE))
▶︎ ReadmeAppraisal.prototype.for ⇢ {AppraisalData} The underlying method for a README appraisal.
// ▶︎ ReadmeAppraisal.prototype.for const {ReadmeAppraisal} = readmeInspector const readmeAppraisal = new ReadmeAppraisal() appraisal = await readmeAppraisal.for(slug) console.log(JSON.stringify(appraisal, null, WHITESPACE))
▶︎ readmeInspector.check ⇢ {ReadmeInfo} Determines whether a README exists and evaluates the README's quality.
readmeInfo = await readmeInspector.check({ owner: 'commonality', repo: 'readme-inspector' }) console.log(JSON.stringify(readmeInfo, null, WHITESPACE))
Generate HTML from Markdown
const readmeInfoToHtml = async (readmeInfo) => { const readmeMarkdown = Buffer.from(readmeInfo.value.content, 'base64').toString() const {data} = await readmeInspector.api.misc.renderMarkdown({ text: readmeMarkdown }) return data } const readmeHtml = await readmeInfoToHtml(readmeInfo) readmeHtml
Loading…

no comments

    sign in to comment