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

Invoke typedoc to produce browsable JS API documentation #4757

Merged
merged 23 commits into from
Nov 17, 2023

Conversation

niloc132
Copy link
Member

@niloc132 niloc132 commented Nov 1, 2023

Replaces the annotation processor previously used with a doclet implementation. This still emits a .d.ts file using Java mirror/element types for accurate type information, but now is able to traverse Javadoc trees as well, and produces corresponding typedoc tags or markdown.

Additionally, this branch produces a tarball suitable for deployment as an npm module, containing only those generated types. However, this output is still untested.

CI is updated to deploy the results of this to https://deephaven.io/core/client-api/javascript/.

This branch is a draft, but the results of this can currently be seen at https://colinalworth.com/documentation/.

@niloc132 niloc132 added documentation Improvements or additions to documentation jsapi NoDocumentationNeeded NoReleaseNotesNeeded No release notes are needed. labels Nov 1, 2023
@niloc132 niloc132 added this to the October 2023 milestone Nov 1, 2023
@niloc132 niloc132 self-assigned this Nov 1, 2023
@niloc132
Copy link
Member Author

niloc132 commented Nov 1, 2023

There are also a few javadoc changes to both test out features we expect to work now in typedoc, and also to work around deliberate shortcomings in typedoc (unclosed tags in a member's documentation can interrupt navigational aspects of the page). I'll cherry-pick and land those as their own branches, but for the time being they are included here to ensure that the rest of the branch is working correctly.

.github/workflows/docs-ci.yml Outdated Show resolved Hide resolved
.github/workflows/docs-ci.yml Outdated Show resolved Hide resolved
with:
switches: -avzr --delete
path: web/client-api/docs/build/documentation/
remote_path: deephaven-core/client-api/javascript/
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure if remote path needs to exist before this job is run, just FYI. Obv sync expectations w/ deephaven.io.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not following - how could this be omitted, where would the CI job rsync the data to?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry - didn't mean to imply you don't need to set remote_path. I'm not sure if the physical "remote path" needs to exist or not before this job will succeed. Just commenting on the fact that there is some coordination w/ deephaven.io that will be necessary.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, will verify with docs team.

Copy link
Member

@mofojed mofojed Nov 17, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we have a ticket for this in the docs repo?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Running it creates the folder, nothing needs to be done. You should create a ticket to add a link in the sidebar back to this though once it merges though

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will do that in a few minutes after seeing if I broke main...

:root {
--dark-color-background: #040427;
--dark-color-background-secondary: #0d1b37;
--dark-color-background-warning: #fffbef;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where are these colours coming from? This one in particular I can't see referenced anywhere else in the code base.
Pretty sure we should match the colours from other docs (defined in root.scss). @dsmmcken ?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

deephaven.io colors.

@niloc132 niloc132 merged commit b186780 into deephaven:main Nov 17, 2023
12 checks passed
@github-actions github-actions bot locked and limited conversation to collaborators Nov 17, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
documentation Improvements or additions to documentation jsapi NoDocumentationNeeded NoReleaseNotesNeeded No release notes are needed.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants