electron-docs 
This package consumes the electron/electron
repo in search of markdown files, and returns an array of file objects with stringified
file contents.
It is used by Electron's docs linter.
Installation
npm install electron-docs --save
Programmatic Usage
Require it and invoke the function with no arguments:
const electronDocs = require('electron-docs')
electronDocs().then(function(docs) {
})
Each object in the docs array looks like this:
{
slug: "windows-store-guide",
filename: "docs/tutorial/windows-store-guide.md",
markdown_content: "# Windows Store Guide\n\n..."
}
The latest version of Electron is fetched by default. If you need a different
version, specify it as the first argument:
electronDocs('1.2.0').then(function(docs) {
})
You can also point to a local directory instead of downloading a tarball:
const path = require('path')
const docsPath = path.join(__dirname, 'docs')
electronDocs(docsPath).then(function(docs) {
})
If you prefer node-style callbacks instead of promises, those are supported too:
electronDocs(function(err, docs) {
console.log(err, docs)
})
electronDocs('1.0.0', function(err, docs) {
console.log(err, docs)
})
CLI Usage
Add this to your package.json file:
{
"scripts": {
"docs": "electron-docs > docs.json"
}
}
When you run npm run docs, the module writes the stringified JSON object to
stdout, and the output is piped into a file.
stdout ftw!
Tests
npm i && npm t
Dependencies
- bluebird: Full featured Promises/A+ implementation with exceptionally good performance
- github-latest-release: Get latest release information from github repository
- got: Simplified HTTP requests
- gunzip-maybe: Transform stream that gunzips its input if it is gzipped and just echoes it if not
- node-dir: asynchronous file and directory operations for Node.js
- ora: Elegant terminal spinner
- tar-fs: filesystem bindings for tar-stream
Dev Dependencies
- tap-spec: Formatted TAP output like Mocha's spec reporter
- tape: tap-producing test harness for node and browsers
License
MIT