typedoc-plugin-navigation-hooks
v1.1.2
Published
Experimental TypeDoc plugin to support navigation related hooks
Maintainers
Readme
typedoc-plugin-navigation-hooks
Table of contents
- 🍵 Introduction
- 🚀 Get started
- 👂 Listen events
- 🧬 Types
- 🤝 Contribute
- 👑 Author
- ⚖️ License
- 📰 Changelog
- 🧱 Related packages
🍵 Introduction
🧪 This plugin is experimental
While TypeDoc does not support proper and stable way to
have access to the navigation resolution process of themes extending the default one, this plugin
provides navigation specific events as a workaround. It assumes that the RendererEvent.navigation
property is an array of TypeDoc.NavigationElement.
🚀 Get started
npm install -D typedoc-plugin-navigation-hooksAdd the plugin in your typedoc.config.js file:
// typedoc.config.js
export default {
entryPoints: [
'./src/index.ts'
],
plugin: [
'typedoc-plugin-navigation-hooks'
]
}Let's run the typedoc command!
👂 Listen events
You can write your own plugin to listen navigation related events like following:
import * as td from 'typedoc'
import { NavigationEvent, NavigationItemEvent } from 'typedoc-plugin-navigation-hooks'
export function load (app: td.Application) {
app.renderer.on(NavigationEvent.RESOLVE, ({ items }) => {
/**
* Do something when resolving navigation
*/
})
app.renderer.on(NavigationItemEvent.RESOLVE, ({ item, reflection }) => {
/**
* Do something when resolving navigation item.
* You have access to the related reflection if found.
*/
})
app.renderer.on(NavigationEvent.RESOLVED, ({ items }) => {
/**
* Do something when navigation is resolved
*/
})
}🧬 Types
RendererEvent
export interface RendererEvent extends TypeDoc.RendererEvent {
/**
* The navigation items
*/
navigation: TypeDoc.NavigationElement[]
}
🤝 Contribute
You would like to contribute to this project? You are welcome!
First, please check:
👑 Author
Made with ❤ by Hervé Perchec
⚖️ License
📰 Changelog
See all changes to this project in the CHANGELOG.md file.
🧱 Related packages
README.md - this file was auto generated with juisy README templater. Don't edit it.
