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.
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
feat(theme-classic): new navbar item linking to a sidebar #6139
feat(theme-classic): new navbar item linking to a sidebar #6139
Changes from 14 commits
54f1468
1f71b22
99f52a3
e75ab58
7a6813b
4c9015b
1b30b5a
e41a956
8d79727
3e3c280
939d0a3
5941f7b
8b926c6
00bc1ac
95bf5ea
04e70b4
1c7c848
3192dcb
2ae7dfe
95643c8
ae7be3a
794ac8c
04c196a
ec7dd46
a2ad091
bcd01a9
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What about refactor to following signature?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So to make this function return the doc's path, I passed into it a
LoadedVersion
object to look up the doc's permalink:I just refactored the function in my recent commit. Let me know if you think this is a good approach, or if you think it's a bit overkill to pass
LoadedVersion
into this function.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it's overkill. Passing in such a big entity makes this function very hard to reason about and optimize in the future. I prefer the initial implementation: the return type is a bit complicated, but it's lightweight and easy to be piped into other processing.
I reverted that refactor commit. Sorry for this but I do have some opinions on what
sidebarUtils
should do. It should strictly be a pure function operating on the sidebar and nothing else. Hooking into the version information is always overkill and should be done where it's actually needed.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We want to look up for sidebars in all the provided versions, otherwise, it's not useful to provide an array of versions in the first place
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @slorber,
flatmap
doesn't work I think sinceversion.sidebars
is an array ofRecord<string, GlobalSidebar>
instead of an array ofGlobalSidebar
arrays. I did change it to look for sidebars in all versions in my recent commit.My question is which version are we getting the sidebar from if there are multiple versions that have the same sidebar?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@lmpham1 versions are provided ordered to this method:
[activeVersion, preferredVersion, latestVersion]
So sidebars will also be ordered. We'll look for a sidebar in the active version (the one the user is currently browsing) in priority, so this should be fine already: just pick the first sidebar that matches the id
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should be fine considering sidebarId is mandatory
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wonder if the item would be highlighted when we browse a category index 🤪