tools: overhaul tools/doc/html.js #20613
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Checklist
make -j4 test
(UNIX), orvcbuild test
(Windows) passesI was trying to facilitate reviewing this PR as far as I could, singling out changes that refactor monolithic structures or alter doc results (see #20307, #20514, #20552, #20586).
However, this PR still produces big and complicated diff as it has many small changes scattered all over the script and also bears refactoring (simplifying, merging, inlining etc) closely coupled but tracery systems. It would be hard to split these changes into dozens of separate PRs.
To make review even possible, I've split it into 2 commits: local changes + pure reordering of major blocks with no additions/deletions. Please, review these commits separately.
commit 1
Modernize:
Optimize:
toHTML()
andrender()
) to reduce data transferring..includes()
..match()
with.test()
in boolean context.['str', 'str'].join()
with straight string concatenation.new Array(length + 1).join(str)
withstr.repeat(length)
.Clarify:
Commit 2
This PR produces HTML docs identical to the previous ones, reducing the script by ~ 100 lines (with previous 4 PRs, the size is reduced by 175 lines) and I hope the script becomes a bit clearer and simpler.