-
-
Notifications
You must be signed in to change notification settings - Fork 736
v0.23 Beta Release #1922
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
Comments
Had a bit of time, so beta.1 is now up:
|
It turns out "full support for declaration references" is quite the rabbit hole... TSDoc initially went with one syntax, the maintainers there are looking at switching to a different (much nicer, and similar to JSDoc) syntax, JSDoc uses a third, VSCode handles things similar-ish to how TypeDoc does it today... My current plan is for TypeDoc to support the beta syntax that TSDoc does, and fall back to matching like it does today if link resolution fails... life is really busy right now though. I wanted to be at a full release or nearly there by now, but it looks like this won't be fully ready until mid June. |
beta.2 (based on 0.22.16)Breaking:
Features:
Fixed:
|
The declaration reference rabbit hole is never ending... I'm tempted to implement just the pieces of the TSDoc spec that make sense to me, and wait for feature requests to support more parts of it... In the meantime... beta.3 (based on 0.22.17)Breaking:
Features:
|
Just two required TODOs left! Granted, one of them is declaration references, which is probably 8 hours of work, and docs always seem to take more time than I predict... getting very close... beta.4 (based on 0.22.17)Breaking:
Features:
Fixed:
|
I believe the only thing left now is to write docs, going to get a healthy start on this today, but likely won't finish... I think pending any bug reports, that this will be the last pre-release for 0.23, which should release sometime this week. Edit: Or... ya know, when writing docs I could discover half a dozen things that I forgot beta.5 (based on 0.22.17)
|
Very nice! I like the theme refresh I think the only thing that’s harder is jumping around to the different functions, etc. In the last version, the sidebar had all of them, so they were all a click or command+f away. In the new version, I have to click on the Maybe bringing back the longer sidebar, or adding a shortcut to focus the search bar command+/, or adding a command palette would help? Also, I have bad eyes, and the contrast in dark mode is super strong between the On mobile, the top navbar covers/hides the top of the page. Again, overall great! Don’t focus only on the critiques—nice job |
Also, what does |
Thanks for the feedback! It's greatly appreciated.
Spent some time clicking around TypeDoc's docs with the new vs old, and I agree. Bringing it back...
Just
I am solidly in the "hopeless" side of the scale of color design, do you have a recommendation?
Oh mobile... fixed!
This means that your readme contained something that looked like a |
Glad it helps!
👍👍👍
Sure, I’d recommend looking at other apps in dark mode or using TailwindCSS colors.
If you use TailwindCSS colors, say the Slate family, then you could meet accessibility standards by using:
Also, is the top navbar a different shade of grey?
I think TypeDoc may accidentally be finding npm scopes (namespaces) by mistake, for example In my monorepo, I’m using namespaces for every project. It seems to give me a warning when I have a README with:
What’s the best way to suppress those warnings? |
TypeDoc recognizes code blocks, so if in a code block/inline code block, it shouldn't complain about it being a tag. I copied that text into a new project and TypeDoc parses it as expected, with no tags. You can also escape the |
Now it's actually almost here... I just need to make beta.6 (based on 0.22.18)
|
Awesome 🎉 The entry points in packages mode works with I am still running into issues with the warnings within code blocks, but only using the entrypoint mode, not packages mode. Both have the
using content:
and
Also, is there a way to ignore a package in the Thanks again for the exciting beta release 😄 |
Wow, that was a confusing bug... turns out it was an off by one... only visible if your readme ended with a code block. Fixed with 75cbf1f. I didn't see it earlier because I just stuck your readme at the top of one in a project I had set up. Thanks!
Currently, it looks like there is not, once a package is added by a glob, there isn't a way to filter it back out. It seems like a reasonable feature request to check typedoc/src/lib/utils/entry-point.ts Lines 292 to 296 in 80fa823
|
beta.7 (based on 0.22.18)
|
Woah that’s a weird bug 😂 nice find. Installed the latest beta—fixed!
I’ll see if I can read the contributing doc and add it next week! Thanks for the pointer. Related #1959 |
0.23 for real is out! 🎉 |
It's several months later than I really wanted to start this process, but 0.23 is finally nearing completion and is ready for beta release! Please try it out and leave feedback either in comments in this issue, or as new issues.
This release includes two major efforts. A re-imagined default theme thanks to @futurGH, and a complete revamp of TypeDoc's comment parsing to allow TypeDoc to be compatible with TSDoc.
Theme Rebuild
TypeDoc's current default theme has remained essentially the same for the past 6 years. It worked, but wasn't particularly mobile friendly, with small click targets being clustered together. The new theme resolves this, and also makes better use of large screens.
TSDoc Compatibility
In 0.22 and earlier, TypeDoc's comment parser is essentially a line-by-line loop with some regular expressions applied. This does an admirable job of handling most comments, but it is less than ideal when dealing with complicated references. Replacing this with a real parser means that it is possible for TypeDoc to perform much more rigorous validation of comments and distinguish between block/modifier tags.
It is important to note that TypeDoc, while aiming to be compatible with TSDoc, does not require its use. It also does not restrict rendering to TSDoc supported constructs. Comments continue to be rendered via Marked, which means that if Marked supports a feature, TypeDoc generally does too. This is important because many commonly used markdown features are not yet specified by TSDoc (including support for headings, tsdoc/197 and lists tsdoc/178). If this "laxness" isn't acceptable for your use case, I recommend api-extractor.
Important Breaking Changes
@inheritDoc
now follows the TSDoc specification when copying documentation.[[target]]
links has been deprecated. Since TypeScript 4.3, the{@link}
syntax will be recognized by editors and used to actually create links, and it should be used instead. v0.24 will remove TypeDoc's support for[[target]]
links.New Features
@group
tag to override the default grouping by kind (classes, functions, etc.)@example
tags which expect to be treated as code blocks. TypeDoc now matches VSCode's behavior.@deprecated
will now be rendered with a line through their name.@inheritDoc
tag, TypeDoc will now warn you about it instead of silently overwriting a comment.Remaining Work
For additional information about resolved bugs and remaining work to be completed before release, see the changelog.
{@link}
and[[link]]
tags in readme files.
to try to resolve links), #262, #488, #1326, #1845.@see
tagsFuture work originally considered for this release
@copyDoc
inline tag which can be used to pull pieces of documentation from other entries without fully overriding the comment (@inheritDoc
is specified by TSDoc to specifically disallow this, so a new tag), #304--commentDiscovery
option to tell TypeDoc to delegate all comment discovery to TypeScriptThe text was updated successfully, but these errors were encountered: