jsdoc/wmf-theme - Gitiles


by libraryupgrader

Article Images

A theme for JSDoc 4 conforming to the Codex design system. Forked from the default template for JSDoc 3, which uses the Underscore Template library.

Example

See the EventLogging docs for a sample demo. :rocket:

Install

$ npm install --save jsdoc-wmf-theme

Usage

In your jsdoc.json file, add a template option.

"opts": {
  "template": "node_modules/jsdoc-wmf-theme"
}

To load the standard set of plugins, use:

"plugins": {
  "node_modules/jsdoc-wmf-theme/plugins/default"
}

Options

For information about options and plugins, see the wiki page.

Contributing

Contributions to the theme are welcome! See the JSDoc WMF theme board on Phabricator to view open tasks or open new tasks, bug reports, or requests.

Local development

These steps assume that you have Gerrit set up.

To set up a development environment, you'll need a repository that can generate JSDoc documentation, and this theme itself.

Initial setup

# Create a local folder
mkdir jsdoc-test
# Enter that new local folder
cd jsdoc-test

# Download a repository that uses JSDoc. Either MediaWiki core...
git clone ssh://yourUserName@gerrit.wikimedia.org:29418/mediawiki/core
# ...or OOJS (or another repo of your choosing).
git clone ssh://yourUserName@gerrit.wikimedia.org:29418/oojs/core

# Get the JSDoc theme
git clone --recurse-submodules ssh://yourUserName@gerrit.wikimedia.org:29418/jsdoc/wmf-theme
cd wmf-theme
npm install
cd ..

Point to your local theme

In your local repository that uses JSDoc, edit the JSDoc config file (either jsdoc.json or .jsdoc.json):

  • Change the template to ../wmf-theme.
  • Change the plugins to point to ../wmf-theme. For example, for the default plugin set, use ../wmf-theme/plugins/default.

Edit defaultPlugins.json

In your local wmf-theme repository, edit defaultPlugins.json to point to the local plugins.

  • For theme plugins, replace node_modules/jsdoc-wmf-theme/ with ../wmf-theme/.
  • For third-party plugins, replace node_modules/ with ../wmf-theme/node_modules/.
  • JSDoc plugins (starting with plugins/) can remain unchanged.

Build and view your local docs

Build the docs in your test repo and view the generated site in the browser. E.g. for MediaWiki core, run npm run doc in the root of the core repository. Then find the full path to your local index.html file, e.g. file://path-to-local-mediawiki-core/docs/js/index.html, and open it in a browser.

Writing styles

This theme uses Codex design tokens for CSS values. View the Codex docs to see all of the tokens available for use as CSS custom properties.

Thanks

Thanks to:

License

Licensed under the Apache License, version 2.0.