{{subst:#invoke:LuaCall|main|pattern=%s (disambiguation)|string=Foo|string.format(pattern,string)}}
Ongoing projects and testing and stuff:
An actual sandboxy section!
FA |
Hatnote cleanup listings
- Special:Search/insource:"for other uses" -insource:/for other uses\./ -hastemplate:"hatnote"
- Special:Search/insource:"redirects"+insource:/:\s*''[^\n]*?\s*[Rr]edirects+(here|to+this+page)/
- Special:Search/insource:/:\s*''\s*[Ff]or [^\n]*?,?\s*see/
- Special:Search/insource:"this article is about" insource:/\s*This article is about/ -hastemplate:"about" -hastemplate:"hatnote"
- Special:Search/insource:/:\s*''\s*[Ff]or+[^\n]*?,?\s*see/
- Special:Search/insource:"main article" insource:/(\** *''|\*+) *[Mm]ain +[Aa]rticle/
- Special:WhatLinksHere/Template:Further2
- Special:WhatLinksHere/Template:Redirect3
Handy regex search-and-replace pairs
([^\.,:;])\s*<\s*ref(\s*[^>]*)>([^<]*)<\s*\/\s*ref\s*>([\.,:;])
$1$4<ref$2>$3</ref>
([^\.,:;])\s*<\s*ref\s*([^>]*)\s*\/>([\.,:;])
$1$3<ref $2 />
<\s*ref\s+name\s*=\s*([^"]*?)(\s*\/?)\s*>
<ref name="$1"$2>
<ref name="([^"]*?)"\/>
<ref name="$1" />
(\{\{[^\}]*?\|\s*title\s*=[^\}]*?\|\s*title\s*=)
$1
To do
In no particular order:
- Add length check to for-see renderer to categorize long hatnotes
- Double-check for unimplemented modules and module sandboxes to poke at
- Actually implement Module:Labelled list hatnote in more templates like {{see also}} etc.
- Review hatnote-related CSS classes, with an eye to getting each documented and/or deprecated
- Look into the specifics of {{pagelist}}; there's substantial overlap with Module:Hatnote list and the former could use some significant cleanup
- Add more to this list!
Notes from a survey of the main group of hatnote templates
Template | Type | Based on | Lua | Implemented with | Uses TEXT | Supports selfref | List type | Rough usage count | Notes |
---|---|---|---|---|---|---|---|---|---|
Template:About | Core | — | Yes | Module:About | No | No | For-see, or TEXT | 149k | |
Template:About-distinguish | Compound | {{about}} & {{distinguish}} | Yes | Module:About-distinguish | No | No | Or | 519 | |
Template:About-distinguish-text | Compound variant | {{about-distinguish}} | No | {{hatnote}} | Yes | No | TEXT | 515 | Forces TEXT for distinguish-list. |
Template:About other people | Compound | {{about}} & {{other people}} | Yes | Module:About other people | No | No | And | 405 | Successfully replaced {{other people3}}, with a similar form but narrower scope and better syntax |
Template:Broader | Core | — | Yes | Module:Broader | No | Yes | And | 752 | |
Template:Distinguish | Core | — | Yes | Module:Distinguish | No | No | Or, or TEXT | 82k | |
Template:For | Core | — | Yes | Module:For | No | Yes | And | 173k | Standalone for-see with and-list in the "see" part. |
Template:For multi | Variant | {{for}} | Yes | Module:Hatnote list | No | No | For-see | 6k | For-see list, filling niche of headless {{about}} more elegantly. |
Template:For-text | Variant | {{for}} | No | {{hatnote}} | Yes | No | For-see & TEXT | 478 | Forces TEXT for every "see" in for-see list. Seems inconsistent. Many uses fixed, some still can be replaced with {{for multi}}. |
Template:Further | Core | — | Yes | Module:Labelled list hatnote | No | Yes | And | 55k | |
Template:Further-text | Variant | {{further}} | No | {{hatnote}} | Yes | No | And & TEXT | 450 | Similar to {{further}} but forces TEXT for each item (which is ugly). Bulk of (simple) uses simplified to {{further}}, but more is possible. |
Template:Main | Core | — | Yes | Module:Labelled list hatnote | No | Yes | And | 318k | |
Template:Main list | Variant | {{main}} | Yes | Module:Main list | No | No | And | 1374 | Standalone for-see, like {{for}}, with preset "for" part. Template title misleading given difference from {{main}}? Might be better merged into {{main}}? |
Template:Other hurricanes | Variant | {{other uses}} and/or {{about}} | No | {{about}} | No | No | — | 321 | {{about}}-start followed by {{other uses}} list (supporting at most one item) with custom defaults and misordered parameters ({{other hurricanes|OTHERUSES|ABOUT}} ). Check for consistency in "other" family; this one uses "of the same name". |
Template:Other people | Variant | {{other uses}} | Yes | Module:Other people | No | No | — | 34k | Behaviour similar to {{other uses}} with custom string, either "other people named X" or "other people with the same name" depending on parameterization. |
Template:Other places | Variant | {{other uses}} | Yes | Module:Other uses | No | No | And | 22k | Similar form to {{other uses}}, but "other places with the same name" |
Template:Other ships | Variant | {{other uses}} | Yes | Module:Other uses | No | No | And | 14k | Similar form to {{other uses}} but "other ships with the same name". |
Template:Other uses | Core | — | Yes | Module:Other uses | No | No | And | 63k | |
Template:Other uses of | Variant | {{other uses}} | Yes | Module:Other uses of | No | No | — | 1k | Slightly different phrasing of "other uses" so that disambiguation link gets context. Phrase and target params, with defaulting for lack of each. |
Template:Redirect | Core | — | Yes | Module:Redirect hatnote | No | Yes | For-see, or TEXT | 48k | |
Template:Redirect2 | Variant | {{redirect}} | Yes | Module:Redirect hatnote | No | Yes | For-see | 1k | As {{redirect}} but with two redirect items |
Template:Redirect-distinguish | Compound | {{redirect}} & {{distinguish}} | Yes | Module:Redirect-distinguish | No | No | Or | 3k | One redirect parameter |
Template:Redirect-distinguish-text | Compound variant | {{redirect-distinguish}} | No | {{hatnote}} | Yes | No | TEXT | 352 | Like {{redirect-distinguish}} but forces TEXT for second parameter |
Template:Redirect-distinguish-for | Compound variant | {{redirect-distinguish}} & {{for}} | No | {{hatnote}} | No | No | ??? | 38 | Like {{redirect-distinguish}} followed by a {{for}} in the same hatnote. Crazypants. |
Template:Redirect-multi | Variant | {{redirect}} | Yes | Module:Redirect-multi | No | Yes | For-see | 567 | Provides support for hatnotes listing ≥3 redirects. Has special defaulting and redirect parameters are preceded by a number-of-redirects parameter. |
Template:Redirect-several | Variant | {{redirect}} | No | {{hatnote}} | No | No | And | 131 | Similar to {{redirect}} but uses a message about "several" redirects, then a for-see, forcing "other uses" and then an and-list. Few uses, but they're pretty solid. |
Template:Redirect-synonym | Variant | {{redirect}} | No | {{hatnote}} | Yes | No | TEXT | 490 | REDIRECT, plus "REDIRECT may also refer to TEXT". |
Template:See also | Core | — | Yes | Module:Labelled list hatnote | No | Yes | And | 172k | |
Template:See also-text | Variant | {{see also}} | No | {{hatnote}} | Yes | No | And & TEXT | 668 | Like {{see also}}, but each item TEXT like {{further-text}}. |
Template:See introduction | Variant | {{for}} | No | {{For}} | No | No | — | 17 | A standalone for-see but hardcoded "for" and specially-defaulted "see"; exactly one parameter. |
Template:See Wiktionary | Variant | {{about}} | No | {{hatnote}} | No | No | For-see? | 150 | Not unlike {{about}} but specifically for referring to Wiktionary. |
Template:Similar names | Variant | {{other people}} | Yes | Module:Other uses | No | No | Or | 1867 | Similar form to {{other people}} but "other people with similar names". Possibly a merge candidate? |
Template:Year dab | Variant | {{about}} | No | {{hatnote}} | No | No | For-see? | 2k | Basically same form as {{about}} but hard-coded for the special needs of year pages for referring to their "(number)" counterparts and associated disambiguation pages. |
🔥 Top keywords: Main PageSpecial:SearchPage 3Wikipedia:Featured picturesHouse of the DragonUEFA Euro 2024Bryson DeChambeauJuneteenthInside Out 2Eid al-AdhaCleopatraDeaths in 2024Merrily We Roll Along (musical)Jonathan GroffJude Bellingham.xxx77th Tony AwardsBridgertonGary PlauchéKylian MbappéDaniel RadcliffeUEFA European Championship2024 ICC Men's T20 World CupUnit 731The Boys (TV series)Rory McIlroyN'Golo KantéUEFA Euro 2020YouTubeRomelu LukakuOpinion polling for the 2024 United Kingdom general electionThe Boys season 4Romania national football teamNicola CoughlanStereophonic (play)Gene WilderErin DarkeAntoine GriezmannProject 2025