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

Make a pass over the docs, fixing a bunch of problems #274

Merged
merged 10 commits into from
Oct 8, 2023

Conversation

pkgw
Copy link
Contributor

@pkgw pkgw commented Oct 8, 2023

Our API docs have gotten pretty busted, between changes to typedoc and the port to Pinia. Here I try to fix them up and improve some wayfinding. Big shout-out to TypeStrong/typedoc#2409 in which our Vue/Pinia component docs were un-broken!

@pkgw pkgw merged commit 5bf1552 into WorldWideTelescope:master Oct 8, 2023
9 checks passed
@pkgw pkgw deleted the docs branch October 8, 2023 14:00
} from "./store";

export { WWTAwareComponent } from "./wwtaware";

// Can't figure out a one-liner way to re-export the default export from
// Component.vue under a specific name, so:
import WWTComponent from "./Component.vue";
Copy link

Choose a reason for hiding this comment

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

export { default as WWTComponent } from "./Component.vue"

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thanks!

@@ -1,5 +1,33 @@
declare module "*.vue" {
import { defineComponent } from "vue";

// For reasons unclear to me, the docstring for the WWTComponent component
Copy link

Choose a reason for hiding this comment

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

This is probably TypeStrong/typedoc#2283, which I haven't gotten to yet...

readonly lm: LayerManagerObject;

/** The [`ScriptInterface`](../../engine/classes/ScriptInterface.html) associated with this instance. */
Copy link

Choose a reason for hiding this comment

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

This makes me sad... @link ought to work here...

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We have a bunch of separate NPM packages that we manage in a monorepo. From the configuration that we have, I don't see how typedoc would have any way of knowing how to construct a URL to a type defined in (e.g.) @wwtelescope/engine while preparing the docs for @wwtelescope/engine-pinia — it has no way of knowing that those docs also live in the monorepo and are also built using typedoc.

This basically seems like the problem addressed by Intersphinx in Python-land. If typedoc has any support for solving it, I'd be happy to adopt it, but I didn't see a way to do that built in. It seems like it wouldn't be hard for us to write a plugin to help with linking in our specific case, but I simply haven't sat down to look into that.

Copy link

Choose a reason for hiding this comment

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

Ah, yeah... that's a problem that TypeDoc kind of has a solution for, in that it has the necessary hooks in place that it could be built, but doesn't have a canonical solution -- third party symbols

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

Successfully merging this pull request may close these issues.

2 participants