documentation icon indicating copy to clipboard operation
documentation copied to clipboard

Adding a complete plugin system

Open Telokis opened this issue 7 years ago • 3 comments

(Followup to #683)

After reading this part of the FAQ, I thought that documentationjs had a "well documented and flexible" plugin system because it said Customization points like plugins & templates are well documented and flexible.
What I expect from a plugin is to be able to fully alter any step of the generation process. From the config reading to after the files have been written. (As can provide esdoc with its 10 callbacks and jsdoc with its 9 events.)

Here is a very concrete example:
I am currently working on a NodeJS web server. I have a lot of classes, functions, etc that are documented using jsdoc style comments but I would also like to have a custom @route {GET} /users tag that would attach specific informations to the AST.
To achieve this, I would "simply" create a plugin, make it listen for some kind of onDocTag event where tag === "route" and attach some additional properties to the doc node:

{
    kind: "route",
    method: "GET",
    path: "/users"
}

Then, later in my plugin, I would be able to alter the generated output by adding some kind of "meta format tag" in order to have specific formatting of my routes.

I hope this use case is clear enough because it's a very real thing I'd like to be able to do.

(I am not looking for a workaround, I'd really like to have custom tags handled by the plugin defining them)

Telokis avatar Aug 26 '18 16:08 Telokis

Yep, a full and complete plugin system is still something this project needs. If someone wants to help, I'm happy to review and merge the PR.

tmcw avatar Oct 21 '18 20:10 tmcw

I, I think your request is interesting and worth some attention. I hope author will have time to respond.

I myself needs to replace the highlight language from javascript to js static because markdown are used in react-styleguidist, and javascript is executed in codemirror making that impossible, any idea?

kopax avatar Nov 30 '18 06:11 kopax

I've already responded, above, and the answer's the same - if someone wants to help out and implement the feature, I'm happy to review and merge the PR.

tmcw avatar Nov 30 '18 19:11 tmcw