google / typedoc-neo-theme

Apache License 2.0
85 stars 22 forks source link

Neo theme for TypeDoc

npm

This plugin contains a new theme for TypeDoc which focuses on improved readability and navigation.

Additionally, it extends Typedoc with additional options for a richer user experience.

Screenshot of external module design

Visit the Actions on Google Node.js reference to view this theme.

Visit http://typedoc.org/ to learn more about TypeDoc.

Theme

Build the theme by running yarn build:theme.

After you install the module, you can use this theme in a build by running:

typedoc --theme ./node_modules/typedoc-neo-theme/bin/default

Plugin

Build the plugin by running yarn build:plugin.

After you install the module, you can use this plugin in a build by running:

typedoc --theme ./node_modules/typedoc-neo-theme/bin/default --plugin typedoc-neo-theme

Alternatively it can be partially placed in the typedoc options:

typedoc --options typedoc.json --theme node_modules/typedoc-neo-theme/bin/default

Typedoc options

This plugin adds additional options that can be placed in your typedoc.json file.

Links

You may want to specify additional links to appear in your header that don't point to reference documentation but related documentation for your platform.

"links": [{
    "label": "Guides",
    "url": "https://developers.google.com/actions/extending-the-assistant"
  }, {
    "label": "Reference",
    "url": "https://developers.google.com/actions/reference/nodejsv2/overview"
  }]

Outline

The left-hand side is a global navigation. This can be auto-generated by the Typedoc engine and theme, or it can be manually specified by including an object in your options. You provide a custom navigation with links that point to modules/{object value}.html.

"outline": [{
    "Actions SDK": {
      "Overview": "actionssdk",
      "api/v2": "actionssdk_api_v2"
    },
    "Dialogflow": {
      "Overview": "dialogflow",
      "api/v1": "dialogflow_api_v1",
      "api/v2": "dialogflow_api_v2"
    }
  }]

Search

Not all of the files in the reference documentation may be useful for developers. You can select certain pages to be high priority. These will retain the icon, along with displaying a subtitle and a kind (like class or interface). Items not included will be deprioritized, with smaller text.

"search": [{
    "name": "dialogflow.DialogflowConversation.data",
    "subtitle": "Persistent data"
  }, {
    "name": "conversation/response.BasicCard",
    "subtitle": "Rich response"
  }, {
    "name": "conversation/response.BasicCardOptions",
    "subtitle": "Rich response"
  }]

Link to source

You can set up links to your source code under each property in the documentation.

"source": [{
  "path": "https://github.com/actions-on-google/actions-on-google-nodejs/blob/master/src/",
  "line": "L"
}]

For a particular file and line, this can take you to a valid GitHub source for the Actions on Google Node.js project.

Custom resources

Custom stylesheets and scripts can be bundled in the docs output, placed in the output <head> of each file. They can be added as an array. Each link must be absolute.

"customStyles": [{
  "path": "/path/to/file.css"
}],
"customScripts": [{
  "path": "/path/to/file.js"
}]

License

This project is based on typedoc-default-themes by Sebastian Lenz.

Licensed under the Apache License 2.0.