All Projects → brynbellomy → dash-docset-generator

brynbellomy / dash-docset-generator

Licence: other
Node.js command line tool that generates Dash docsets from HTML, JSON, YAML, etc.

Programming Languages

HTML
75241 projects
javascript
184084 projects - #8 most used programming language
CSS
56736 projects
typescript
32286 projects

Dash docset generator

Install

$ npm install -g dash-docset-generator

Building custom docsets

The build command is build-dash-docsets, and it takes the following options:

$ build-dash-docsets

Usage: build-dash-docsets -i <input dir> [-o <output dir>]

Options:
  -i, --inputDir   The directory containing the source files to be converted
                   into a docset.                                     [required]
  -o, --outputDir  The directory in which to place the generated docset.
                                                    [string]  [default: "build"]
  -c, --config     The config file, if an "index.md" with YAML front matter
                   does not exist.                                      [string]

Writing custom docsets

See the example-docsets directory if you (like me) are not into reading about code.

Required config (all formats)

Regardless of the format of your custom docset, it needs to set a few configuration parameters to build correctly. Here's a sample config in YAML (JSON works too).

title: package.json (node.js)
bundle_name: NodePackageJSON
keyword: package.json
files: ["index.md", "../style-solarized-light.css"]
stylesheet: style-solarized-light.css
  • title: the title of the docset
  • bundle_name: The name of the generated .docset folder/bundle.
  • keyword: The shortcut keyword that will cause Dash to jump to this docset.
  • files: An array of filenames to be built and/or included in the docset.

Markdown

Markdown docsets are the simplest, as they can include the required YAML config as part of the .md file's front matter.

Here's an example:

---
title: package.json (node.js)
bundle_name: NodePackageJSON
keyword: package.json
files: ["index.md", "../style-solarized-light.css"]
stylesheet: style-solarized-light.css
---

package.json(5) -- Specifics of npm's package.json handling
===========================================================

@[toc](Contents)

## name

The *most* important things in your package.json are the name and version fields.

... which would come out something like this (there's still some micro-jank here and there, I know):

authors/contributors

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].