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.
Why are these changes needed?
This PR adds the machinery needed to build the top navigation bar.
The
.html
files are templates, and they are specified in the appropriate place inconf.py
for the theme to pick them up.The links in the top navigation bar can be specified in
navbar.yml
, which has a simple syntax that can be easily modified in the future. Here's how this works:conf.py
, the contents ofnavbar.yml
are parsed and added as a dict to the build context when theconfig-inited
event is emitted.render_header_nav_links
function is inserted into the build context before the html is rendered, when thehtml-page-context
event is emitted.render_header_nav_links
, which actually generates the HTML for the links in the nav bar for each page. This uses the contents ofnavbar.yml
that were inserted into the build context previously to dynamically generate links to various docs pages.Note that this doesn't need any scripts to run to render the top navigation bar like Ray currently does. The HTML needed is generated during the build step, and makes use of Sphinx's templating system to make this work. The benefits of this approach:
top-navigation.js
script, avoiding a rendering update on page load. This script will be removed in a different PR.Related issue number
Partially addresses ray-project#37944.
Depends on #2.
PR 2/x targeting ray-project#41115.
Checks
git commit -s
) in this PR.scripts/format.sh
to lint the changes in this PR.method in Tune, I've added it in
doc/source/tune/api/
under thecorresponding
.rst
file.