Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create a "How to write a typedoc plugin" for boosting community plugins #521

Closed
nvdnkpr opened this issue Jun 1, 2017 · 8 comments
Closed

Comments

@nvdnkpr
Copy link

nvdnkpr commented Jun 1, 2017

I don't know if typedoc is currently plugin-ready, meaning the code structure exporting the right classes and methods for 3rd party developers, but since there already exist a few nice plugins it would be good to have a short "Typedoc plugin 101" so one can write our own plugins in order to boost company.

@aciccarello aciccarello added the question Question about functionality label Jun 5, 2017
@ghost
Copy link

ghost commented Jul 3, 2017

I would be 100% for this. Making it entirely pluggable would unleash the full power of the community. I'd be willing to give it a few pull requests, as soon as I have a better understanding of the code base.

@aciccarello aciccarello mentioned this issue Dec 8, 2017
9 tasks
@Lanfei
Copy link

Lanfei commented Jan 29, 2019

Looking forward to have it.

@BenDevelopment
Copy link

Same for me, I'm looking for a way to write a local plugin for my project. It would be nice to specify a single plugin ts file.

@Gerrit0
Copy link
Collaborator

Gerrit0 commented Feb 16, 2019

You can specify plugins to be loaded with --plugin /absolute/path/to/my-plugin.js

I think this issue needs to wait for a stable release - or at least until the @Component decorator is removed since that will change everything anyways.

@jayarjo
Copy link

jayarjo commented Jun 1, 2020

Any progress on this? Existing plugins get outdated and it becomes hard to figure out what the process for creating one is.

@Gerrit0
Copy link
Collaborator

Gerrit0 commented Jun 2, 2020

I have started https://typedoc.org/guides/development/, which focuses on developing TypeDoc proper, but will likely be useful for plugin developers.

I am in the middle right now of making library mode a thing, which has required changing quite a lot of the codebase (okay, I admit some didn't have to be changed, but I've wanted to for a while, and while I'm breaking everything anyways....) as a part of this, I'm taking good notes for what plugin developers need to know. I'll publish a hello world of plugin development guide as a draft once it is ready for a PR.

@Gerrit0 Gerrit0 removed the question Question about functionality label Jun 27, 2021
@Gerrit0 Gerrit0 removed the docs label Jul 2, 2022
@frog-o
Copy link

frog-o commented Sep 18, 2022

gerrit0 wrote:

I have started https://typedoc.org/guides/development/, which focuses on developing TypeDoc proper, but will likely be useful for plugin developers.

and

I am in the middle right now of making library mode a thing, which has required changing quite a lot of the codebase (okay, I admit some didn't have to be changed, but I've wanted to for a while,

if it is not to much to ask for can someone explain:

  • what typedoc proper is.
  • what library mode is
    and
  • what need to been done yet to get a full documented plugin guide pushed to main repo (it would be great to have a check list)

IMHO time of arrivals are always frown upon because there almost impossible to get even close but a checklist just show what done and show about the same info.

@Gerrit0
Copy link
Collaborator

Gerrit0 commented Sep 18, 2022

what typedoc proper is.

The TypeDoc library itself, excluding plugins

what library mode is

TypeDoc 0.19 and earlier had a mode option which determined how it converted your source code. There were two modes, file and modules. file mode would take everything declared in every file in your project and include it in the documentation, and modules mode would take everything declared in every file, but split it up based on the file. These were designed back when people primarily wrote global script files without a module system, so didn't play great with real modules.

Library mode was to be an additional mode which made TypeDoc accept a list of entry points to your library and create documentation based on what was exported from those entry points. I made a couple of attempts at this, the one I was in the middle of above was really a full rewrite of TypeDoc, which I eventually decided was a bad idea and abandoned. To ease the maintenance burden, I dropped the mode option in 0.20, and only supported what was to be called "library mode".

what need to been done yet to get a full documented plugin guide pushed to main repo (it would be great to have a check list)

Mostly, just time to do it, and being convinced that it's a better use of my time than fixing bugs/working on features (when I'm actually working on TypeDoc, have another side project that's more interesting to me right now, so haven't done much on it in the past few weeks). The plugin-idea tag in this issue has a lot of example plugins, which can be helpful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants