Skip to content

Conversation

@tmair
Copy link
Contributor

@tmair tmair commented May 7, 2021

Description:
This PR fixes broken links within the documentation that are reported by the build of the documentation.

Two examples of the broken links can be found on the Global Config documentation page.

Related issue (if exists):
None

Copy link
Member

@niklas-wortmann niklas-wortmann left a comment

Choose a reason for hiding this comment

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

thanks a lot for fixing this

* @param kind Always `'N'`
* @param value The value to notify with if observed.
* @deprecated Internal implementation detail. Use {@link createNext} instead.
* @deprecated Internal implementation detail. Use {@link Notification#createNext createNext} instead.
Copy link
Collaborator

@cartant cartant May 7, 2021

Choose a reason for hiding this comment

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

Do links declared like this render correctly in the app? My understanding is that custom link text has to be placed after a |, like this:

{@link Notification#createNext | createNext}

https://tsdoc.org/pages/tags/link/

Copy link
Member

Choose a reason for hiding this comment

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

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Do links declared like this render correctly in the app?
Yes they do. And the reason why is that documentation generation does not depend on tsdoc but on the dgeni and degeni-packages packages. For @link extraction the following two files are important:

There is a RegExp in the link.js file

var INLINE_LINK = /(\S+)(?:\s+([\s\S]+))?/;
for parsing @link content which is basically of the form ${url} ${link name}. So that is the reason why this works for the documentation home page.

There is however another issue that is related to how @links are parsed and shown in IDEs. As there is no standard for JS/TS documentation each IDE or Editor seems to ship its own slightly different version for @link processing and parsing. These are the ones I know of but this list is not exhaustive:

So long story short: I would like to look into the recent addition of @link parsing to TS and its compatibility or incompatibility with TSDoc a little closer. So for now I am fine if this PR still stays open a little longer. I don't exactly know when I will have time to dig a little deeper into all of this as I am not too familiar with dgeni or the TSDoc project.

Copy link
Member

@jakovljevic-mladen jakovljevic-mladen May 10, 2021

Choose a reason for hiding this comment

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

Copy link
Collaborator

Choose a reason for hiding this comment

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

@tmair Thanks for the super-thorough comment. 👍

@cartant cartant added the 7.x Issues and PRs for version 7.x label May 8, 2021
@benlesh benlesh merged commit f7ea211 into ReactiveX:master May 21, 2021
@tmair tmair deleted the documentation-fix-broken-links branch February 23, 2022 12:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

7.x Issues and PRs for version 7.x

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants