-
-
Notifications
You must be signed in to change notification settings - Fork 750
Description
This is a tracking issue for where I'm trying to take TypeDoc. Nothing is set in stone, but the "closer to now" issues are less likely to change than those several versions out.
I don't have too much time to spend on TypeDoc right now, but this is a list of some of the things I want to do to make TypeDoc better.
v0.23 - Guides, TSDoc, or more theme revisions work
There are three possibilities for v0.23 right now. The most likely is TSDoc support:
- TSDoc support
- Guides
- Theme rework
Future Goals
vEventually - TSDoc standard
TypeDoc currently doesn't conform to the TSDoc standard (https://github.com/microsoft/tsdoc)
This is fine, TypeDoc existed for 4 years before TSDoc did... but it would be nice use it for consistency with other documentation tools. There is a project open with issues that need to be worked to achieve this goal.
vEventually - Guides
Today, TypeDoc can create documentation for your source code, but it would be ideal to allow sites created with it to also include separate Markdown defined pages which can be used to include more detailed tutorials or development notes. There is a project open with issues that need to be worked to achieve this goal.
vEventually - Reworked themes
TypeDoc's themes received some minor updates in v0.22 to add support for dark mode, but there is still room for improvement. This is primarily being worked through the TypeScript Discord with no timeline yet.
Prior releases
v0.22 - Output Cleanup
TypeDoc's themes have been limped along for quite a while. Today they use Handlebars for templating and rely on several magical plugins to massage their output into a reasonable state. It all works, but is difficult to extend. Most third party themes are built in a way that updates to TypeDoc's output that should not necessarily break the theme will. This is partially the result of poor documentation, and partially that nobody fully understands how the themes work.
This update won't be groundbreaking in terms of features, but it should provide nice user experience improvements:
- Builtin support for dark mode
- Smaller typedoc install size
- Easier theme development via templating that uses TS language features
Much of this is being made possible thanks to @cspotcode, see the initial PR at #1634. The project tracking issues to be completed before release is here.
v0.20 - Well behaved documentation generation - "Library Mode" - released 12/28/20
This was released December 28th, 2020. See #1364 for a detailed tracking thread.
TypeDoc currently has two modes - file and modules. Both of these modes rely on traversing the AST of a given program to figure out what should be documented. This mostly works but has some shortcomings.
- Re-exports are handled poorly (and before 0.17 weren't handled at all!)
- Documentation becomes heavily nested (in modules mode), making it harder to find what you are looking for.
The way a documentation generator should work is by using the compiler API to ask what is exported, and then documenting that. TypeDoc. Originally, this was going to be added as a third "mode" to TypeDoc, however, a proper implementation demanded that the converters work in a fundamentally different way... Since I lack the time to maintain both implementations in sync, library mode will replace both file and modules mode. Since rewriting the converters resulted in changing the models, this broke the themes... so this turned into almost a full rewrite. See #1364 for a tracking thread for what's being done and still needs to be done for this to be complete.
Note that there is an implementation of library mode already in #1184. This makes incredibly minimal changes. While it works for many simple cases, it has major problems. If you want to use it, you can install version 0.17.0-3.