docs: order the sidebar as a walk, then a set of references - #497
Merged
Conversation
MediaWiki:Sidebar is the reading order as well as the menu -- Module:Sequence reads it to build the prev/next row on every page -- so its order is the order the documentation is read in, and it had never been chosen as one. Why wikitext led it. The page argues wikitext against Markdown, which is a question a reader has before installing anything rather than a step they walk, and index already makes that argument itself, citing Why wikitext and Limitations together as its two read-more links. Both are appendices to the landing page, so both move to References, and stay a pair. Docs is now one walk: get the tool, build something, author it, shape the site, extend it, translate it, publish it, fix it. - Searching moves up beside Skins. It needs a skin to mount its typeahead, and Extensions and Skins both pointed forward to it from above. - Editing sidebar moves below Skins and Translating. Two of its three sections presume translation -- the labels are messages, so the Korean wording is a /ko file -- and its logo and Minerva claims presume Skins. At its old fifth place it asked a reader to write a Korean message file for a site with no translations. - Deploying ends the walk; Troubleshooting follows it, where a walk stops and lookup begins. References opens with the two short pages the landing page hangs off it, Limitations then Why wikitext. They are the ramp: Troubleshooting into Configuration is 78 lines into 225, and the three reference pages after it run to 557 without a break. Configuration leads those three, being the page the rest of the documentation links most. Standalone binary keeps its place before Commands, because Commands' examples are bare wikven build and it is Standalone binary that puts wikven on the PATH. Writing an extension now precedes Development: Development sends readers to it, and is itself linked from nowhere else. Licenses stays last.
Two assertions named pages that only one order made true: that Why wikitext has no previous link, because it was first, and that Searching's next is Translating. Reordering the documentation broke both, which is the wrong signal -- neither is about which page comes first, and a failure there says nothing about what changed. The ends-of-sequence assertion goes altogether. That the first page has no previous link and the last no next one is a detail of what Template:prevnext renders, and reading it back out of the built HTML is more of the docs' own furniture than a smoke check should be inspecting. What the check was added for (#455) is the row being missing entirely, and the check above it already covers that, for every page the sidebar names rather than for two of them. The translated-label check stays, and now reads which page follows Searching from MediaWiki:Sidebar, the same place Module:Sequence reads it. It is about the label -- that a link on a translated page carries the target's own translated title, rather than a copy restated in the caller -- so the pair it happens to use should follow the order rather than fix it. Guarded for the case where the sidebar names no page after Searching, because awk's getline leaves the line alone at end of input and the check would otherwise have compared Searching's row against its own title.
lens0021
force-pushed
the
claude/sidebar-order
branch
from
August 21, 2026 02:31
9b291e8 to
995317d
Compare
lens0021
marked this pull request as ready for review
August 21, 2026 02:34
lens0021
enabled auto-merge (squash)
August 21, 2026 02:34
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
MediaWiki:Sidebaris the reading order as well as the menu —Module:Sequencereads it to build the prev/next row on every page (#487) — so its order is the order the documentation is read in, and it had never been chosen as one. It was the order the pages happened to be written in.The order
Docs — Installation, Getting Started, Pages, Images, Skins, Searching, Extensions, Lua modules, JavaScript, Translating, Editing sidebar, Deploying, Troubleshooting
References — Limitations, Why wikitext, Configuration, Standalone binary, Commands, Writing an extension, Development, Licenses
Docs is one walk: get the tool, build something, author it, shape the site, extend it, translate it, publish it, fix it.
What moved, and why
Why wikitext led the whole thing. It argues wikitext against Markdown, which is a question a reader has before installing anything rather than a step they walk — and the front page now makes that argument itself, citing
Why wikitextandLimitationstogether as its two read-more links. Both are appendices to the landing page, so both are in References, and they stay a pair.Searching moves up beside Skins. It needs a skin to mount its typeahead, and both
ExtensionsandSkinspointed forward to it from above; those two references now point backwards.Editing sidebar moves below Skins and Translating. Two of its three sections presume translation — the labels are messages, so the Korean wording is a
/kofile — and its logo and Minerva claims presumeSkins. At fifth place it asked a reader who had just built a Hello World to write a Korean message file for a site with no translations, and to link pages they did not have.Deploying ends the walk, Troubleshooting follows it, where a walk stops and lookup begins.
References opens with the two short pages the landing page hangs off it. They are also the ramp:
TroubleshootingintoConfigurationis 78 lines into 225, and the three reference pages after it run to 557 without a break.Configurationleads those three, being the page the rest of the documentation links most — 17 of the other 20 pages link it.Standalone binary keeps its place before Commands.
Commands' examples are a barewikven build, and it isStandalone binarythat putswikvenon thePATH.Writing an extension now precedes Development.
Developmentsends readers to it in its opening lines, and is itself linked from nowhere else in the documentation.The CI change
Two smoke assertions named pages that only the old order made true: that
Why wikitexthas no previous link, because it was first, and thatSearching's next isTranslating.The ends-of-sequence assertion goes altogether. That the first page has no previous link and the last no next one is a detail of what
Template:prevnextrenders, and reading it back out of the built HTML is more of the docs' own furniture than a smoke check should be inspecting. What it was added for (#455) is the row being missing entirely, and the check above it already covers that — for every page the sidebar names, rather than for two of them.The translated-label check stays, and now reads which page follows
SearchingfromMediaWiki:Sidebar, the same placeModule:Sequencereads it. It is about the label — that a link on a translated page carries the target's own translated title rather than a copy restated in the caller — so the pair it happens to use should follow the order rather than fix it.Checked
The sidebar diff is a pure reorder — the sorted entry sets before and after are identical, so nothing was added, dropped or duplicated. All 21 targets keep their
Special:MyLanguage/prefix, without whichModule:Sequencedrops them from the chain silently andLicensesis eaten by the corelicensesmessage. Every label message and target page exists; no entry is another entry plus a slash, sopositionOf's prefix match is still unambiguous. The file carries no translate units and there is no per-language sidebar, so nothing goes stale.Not done here
Three content defects the review turned up, all of them equally true on
mainand none fixed by reordering:Troubleshooting's "Two configuration files, one of them ignored" says the first in precedence order wins, without naming the order or linkingConfiguration— and tells the reader to delete the others.Writing an extensionputsWikvenRepositoriesat the top level, a sibling ofconfig:;Configurationnests it underconfig:, and a top-level key is exactly whatTroubleshootingsays warns and is ignored. The same page writes.wikven.ymlwhere every other page writes.wikven.yaml.Editing sidebarhas no inbound prose link from any page — the sidebar is its only route in, which its move to eleventh makes slightly more so.