-
Notifications
You must be signed in to change notification settings - Fork 29.8k
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
doc: all.html is seriously broken link-wise #20100
Comments
vsemozhetbyt
added
doc
Issues and PRs related to the documentations.
tools
Issues and PRs related to the tools directory.
labels
Apr 17, 2018
cc @nodejs/documentation |
I think this is the only viable way to handle this. Should it not already be enough to just fully generate each doc and then merge the content? |
I will try to investigate this later if somebody does not manage this sooner. |
3 tasks
rubys
added a commit
to rubys/node
that referenced
this issue
Jun 26, 2018
Combine the toc and api contents from the generated doc/api/*.html files. This ensures that the single page version of the documentation exactly matches the individual pages. Fixes nodejs#20100
3 tasks
3 tasks
rubys
added a commit
to rubys/node
that referenced
this issue
Jun 30, 2018
Combine the toc and api contents from the generated doc/api/*.html files. This ensures that the single page version of the documentation exactly matches the individual pages. Fixes nodejs#20100
targos
pushed a commit
that referenced
this issue
Jul 3, 2018
Combine the toc and api contents from the generated doc/api/*.html files. This ensures that the single page version of the documentation exactly matches the individual pages. PR-URL: #21568 Fixes: #20100 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Vse Mozhet Byt <[email protected]>
3 tasks
rubys
added a commit
to rubys/node
that referenced
this issue
Jul 7, 2018
Notes: 1) Removed a number of root properties that did not seem relevant: source, desc, and introduced_in. There no longer is a source, and the other two are from the first include and do not reflect the entire API. 2) As with nodejs#20100, the current "desc" properties sometimes contained in-page links, other times referenced another page, and often did not match the links in the original HTML or JSON file. I chose to standardize on external links as "desc" values are isolated snippets as opposed to all.html which can be viewed as a standalone and self contained document. 3) Eliminated preprocessing for @include entirely, including the test case for this function. 4) _toc.md was renamed to index.md. 5) index comments no longer appear in embedded TOCs (left hand side column in the generated documentation.
vsemozhetbyt
pushed a commit
that referenced
this issue
Jul 9, 2018
Notes: 1) Removed a number of root properties that did not seem relevant: source, desc, and introduced_in. There no longer is a source, and the other two are from the first include and do not reflect the entire API. 2) As with #20100, the current "desc" properties sometimes contained in-page links, other times referenced another page, and often did not match the links in the original HTML or JSON file. I chose to standardize on external links as "desc" values are isolated snippets as opposed to all.html which can be viewed as a standalone and self contained document. 3) Eliminated preprocessing for @include entirely, including the test case for this function. 4) _toc.md was renamed to index.md. 5) index comments no longer appear in embedded TOCs (left hand side column in the generated documentation. PR-URL: #21637 Reviewed-By: Vse Mozhet Byt <[email protected]> Reviewed-By: Rich Trott <[email protected]>
targos
pushed a commit
that referenced
this issue
Jul 12, 2018
Notes: 1) Removed a number of root properties that did not seem relevant: source, desc, and introduced_in. There no longer is a source, and the other two are from the first include and do not reflect the entire API. 2) As with #20100, the current "desc" properties sometimes contained in-page links, other times referenced another page, and often did not match the links in the original HTML or JSON file. I chose to standardize on external links as "desc" values are isolated snippets as opposed to all.html which can be viewed as a standalone and self contained document. 3) Eliminated preprocessing for @include entirely, including the test case for this function. 4) _toc.md was renamed to index.md. 5) index comments no longer appear in embedded TOCs (left hand side column in the generated documentation. PR-URL: #21637 Reviewed-By: Vse Mozhet Byt <[email protected]> Reviewed-By: Rich Trott <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Cause of the state
all.html
is assembled fromall.md
by preliminary gluing all.md
sources in one blob as they are. This is made by chain oftools\doc\generate.js
->tools\doc\preprocess.js
->tools\doc\html.js
.That means that all the bottom references are merged as they are without collisions resolved.
Types of collisions
Currently, we have many homonym bottom references in
.md
files. They can be grouped into 3 types by the severity of collision impact:all.html
or a separate[module].html
doc, referring the doc (above doc TOC) or its top heading (below doc TOC)):Almost 30 collisions:
What are collision results?
The first type of collision is completely safe.
The second type is safe data-wise but may be confusing or may have performance penalty:
all.html
doc is huge and links referring now internal section, now another document may baffle or cause regular reloading of the big page (even cached, it overload the browser significantly during reparsing). But it seems we cannot do anything simple to resolve this.The third collision is severe and may cause many misunderstandings. The reference from the last included doc wins and rewrites all previous links. This can be easily checked:
Caveats
link incrypto.getDiffieHellman(groupName)
section inside thecrypto.html
doc refers to thecrypto.html#crypto_support_for_weak_or_compromised_algorithms
.Caveats
link infs.watch(filename[, options][, listener])
section inside thefs.html
doc refers to thefs.html#fs_caveats
.Caveats
links in bothcrypto.getDiffieHellman(groupName)
andfs.watch(filename[, options][, listener])
sections inside theall.html
doc refer to the sameall.html#fs_caveats
place, which is wrong for thecrypto
module part.What can we do?
I can do the first job if this is wanted, but others are currently above my knowledge of doc system tooling.
Maybe there are some other ways to fix this.
The text was updated successfully, but these errors were encountered: