Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/geops/geops-docjs-template


https://github.com/geops/geops-docjs-template

Last synced: 7 days ago
JSON representation

Awesome Lists containing this project

README

        

# geOps theme for documentation.js

This is a custom theme for [documentation.js](http://documentation.js.org)

Based on work from: https://github.com/kalinchernev/documentation-theme-ecl/

## Options

The theme is ready to accept the following options from your configuration:

- `project-name`
- `project-description`
- `project-url`

## Usage

### CLI

Use the [documentation.js CLI](https://github.com/documentationjs/documentation/blob/master/docs/USAGE.md)

Example:

```bash
$ npx documentation build **/_types/*.js --theme . -f html -o example/app
```

Where the `--theme` flag should point to the module (index.js) of the theme.

### Node API

See [the html generation script](./example/scripts/docs-html.js) for an example of the
`formats.html` method as pointed out in the [documentation pages](https://github.com/documentationjs/documentation/blob/master/docs/NODE_API.md).

## Theme development

Requirements:

- Node.js current (8.x recommended)
- `yarn` or `npm`

There are a few `npm` script tasks which you can use:

- `develop:assets`
- `develop:theme`
- `develop:server`

Order is important, so it's recommended you start a separate terminal session for each task.

### Develop assets

Takes care of CSS and JavaScript assets.

- Makes use of `webpack` CLI.
- Automatically discovers configuration from `webpack.config.js`
- Bundles assets to `assets/bundle`
- Watches for changes.

### Develop theme

Takes care of templates.

- Makes use of `documentationjs` CLI.
- Takes input of glob patterns where documentation should be extracted from.
- Builds HTML from underscore templates and moves `images`, `favicon` and `bundle` folders into a target `dist` folder. Thus, ensure that assets are bundled before they are moved.
- Watches for changes

### Develop server

Delivers results to the browser and reloads on changes.

- Makes use of `reload` CLI.
- Takes input of `dist` folder where `develop:theme` stores its results.
- Can optionally listen to different ports if necessary.
- Serves `dist` folder as a static site
- Reloads when there are changes in `dist` folder.

## Maintenance notes

Please commit the results of `develop:assets` in `assets/bundle`. This simplifies the workflow of publishing them to `npm`.
Raw/Source styles and scripts in `assets/js` and `assets/styles` are ignored and not published to `npm`.