Repository navigation
docs: drop the Timeless skin from the docs site - #348
Conversation
Timeless has little future, so it is not worth carrying or styling. The docs site now renders two skins: Vector from default.yml and Citizen from docs/.wikven.yml. The smoke test's language-bar total is per skin rendered, so its multiplier drops with the skin. The e2e switcher tests move to Citizen; the non-main-to-non-main case goes with Timeless, since one non-main skin is left. Adder.php's Timeless-only export fixup and the Timeless examples and listings in the docs go too, with the affected Korean units restamped (only the source unit spans changed; the translated prose was updated in step with the English). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016qiZSGWHrxkjvFxA8swynp
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Not listing Timeless on the docs site says nothing about sites that enable it themselves, and includes/ ships to them. Removing the inline rule would have left their exports with the dead personal-tools dropdown and page-actions sidebar it exists to hide. Unsupported means untested, not deliberately broken. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016qiZSGWHrxkjvFxA8swynp
|
Two changes after review. The It also made the stack incoherent: this PR deleted those seven lines and #352 restored them, three PRs later. Retitled Knock-on for #352#352 currently restores the same seven lines. That hunk is now redundant and will conflict; it should be dropped from that branch. The rest of #352 — declaring Vector, Minerva and Citizen supported — is unaffected. Generated by Claude Code |
Editing the English source is not a licence to rewrite its translations. The Korean units this staled will show as needing an update, which is the translation system reporting rather than breaking. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016qiZSGWHrxkjvFxA8swynp
MonoBook stood in for Timeless when the examples lost it, but the docs site does not build it, so the example named a skin nothing here exercises. Minerva is one of the three the site renders. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016qiZSGWHrxkjvFxA8swynp
The docs site bakes all three, so the promise is what CI already exercises. Every other skin stays usable and untested; nothing refuses one. Restores the Timeless fixup #348 deleted. Unsupported means untested, not deliberately broken, which is the same reading #346 keeps its Timeless rule on. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016qiZSGWHrxkjvFxA8swynp
Timeless has little future, so the docs site stops carrying it. What is left is two skins:
Vectorfromdefault.yml(the main skin, at the export root) andCitizenfromdocs/.wikven.yml(undercitizen/). The main skin is unchanged —WikvenSettings.phptakes it from the head of the merged list, which is stillVector.What changed
docs/.wikven.yml.github/workflows/smoke.yml* 3→* 2, comment reworded.tests/e2e/skin-switcher.spec.jsincludes/Hooks/Adder.phpgetSkinName() === 'timeless'inline style that hid#user-tools/#page-toolson a cli export.docs/Skins.wikitextT:4), and theskins:example now saysMonoBook.docs/Configuration.wikitext.wikven.yamlexample'sskins:entry now saysMonoBook.docs/Skins/ko.wikitextT:4andT:6restamped.docs/Configuration/ko.wikitextT:3restamped.Translation stamps
Both YAML examples sit inside a
<syntaxhighlight>block that falls between two<!--T:n-->markers, soStalenessComputer::splitUnitscounts it as part of the preceding unit's body — editing the example changes that unit's hash even though no prose moved. That is whySkinsT:6andConfigurationT:3restamped alongside the real prose change inSkinsT:4.Restamping is
StalenessComputer::restamp, exactly whatmaintenance/stampTranslations.phpcalls, with the same$pageTitle(Skins/Configuration) thatTranslationSource::translatableTitlederives. Both pages were fullyokbefore this change, so nothing pre-existing was marked fresh, and both are fullyokafter.Two calls worth a second look
The deleted e2e test. "Switching between two non-main skins on a Korean page" covered a skin-directory to skin-directory hop at equal depth. With one non-main skin left, that path is unreachable from the docs site, so the test goes rather than being faked. The main↔non-main hops in both directions, and both page depths, are still covered.
The
Adder.phpfixup. It is generic wikven code, not docs-site code: a downstream site that enables Timeless itself loses the fix. It was only ever exercised by this repo's own bake, though, so keeping it would mean carrying an untested Timeless-shaped branch — which is the thing being dropped. Easy to restore if you would rather keep it.Also left alone deliberately: the
docs/.wikven.ymlcomment ending "The other skins keep working SifterSearch search" now describes exactly one other skin, but it is Citizen-adjacent prose and reads fine either way.Verified
uv run --frozen --group lint yamllint --strict .,biome ci(clean; the one warning is the pre-existing!importantindocs/MediaWiki:Citizen.css),typos,rumdl check .,composer test(minus-x),php -lonAdder.php— all pass.StalenessComputerdirectly, per above.expectedloop replayed againstdocs/: 108 language-bar entries per skin, so 216 total where it was 324.Not verified
The bake did not run here.
docker buildfails resolving themediawiki:1.46-fpm-alpinebase — the registry CDN returns 403 in this environment — so no dist tree was produced and the browser tests were never run against one. The smoke workflow's own bake is the first real check of both the216figure and the rewritten switcher tests.mago format --check/mago lintandcomposer phpcsalso could not run (mago is not installed; the local phpcs install is missing its PHPCSExtra sniffs).Generated by Claude Code