ᥝᥤᥱ ᥑᥤᥱ ᥚᥤᥱ ᥖᥤᥱ ᥕᥣᥱ
tddwiki
https://tdd.wikipedia.org/wiki/%E1%A5%9E%E1%A5%A8%E1%A5%9D%E1%A5%B4_%E1%A5%98%E1%A5%A3%E1%A5%B2_%E1%A5%96%E1%A5%A5%E1%A5%B0
MediaWiki 1.47.0-wmf.7
first-letter
ᥛᥤᥱ ᥖᥤᥱ ᥕᥣᥱ
ᥑᥪᥐ ᥖᥩᥢᥰ
ᥟᥧᥙᥱ ᥐᥧᥛ
ᥚᥧᥱ ᥕᥧᥒᥱ ᥖᥪᥰ
ᥟᥧᥙᥱ ᥐᥧᥛ ᥚᥧᥱ ᥕᥧᥒᥱ ᥖᥪᥰ
ᥝᥤᥱ ᥑᥤᥱ ᥚᥤᥱ ᥖᥤᥱ ᥕᥣᥱ
ᥟᥧᥙᥱ ᥐᥧᥛ ᥝᥤᥱ ᥑᥤᥱ ᥚᥤᥱ ᥖᥤᥱ ᥕᥣᥱ
ᥜᥣᥭᥱ
ᥟᥧᥙᥱ ᥐᥧᥛ ᥜᥣᥭᥱ
ᥛᥤᥱ ᥖᥤᥱ ᥕᥣᥱ ᥝᥤᥱ ᥑᥤᥱ
ᥟᥧᥙᥱ ᥐᥧᥛ ᥛᥤᥱ ᥖᥤᥱ ᥕᥣᥱ ᥝᥤᥱ ᥑᥤᥱ
ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ
ᥟᥧᥙᥱ ᥐᥧᥛ ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ
ᥘᥩᥒ ᥓᥩᥭ ᥗᥦᥛ
ᥟᥧᥙᥱ ᥐᥧᥛ ᥘᥩᥒ ᥓᥩᥭ ᥗᥦᥛᥴ
ᥙᥫᥒ ᥗᥣᥢ
ᥟᥧᥙᥱ ᥐᥧᥛ ᥙᥫᥒ ᥗᥣᥢ
TimedText
TimedText talk
ᥛᥨᥝᥱ ᥓᥧᥰ
ᥟᥧᥙᥱ ᥐᥧᥛᥴ ᥛᥩᥱ ᥓᥧᥰ
Event
Event talk
ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:Replace
10
278
7637
4955
2026-06-17T13:10:31Z
Saimawnkham
28
7637
wikitext
text/x-wiki
<includeonly>{{safesubst:#invoke:String|replace|source={{{1}}}|{{{2}}}|{{{3}}}|plain={{safesubst:#if:{{{plain|}}}|{{{plain}}}|true}}|count={{{count|}}}}}</includeonly><noinclude>
{{documentation}}
</noinclude>
r178n7opmwh460jjikowaqng5m5fzrn
ᥛᥨᥝᥱ ᥓᥧᥰ:Side box
828
453
7634
1441
2026-06-17T13:07:52Z
Saimawnkham
28
7634
Scribunto
text/plain
local yesno = require('Module:Yesno')
local p = {}
local function makeData(args)
local data = {}
-- Main table classes
data.classes = {}
if yesno(args.metadata) ~= false then
table.insert(data.classes, 'metadata')
end
if args.position and args.position:lower() == 'left' then
table.insert(data.classes, 'side-box-left')
else
table.insert(data.classes, 'side-box-right')
end
if args.collapsible then
table.insert(data.classes, 'mw-collapsible')
if args.collapsible == "collapsed" then
table.insert(data.classes, 'mw-collapsed')
end
data.collapsible = true
end
table.insert(data.classes, args.class)
-- Image
if args.image and args.image ~= 'none' then
data.image = args.image
end
-- we have to check to see if a downstream use has plainlist like
-- Template:Sister_project. also it's the default. wikitext is :(
if args.textclass == 'plainlist' or not args.textclass then
data.textclass = 'plainlist'
data.plainlist_templatestyles = 'Plainlist/styles.css'
else
data.textclass = args.textclass
end
-- Copy over data that does not need adjusting
local argsToCopy = {
-- aria qualities
'role',
'labelledby',
-- Styles
'style',
'textstyle',
'templatestyles',
-- Above row
'above',
'abovestyle',
-- Body row
'text',
'imageright',
-- Below row
'below',
}
for i, key in ipairs(argsToCopy) do
data[key] = args[key]
end
return data
end
local function renderSidebox(data)
-- Renders the sidebox HTML.
-- Table root
local root = mw.html.create('div')
root:attr('role', data.role)
:attr('aria-labelledby', data.labelledby)
:addClass('side-box')
for i, class in ipairs(data.classes or {}) do
root:addClass(class)
end
if data.style then
root:cssText(data.style)
end
local frame = mw.getCurrentFrame()
if data.plainlist_templatestyles then
root:wikitext(frame:extensionTag{
name = 'templatestyles', args = { src = data.plainlist_templatestyles }
})
end
-- The "above" row
if data.above then
local above = root:newline():tag('div')
above:addClass('side-box-abovebelow')
:newline()
:wikitext(data.above)
if data.textstyle then
above:cssText(data.textstyle)
end
if data.abovestyle then
above:cssText(data.abovestyle)
end
end
-- The body row
local body = root:newline():tag('div')
body:addClass('side-box-flex')
:addClass(data.collapsible and 'mw-collapsible-content')
:newline()
if data.image then
body:tag('div')
:addClass('side-box-image')
:wikitext(data.image)
end
local text = body:newline():tag('div')
text:addClass('side-box-text')
:addClass(data.textclass)
if data.textstyle then
text:cssText(data.textstyle)
end
text:wikitext(data.text)
if data.imageright then
body:newline():tag('div')
:addClass('side-box-imageright')
:wikitext(data.imageright)
end
-- The below row
if data.below then
local below = root:newline():tag('div')
below
:addClass('side-box-abovebelow')
:wikitext(data.below)
if data.textstyle then
below:cssText(data.textstyle)
end
end
root:newline()
local templatestyles = ''
if data.templatestyles then
templatestyles = frame:extensionTag{
name = 'templatestyles', args = { src = data.templatestyles }
}
end
return frame:extensionTag{
name = 'templatestyles', args = { src = 'Module:Side box/styles.css' }
} .. templatestyles .. tostring(root)
end
-- private, export for testing
p._makeData = makeData
p._renderSidebox = renderSidebox
function p._main(args)
local data = makeData(args)
return renderSidebox(data)
end
function p.main(frame)
local origArgs = frame:getParent().args
local args = {}
for k, v in pairs(origArgs) do
v = v:match('%s*(.-)%s*$')
if v ~= '' then
args[k] = v
end
end
return p._main(args)
end
return p
hu1w1vy5vzibls2pne08un5bivqwbcp
ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:ISO 15924 name
10
2472
7629
2026-06-17T13:01:17Z
Saimawnkham
28
Created page with "{{#switch:{{{alpha4|{{ISO 15924 code|{{{1|}}}}}}}}<!-- ISO 15924 list as of 2025-04-24: this is the complete list of the 224 + 50 Qaaa-Qabx codes--> | Adlm = Adlam | Afak = Afaka | Aghb = Caucasian Albanian | Ahom = Ahom, Tai Ahom | Arab = Arabic | Aran = Arabic (Nastaliq variant) | Armi = Imperial Aramaic | Armn = Armenian | Avst = Avestan | Bali = Balinese | Bamu = Bamum | Bass = Bassa Vah | Batk = Batak | Beng = Bengali (Bangla) | Berf = Beria Erfe | Bhks = Bhaiksuki..."
7629
wikitext
text/x-wiki
{{#switch:{{{alpha4|{{ISO 15924 code|{{{1|}}}}}}}}<!-- ISO 15924 list as of 2025-04-24: this is the complete list of the 224 + 50 Qaaa-Qabx codes-->
| Adlm = Adlam
| Afak = Afaka
| Aghb = Caucasian Albanian
| Ahom = Ahom, Tai Ahom
| Arab = Arabic
| Aran = Arabic (Nastaliq variant)
| Armi = Imperial Aramaic
| Armn = Armenian
| Avst = Avestan
| Bali = Balinese
| Bamu = Bamum
| Bass = Bassa Vah
| Batk = Batak
| Beng = Bengali (Bangla)
| Berf = Beria Erfe
| Bhks = Bhaiksuki
| Blis = Blissymbols
| Bopo = Bopomofo
| Brah = Brahmi
| Brai = Braille
| Bugi = Buginese
| Buhd = Buhid
| Cakm = Chakma
| Cans = Unified Canadian Aboriginal Syllabics
| Cari = Carian
| Cham = Cham
| Cher = Cherokee
| Chis = Chisoi
| Chrs = Chorasmian
| Cirt = Cirth
| Copt = Coptic
| Cpmn = Cypro-Minoan
| Cprt = Cypriot syllabary
| Cyrl = Cyrillic
| Cyrs = Cyrillic (Old Church Slavonic variant)
| Deva = Devanagari (Nagari)
| Diak = Dives Akuru
| Dogr = Dogra
| Dsrt = Deseret (Mormon)
| Dupl = Duployan shorthand, Duployan stenography
| Egyd = Egyptian demotic
| Egyh = Egyptian hieratic
| Egyp = Egyptian hieroglyphs
| Elba = Elbasan
| Elym = Elymaic
| Ethi = Ethiopic (Geʻez)
| Gara = Garay
| Geok = Khutsuri (Asomtavruli and Nuskhuri)
| Geor = Georgian (Mkhedruli and Mtavruli)
| Glag = Glagolitic
| Gong = Gunjala Gondi
| Gonm = Masaram Gondi
| Goth = Gothic
| Gran = Grantha
| Grek = Greek
| Gujr = Gujarati
| Gukh = Gurung Khema
| Guru = Gurmukhi
| Hanb = Han with Bopomofo (alias for Han + Bopomofo)
| Hang = Hangul (Hangŭl, Hangeul)
| Hani = Han (Hanzi, Kanji, Hanja)
| Hano = Hanunoo (Hanunóo)
| Hans = Han (Simplified variant)
| Hant = Han (Traditional variant)
| Hatr = Hatran
| Hebr = Hebrew
| Hira = Hiragana
| Hluw = Anatolian Hieroglyphs (Luwian Hieroglyphs, Hittite Hieroglyphs)
| Hmng = Pahawh Hmong
| Hmnp = Nyiakeng Puachue Hmong
| Hntl = Han (Traditional variant) with Latin (alias for Hant + Latn)
| Hrkt = Japanese syllabaries (alias for Hiragana + Katakana)
| Hung = Old Hungarian (Hungarian Runic)
| Inds = Indus (Harappan)
| Ital = Old Italic (Etruscan, Oscan, etc.)
| Jamo = Jamo (alias for Jamo subset of Hangul)
| Java = Javanese
| Jpan = Japanese (alias for Han + Hiragana + Katakana)
| Jurc = Jurchen
| Kali = Kayah Li
| Kana = Katakana
| Kawi = Kawi
| Khar = Kharoshthi
| Khmr = Khmer
| Khoj = Khojki
| Kitl = Khitan large script
| Kits = Khitan small script
| Knda = Kannada
| Kore = Korean (alias for Hangul + Han)
| Kpel = Kpelle
| Krai = Kirat Rai
| Kthi = Kaithi
| Lana = Tai Tham (Lanna)
| Laoo = Lao
| Latf = Latin (Fraktur variant)
| Latg = Latin (Gaelic variant)
| Latn = Latin
| Leke = Leke
| Lepc = Lepcha (Róng)
| Limb = Limbu
| Lina = Linear A
| Linb = Linear B
| Lisu = Lisu (Fraser)
| Loma = Loma
| Lyci = Lycian
| Lydi = Lydian
| Mahj = Mahajani
| Maka = Makasar
| Mand = Mandaic, Mandaean
| Mani = Manichaean
| Marc = Marchen
| Maya = Mayan hieroglyphs
| Medf = Medefaidrin (Oberi Okaime, Oberi Ɔkaimɛ)
| Mend = Mende Kikakui
| Merc = Meroitic Cursive
| Mero = Meroitic Hieroglyphs
| Mlym = Malayalam
| Modi = Modi, Moḍī
| Mong = Mongolian
| Moon = Moon (Moon code, Moon script, Moon type)
| Mroo = Mro, Mru
| Mtei = Meitei Mayek (Meithei, Meetei)
| Mult = Multani
| Mymr = Myanmar (Burmese)
| Nagm = Nag Mundari
| Nand = Nandinagari
| Narb = Old North Arabian (Ancient North Arabian)
| Nbat = Nabataean
| Newa = Newa, Newar, Newari, Nepāla lipi
| Nkdb = Naxi Dongba (na²¹ɕi³³ to³³ba²¹, Nakhi Tomba)
| Nkgb = Naxi Geba (na²¹ɕi³³ gʌ²¹ba²¹, 'Na-'Khi ²Ggŏ-¹baw, Nakhi Geba)
| Nkoo = N’Ko
| Nshu = Nüshu
| Ogam = Ogham
| Olck = Ol Chiki (Ol Cemet’, Ol, Santali)
| Onao = Ol Onal
| Orkh = Old Turkic, Orkhon Runic
| Orya = Oriya (Odia)
| Osge = Osage
| Osma = Osmanya
| Ougr = Old Uyghur
| Palm = Palmyrene
| Pauc = Pau Cin Hau
| Pcun = Proto-Cuneiform
| Pelm = Proto-Elamite
| Perm = Old Permic
| Phag = Phags-pa
| Phli = Inscriptional Pahlavi
| Phlp = Psalter Pahlavi
| Phlv = Book Pahlavi
| Phnx = Phoenician
| Piqd = Klingon (KLI pIqaD)
| Plrd = Miao (Pollard)
| Prti = Inscriptional Parthian
| Psin = Proto-Sinaitic
| Qaaa-Qabx | Qaaa–Qabx = Reserved for private use (range)
| Qaaa = Reserved for private use (start)
| Qaab | Qaac | Qaad | Qaae | Qaaf | Qaag | Qaah | Qaai | Qaaj | Qaak | Qaal | Qaam | Qaan | Qaao | Qaap | Qaaq | Qaar | Qaas | Qaat | Qaau | Qaav | Qaaw | Qaax | Qaay | Qaaz | Qaba | Qabb | Qabc | Qabd | Qabe | Qabf | Qabg | Qabh | Qabi | Qabj | Qabk | Qabl | Qabm | Qabn | Qabo | Qabp | Qabq | Qabr | Qabs | Qabt | Qabu | Qabv | Qabw = Reserved for private use
| Qabx = Reserved for private use (end)
| Ranj = Ranjana
| Rjng = Rejang (Redjang, Kaganga)
| Rohg = Hanifi Rohingya
| Roro = Rongorongo
| Runr = Runic
| Samr = Samaritan
| Sara = Sarati
| Sarb = Old South Arabian
| Saur = Saurashtra
| Seal = (Small) Seal
| Sgnw = SignWriting
| Shaw = Shavian (Shaw)
| Shrd = Sharada, Śāradā
| Shui = Shuishu
| Sidd = Siddham, Siddhaṃ, Siddhamātṛkā
| Sidt = Sidetic
| Sind = Khudawadi, Sindhi
| Sinh = Sinhala
| Sogd = Sogdian
| Sogo = Old Sogdian
| Sora = Sora Sompeng
| Soyo = Soyombo
| Sund = Sundanese
| Sunu = Sunuwar
| Sylo = Syloti Nagri
| Syrc = Syriac
| Syre = Syriac (Estrangelo variant)
| Syrj = Syriac (Western variant)
| Syrn = Syriac (Eastern variant)
| Tagb = Tagbanwa
| Takr = Takri, Ṭākrī, Ṭāṅkrī
| Tale = Tai Le
| Talu = New Tai Lue
| Taml = Tamil
| Tang = Tangut
| Tavt = Tai Viet
| Tayo = Tai Yo
| Telu = Telugu
| Teng = Tengwar
| Tfng = Tifinagh (Berber)
| Tglg = Tagalog (Baybayin, Alibata)
| Thaa = Thaana
| Thai = Thai
| Tibt = Tibetan
| Tirh = Tirhuta
| Tnsa = Tangsa
| Todr = Todhri
| Tols = Tolong Siki
| Toto = Toto
| Tutg = Tulu-Tigalari
| Ugar = Ugaritic
| Vaii = Vai
| Visp = Visible Speech
| Vith = Vithkuqi
| Wara = Warang Citi (Varang Kshiti)
| Wcho = Wancho
| Wole = Woleai
| Xpeo = Old Persian
| Xsux = Cuneiform, Sumero-Akkadian
| Yezi = Yezidi
| Yiii = Yi
| Zanb = Zanabazar Square (Zanabazarin Dörböljin Useg, Xewtee Dörböljin Bicig, Horizontal Square Script)
| Zinh = Code for inherited script
| Zmth = Mathematical notation
| Zsye = Symbols (emoji variant)
| Zsym = Symbols
| Zxxx = Code for unwritten documents
| Zyyy = Code for undetermined script
| Zzzz = Code for uncoded script
| #default = {{{default|}}}
}}<noinclude>
{{documentation}}
</noinclude>
35fuvdjlsjrqacyk2vqfjakiggcaum5
ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:ISO 15924 name/doc
10
2473
7630
2026-06-17T13:01:44Z
Saimawnkham
28
Created page with "{{Documentation subpage}} <!-- Categories and interwikis go at the bottom of this page. --> == Usage == {{main|ISO 15924}} * <syntaxhighlight lang="wikitext" inline>{{ISO 15924 name|Adlm}}</syntaxhighlight> → {{ISO 15924 name|Adlm}} * <syntaxhighlight lang="wikitext" inline>{{ISO 15924 name|incorrect value}}</syntaxhighlight> → {{ISO 15924 name|incorrect value}} ==Template data== {{template data header}} <templatedata> { "params": { "1": {} } } </templatedata>..."
7630
wikitext
text/x-wiki
{{Documentation subpage}}
<!-- Categories and interwikis go at the bottom of this page. -->
== Usage ==
{{main|ISO 15924}}
* <syntaxhighlight lang="wikitext" inline>{{ISO 15924 name|Adlm}}</syntaxhighlight> → {{ISO 15924 name|Adlm}}
* <syntaxhighlight lang="wikitext" inline>{{ISO 15924 name|incorrect value}}</syntaxhighlight> → {{ISO 15924 name|incorrect value}}
==Template data==
{{template data header}}
<templatedata>
{
"params": {
"1": {}
}
}
</templatedata>
{{ISO 15924 templates/doc}}
<includeonly>{{Sandbox other||
[[Category:ISO 15924 templates|Name]]
}}</includeonly>
ip6qi1k5ln5kydhh0u3rauukt11wqkd
ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:Commons category
10
2474
7631
2026-06-17T13:05:29Z
Saimawnkham
28
Created page with "{{Sister project | position = {{{position|}}} | project = commons | text = ᥝᥤᥱᥑᥤᥱᥛᥤᥱᥖᥤᥱᥕᥣᥱ ᥑᥩᥛᥱᥛᥩᥢᥰ ᥛᥤᥰᥝᥭᥳ {{{alt-term|ᥔᥪᥱᥑᥣᥝᥱ ᥟᥢᥴᥐᥥᥝᥱᥐᥙᥰ}}} <span style="font-weight: bold; {{#ifeq:{{{nowrap|no}}}|yes|white-space:nowrap;}} {{#ifeq:{{{italic|yes}}}|yes|font-style: italic;}}">commons:{{#if:{{{1|}}}|Category:{{{1|}}}|{{if then show|{{#invoke:WikidataIB |getCommonsLink|qid={{{q..."
7631
wikitext
text/x-wiki
{{Sister project
| position = {{{position|}}}
| project = commons
| text = ᥝᥤᥱᥑᥤᥱᥛᥤᥱᥖᥤᥱᥕᥣᥱ ᥑᥩᥛᥱᥛᥩᥢᥰ ᥛᥤᥰᥝᥭᥳ {{{alt-term|ᥔᥪᥱᥑᥣᥝᥱ ᥟᥢᥴᥐᥥᥝᥱᥐᥙᥰ}}} <span style="font-weight: bold; {{#ifeq:{{{nowrap|no}}}|yes|white-space:nowrap;}} {{#ifeq:{{{italic|yes}}}|yes|font-style: italic;}}">[[commons:{{#if:{{{1|}}}|Category:{{{1|}}}|{{if then show|{{#invoke:WikidataIB |getCommonsLink|qid={{{qid|}}}|onlycat=True|fallback=False}}|Category:{{PAGENAME}}}}}}|{{#ifeq:{{{lcf|{{{lcfirst|no}}}}}}|yes|{{lcfirst:{{{2|{{#if:{{{1|}}} | {{{1|}}} <!--
-->|{{if then show|{{#invoke:String|replace|{{#invoke:WikidataIB |getCommonsLink|qid={{{qid|}}}|onlycat=True|fallback=False}}|Category:|}}<!--
--> |{{PAGENAME}} }} }} }}} }}<!--
-->|{{{2|{{#if:{{{1|}}} | {{{1|}}} <!--
-->|{{if then show|{{#invoke:String|replace|{{#invoke:WikidataIB |getCommonsLink|qid={{{qid|}}}|onlycat=True|fallback=False}}|Category:|}}|{{PAGENAME}} }}<!--
-->}}}}}}}]]</span>.<!--
End of the template code, now add relevant tracking categories
--><includeonly>{{#switch:{{NAMESPACE}}||{{ns:14}}=<!--
Only add tracking categories to articles and categories.
-->{{#if:{{{1|}}}|{{#ifeq:Category:{{replace|{{{1|}}}|_| }}|{{#invoke:WikidataIB |getCommonsLink|qid={{{qid|}}}|onlycat=True|fallback=False}}|<!--
-->[[Category:Commons category link is on Wikidata]]<!--
-->|{{#ifeq:{{replace|{{{1|}}}|_| }}|{{PAGENAME}}|<!--
... the local parameter is the same as the local pagename
-->[[Category:Commons category link is defined as the pagename]]{{preview warning|Commons category does not match the Commons sitelink on Wikidata – [[Template:Commons_category#Resolving_discrepancies|please check]]}}<!--
... the local parameter is not the pagename
-->|[[Category:Commons category link is locally defined]]{{preview warning|Commons category does not match the Commons sitelink on Wikidata – [[Template:Commons_category#Resolving_discrepancies|please check]]}}}} }}<!--
We don't have a locally-defined link
-->|{{#if:{{#invoke:WikidataIB |getCommonsLink|qid={{{qid|}}}|onlycat=True|fallback=False}}|<!--
... so we're using Wikidata
-->[[Category:Commons category link from Wikidata]]<!--
<!-- ... or we're using the pagename
-->|[[Category:Commons category link is the pagename]]{{preview warning|Commons category does not match the Commons sitelink on Wikidata – [[Template:Commons_category#Resolving_discrepancies|please check]]}}
}}
}}
}}</includeonly>
}}<noinclude>
{{Documentation}}
<!-- Add categories to the /doc subpage, not here! -->
</noinclude>
rtd29n0r2ozl0hlkbdxniemo7432yne
ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:If then show
10
2475
7632
2026-06-17T13:05:55Z
Saimawnkham
28
Created page with "{{SAFESUBST:<noinclude />#if:{{{1|}}}|{{{3|}}}{{{1|}}}{{{4|}}}|{{{2|}}}}}<noinclude> {{Documentation}} </noinclude>"
7632
wikitext
text/x-wiki
{{SAFESUBST:<noinclude />#if:{{{1|}}}|{{{3|}}}{{{1|}}}{{{4|}}}|{{{2|}}}}}<noinclude>
{{Documentation}}
</noinclude>
7d83cpur6ml0umb4qqvcpyge8uuck90
ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:If then show/doc
10
2476
7633
2026-06-17T13:06:21Z
Saimawnkham
28
Created page with "{{Documentation subpage}} <!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) --> {{High-use}} This template tests whether the first unnamed parameter is not an empty string and returns it if it is not empty. Otherwise it returns the second unnamed parameter. This is useful when the first parameter is a <nowiki>{{#invoke: }}</nowiki> of a Lua module that may return a value or nothing. Because it..."
7633
wikitext
text/x-wiki
{{Documentation subpage}}
<!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) -->
{{High-use}}
This template tests whether the first unnamed parameter is not an empty string and returns it if it is not empty. Otherwise it returns the second unnamed parameter.
This is useful when the first parameter is a <nowiki>{{#invoke: }}</nowiki> of a Lua module that may return a value or nothing. Because it uses the <nowiki>{{#invoke: }}</nowiki> just once, it simplifies the coding of infoboxes, for example.
The optional third and fourth unnamed parameters provide a prefix and a suffix for the first parameter when returned. This enables the designer to construct more complex templates that still only use one invoke of a Lua module.
== Usage ==
; {{q|P26}} for {{q|Q151973}}
: <syntaxhighlight lang="wikitext" inline>{{If then show|{{#invoke:WikidataIB|getValue|P26|qid=Q151973|fwd=ALL|osd=no}}|unmarried}}</syntaxhighlight> → {{If then show|{{#invoke:WikidataIB|getValue|P26|qid=Q151973|fwd=ALL|osd=no}}|unmarried}}
; {{q|P26}} for {{q|Q905}}
: <syntaxhighlight lang="wikitext" inline>{{If then show|{{#invoke:WikidataIB|getValue|P26|qid=Q905|fwd=ALL|osd=no}}|unmarried}}</syntaxhighlight> → {{If then show|{{#invoke:WikidataIB|getValue|P26|qid=Q905|fwd=ALL|osd=no}}|unmarried}}
=== Prefix and suffix ===
==== Infobox field with microformat ====
A value in an infobox can be designed to be wrapped in a microformat if the wikidata call is not empty:
: <syntaxhighlight lang="wikitext" inline>{{if then show | {{#invoke:WikidataIB | getValue | rank=best |P19 |name=birth_place |qid={{{qid|}}} |suppressfields={{{suppressfields|}}} |fetchwikidata={{{fetchwikidata|}}} |noicon={{{noicon|}}} | {{{birth_place|}}} }} || <span class="birthplace"> | </span>}}</syntaxhighlight>
: If there is a local parameter supplied in the article (e.g. {{para|birth_place|London}}), the code will return <code><nowiki><span class="birthplace">London</span></nowiki></code>.
: If there is no local parameter it will attempt to fetch a value for {{q|P19}} from Wikidata.
: If that has a value, such as "New York", the code will return <code><nowiki><span class="birthplace">New York</span></nowiki></code>.
: If there is no value returned from Wikidata, the code returns nothing.
==== Table ====
A table can be designed to display a row only when a particular property of the article exists on Wikidata.
; {{q|P26}} for {{q|Q151973}}
: <syntaxhighlight lang="wikitext">
{| class="wikitable"
|-
! scope="col" style="width:15em;" | Label
! scope="col" style="width:36em;" | Value
{{If then show|{{#invoke:WikidataIB|getValue|P26|qid=Q151973|fwd=ALL|osd=no}}||<tr><th>{{#invoke:WikidataIB|getLabel|P26|qid=Q151973}}</th><td>|</td></tr>}}
|}
</syntaxhighlight>
: →
{| class="wikitable"
|-
! scope="col" style="width:15em;" | Label
! scope="col" style="width:36em;" | Value
{{If then show|{{#invoke:WikidataIB|getValue|P26|qid=Q151973|fwd=ALL|osd=no}}||<tr><th>{{#invoke:WikidataIB|getLabel|P26|qid=Q151973}}</th><td>|</td></tr>}}
|}
; {{q|P26}} for {{q|Q905}}
: <syntaxhighlight lang="wikitext">
{| class="wikitable"
|-
! scope="col" style="width:15em;" | Label
! scope="col" style="width:36em;" | Value
{{If then show|{{#invoke:WikidataIB|getValue|P26|qid=Q905|fwd=ALL|osd=no}}||<tr><th>{{#invoke:WikidataIB|getLabel|P26|qid=Q905}}</th><td>|</td></tr>}}
|}
</syntaxhighlight>
: →
{| class="wikitable"
|-
! scope="col" style="width:15em;" | Label
! scope="col" style="width:36em;" | Value
{{If then show|{{#invoke:WikidataIB|getValue|P26|qid=Q905|fwd=ALL|osd=no}}||<tr><th>{{#invoke:WikidataIB|getLabel|P26|qid=Q905}}</th><td>|</td></tr>}}
|}
== See also ==
; [[Template:Ifnoteq then show]] : tests whether the first unnamed parameter is equal to the second unnamed parameter and returns the third unnamed parameter if it does. Otherwise it returns the first unnamed parameter. This is useful when the first parameter is a <code><nowiki>{{#invoke:</nowiki></code> of a Lua module that returns a value for which a specific exception is required.
; [[Template:If then wikilink]] : tests whether the first unnamed parameter is not an empty string and if it isn't, it returns the parameter formatted as piped wiki-link using an optional namespace prefix.
; [[Template:Formatter link]] : takes an external identifier code as {{para|code}} and uses a formatter url as {{para|url}} to construct a link to the external resource, which uses the code as display.
; [[Template:Empty or|Template:Emptyor]] : tests a piece of text to ascertain whether it's effectively empty or contains some text. If the unnamed parameter consists only of html tags, punctuation (e.g. Wiki-markup) and whitespace, then Emptyor returns nothing; otherwise it returns the parameter unchanged. Wrapper for p.emptyor function.
== Further readings ==
* {{mfl|params|value_of}}
<includeonly>{{sandbox other||
<!-- Categories below this line, please; interwikis at Wikidata -->
[[Category:If-then-else templates]]
}}</includeonly>
f6vusondh4ipsnmt76dxbo0pteo7x17
ᥛᥨᥝᥱ ᥓᥧᥰ:Side box/doc
828
2477
7635
2026-06-17T13:08:22Z
Saimawnkham
28
Created page with "{{Module rating|protected}} {{High-use}} {{Lua|Module:Yesno}} {{Uses TemplateStyles|Module:Side box/styles.css|Template:Plainlist/styles.css}} This module implements the {{tl|side box}} template. == Usage from wikitext == This module cannot be used directly from wikitext. It can only be used through the {{tl|side box}} template. Please see the template page for documentation. == Usage from Lua modules == To use this module from other Lua modules, first load the modul..."
7635
wikitext
text/x-wiki
{{Module rating|protected}}
{{High-use}}
{{Lua|Module:Yesno}}
{{Uses TemplateStyles|Module:Side box/styles.css|Template:Plainlist/styles.css}}
This module implements the {{tl|side box}} template.
== Usage from wikitext ==
This module cannot be used directly from wikitext. It can only be used through the {{tl|side box}} template. Please see the template page for documentation.
== Usage from Lua modules ==
To use this module from other Lua modules, first load the module.
<syntaxhighlight lang="lua">
local mSideBox = require('Module:Side box')
</syntaxhighlight>
You can then generate a side box using the _main function.
<syntaxhighlight lang="lua">
mSideBox._main(args)
</syntaxhighlight>
The <var>args</var> variable should be a table containing the arguments to pass to the module. To see the different arguments that can be specified and how they affect the module output, please refer to the {{tl|side box}} template documentation.
<includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox||
<!-- Categories go here and interwikis go in Wikidata. -->
}}</includeonly>
ocu64az470qhjsyf6nf4ppfsdifq2el
ᥛᥨᥝᥱ ᥓᥧᥰ:Side box/styles.css
828
2478
7636
2026-06-17T13:08:36Z
Saimawnkham
28
Created page with "/* {{pp|small=y}} */ .side-box { margin: 4px 0; box-sizing: border-box; border: 1px solid #aaa; font-size: 88%; line-height: 1.25em; background-color: var(--background-color-interactive-subtle, #f8f9fa);color:inherit; display: flow-root; } /* embedded side boxes need larger font */ .infobox .side-box { font-size: 100%; } .side-box-abovebelow, .side-box-text { padding: 0.25em 0.9em; } .side-box-image { /* @noflip */ padding: 2px 0 2px 0.9em; text-align: c..."
7636
sanitized-css
text/css
/* {{pp|small=y}} */
.side-box {
margin: 4px 0;
box-sizing: border-box;
border: 1px solid #aaa;
font-size: 88%;
line-height: 1.25em;
background-color: var(--background-color-interactive-subtle, #f8f9fa);color:inherit;
display: flow-root;
}
/* embedded side boxes need larger font */
.infobox .side-box {
font-size: 100%;
}
.side-box-abovebelow,
.side-box-text {
padding: 0.25em 0.9em;
}
.side-box-image {
/* @noflip */
padding: 2px 0 2px 0.9em;
text-align: center;
}
.side-box-imageright {
/* @noflip */
padding: 2px 0.9em 2px 0;
text-align: center;
}
/* roughly the skin's sidebar + size of side box */
@media (min-width: 500px) {
.side-box-flex {
display: flex;
align-items: center;
}
.side-box-text {
flex: 1;
min-width: 0;
}
}
@media (min-width: 640px) {
.side-box {
width: 238px;
}
.side-box-right {
/* @noflip */
clear: right;
/* @noflip */
float: right;
/* @noflip */
margin-left: 1em;
}
/* derives from mbox classes, which do not float left in mbox-small-left
* so far as I can tell, that was a deliberate decision, since only .ambox
* supports mbox-left
*/
.side-box-left {
/* @noflip */
margin-right: 1em;
}
}
qq1i4w5vxwhm3bo4it30jpdvi25oyrp
ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:Replace/doc
10
2479
7638
2026-06-17T13:10:46Z
Saimawnkham
28
Created page with "{{used in system|in [[MediaWiki:Titleblacklist-custom-archive]]}} {{Documentation subpage}} {{Lua|Module:String}} <!----PLEASE ADD CATEGORIES WHERE INDICATED AT THE END OF THIS PAGE----> ===Usage=== <code>{{((}}replace|''string''|''target''|''replacement''|count=''n''{{))}}</code> Returns ''string'' with the first ''n'' occurrences of ''target'' replaced with ''replacement''. Omitting {{code|1=count}} will replace all occurrences. Space counts as a character if placed i..."
7638
wikitext
text/x-wiki
{{used in system|in [[MediaWiki:Titleblacklist-custom-archive]]}}
{{Documentation subpage}}
{{Lua|Module:String}}
<!----PLEASE ADD CATEGORIES WHERE INDICATED AT THE END OF THIS PAGE---->
===Usage===
<code>{{((}}replace|''string''|''target''|''replacement''|count=''n''{{))}}</code>
Returns ''string'' with the first ''n'' occurrences of ''target'' replaced with ''replacement''. Omitting {{code|1=count}} will replace all occurrences. Space counts as a character if placed in any of the first three parameters.
===Examples===
* <code><nowiki>{{replace|One two two three two four twotwo five|two|NINE}}</nowiki></code> → {{replace|One two two three two four twotwo five|two|NINE}}
* <code><nowiki>{{replace|One two two three two four twotwo five|two|NINE|count=2}}</nowiki></code> → {{replace|One two two three two four twotwo five|two|NINE|count=2}}
* <code><nowiki>{{replace|foo_bar|_| }}</nowiki></code> → {{replace|foo_bar|_| }}
====Space====
* <code><nowiki>{{replace|One-two two-three two-four twotwo-five|-|—}}</nowiki></code> → {{replace|One-two two-three two-four twotwo-five|-|—}}
* <code><nowiki>{{replace|One-two two-three two-four twotwo-five|- |—}}</nowiki></code> → {{replace|One-two two-three two-four twotwo-five|- |—}}
===See also===
* {{tl|transliterate}}
* {{tl|str rep}}, which replaces only the first occurrence of a string.
* [[mw:Extension:ParserFunctions/String functions##replace]]
{{String-handling templates |IRL}}
<includeonly>{{Sandbox other||
<!----CATEGORIES BELOW THIS LINE, PLEASE:---->
[[Category:String manipulation templates]]
}}</includeonly>
qo8bwz3bvfqzpr2nvv4222xjt8qaz9l
ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:Commons category/doc
10
2480
7639
2026-06-17T13:12:07Z
Saimawnkham
28
Created page with "{{Documentation subpage}} {{High-use|all-pages=yes}} <!-- Categories go where indicated at the bottom of this page, please; interwikis go to Wikidata (see also: [[Wikipedia:Wikidata]]). --> {{redirect|Template:CC|Creative Commons templates|Category:Creative Commons copyright templates}} {{hatnote|This template is part of [[Wikipedia:Wikimedia sister projects|Wikimedia sister projects]].}} {{tlb|Commons category}} links to a "Category:" name in the [[Wikimedia Commons]]..."
7639
wikitext
text/x-wiki
{{Documentation subpage}}
{{High-use|all-pages=yes}}
<!-- Categories go where indicated at the bottom of this page, please; interwikis go to Wikidata (see also: [[Wikipedia:Wikidata]]). -->
{{redirect|Template:CC|Creative Commons templates|Category:Creative Commons copyright templates}}
{{hatnote|This template is part of [[Wikipedia:Wikimedia sister projects|Wikimedia sister projects]].}}
{{tlb|Commons category}} links to a "Category:" name in the [[Wikimedia Commons]] repository that corresponds to the article or category. If the Commons category name is misspelled or missing, the link will still appear "[[Help:Link color|blue]]" even though the link will fail. Check the existence of the category on Commons as well as the spelling of names carefully. That said, {{No ping|Pi bot}} will attempt to fix or remove links to non-existent categories. In articles, this template should be placed at the top of the last section on the page so that it floats to the right of that section. A warning will appear if the Commons link is not on Wikidata.
{{tsh|Ccat|Commonscat|Cc}}
== Usage ==
{| style="clear:right"
|-
| {{tl2|Commons category}} || – || Fetches the Commons sitelink from Wikidata (where available)
|-
| {{tl2|Commons category|''catname''}} || – || Puts link-box connecting title ''catname''
|-
| {{tl2|Commons category|''catname''|''showname''}} || – || Puts link-box showing the title ''showname''
|-
| {{tl2|Commons category|''catname''|3=position=left}} || style="vertical-align:top;" | – || Floats link-box to the left side, as option to align box to left-margin
|-
| {{tl2|Commons category|3=nowrap=yes}} || style="vertical-align:top;" | – || Stops the text of the Commons category from wrapping
|-
| {{tl2|Commons category|3=lcfirst=yes}} || style="vertical-align:top;" | – || Displays the first letter as lower-case
|-
| {{tl2|Commons category|3=italic=no}} || style="vertical-align:top;" | – || Turn off italics for displayed text
|}
The two parameters ''catname'' and ''showname'' (1 & 2) are optional, and are intended for cases where the Commons category name is different from the Wikipedia page name. The first parameter is the name of the corresponding category on the Wikimedia Commons, ''without'' the "<code>Category:</code>" prefix. If this first parameter is used, then the template will display the Commons category name, which may be confusing to readers. This text can be overridden by the second parameter, where the Wikipedia page name would typically be used.
{{Commons category|Ursus maritimus|Polar bears}}
For example, on the [[Polar bear]] page, {{tlc|Commons category|Ursus maritimus|Polar bears}} produces a link to [[Commons:Category:Ursus maritimus]] displayed as "[[Commons:Category:Ursus maritimus|Polar bears]]".
The parameter {{para|position}} accepts one value, {{para|position|left}}, that moves the box to the left side, instead of the default right side. More information may be found at [[Template:Side box]].
== Location ==
<!-- Red messages in preview mode link to this section. -->
{{Commons templates location}}
== Resolving discrepancies ==
This template compares locally-defined values against the interwiki links to Commons stored on Wikidata. The discrepancies are highlighted through the addition of [[#Maintenance categories|maintenance categories]]. Pages can be removed from the tracking categories by correcting the local link; removing misplaced template uses; fixing the sitelinks on Wikidata; or expanding the category system on Commons. A workaround is to switch to {{tl|Commons category multi}}, but
ideally there should be one Commons category link per article, and it should be easy for readers to identify the related content on Commons. Some suggested approaches are:
The link is to a more general topic than the article:
# Is there a more specific Commons category that could be linked to instead?
# If not, could it be created with images connected to the article?
# Or if there aren't any images connected to the article on Commons, could the Commons category link be removed?
There are links to multiple Commons categories in the article:
# Could they be replaced by a single Commons category that has the rest as subcategories?
# Do all of the Commons categories still exist?
# Are they all necessary, or could they be removed?
The Commons category links back to the wrong Wikipedia article:
# Can you move the sitelink to the Wikidata item for the article?
== Tracking categories ==
=== Normal categories ===
* {{clc|Commons category link from Wikidata}}
* {{clc|Commons category link is on Wikidata}}
=== Maintenance categories ===
* {{clc|Commons category link is defined as the pagename}}
* {{clc|Commons category link is locally defined}}
* {{clc|Commons category link is the pagename}}
== TemplateData ==
{{TemplateData header}}
<TemplateData>
{
"description": "This template creates a small box containing a link to a category on Commons. If no value is provided the Commons category value from Wikidata is used, and if none was provided there then the page name is used.",
"params": {
"1": {
"label": "Category name",
"description": "The name of the Commons category this template will link to. If no value is provided the Commons category value from Wikidata is used, and if none was provided there then the page name is used.",
"type": "string",
"required": false
},
"2": {
"label": "Displayed text",
"description": "The text that the link will display to the user. If no value is provided it will default to category name or page name, in that order.",
"type": "string",
"required": false
},
"position": {
"label": "Position",
"description": "When set to 'left', the template will be positioned on the left side of the page. Otherwise it will default to the right side.",
"type": "string",
"required": false
},
"nowrap": {
"label": "nowrap",
"description": "Stops the text of the Commons category from wrapping",
"type": "string",
"required": false
},
"lcfirst": {
"label": "lcfirst",
"description": "Displays the first letter as lower-case",
"type": "string",
"required": false
}
}
}
</TemplateData>
== Redirects ==
* {{Tl|C cat}}
* {{Tl|Category commons}}
* {{Tl|Category Commons}}
* {{Tl|Cc}}
* {{Tl|Ccat}}
* {{Tl|Commons cat}}
* {{Tl|Commonscat}}
* {{Tl|Commonscategory}}
* {{Tl|Commonsimages cat}}
* {{Tl|Wikimedia commons cat}}
== See also ==
{{Commons templates see also}}
<includeonly>{{Sandbox other||
<!-- Categories go below this line, please; interwikis go to Wikidata, thank you! -->
[[Category:Interwiki category linking templates]]
[[Category:Interwiki link sidebar templates]]
[[Category:Wikimedia Commons templates|category]]
[[Category:Templates that add a tracking category]]
}}</includeonly>
61sw1zoo5yy5tij7js3trwim0ksmhew
ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:Commonscat
10
2481
7640
2026-06-17T13:12:42Z
Saimawnkham
28
Redirected page to [[ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:Commons category]]
7640
wikitext
text/x-wiki
#REDIRECT [[ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:Commons category]]
qhqbpukujoehaps8qxzv3f290hgr377
ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:Unicode chart Myanmar Extended-B
10
2482
7641
2026-06-17T13:13:26Z
Saimawnkham
28
Created page with "{| class="wikitable nounderlines" style="border-collapse:collapse;background:var(--background-color-base,#fff);color:inherit;font-size:large;text-align:center" | colspan="17" style="background:var(--background-color-neutral-subtle,#f8f9fa);color:inherit;font-size:small"| '''[[Myanmar Extended-B]]'''{{ref label|UA9E0_as_of_Unicode_version|1}}{{ref label|UA9E0_grey|2}}<br />[https://www.unicode.org/charts/PDF/UA9E0.pdf Official Unicode Consortium code chart] (PDF) |- style..."
7641
wikitext
text/x-wiki
{| class="wikitable nounderlines" style="border-collapse:collapse;background:var(--background-color-base,#fff);color:inherit;font-size:large;text-align:center"
| colspan="17" style="background:var(--background-color-neutral-subtle,#f8f9fa);color:inherit;font-size:small"| '''[[Myanmar Extended-B]]'''{{ref label|UA9E0_as_of_Unicode_version|1}}{{ref label|UA9E0_grey|2}}<br />[https://www.unicode.org/charts/PDF/UA9E0.pdf Official Unicode Consortium code chart] (PDF)
|- style="background:var(--background-color-neutral-subtle,#f8f9fa);color:inherit;font-size:small"
| style="width:45pt" | || style="width:20pt" | 0 || style="width:20pt" | 1 || style="width:20pt" | 2 || style="width:20pt" | 3 || style="width:20pt" | 4 || style="width:20pt" | 5 || style="width:20pt" | 6 || style="width:20pt" | 7 || style="width:20pt" | 8 || style="width:20pt" | 9 || style="width:20pt" | A || style="width:20pt" | B || style="width:20pt" | C || style="width:20pt" | D || style="width:20pt" | E || style="width:20pt" | F
|-
| style="background:var(--background-color-neutral-subtle,#f8f9fa);color:inherit;font-size:small"| U+A9Ex
| title="U+A9E0: MYANMAR LETTER SHAN GHA" | {{Script|Mymr| ꧠ}}
| title="U+A9E1: MYANMAR LETTER SHAN CHA" | {{Script|Mymr| ꧡ}}
| title="U+A9E2: MYANMAR LETTER SHAN JHA" | {{Script|Mymr| ꧢ}}
| title="U+A9E3: MYANMAR LETTER SHAN NNA" | {{Script|Mymr| ꧣ}}
| title="U+A9E4: MYANMAR LETTER SHAN BHA" | {{Script|Mymr| ꧤ}}
| title="U+A9E5: MYANMAR SIGN SHAN SAW" | {{Script|Mymr| ꧥ}}
| title="U+A9E6: MYANMAR MODIFIER LETTER SHAN REDUPLICATION" | {{Script|Mymr| ꧦ}}
| title="U+A9E7: MYANMAR LETTER TAI LAING NYA" | {{Script|Mymr| ꧧ}}
| title="U+A9E8: MYANMAR LETTER TAI LAING FA" | {{Script|Mymr| ꧨ}}
| title="U+A9E9: MYANMAR LETTER TAI LAING GA" | {{Script|Mymr| ꧩ}}
| title="U+A9EA: MYANMAR LETTER TAI LAING GHA" | {{Script|Mymr| ꧪ}}
| title="U+A9EB: MYANMAR LETTER TAI LAING JA" | {{Script|Mymr| ꧫ}}
| title="U+A9EC: MYANMAR LETTER TAI LAING JHA" | {{Script|Mymr| ꧬ}}
| title="U+A9ED: MYANMAR LETTER TAI LAING DDA" | {{Script|Mymr| ꧭ}}
| title="U+A9EE: MYANMAR LETTER TAI LAING DDHA" | {{Script|Mymr| ꧮ}}
| title="U+A9EF: MYANMAR LETTER TAI LAING NNA" | {{Script|Mymr| ꧯ}}
|-
| style="background:var(--background-color-neutral-subtle,#f8f9fa);color:inherit;font-size:small"| U+A9Fx
| title="U+A9F0: MYANMAR TAI LAING DIGIT ZERO" | {{Script|Mymr| ꧰}}
| title="U+A9F1: MYANMAR TAI LAING DIGIT ONE" | {{Script|Mymr| ꧱}}
| title="U+A9F2: MYANMAR TAI LAING DIGIT TWO" | {{Script|Mymr| ꧲}}
| title="U+A9F3: MYANMAR TAI LAING DIGIT THREE" | {{Script|Mymr| ꧳}}
| title="U+A9F4: MYANMAR TAI LAING DIGIT FOUR" | {{Script|Mymr| ꧴}}
| title="U+A9F5: MYANMAR TAI LAING DIGIT FIVE" | {{Script|Mymr| ꧵}}
| title="U+A9F6: MYANMAR TAI LAING DIGIT SIX" | {{Script|Mymr| ꧶}}
| title="U+A9F7: MYANMAR TAI LAING DIGIT SEVEN" | {{Script|Mymr| ꧷}}
| title="U+A9F8: MYANMAR TAI LAING DIGIT EIGHT" | {{Script|Mymr| ꧸}}
| title="U+A9F9: MYANMAR TAI LAING DIGIT NINE" | {{Script|Mymr| ꧹}}
| title="U+A9FA: MYANMAR LETTER TAI LAING LLA" | {{Script|Mymr| ꧺ}}
| title="U+A9FB: MYANMAR LETTER TAI LAING DA" | {{Script|Mymr| ꧻ}}
| title="U+A9FC: MYANMAR LETTER TAI LAING DHA" | {{Script|Mymr| ꧼ}}
| title="U+A9FD: MYANMAR LETTER TAI LAING BA" | {{Script|Mymr| ꧽ}}
| title="U+A9FE: MYANMAR LETTER TAI LAING BHA" | {{Script|Mymr| ꧾ}}
| title="Reserved" style="background-color:var(--background-color-disabled,#c8ccd1);color:inherit;" |
|-
| colspan="17" style="background:var(--background-color-neutral-subtle,#f8f9fa);color:inherit;font-size:small;text-align:left"| '''Notes'''
:1.{{note|UA9E0_as_of_Unicode_version}}{{Unicode version|prefix=Asof|version=17.0}}
:2.{{note|UA9E0_grey}}Grey area indicates non-assigned code point
|}<noinclude>
{{documentation|template:Unicode chart/block documentation}}
</noinclude>
22mv4jgisxvycdptioikd892smyzyet
ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:Script/Myanmar
10
2483
7642
2026-06-17T13:13:46Z
Saimawnkham
28
Created page with "{{{{{|safesubst:}}}ifsubst|1=|2=<templatestyles src="Script/styles_myanmar.css" />}}<span class="script-myanmar">{{{1}}}</span><!-- --><noinclude>{{Script/basic documentation}}</noinclude>"
7642
wikitext
text/x-wiki
{{{{{|safesubst:}}}ifsubst|1=|2=<templatestyles src="Script/styles_myanmar.css" />}}<span class="script-myanmar">{{{1}}}</span><!--
--><noinclude>{{Script/basic documentation}}</noinclude>
0y22c0m8uzdfycco4ja5r0hwxvjx2xs
ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:Script/styles myanmar.css
10
2484
7643
2026-06-17T13:14:26Z
Saimawnkham
28
Created page with "/* {{pp-template}} */ .script-myanmar { line-height: 100%; font-family: Pyidaungsu, 'Myanmar Text', Myanmar3, Myanmar2, Myanmar1, Padauk, 'Noto Sans Myanmar', mm3web, TharLon, 'Masterpiece Uni Sans', Parabaik, Yunghkio, Thanlwin, 'Win Uni Innwa', 'MyMyanmar Unicode', 'WinUni Innwa'; }"
7643
sanitized-css
text/css
/* {{pp-template}} */
.script-myanmar {
line-height: 100%;
font-family: Pyidaungsu, 'Myanmar Text', Myanmar3, Myanmar2, Myanmar1, Padauk, 'Noto Sans Myanmar', mm3web, TharLon, 'Masterpiece Uni Sans', Parabaik, Yunghkio, Thanlwin, 'Win Uni Innwa', 'MyMyanmar Unicode', 'WinUni Innwa';
}
9woboexyyy320tp4lb1z56327t5d9k6
ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:Unicode chart/block documentation
10
2485
7644
2026-06-17T13:14:55Z
Saimawnkham
28
Created page with "{{Documentation subpage}} <!-- Categories go at the bottom of this page and interwikis go in Wikidata. --> '''{{tl|{{PAGENAME}}|nolink=yes}}''' provides a list of [[Unicode]] code points in the '''{{#invoke:String|replace|{{PAGENAME}}|Unicode chart |}}''' block. == Usage == To display the Unicode block: : {{tlx|{{PAGENAME}}}} This template does not take any parameters. <includeonly>{{Sandbox other|| <!-- Categories go here, and interwikis go in Wikidata --> Category..."
7644
wikitext
text/x-wiki
{{Documentation subpage}}
<!-- Categories go at the bottom of this page and interwikis go in Wikidata. -->
'''{{tl|{{PAGENAME}}|nolink=yes}}''' provides a list of [[Unicode]] code points in the '''{{#invoke:String|replace|{{PAGENAME}}|Unicode chart |}}''' block.
== Usage ==
To display the Unicode block:
: {{tlx|{{PAGENAME}}}}
This template does not take any parameters.
<includeonly>{{Sandbox other||
<!-- Categories go here, and interwikis go in Wikidata -->
[[Category:Unicode charts|{{#invoke:String|replace|{{PAGENAME}}|Unicode chart |}}]]
}}</includeonly>
qerep3tsf7kwvxv3v9vxz0aq20fb6go
ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:Unicode chart Myanmar Extended-A
10
2486
7645
2026-06-17T13:15:26Z
Saimawnkham
28
Created page with "{| class="wikitable nounderlines" style="border-collapse:collapse;background:var(--background-color-base,#fff);color:inherit;font-size:large;text-align:center" | colspan="17" style="background:var(--background-color-neutral-subtle,#f8f9fa);color:inherit;font-size:small" | '''[[Myanmar Extended-A]]'''{{ref label|UAA60_as_of_Unicode_version|1}}<br />[https://www.unicode.org/charts/PDF/UAA60.pdf Official Unicode Consortium code chart] (PDF) |- style="background:var(--backgr..."
7645
wikitext
text/x-wiki
{| class="wikitable nounderlines" style="border-collapse:collapse;background:var(--background-color-base,#fff);color:inherit;font-size:large;text-align:center"
| colspan="17" style="background:var(--background-color-neutral-subtle,#f8f9fa);color:inherit;font-size:small" | '''[[Myanmar Extended-A]]'''{{ref label|UAA60_as_of_Unicode_version|1}}<br />[https://www.unicode.org/charts/PDF/UAA60.pdf Official Unicode Consortium code chart] (PDF)
|- style="background:var(--background-color-neutral-subtle,#f8f9fa);color:inherit;font-size:small"
| style="width:45pt" | || style="width:20pt" | 0 || style="width:20pt" | 1 || style="width:20pt" | 2 || style="width:20pt" | 3 || style="width:20pt" | 4 || style="width:20pt" | 5 || style="width:20pt" | 6 || style="width:20pt" | 7 || style="width:20pt" | 8 || style="width:20pt" | 9 || style="width:20pt" | A || style="width:20pt" | B || style="width:20pt" | C || style="width:20pt" | D || style="width:20pt" | E || style="width:20pt" | F
|-
| style="background:var(--background-color-neutral-subtle,#f8f9fa);color:inherit;font-size:small" | U+AA6x
| title="U+AA60: MYANMAR LETTER KHAMTI GA" | {{Script|Mymr| ꩠ}}
| title="U+AA61: MYANMAR LETTER KHAMTI CA" | {{Script|Mymr| ꩡ}}
| title="U+AA62: MYANMAR LETTER KHAMTI CHA" | {{Script|Mymr| ꩢ}}
| title="U+AA63: MYANMAR LETTER KHAMTI JA" | {{Script|Mymr| ꩣ}}
| title="U+AA64: MYANMAR LETTER KHAMTI JHA" | {{Script|Mymr| ꩤ}}
| title="U+AA65: MYANMAR LETTER KHAMTI NYA" | {{Script|Mymr| ꩥ}}
| title="U+AA66: MYANMAR LETTER KHAMTI TTA" | {{Script|Mymr| ꩦ}}
| title="U+AA67: MYANMAR LETTER KHAMTI TTHA" | {{Script|Mymr| ꩧ}}
| title="U+AA68: MYANMAR LETTER KHAMTI DDA" | {{Script|Mymr| ꩨ}}
| title="U+AA69: MYANMAR LETTER KHAMTI DDHA" | {{Script|Mymr| ꩩ}}
| title="U+AA6A: MYANMAR LETTER KHAMTI DHA" | {{Script|Mymr| ꩪ}}
| title="U+AA6B: MYANMAR LETTER KHAMTI NA" | {{Script|Mymr| ꩫ}}
| title="U+AA6C: MYANMAR LETTER KHAMTI SA" | {{Script|Mymr| ꩬ}}
| title="U+AA6D: MYANMAR LETTER KHAMTI HA" | {{Script|Mymr| ꩭ}}
| title="U+AA6E: MYANMAR LETTER KHAMTI HHA (alias MYANMAR LETTER KHAMTI LLA)" | {{Script|Mymr| ꩮ}}
| title="U+AA6F: MYANMAR LETTER KHAMTI FA" | {{Script|Mymr| ꩯ}}
|-
| style="background:var(--background-color-neutral-subtle,#f8f9fa);color:inherit;font-size:small" | U+AA7x
| title="U+AA70: MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION" | {{Script|Mymr| ꩰ}}
| title="U+AA71: MYANMAR LETTER KHAMTI XA" | {{Script|Mymr| ꩱ}}
| title="U+AA72: MYANMAR LETTER KHAMTI ZA" | {{Script|Mymr| ꩲ}}
| title="U+AA73: MYANMAR LETTER KHAMTI RA" | {{Script|Mymr| ꩳ}}
| title="U+AA74: MYANMAR LOGOGRAM KHAMTI OAY" | {{Script|Mymr| ꩴ}}
| title="U+AA75: MYANMAR LOGOGRAM KHAMTI QN" | {{Script|Mymr| ꩵ}}
| title="U+AA76: MYANMAR LOGOGRAM KHAMTI HM" | {{Script|Mymr| ꩶ}}
| title="U+AA77: MYANMAR SYMBOL AITON EXCLAMATION" | {{Script|Mymr| ꩷}}
| title="U+AA78: MYANMAR SYMBOL AITON ONE" | {{Script|Mymr| ꩸}}
| title="U+AA79: MYANMAR SYMBOL AITON TWO" | {{Script|Mymr| ꩹}}
| title="U+AA7A: MYANMAR LETTER AITON RA" | {{Script|Mymr| ꩺ}}
| title="U+AA7B: MYANMAR SIGN PAO KAREN TONE" | {{Script|Mymr| ꩻ}}
| title="U+AA7C: MYANMAR SIGN TAI LAING TONE-2" | {{Script|Mymr| ꩼ}}
| title="U+AA7D: MYANMAR SIGN TAI LAING TONE-5" | {{Script|Mymr| ꩽ}}
| title="U+AA7E: MYANMAR LETTER SHWE PALAUNG CHA" | {{Script|Mymr| ꩾ}}
| title="U+AA7F: MYANMAR LETTER SHWE PALAUNG SHA" | {{Script|Mymr| ꩿ}}
|-
| colspan="17" style="background:var(--background-color-neutral-subtle,#f8f9fa);color:inherit;font-size:small;text-align:left" | '''Notes'''
:1.{{note|UAA60_as_of_Unicode_version}}{{Unicode version|prefix=Asof|version=17.0}}
|}<noinclude>
{{documentation|template:Unicode chart/block documentation}}
</noinclude>
1rrcr137fglu7kqxuk7vn22e5lk3bun
ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:Unicode chart Myanmar
10
2487
7646
2026-06-17T13:16:16Z
Saimawnkham
28
Created page with "{| class="wikitable nounderlines" style="border-collapse:collapse;background:var(--background-color-base,#fff);color:inherit;font-size:large;text-align:center" | colspan="17" style="background:var(--background-color-neutral-subtle,#f8f9fa);color:inherit;font-size:small" | '''[[Myanmar (Unicode block)|Myanmar]]'''{{ref label|U1000_as_of_Unicode_version|1}}<br />[https://www.unicode.org/charts/PDF/U1000.pdf Official Unicode Consortium code chart] (PDF) |- style="background..."
7646
wikitext
text/x-wiki
{| class="wikitable nounderlines" style="border-collapse:collapse;background:var(--background-color-base,#fff);color:inherit;font-size:large;text-align:center"
| colspan="17" style="background:var(--background-color-neutral-subtle,#f8f9fa);color:inherit;font-size:small" | '''[[Myanmar (Unicode block)|Myanmar]]'''{{ref label|U1000_as_of_Unicode_version|1}}<br />[https://www.unicode.org/charts/PDF/U1000.pdf Official Unicode Consortium code chart] (PDF)
|- style="background:var(--background-color-neutral-subtle,#f8f9fa);color:inherit;font-size:small"
| style="width:45pt" | || style="width:20pt" | 0 || style="width:20pt" | 1 || style="width:20pt" | 2 || style="width:20pt" | 3 || style="width:20pt" | 4 || style="width:20pt" | 5 || style="width:20pt" | 6 || style="width:20pt" | 7 || style="width:20pt" | 8 || style="width:20pt" | 9 || style="width:20pt" | A || style="width:20pt" | B || style="width:20pt" | C || style="width:20pt" | D || style="width:20pt" | E || style="width:20pt" | F
|-
| style="background:var(--background-color-neutral-subtle,#f8f9fa);color:inherit;font-size:small" | U+100x
| title="U+1000: MYANMAR LETTER KA" | {{Script|Mymr| က}}
| title="U+1001: MYANMAR LETTER KHA" | {{Script|Mymr| ခ}}
| title="U+1002: MYANMAR LETTER GA" | {{Script|Mymr| ဂ}}
| title="U+1003: MYANMAR LETTER GHA" | {{Script|Mymr| ဃ}}
| title="U+1004: MYANMAR LETTER NGA" | {{Script|Mymr| င}}
| title="U+1005: MYANMAR LETTER CA" | {{Script|Mymr| စ}}
| title="U+1006: MYANMAR LETTER CHA" | {{Script|Mymr| ဆ}}
| title="U+1007: MYANMAR LETTER JA" | {{Script|Mymr| ဇ}}
| title="U+1008: MYANMAR LETTER JHA" | {{Script|Mymr| ဈ}}
| title="U+1009: MYANMAR LETTER NYA" | {{Script|Mymr| ဉ}}
| title="U+100A: MYANMAR LETTER NNYA" | {{Script|Mymr| ည}}
| title="U+100B: MYANMAR LETTER TTA" | {{Script|Mymr| ဋ}}
| title="U+100C: MYANMAR LETTER TTHA" | {{Script|Mymr| ဌ}}
| title="U+100D: MYANMAR LETTER DDA" | {{Script|Mymr| ဍ}}
| title="U+100E: MYANMAR LETTER DDHA" | {{Script|Mymr| ဎ}}
| title="U+100F: MYANMAR LETTER NNA" | {{Script|Mymr| ဏ}}
|-
| style="background:var(--background-color-neutral-subtle,#f8f9fa);color:inherit;font-size:small" | U+101x
| title="U+1010: MYANMAR LETTER TA" | {{Script|Mymr| တ}}
| title="U+1011: MYANMAR LETTER THA" | {{Script|Mymr| ထ}}
| title="U+1012: MYANMAR LETTER DA" | {{Script|Mymr| ဒ}}
| title="U+1013: MYANMAR LETTER DHA" | {{Script|Mymr| ဓ}}
| title="U+1014: MYANMAR LETTER NA" | {{Script|Mymr| န}}
| title="U+1015: MYANMAR LETTER PA" | {{Script|Mymr| ပ}}
| title="U+1016: MYANMAR LETTER PHA" | {{Script|Mymr| ဖ}}
| title="U+1017: MYANMAR LETTER BA" | {{Script|Mymr| ဗ}}
| title="U+1018: MYANMAR LETTER BHA" | {{Script|Mymr| ဘ}}
| title="U+1019: MYANMAR LETTER MA" | {{Script|Mymr| မ}}
| title="U+101A: MYANMAR LETTER YA" | {{Script|Mymr| ယ}}
| title="U+101B: MYANMAR LETTER RA" | {{Script|Mymr| ရ}}
| title="U+101C: MYANMAR LETTER LA" | {{Script|Mymr| လ}}
| title="U+101D: MYANMAR LETTER WA" | {{Script|Mymr| ဝ}}
| title="U+101E: MYANMAR LETTER SA" | {{Script|Mymr| သ}}
| title="U+101F: MYANMAR LETTER HA" | {{Script|Mymr| ဟ}}
|-
| style="background:var(--background-color-neutral-subtle,#f8f9fa);color:inherit;font-size:small" | U+102x
| title="U+1020: MYANMAR LETTER LLA" | {{Script|Mymr| ဠ}}
| title="U+1021: MYANMAR LETTER A" | {{Script|Mymr| အ}}
| title="U+1022: MYANMAR LETTER SHAN A" | {{Script|Mymr| ဢ}}
| title="U+1023: MYANMAR LETTER I" | {{Script|Mymr| ဣ}}
| title="U+1024: MYANMAR LETTER II" | {{Script|Mymr| ဤ}}
| title="U+1025: MYANMAR LETTER U" | {{Script|Mymr| ဥ}}
| title="U+1026: MYANMAR LETTER UU" | {{Script|Mymr| ဦ}}
| title="U+1027: MYANMAR LETTER E" | {{Script|Mymr| ဧ}}
| title="U+1028: MYANMAR LETTER MON E" | {{Script|Mymr| ဨ}}
| title="U+1029: MYANMAR LETTER O" | {{Script|Mymr| ဩ}}
| title="U+102A: MYANMAR LETTER AU" | {{Script|Mymr| ဪ}}
| title="U+102B: MYANMAR VOWEL SIGN TALL AA" | {{Script|Mymr| ါ}}
| title="U+102C: MYANMAR VOWEL SIGN AA" | {{Script|Mymr| ာ}}
| title="U+102D: MYANMAR VOWEL SIGN I" | {{Script|Mymr| ိ}}
| title="U+102E: MYANMAR VOWEL SIGN II" | {{Script|Mymr| ီ}}
| title="U+102F: MYANMAR VOWEL SIGN U" | {{Script|Mymr| ု}}
|-
| style="background:var(--background-color-neutral-subtle,#f8f9fa);color:inherit;font-size:small" | U+103x
| title="U+1030: MYANMAR VOWEL SIGN UU" | {{Script|Mymr| ူ}}
| title="U+1031: MYANMAR VOWEL SIGN E" | {{Script|Mymr| ေ}}
| title="U+1032: MYANMAR VOWEL SIGN AI" | {{Script|Mymr| ဲ}}
| title="U+1033: MYANMAR VOWEL SIGN MON II" | {{Script|Mymr| ဳ}}
| title="U+1034: MYANMAR VOWEL SIGN MON O" | {{Script|Mymr| ဴ}}
| title="U+1035: MYANMAR VOWEL SIGN E ABOVE" | {{Script|Mymr| ဵ}}
| title="U+1036: MYANMAR SIGN ANUSVARA" | {{Script|Mymr| ံ}}
| title="U+1037: MYANMAR SIGN DOT BELOW" | {{Script|Mymr| ့}}
| title="U+1038: MYANMAR SIGN VISARGA" | {{Script|Mymr| း}}
| title="U+1039: MYANMAR SIGN VIRAMA" | {{border|{{spaces|3}}{{Script|Mymr| ္}}{{spaces|1}}|style=dashed|color=black|lh=1em}}
| title="U+103A: MYANMAR SIGN ASAT" | {{Script|Mymr| ်}}
| title="U+103B: MYANMAR CONSONANT SIGN MEDIAL YA" | {{Script|Mymr| ျ}}
| title="U+103C: MYANMAR CONSONANT SIGN MEDIAL RA" | {{Script|Mymr| ြ}}
| title="U+103D: MYANMAR CONSONANT SIGN MEDIAL WA" | {{Script|Mymr| ွ}}
| title="U+103E: MYANMAR CONSONANT SIGN MEDIAL HA" | {{Script|Mymr| ှ}}
| title="U+103F: MYANMAR LETTER GREAT SA" | {{Script|Mymr| ဿ}}
|-
| style="background:var(--background-color-neutral-subtle,#f8f9fa);color:inherit;font-size:small" | U+104x
| title="U+1040: MYANMAR DIGIT ZERO" | {{Script|Mymr| ၀}}
| title="U+1041: MYANMAR DIGIT ONE" | {{Script|Mymr| ၁}}
| title="U+1042: MYANMAR DIGIT TWO" | {{Script|Mymr| ၂}}
| title="U+1043: MYANMAR DIGIT THREE" | {{Script|Mymr| ၃}}
| title="U+1044: MYANMAR DIGIT FOUR" | {{Script|Mymr| ၄}}
| title="U+1045: MYANMAR DIGIT FIVE" | {{Script|Mymr| ၅}}
| title="U+1046: MYANMAR DIGIT SIX" | {{Script|Mymr| ၆}}
| title="U+1047: MYANMAR DIGIT SEVEN" | {{Script|Mymr| ၇}}
| title="U+1048: MYANMAR DIGIT EIGHT" | {{Script|Mymr| ၈}}
| title="U+1049: MYANMAR DIGIT NINE" | {{Script|Mymr| ၉}}
| title="U+104A: MYANMAR SIGN LITTLE SECTION" | {{Script|Mymr| ၊}}
| title="U+104B: MYANMAR SIGN SECTION" | {{Script|Mymr| ။}}
| title="U+104C: MYANMAR SYMBOL LOCATIVE" | {{Script|Mymr| ၌}}
| title="U+104D: MYANMAR SYMBOL COMPLETED" | {{Script|Mymr| ၍}}
| title="U+104E: MYANMAR SYMBOL AFOREMENTIONED" | {{Script|Mymr| ၎}}
| title="U+104F: MYANMAR SYMBOL GENITIVE" | {{Script|Mymr| ၏}}
|-
| style="background:var(--background-color-neutral-subtle,#f8f9fa);color:inherit;font-size:small" | U+105x
| title="U+1050: MYANMAR LETTER SHA" | {{Script|Mymr| ၐ}}
| title="U+1051: MYANMAR LETTER SSA" | {{Script|Mymr| ၑ}}
| title="U+1052: MYANMAR LETTER VOCALIC R" | {{Script|Mymr| ၒ}}
| title="U+1053: MYANMAR LETTER VOCALIC RR" | {{Script|Mymr| ၓ}}
| title="U+1054: MYANMAR LETTER VOCALIC L" | {{Script|Mymr| ၔ}}
| title="U+1055: MYANMAR LETTER VOCALIC LL" | {{Script|Mymr| ၕ}}
| title="U+1056: MYANMAR VOWEL SIGN VOCALIC R" | {{Script|Mymr| ၖ}}
| title="U+1057: MYANMAR VOWEL SIGN VOCALIC RR" | {{Script|Mymr| ၗ}}
| title="U+1058: MYANMAR VOWEL SIGN VOCALIC L" | {{Script|Mymr| ၘ}}
| title="U+1059: MYANMAR VOWEL SIGN VOCALIC LL" | {{Script|Mymr| ၙ}}
| title="U+105A: MYANMAR LETTER MON NGA" | {{Script|Mymr| ၚ}}
| title="U+105B: MYANMAR LETTER MON JHA" | {{Script|Mymr| ၛ}}
| title="U+105C: MYANMAR LETTER MON BBA" | {{Script|Mymr| ၜ}}
| title="U+105D: MYANMAR LETTER MON BBE" | {{Script|Mymr| ၝ}}
| title="U+105E: MYANMAR CONSONANT SIGN MON MEDIAL NA" | {{Script|Mymr| ၞ}}
| title="U+105F: MYANMAR CONSONANT SIGN MON MEDIAL MA" | {{Script|Mymr| ၟ}}
|-
| style="background:var(--background-color-neutral-subtle,#f8f9fa);color:inherit;font-size:small" | U+106x
| title="U+1060: MYANMAR CONSONANT SIGN MON MEDIAL LA" | {{Script|Mymr| ၠ}}
| title="U+1061: MYANMAR LETTER SGAW KAREN SHA" | {{Script|Mymr| ၡ}}
| title="U+1062: MYANMAR VOWEL SIGN SGAW KAREN EU" | {{Script|Mymr| ၢ}}
| title="U+1063: MYANMAR TONE MARK SGAW KAREN HATHI" | {{Script|Mymr| ၣ}}
| title="U+1064: MYANMAR TONE MARK SGAW KAREN KE PHO" | {{Script|Mymr| ၤ}}
| title="U+1065: MYANMAR LETTER WESTERN PWO KAREN THA" | {{Script|Mymr| ၥ}}
| title="U+1066: MYANMAR LETTER WESTERN PWO KAREN PWA" | {{Script|Mymr| ၦ}}
| title="U+1067: MYANMAR VOWEL SIGN WESTERN PWO KAREN EU" | {{Script|Mymr| ၧ}}
| title="U+1068: MYANMAR VOWEL SIGN WESTERN PWO KAREN UE" | {{Script|Mymr| ၨ}}
| title="U+1069: MYANMAR SIGN WESTERN PWO KAREN TONE-1" | {{Script|Mymr| ၩ}}
| title="U+106A: MYANMAR SIGN WESTERN PWO KAREN TONE-2" | {{Script|Mymr| ၪ}}
| title="U+106B: MYANMAR SIGN WESTERN PWO KAREN TONE-3" | {{Script|Mymr| ၫ}}
| title="U+106C: MYANMAR SIGN WESTERN PWO KAREN TONE-4" | {{Script|Mymr| ၬ}}
| title="U+106D: MYANMAR SIGN WESTERN PWO KAREN TONE-5" | {{Script|Mymr| ၭ}}
| title="U+106E: MYANMAR LETTER EASTERN PWO KAREN NNA" | {{Script|Mymr| ၮ}}
| title="U+106F: MYANMAR LETTER EASTERN PWO KAREN YWA" | {{Script|Mymr| ၯ}}
|-
| style="background:var(--background-color-neutral-subtle,#f8f9fa);color:inherit;font-size:small" | U+107x
| title="U+1070: MYANMAR LETTER EASTERN PWO KAREN GHWA" | {{Script|Mymr| ၰ}}
| title="U+1071: MYANMAR VOWEL SIGN GEBA KAREN I" | {{Script|Mymr| ၱ}}
| title="U+1072: MYANMAR VOWEL SIGN KAYAH OE" | {{Script|Mymr| ၲ}}
| title="U+1073: MYANMAR VOWEL SIGN KAYAH U" | {{Script|Mymr| ၳ}}
| title="U+1074: MYANMAR VOWEL SIGN KAYAH EE" | {{Script|Mymr| ၴ}}
| title="U+1075: MYANMAR LETTER SHAN KA" | {{Script|Mymr| ၵ}}
| title="U+1076: MYANMAR LETTER SHAN KHA" | {{Script|Mymr| ၶ}}
| title="U+1077: MYANMAR LETTER SHAN GA" | {{Script|Mymr| ၷ}}
| title="U+1078: MYANMAR LETTER SHAN CA" | {{Script|Mymr| ၸ}}
| title="U+1079: MYANMAR LETTER SHAN ZA" | {{Script|Mymr| ၹ}}
| title="U+107A: MYANMAR LETTER SHAN NYA" | {{Script|Mymr| ၺ}}
| title="U+107B: MYANMAR LETTER SHAN DA" | {{Script|Mymr| ၻ}}
| title="U+107C: MYANMAR LETTER SHAN NA" | {{Script|Mymr| ၼ}}
| title="U+107D: MYANMAR LETTER SHAN PHA" | {{Script|Mymr| ၽ}}
| title="U+107E: MYANMAR LETTER SHAN FA" | {{Script|Mymr| ၾ}}
| title="U+107F: MYANMAR LETTER SHAN BA" | {{Script|Mymr| ၿ}}
|-
| style="background:var(--background-color-neutral-subtle,#f8f9fa);color:inherit;font-size:small" | U+108x
| title="U+1080: MYANMAR LETTER SHAN THA" | {{Script|Mymr| ႀ}}
| title="U+1081: MYANMAR LETTER SHAN HA" | {{Script|Mymr| ႁ}}
| title="U+1082: MYANMAR CONSONANT SIGN SHAN MEDIAL WA" | {{Script|Mymr| ႂ}}
| title="U+1083: MYANMAR VOWEL SIGN SHAN AA" | {{Script|Mymr| ႃ}}
| title="U+1084: MYANMAR VOWEL SIGN SHAN E" | {{Script|Mymr| ႄ}}
| title="U+1085: MYANMAR VOWEL SIGN SHAN E ABOVE" | {{Script|Mymr| ႅ}}
| title="U+1086: MYANMAR VOWEL SIGN SHAN FINAL Y" | {{Script|Mymr| ႆ}}
| title="U+1087: MYANMAR SIGN SHAN TONE-2" | {{Script|Mymr| ႇ}}
| title="U+1088: MYANMAR SIGN SHAN TONE-3" | {{Script|Mymr| ႈ}}
| title="U+1089: MYANMAR SIGN SHAN TONE-5" | {{Script|Mymr| ႉ}}
| title="U+108A: MYANMAR SIGN SHAN TONE-6" | {{Script|Mymr| ႊ}}
| title="U+108B: MYANMAR SIGN SHAN COUNCIL TONE-2" | {{Script|Mymr| ႋ}}
| title="U+108C: MYANMAR SIGN SHAN COUNCIL TONE-3" | {{Script|Mymr| ႌ}}
| title="U+108D: MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE" | {{Script|Mymr| ႍ}}
| title="U+108E: MYANMAR LETTER RUMAI PALAUNG FA" | {{Script|Mymr| ႎ}}
| title="U+108F: MYANMAR SIGN RUMAI PALAUNG TONE-5" | {{Script|Mymr| ႏ}}
|-
| style="background:var(--background-color-neutral-subtle,#f8f9fa);color:inherit;font-size:small" | U+109x
| title="U+1090: MYANMAR SHAN DIGIT ZERO" | {{Script|Mymr| ႐}}
| title="U+1091: MYANMAR SHAN DIGIT ONE" | {{Script|Mymr| ႑}}
| title="U+1092: MYANMAR SHAN DIGIT TWO" | {{Script|Mymr| ႒}}
| title="U+1093: MYANMAR SHAN DIGIT THREE" | {{Script|Mymr| ႓}}
| title="U+1094: MYANMAR SHAN DIGIT FOUR" | {{Script|Mymr| ႔}}
| title="U+1095: MYANMAR SHAN DIGIT FIVE" | {{Script|Mymr| ႕}}
| title="U+1096: MYANMAR SHAN DIGIT SIX" | {{Script|Mymr| ႖}}
| title="U+1097: MYANMAR SHAN DIGIT SEVEN" | {{Script|Mymr| ႗}}
| title="U+1098: MYANMAR SHAN DIGIT EIGHT" | {{Script|Mymr| ႘}}
| title="U+1099: MYANMAR SHAN DIGIT NINE" | {{Script|Mymr| ႙}}
| title="U+109A: MYANMAR SIGN KHAMTI TONE-1" | {{Script|Mymr| ႚ}}
| title="U+109B: MYANMAR SIGN KHAMTI TONE-3" | {{Script|Mymr| ႛ}}
| title="U+109C: MYANMAR VOWEL SIGN AITON A" | {{Script|Mymr| ႜ}}
| title="U+109D: MYANMAR VOWEL SIGN AITON AI" | {{Script|Mymr| ႝ}}
| title="U+109E: MYANMAR SYMBOL SHAN ONE" | {{Script|Mymr| ႞}}
| title="U+109F: MYANMAR SYMBOL SHAN EXCLAMATION" | {{Script|Mymr| ႟}}
|-
| colspan="17" style="background:var(--background-color-neutral-subtle,#f8f9fa);color:inherit;font-size:small;text-align:left" | '''Notes'''
:1.{{note|U1000_as_of_Unicode_version}}{{Unicode version|prefix=Asof|version=17.0}}
|}<noinclude>
{{documentation|template:Unicode chart/block documentation}}
</noinclude>
42ns0ivd3rq2wyuve3gsucrqyxdwhjx
ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:Border
10
2488
7647
2026-06-17T13:16:51Z
Saimawnkham
28
Created page with "<{{#if:{{{div|}}}|div|span}} style="display:{{{display|{{#if:{{{noinline|}}}|table-cell|inline-block}}}}};<!--("table-cell" seemingly ignored by IE)--> <!--border-collapse:collapse;--> border:{{{width|1px}}} {{{style|solid}}} {{{color|#ddd}}}; {{#if:{{{lh|{{{line-height|}}}}}}|line-height:{{{lh|{{{line-height|}}}}}};}} {{{style2|}}}">{{{1}}}</{{#if:{{{div|}}}|div|span}}><noinclude>{{documentation}} <!--Please add any interwiki links etc on the /doc page, not here - thank..."
7647
wikitext
text/x-wiki
<{{#if:{{{div|}}}|div|span}} style="display:{{{display|{{#if:{{{noinline|}}}|table-cell|inline-block}}}}};<!--("table-cell" seemingly ignored by IE)--> <!--border-collapse:collapse;--> border:{{{width|1px}}} {{{style|solid}}} {{{color|#ddd}}}; {{#if:{{{lh|{{{line-height|}}}}}}|line-height:{{{lh|{{{line-height|}}}}}};}} {{{style2|}}}">{{{1}}}</{{#if:{{{div|}}}|div|span}}><noinclude>{{documentation}}
<!--Please add any interwiki links etc on the /doc page, not here - thanks!-->
</noinclude>
lzb7eo3tdgdlau9jtsgd43icesjsoso
ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:Border/doc
10
2489
7648
2026-06-17T13:17:14Z
Saimawnkham
28
Created page with "{{Documentation subpage}} {{High-use}} <!-- EDIT TEMPLATE DOCUMENTATION BELOW THIS LINE --> {{template shortcut|Bor}} This template is used to place a customized border around text or an image. Note, to add a plain border to an image, use the <code><nowiki>|border</nowiki></code> parameter in <code><nowiki>[[File:...]]</nowiki></code> (see [[Wikipedia:Picture tutorial#Border|Wikipedia:Picture tutorial]]). __NOTOC__ == Syntax == ===Basic=== Basic usage is <code><nowik..."
7648
wikitext
text/x-wiki
{{Documentation subpage}}
{{High-use}}
<!-- EDIT TEMPLATE DOCUMENTATION BELOW THIS LINE -->
{{template shortcut|Bor}}
This template is used to place a customized border around text or an image. Note, to add a plain border to an image, use the <code><nowiki>|border</nowiki></code> parameter in <code><nowiki>[[File:...]]</nowiki></code> (see [[Wikipedia:Picture tutorial#Border|Wikipedia:Picture tutorial]]).
__NOTOC__
== Syntax ==
===Basic===
Basic usage is <code><nowiki>{{border|</nowiki>''element''}}</code>, where ''element'' is the text, image, etc. around which the border is to appear. The border will be a solid light grey color (#ddd) and 1px (1 pixel) wide by default (for custom settings; see below). <!--If applying the template appears to shift the ''element'''s position, try adding the <code>display=noinline</code> parameter described below.-->
: <code><nowiki>{{border|Abc}}</nowiki></code> → {{border|Abc}}
All options show:
: <code><nowiki>{{border |</nowiki>''element'' |display=''display'' |width=''width'' |style=''style'' |style2=''2nd style'' |color=''color'' |lh=''line height''}}</code>
: <code><nowiki>{{border |Abc|width=2px|style=dotted |color=red}}</nowiki></code> → {{border |Abc|width=2px|style=dotted |color=red}}
====Parameters====
; ''element'': (required) The element (image, text, etc) around which the border is to appear.
; ''display'' The ''element'''s display method: ''inline-block'' (default if the parameter is not used), ''block'', ''inline'', ''table'', ''flex'', etc.
; ''width'': The width (thickness) of the border (default is <code>1px</code>).
; ''style'' The border's style: ''solid'' (default if the parameter is not used), ''dotted'', ''dashed'', ''double'', ''groove'', ''ridge'', ''inset'' or ''outset''.
; ''style2'': Additional CSS properties can be used in this template.
; ''color'': The border's color (default #ddd, otherwise recommend a [[Web colors#X11 color names|named color]]).
=====Inline of element=====
; ''noinline'': Set {{para|noinline|<anytext>}} to replace the default <code>inline-block</code> display style.
:Some text {{border |Abc|width=2px|style=dotted|noinline=indeed}}
:Inline reading {{border |Abc|width=2px|style=dotted}}
; ''div'': Set {{para|div|<anytext>}} to wrap the template's content in {{tag|div}} tags instead of the default {{tag|span}} tags. This is required if the template's content uses div tags or contains multiple lines of text.
== See also ==
* {{tl|color box}}
* {{tl|legend inline}}
<includeonly>{{Sandbox other||
<!--Categories-->
[[Category:Text color templates]]
}}</includeonly>
b3hae94ciunfpuppz5ftnoydl4nndun
ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:Bor
10
2490
7649
2026-06-17T13:17:37Z
Saimawnkham
28
Redirected page to [[ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:Border]]
7649
wikitext
text/x-wiki
#REDIRECT [[ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:Border]]
fve30qkde5eb18ynef24kg23s9pwauw
ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:Color box
10
2491
7650
2026-06-17T13:18:00Z
Saimawnkham
28
Created page with "<templatestyles src="Legend/styles.css" /><span class="legend-color mw-no-invert" style="forced-color-adjust:none; {{#if:{{{1|}}}|{{greater color contrast ratio|{{{1}}}|black|white|css=y}} }}{{#if:{{{3|}}}|color:{{{3}}}; }}{{#if:{{{border|}}}|border:1px solid {{{border}}}; }}{{#if:{{{padding|}}}|padding:{{{padding}}};}}">{{#if:{{{2|}}} |{{#if:{{{padding|}}}|{{{2}}}| {{{2}}} }} | }}</span><noinclude> {{documentation}}</noinclude>"
7650
wikitext
text/x-wiki
<templatestyles src="Legend/styles.css" /><span class="legend-color mw-no-invert" style="forced-color-adjust:none; {{#if:{{{1|}}}|{{greater color contrast ratio|{{{1}}}|black|white|css=y}}
}}{{#if:{{{3|}}}|color:{{{3}}};
}}{{#if:{{{border|}}}|border:1px solid {{{border}}};
}}{{#if:{{{padding|}}}|padding:{{{padding}}};}}">{{#if:{{{2|}}}
|{{#if:{{{padding|}}}|{{{2}}}| {{{2}}} }}
| }}</span><noinclude>
{{documentation}}</noinclude>
7mfqty5xaifm6r4z5xswt057lzwgp52
ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:Legend/styles.css
10
2492
7651
2026-06-17T13:18:28Z
Saimawnkham
28
Created page with "/* {{pp-template}} */ .legend { page-break-inside: avoid; break-inside: avoid-column; } .legend-color { display: inline-block; min-width: 1.25em; height: 1.25em; line-height: 1.25; margin: 1px 0; text-align: center; border: 1px solid black; background-color: transparent; color: black; } .legend-text {/*empty for now, but part of the design!*/}"
7651
sanitized-css
text/css
/* {{pp-template}} */
.legend {
page-break-inside: avoid;
break-inside: avoid-column;
}
.legend-color {
display: inline-block;
min-width: 1.25em;
height: 1.25em;
line-height: 1.25;
margin: 1px 0;
text-align: center;
border: 1px solid black;
background-color: transparent;
color: black;
}
.legend-text {/*empty for now, but part of the design!*/}
snsolhs3l12896xqc89e8b5hu9itnmf
ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:Color box/doc
10
2493
7652
2026-06-17T13:18:42Z
Saimawnkham
28
Created page with "{{Documentation subpage}} {{tsh|Colorbox|Colourbox|Colour box|Color square|Legend3}} {{For-text|the templates that display text in a colored box|{{tl|Divbox}} or [[Template:Mbox templates see also]]}} {{Uses TemplateStyles|Template:Legend/styles.css}} {{High-use}} <!-- PLEASE ADD CATEGORIES AT THE BOTTOM OF THIS PAGE --> ==Usage== {{Format TemplateData|JSON= { "params": { "1": { "label": "Color", "description": "Background color of the box.", "example": "Gre..."
7652
wikitext
text/x-wiki
{{Documentation subpage}}
{{tsh|Colorbox|Colourbox|Colour box|Color square|Legend3}}
{{For-text|the templates that display text in a colored box|{{tl|Divbox}} or [[Template:Mbox templates see also]]}}
{{Uses TemplateStyles|Template:Legend/styles.css}}
{{High-use}}
<!-- PLEASE ADD CATEGORIES AT THE BOTTOM OF THIS PAGE -->
==Usage==
{{Format TemplateData|JSON=
{
"params": {
"1": {
"label": "Color",
"description": "Background color of the box.",
"example": "Green",
"type": "string",
"required": true,
"suggested": true
},
"2": {
"label": "Text",
"description": "Adds text inside the box; box is otherwise an empty square.",
"example": "Hello, world!",
"type": "string",
"suggested": true
},
"3": {
"label": "Text color",
"description": "Sets the color of the text inside the box.",
"example": "Yellow",
"type": "string",
"suggested": true,
"default": "Either black or white; whichever has greater contrast."
},
"border": {
"label": "Border color",
"description": "Sets the color of the border around the box.",
"example": "#FF0",
"type": "string",
"default": "black"
}
},
"description": "<noexport><code>{{color box|''color''|''text''|''text color''}}</code><br></noexport>Adds a rectangular color box. <ul><li>Colors are most commonly specified as either a color keyword or as the [[Web colors#Hex triplet|hexadecimal triplet]] representing an RGB combination. See the article [[web colors]] for details.</li><li>If specified, the text is centered within the box.</li></ul>",
"format": "inline"
} }}
{| class="wikitable"
|+ '''Examples'''
|-
! Visual effect !! Markup
|-
| {{color box|Green}} || <code><nowiki>{{color box|Green}}</nowiki></code>
|-
| {{color box|Yellow|Default color for this text}} || <code><nowiki>{{color box|Yellow|Default color for this text}}</nowiki></code>
|-
| {{color box|Blue|Default color for this text}} || <code><nowiki>{{color box|Blue|Default color for this text}}</nowiki></code>
|-
| {{color box|SteelBlue|'''Using X11 color names'''|Gold}} || <code><nowiki>{{color box|SteelBlue|'''</nowiki>Using [[X11 color names]]<nowiki>'''|Gold}}</nowiki></code>
|-
| {{color box|#012345|''Using RGB hex triplets''|#FEDCBA}} || <code><nowiki>{{color box|#012345|''</nowiki>Using [[Web colors#Hex triplet|RGB hex triplet]]<nowiki>''|#FEDCBA}}</nowiki></code>
|-
| {{color box|Yellow|Red|#f00|border=#f00}} || <code><nowiki>{{color box|Yellow|Red|#f00|border=#f00}}</nowiki></code>
|-
| {{color box|white|bordercolor like wikitable|border=#A2A9B1}} || <code><nowiki>{{color box|white|bordercolor like wikitable|border=#A2A9B1}} </nowiki></code>
|}
== Variants ==
{{Color box templates}}
== Supporting template ==
* {{tl|Greater color contrast ratio}}
== See also ==
* {{tl|Infobox color}}, an infobox for the detailed description of a color.
* {{tl|Legend}}
<includeonly>{{Sandbox other|
| <!-- CATEGORIES BELOW THIS LINE, PLEASE: -->
[[Category:Color templates]]
[[Category:Box templates]]
}}</includeonly>
08kb99a8jfgouhpc9b81gstqbrvqro9
ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:Colourbox
10
2494
7653
2026-06-17T13:19:05Z
Saimawnkham
28
Redirected page to [[ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:Color box]]
7653
wikitext
text/x-wiki
#REDIRECT [[ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:Color box]]
fdnhngihl6v4rmcldyfeuy2jfj69gzn
ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:Colour box
10
2495
7654
2026-06-17T13:19:07Z
Saimawnkham
28
Redirected page to [[ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:Color box]]
7654
wikitext
text/x-wiki
#REDIRECT [[ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:Color box]]
fdnhngihl6v4rmcldyfeuy2jfj69gzn
ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:Color square
10
2496
7655
2026-06-17T13:19:09Z
Saimawnkham
28
Redirected page to [[ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:Color box]]
7655
wikitext
text/x-wiki
#REDIRECT [[ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:Color box]]
fdnhngihl6v4rmcldyfeuy2jfj69gzn
ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:Legend3
10
2497
7656
2026-06-17T13:19:11Z
Saimawnkham
28
Redirected page to [[ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:Color box]]
7656
wikitext
text/x-wiki
#REDIRECT [[ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:Color box]]
fdnhngihl6v4rmcldyfeuy2jfj69gzn
ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:Color box templates
10
2498
7657
2026-06-17T13:20:05Z
Saimawnkham
28
Created page with "{|class="wikitable" |+ Color box templates {{VTE|1=Color box templates}} ! scope="col" | Template ! scope="col" | Description ! scope="col" | Example |- ! scope="row" | {{tl|Color box}} | Color box size with black borders and text color. Standard size. | {{Color box|orange}} or {{Color box|orange|ORANGE|white}} |- ! scope="row" | {{tl|Color box striped}} | Striped color box. Standard size. | {{Color box striped|orange}} |- ! scope="row" | {{tl|RouteBox}} | Borderless col..."
7657
wikitext
text/x-wiki
{|class="wikitable"
|+ Color box templates {{VTE|1=Color box templates}}
! scope="col" | Template
! scope="col" | Description
! scope="col" | Example
|-
! scope="row" | {{tl|Color box}}
| Color box size with black borders and text color. Standard size.
| {{Color box|orange}} or {{Color box|orange|ORANGE|white}}
|-
! scope="row" | {{tl|Color box striped}}
| Striped color box. Standard size.
| {{Color box striped|orange}}
|-
! scope="row" | {{tl|RouteBox}}
| Borderless color box with text color and [[wikilink]]s.
| {{RouteBox|ORANGE|Orange (colour|orange|white}}
|-
! scope="row" | {{tl|Colorbull}}
| Colored bullet with [[wikilink]]s.
| {{colorbull|orange}}
|-
! scope="row" | {{tl|Legend inline}}
| Color box size with black borders. Standard size.
| {{Legend inline|orange}}
|-
! scope="row" | {{tl|Color sample}}
| Color box size with black borders. Smaller size.
| {{Color sample|orange}}
|-
! scope="row" | {{tl|Swatch inline}}
|
| {{Swatch inline|orange|orange}}
|-
! scope="row" | {{tl|Background color}}
|
| {{Background color|orange|orange}}
|-
! scope="row" | {{tl|Rail color box}}
| A version with more display options. Part of [[Module:Adjacent stations]]
| {{Rail color box|Taipei Metro|O|ldot}}, {{Rail color box|San Diego Trolley|Orange|xroute}}
|-
! scope="row" | {{tl|Diagonal split color box}}
| Color box split diagonally. Standard size.
| {{Diagonal split color box|LightGray|Orange|font-size=0.6em}}
|}<noinclude>
[[Category:Color templates]]
[[Category:Box templates]]
</noinclude>
p10hymxkuh2yl495rtxxp7drc1ql978
ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:Color box striped
10
2499
7658
2026-06-17T13:20:49Z
Saimawnkham
28
Created page with "<templatestyles src="Legend/styles.css" /><span class="legend-color" style="background:repeating-linear-gradient({{{degrees|-45}}}deg, {{{1|}}} 0 {{#expr:2^{{{stripe|1}}}}}px, {{#if:{{{2|}}}|{{{2}}}|white}} 0 {{#expr:2*2^{{{stripe|1}}}}}px); border:1px solid {{{border|#000000}}}; text-align:center; color:{{#if:{{{4|}}}|{{{4}}}|{{greater color contrast ratio|{{{1|}}}{{#if:{{{2|}}}|{{!}}{{{2}}}|{{!}}white}}|black|white}}}};"> {{#if:{{{3|}}}| {{{3}}} | ..."
7658
wikitext
text/x-wiki
<templatestyles src="Legend/styles.css" /><span class="legend-color" style="background:repeating-linear-gradient({{{degrees|-45}}}deg, {{{1|}}} 0 {{#expr:2^{{{stripe|1}}}}}px, {{#if:{{{2|}}}|{{{2}}}|white}} 0 {{#expr:2*2^{{{stripe|1}}}}}px); border:1px solid {{{border|#000000}}}; text-align:center; color:{{#if:{{{4|}}}|{{{4}}}|{{greater color contrast ratio|{{{1|}}}{{#if:{{{2|}}}|{{!}}{{{2}}}|{{!}}white}}|black|white}}}};"> {{#if:{{{3|}}}| {{{3}}} | }}</span><noinclude>
{{documentation}}
</noinclude>
j8cd71v2xslswcnt1yop2zv7k40mncy
ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:Color box striped/doc
10
2500
7659
2026-06-17T13:21:14Z
Saimawnkham
28
Created page with "{{Documentation subpage}} {{For-text|the templates that display text in a colored box|{{tl|Divbox}} or [[Template:Mbox templates see also]]}} <!-- PLEASE ADD CATEGORIES AT THE BOTTOM OF THIS PAGE --> ==Usage== {{Format TemplateData|JSON= { "params": { "1": { "label": "Color", "description": "Background color of the box.", "example": "Green", "type": "string", "required": true, "suggested": true }, "2": { "label": "Stripe color", "descripti..."
7659
wikitext
text/x-wiki
{{Documentation subpage}}
{{For-text|the templates that display text in a colored box|{{tl|Divbox}} or [[Template:Mbox templates see also]]}}
<!-- PLEASE ADD CATEGORIES AT THE BOTTOM OF THIS PAGE -->
==Usage==
{{Format TemplateData|JSON=
{
"params": {
"1": {
"label": "Color",
"description": "Background color of the box.",
"example": "Green",
"type": "string",
"required": true,
"suggested": true
},
"2": {
"label": "Stripe color",
"description": "Stripe color of the box",
"example": "blue",
"type": "string",
"required": false,
"suggested": true,"default":"white"
},
"3": {
"label": "Text",
"description": "Sets the text",
"example": "Loren ipsum",
"type": "string"
}, "4": {
"label": "Text color",
"description": "Sets the text color",
"example": "red",
"type": "string",
"default": "Either black or white or background color or stripe color if exists; whichever has greater contrast."
}, "stripe": {
"label": "Stripe width",
"description": "Sets the width of the stripe.",
"example": "2",
"type": "number",
"default": "1"
},"border": {
"label": "Border color",
"description": "Sets the color of the border around the box.",
"example": "#FF0",
"type": "string",
"default": "black"
},"degrees": { "label": "Stripe degrees",
"description": "Sets the degrees of the stripes.",
"example": "180",
"type": "number",
"default": "-45"}
},
"description": "<noexport><code>{{color box striped|''color''|''stripe color''|''text''|''text color''|''stripe = ''|''border = ''|''degrees = '' }}</code><br></noexport>Adds a rectangular color box striped. <ul><li>Colors are most commonly specified as either a color keyword or as the [[Web colors#Hex triplet|hexadecimal triplet]] representing an RGB combination. See the article [[web colors]] for details.</li><li>If specified, the text is centered within the box.</li></ul>",
"format": "inline"
} }}
{| class="wikitable"
|+ '''Examples'''
|-
! Visual effect !! Markup
|-
| {{color box striped|Green}} || <code><nowiki>{{color box striped|Green}}</nowiki></code>
|-
| {{color box striped|Yellow|Green}} || <code><nowiki> {{color box striped|Yellow|Green}} </nowiki></code>
|-
| {{color box striped|Blue|Green|degrees=180}} || <code><nowiki> {{color box striped|Blue|Green|degrees=180}} </nowiki></code>
|-
| {{color box striped|Blue|Red|striped = 2}} || <code><nowiki> {{color box striped|Blue|Red|striped =2}} </nowiki></code>
|-
| {{color box striped|SteelBlue|Gold|'''Using X11 color names'''}} || <code><nowiki>{{color box striped|SteelBlue|Gold|'''</nowiki>Using [[X11 color names]]<nowiki>'''}}</nowiki></code>
|-
| {{color box striped|#012345 |#FEDCBA |''Using RGB hex triplets''}} || <code><nowiki>{{color box striped|#012345|#FEDCBA|''</nowiki>Using [[Web colors#Hex triplet|RGB hex triplet]]<nowiki>''}}</nowiki></code>
|-
| {{color box striped|Gray|Yellow|Red|#f00|border=#f00}} || <code><nowiki> {{color box striped|Gray|Yellow|Red|#f00|border=#f00}} </nowiki></code>
|-
| {{color box striped|purple||bordercolor like wikitable|border=#A2A9B1}} || <code><nowiki>{{color box striped|purple||bordercolor like wikitable|border=#A2A9B1}} </nowiki></code>
|}
== Variants ==
{{Color box templates}}
== Supporting template ==
* {{tl|Greater color contrast ratio}}
== See also ==
* {{tl|Infobox color}}, an infobox for the detailed description of a color.
* {{tl|Legend}}
<includeonly>{{Sandbox other|
| <!-- CATEGORIES BELOW THIS LINE, PLEASE: -->
[[Category:Color templates]]
[[Category:Box templates]]
}}</includeonly>
6b6c43qohqfzx02ofiijiarulqsz110
ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:RouteBox
10
2501
7660
2026-06-17T13:21:31Z
Saimawnkham
28
Created page with "<span style="background-color:{{{3|black}}}; color:{{{4|white}}}; border:0.1em solid {{{border|{{{3}}}}}};"> {{{{{|safesubst:}}}#if:{{{2|}}}| [[{{{2}}}|<span style="color:{{{4|white}}}; {{{{{|safesubst:}}}#ifeq:{{{bold|}}}|no||font-weight:bold;}} font-size:inherit; white-space:nowrap;">{{{1}}}</span>]] | <span style="color:{{{4|white}}}; {{{{{|safesubst:}}}#ifeq:{{{bold|}}}|no||font-weight:bold;}} font-size:inherit; white-space:nowrap;">{{{1}}}</span> }} </span..."
7660
wikitext
text/x-wiki
<span style="background-color:{{{3|black}}}; color:{{{4|white}}}; border:0.1em solid {{{border|{{{3}}}}}};"> {{{{{|safesubst:}}}#if:{{{2|}}}| [[{{{2}}}|<span style="color:{{{4|white}}}; {{{{{|safesubst:}}}#ifeq:{{{bold|}}}|no||font-weight:bold;}} font-size:inherit; white-space:nowrap;">{{{1}}}</span>]] | <span style="color:{{{4|white}}}; {{{{{|safesubst:}}}#ifeq:{{{bold|}}}|no||font-weight:bold;}} font-size:inherit; white-space:nowrap;">{{{1}}}</span> }} </span><noinclude>{{documentation}}
</noinclude>
n4ijgxcyl65h9zloxfqodtmd87bshrc
ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:RouteBox/doc
10
2502
7661
2026-06-17T13:21:55Z
Saimawnkham
28
Created page with "{{Documentation subpage}} {{High-use}} <!-- Categories and interwikis go at the bottom of this page. --> {{Template shortcut|Rbox}} This template is similar to {{tl|Color box}}, but provides for both [[wikilink]]s and text color and omits the contrasting border. == Usage == <code>{{RouteBox|''text''|''link''|''box color''|''text color''|''border=''|''bold=''}}</code> {| |- | *<code>RouteBox</code> |can be abbreviated to <code><nowiki>{{rbox|…}}</nowiki></co..."
7661
wikitext
text/x-wiki
{{Documentation subpage}}
{{High-use}}
<!-- Categories and interwikis go at the bottom of this page. -->
{{Template shortcut|Rbox}}
This template is similar to {{tl|Color box}}, but provides for both [[wikilink]]s and text color and omits the contrasting border.
== Usage ==
<code>{{RouteBox|''text''|''link''|''box color''|''text color''|''border=''|''bold=''}}</code>
{|
|-
|
*<code>RouteBox</code>
|can be abbreviated to <code><nowiki>{{rbox|…}}</nowiki></code>
|-
|
*<code>''text''</code>
|text (bold) to be displayed in the box
|-
|
*<code>''link''</code>
|any valid wikilink; <code>[[</code> and <code>]]</code> are not required; can be omitted if no link is wanted
|-
|
*<code>''box color''</code>
|background color of the box; default is '''black'''; can be omitted if <code>''text color''</code> is not specified
|-
|
*<code>''text color''</code>
|optional; default is '''white'''
|-
|
*<code>''border=''</code>
|optional; default is '''box color'''
|-
|
*<code>''bold=''</code>
|optional; default is '''yes'''
|}
=== Examples ===
<code><nowiki>{{RouteBox|Line|Line}}</nowiki></code> → {{rbox|Line|Line}}
<code><nowiki>{{rbox|Circle line|Circle line (London Underground)|#{{rcr|London Underground|Circle}}|#{{rcr|London Underground|Piccadilly}}}}</nowiki></code> → {{RouteBox|Circle line|Circle line (London Underground)|#{{rcr|London Underground|Circle}}|#{{rcr|London Underground|Piccadilly}}}}
<code><nowiki>{{RouteBox|Text||bold=no}}</nowiki></code> → {{rbox|Text||bold=no}}
== Variants ==
{{Color box templates}}
== TemplateData ==
{{TemplateData header}}
<templatedata>
{
"params": {
"1": {
"label": "text",
"description": "text (bold by default) to be displayed in the box",
"example": "Circle line",
"type": "string",
"suggested": true
},
"2": {
"label": "link",
"description": "The name of the page to link towards; can be omitted if no link is wanted",
"example": "Circle line (London Underground)",
"type": "wiki-page-name"
},
"3": {
"label": "box color",
"description": "background color of the box; can be omitted if text color is not specified",
"example": "yellow",
"type": "string",
"default": "black",
"suggested": true
},
"4": {
"label": "text color",
"description": "color of the text",
"example": "blue",
"type": "string",
"default": "white"
},
"border": {
"description": "color of the border; enabled by default",
"example": "black",
"type": "string",
"default": "{{{3}}}"
},
"bold": {
"description": "bolds the text; enabled by default",
"example": "no",
"type": "string",
"default": "yes"
}
},
"paramOrder": [
"1",
"2",
"3",
"4",
"border",
"bold"
],
"description": "Adds a colored box with no border.",
"format": "inline"
}
</templatedata>
<includeonly>{{sandbox other||
[[Category:Color templates]]
}}</includeonly>
lsv42umtglp60k6m81uxskmiq5ogq72
ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:Rbox
10
2503
7662
2026-06-17T13:22:06Z
Saimawnkham
28
Redirected page to [[ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:RouteBox]]
7662
wikitext
text/x-wiki
#REDIRECT [[ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:RouteBox]]
hj1vde1q7askya1tz46g20touycorsy
ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:Colorbull
10
2504
7663
2026-06-17T13:22:31Z
Saimawnkham
28
Created page with "{{#if:{{{3|}}}|[[{{{3}}}|<span style="color:{{{1|black}}}; font-size:{{{size|100}}}%; line-height:{{#expr:100/{{{size|100}}}}};" title="{{title case|{{{description|{{{1}}}}}}}}">{{#switch:{{lc:{{{2}}}}} | c|circle|r|round = ● | d|diamond = ◆ | tu|up|uptriangle = ▲ | td|dn|downtriangle = ▼ | tl|lt|lefttriangle = ◀ | tr|rt|righttriangle = ▶ | #default = ■ }}</span>]]|<span style="color:{{{1|black}}}; font-size:{{{size|100}}}%; line-height:{{#exp..."
7663
wikitext
text/x-wiki
{{#if:{{{3|}}}|[[{{{3}}}|<span style="color:{{{1|black}}}; font-size:{{{size|100}}}%; line-height:{{#expr:100/{{{size|100}}}}};" title="{{title case|{{{description|{{{1}}}}}}}}">{{#switch:{{lc:{{{2}}}}}
| c|circle|r|round = ●
| d|diamond = ◆
| tu|up|uptriangle = ▲
| td|dn|downtriangle = ▼
| tl|lt|lefttriangle = ◀
| tr|rt|righttriangle = ▶
| #default = ■
}}</span>]]|<span style="color:{{{1|black}}}; font-size:{{{size|100}}}%; line-height:{{#expr:100/{{{size|100}}}}};" title="{{title case|{{{description|{{{1}}}}}}}}">{{#switch:{{lc:{{{2}}}}}
| c|circle|r|round = ●
| d|diamond = ◆
| tu|up|uptriangle = ▲
| td|dn|downtriangle = ▼
| tl|lt|lefttriangle = ◀
| tr|rt|righttriangle = ▶
| #default = ■
}}</span>}}<noinclude>
{{documentation}}
</noinclude>
bcd163fp9vrzc2imdpoyxg9jl5s6hnp
ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:Colorbull/doc
10
2505
7664
2026-06-17T13:22:52Z
Saimawnkham
28
Created page with "{{Documentation subpage}} {{High-use}} <!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) --> This template inserts a colored bullet, with an optional [[wikilink]]. The bullet’s shape and size can also be changed. == Usage == <code>{{colorbull{{!}}{{var|color}}{{!}}{{var|shape}}{{!}}{{var|wikilink}}{{!}}{{var|size<nowiki>=</nowiki>}}{{!}}{{var|description<nowiki>=</nowiki>}}}}</cod..."
7664
wikitext
text/x-wiki
{{Documentation subpage}}
{{High-use}}
<!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) -->
This template inserts a colored bullet, with an optional [[wikilink]]. The bullet’s shape and size can also be changed.
== Usage ==
<code>{{colorbull{{!}}{{var|color}}{{!}}{{var|shape}}{{!}}{{var|wikilink}}{{!}}{{var|size<nowiki>=</nowiki>}}{{!}}{{var|description<nowiki>=</nowiki>}}}}</code>
*{{var|Colors}} are most commonly specified as either a color keyword or as the hexadecimal triplet representing an RGB combination. See [[web colors]] for details. The default is black.
*{{var|Shape}} is optional; valid arguments are:
::{|class="wikitable"
|-
| c / circle / r / round || ●
|-
| d / diamond || ◆
|-
| tu / up / uptriangle || ▲
|-
| td / dn / downtriangle || ▼
|-
| tl / lt / lefttriangle || ◀
|-
| tr / rt / righttriangle || ▶
|-
| {{var|default}} || ■
|}
* The {{var|wikilink}} parameter is also optional and specifies the article to which the text should point.
* The named parameter {{var|size}} is a number specifying the bullet size as a % of the default style text size. Default is 100.
* The named parameter {{var|description}} replaces the default <code>{{var|color}}</code> tooltip. This is also heard by a screen reader.
=== Examples ===
{| class="wikitable"
|-
! Visual<br/>effect !! Markup
|-
| {{colorbull}} || <code><nowiki>{{colorbull}}</nowiki></code>
|-
| {{colorbull|#039}} || <code><nowiki>{{colorbull|#039}}</nowiki></code>
|-
| {{colorbull|size=50}} || <code><nowiki>{{colorbull|size=50}}</nowiki></code>
|-
| {{colorbull|red|round}} || <code><nowiki>{{colorbull|red|round}}</nowiki></code>
|-
| {{colorbull|green|d}} || <code><nowiki>{{colorbull|green|d}}</nowiki></code>
|-
| {{colorbull||tu|triangle}} || <code><nowiki>{{colorbull||tu|triangle}}</nowiki></code>
|}
== See also ==
{{Color box templates}}
*{{tl|*}} / {{tl|bull}} / {{tl|bullet}}, a simple bullet. (e.g. {{*}})
{{Format TemplateData|TOC=0|JSON=
{
"params": {
"1": {
"label": "Color",
"description": "Most commonly specified as either a color keyword or as the hexadecimal triplet representing an RGB combination. See the article [[web colors]] for details.",
"example": "#f00",
"type": "string",
"default": "black (or standard link color for links)",
"suggested": true
},
"2": {
"label": "Shape",
"description": "“c” or “circle” or “r” or “round” gives ●; “d” or “diamond” gives ◆; “tu” or “up” or “uptriangle” gives ▲; “td” or “dn” or “downtriangle” gives ▼; “tl” or “lt” or “lefttriangle” gives ◀; “tr” or “rt” or “righttriangle” gives ▶; default is ■",
"type": "string",
"suggested": true,
"default": "■"
},
"3": {
"label": "Link target",
"description": "Optionally, a page name to link to.",
"type": "wiki-page-name",
"required": false
},
"size": {
"label": "Size",
"description": "The size of the bullet relative to surrounding text, as a percentage. Omit the % sign.",
"example": "80",
"type": "number",
"default": "The same size as surrounding text (100)",
"required": false
},
"description": {
"label": "Description",
"description": "When hovered over, this is also heard by a screen reader. This optional parameter can be used to change the default to something more user-friendly.",
"example": "dark blue",
"type": "string",
"default": "the value used for color as a tooltip",
"required": false
}
},
"paramOrder": [
"1",
"2",
"3",
"size",
"description"
],
"description": " ",
"format": "inline"
} }}
<includeonly>{{Sandbox other||
<!-- Categories below this line, please; interwikis at Wikidata -->
[[Category:Color templates]]
}}</includeonly>
2qlfdhwz2umrq86cybf1mcixvjr0y4s
ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:Rail color box
10
2506
7665
2026-06-17T13:23:14Z
Saimawnkham
28
Created page with "<includeonly>{{#invoke:Adjacent stations|box}}</includeonly><noinclude> {{documentation}} </noinclude>"
7665
wikitext
text/x-wiki
<includeonly>{{#invoke:Adjacent stations|box}}</includeonly><noinclude>
{{documentation}}
</noinclude>
0z5wsspuhn41s44huksyg8mmcifp924
ᥗᥦᥛᥰ ᥙᥣ ᥘᥥᥐᥳ:Rail color box/doc
10
2507
7666
2026-06-17T13:23:52Z
Saimawnkham
28
Created page with "{{Documentation subpage}} {{High-use}} {{Accessibility dispute|date=October 2024|talk=Accessibility issues created by the Rail color box template}} {{Sidebar Adjacent stations}} {{Template shortcut|rcb}} {{Lua|Module:Adjacent stations}} '''Template:Rail color box''' is intended to be used within station and line infoboxes, diagrams, navboxes and tables to show a small color box and a link to the associated line or service name. Its use should be avoided within body text..."
7666
wikitext
text/x-wiki
{{Documentation subpage}}
{{High-use}}
{{Accessibility dispute|date=October 2024|talk=Accessibility issues created by the Rail color box template}}
{{Sidebar Adjacent stations}}
{{Template shortcut|rcb}}
{{Lua|Module:Adjacent stations}}
'''Template:Rail color box''' is intended to be used within station and line infoboxes, diagrams, navboxes and tables to show a small color box and a link to the associated line or service name. Its use should be avoided within body text.
== Usage ==
* {{tlx|Rail color box|system{{=}}|line{{=}}|inline{{=}}|type{{=}}|note{{=}}}}
== Parameters ==
{| class="wikitable"
|+ Template parameters
|-
! scope="col" | Parameter
! scope="col" | Description
|-
! scope="row" | <code>system</code> or <code>1</code>
| An identifier to specify which system's color and line article name convention should be used. Either <code>Module:Adjacent stations/<var>system</var></code> or <code>Template:<var>system</var> color</code> ''must'' exist, e.g. [[Template:RE-BB color]] or [[Module:Adjacent stations/Taipei Metro]]
|-
! scope="row" | <code>line</code> or <code>2</code>
| The line or service to be linked.
|-
! scope="row" | <code>inline</code> or <code>3</code>
| An optional parameter to create a color box and link suitable for use inline with other text:
{| class="wikitable" style="margin-left:1em"
|-
! scope="col" | Value
! scope="col" | Description
! scope="col" | Example
! scope="col" | Example
|-
! scope="row" | {{Kbd|yes}}
| Inline color box with link
| {{Rail color box|RTD|C|yes}}
| {{Rail color box|Washington Metro|Green|yes}}
|-
! scope="row" | {{Kbd|small}}
| Line strip with link
| {{Rail color box|RTD|C|small}}
| {{Rail color box|Washington Metro|Green|small}}
|-
! scope="row" | {{Kbd|dot}}
| Small circle with link
| {{Rail color box|RTD|C|dot}}
| {{Rail color box|Washington Metro|Green|dot}}
|-
! scope="row" | {{Kbd|square}}
| Small square with link
| {{Rail color box|RTD|C|square}}
| {{Rail color box|Washington Metro|Green|square}}
|-
! scope="row" | {{Kbd|link}}
| Linked box
| {{Rail color box|RTD|C|link}}
| {{Rail color box|Washington Metro|Green|link}}
|-
! scope="row" | {{Kbd|ldot}}
| Linked small circle
| {{Rail color box|RTD|C|ldot}}
| {{Rail color box|Washington Metro|Green|ldot}}
|-
! scope="row" | {{Kbd|lsquare}}
| Linked small square
| {{Rail color box|RTD|C|lsquare}}
| {{Rail color box|Washington Metro|Green|lsquare}}
|-
! scope="row" | {{Kbd|box}}
| Box with link omitted.
| {{Rail color box|RTD|C|box}}
| {{Rail color box|Washington Metro|Green|box}}
|-
! scope="row" | {{Kbd|route}}
| Box with text
| {{Rail color box|RTD|C|route}}
| {{Rail color box|Washington Metro|Green|route}}
|-
! scope="row" | {{Kbd|broute}}
| Bordered box with text
| {{Rail color box|RTD|C|broute}}
| {{Rail color box|Washington Metro|Green|broute}}
|-
! scope="row" | {{Kbd|croute}}
| Box with text and border radius
| {{Rail color box|RTD|C|croute}}
| {{Rail color box|Washington Metro|Green|croute}}
|-
! scope="row" | {{Kbd|xroute}}
| Transparent box with text and border radius
| {{Rail color box|RTD|C|xroute}}
| {{Rail color box|Washington Metro|Green|xroute}}
|}
|-
! scope="row" | <code>type</code>
| This adds " – <var>type</var>" to the end, where <var>type</var> is the parameter value (which may be changed by a module subpage), and also passes the value to the data template or module. Typically a service or branch of the line.
|-
! scope="row" | <code>note</code>
| An optional note with more information added at the end.
|}
For systems where multiple colors are used to designate different lines, the appropriate color will be selected based on the combination of the system and line parameters. The same is done for systems where types or services have their own colors. Some options, such as setting the text color, border color, and the short name for the latter three, require the use of a module subpage. Each line can have its own values, as can each type. The table keys for line and type tables are the same: <code>["border color"]</code>, <code>["text color"]</code> and <code>["short name"]</code>. Note that the <code>["background color"]</code> key is not used by this template.
===TemplateData===
{{Collapse top|title=[[Wikipedia:TemplateData|TemplateData]] documentation used by [[Wikipedia:VisualEditor|VisualEditor]] and other tools}}
{{TemplateData header|noheader=1}}
<templatedata>
{
"params": {
"1": {
"aliases": [
"system"
],
"label": "System",
"type": "string",
"required": true,
"suggested": true
},
"2": {
"aliases": [
"line"
],
"label": "Line",
"type": "string",
"suggested": true
},
"3": {
"aliases": [
"inline"
],
"label": "Inline display type",
"type": "string",
"suggested": true
},
"note": {
"type": "string",
"label": "Note"
},
"type": {
"label": "Type (branch/service)",
"type": "string"
}
},
"description": "Template which generates colored boxes to indicate rail lines, optionally with a link to the line's article.",
"paramOrder": [
"1",
"2",
"3",
"type",
"note"
],
"format": "inline"
}
</templatedata>
{{Collapse bottom}}
== Examples ==
* {{tlx|Rail color box|system{{=}}Amtrak|line{{=}}Southwest Chief}} and {{tlx|Rail color box|Amtrak|Southwest Chief}} produce {{Rail color box|Amtrak|Southwest Chief}}.
* {{tlx|Rail color box|SEPTA|Wilmington/Newark|note{{=}}(rush hour service only)}} produces {{Rail color box|SEPTA|Wilmington/Newark|note=(rush hour service only)}}.
== System abbreviations ==
Lists of available systems are at [[:Category:Rail transport color templates]] and [[Special:PrefixIndex/Module:Adjacent stations/]].
{| class="wikitable sortable mw-collapsible"
! scope="col" | Abbreviation
! scope="col" | System
|-
! scope="row" | AMT
| [[Agence métropolitaine de transport]]
|-
! scope="row" | BART
| [[Bay Area Rapid Transit]]
|-
! scope="row" | CTA
| [[Chicago Transit Authority]]
|-
! scope="row" | DART
| [[Dallas Area Rapid Transit]]
|-
! scope="row" | HBLR
| [[Hudson–Bergen Light Rail]]
|-
! scope="row" | KAT
| [[Kenosha Transit]]
|-
! scope="row" | LACMTA
| [[Los Angeles Metro Rail]]
|-
! scope="row" | LIRR
| [[Long Island Rail Road]]
|-
! scope="row" | MARC
| [[MARC Train]]
|-
! scope="row" | MARTA
| [[Metropolitan Atlanta Rapid Transit Authority]]
|-
! scope="row" | MBTA
| [[MBTA Commuter Rail]]
|-
! scope="row" | METROMN
| [[Metro (Minnesota)]]
|-
! scope="row" | MNRR
| [[Metro-North Railroad]]
|-
! scope="row" | MUNI
| [[Muni Metro]]
|-
! scope="row" | NJT
| [[NJ Transit]]
|-
! scope="row" | NMRX
| [[New Mexico Rail Runner Express]]
|-
! scope="row" | NYCRR
| [[New York Central Railroad]]
|-
! scope="row" | PATCO
| [[Port Authority Transit Corporation]]
|-
! scope="row" | PATH
| [[Port Authority Trans-Hudson]]
|-
! scope="row" | PLR
| [[Pittsburgh Light Rail]]
|-
! scope="row" | RIRTR
| [[Rochester Subway]]
|-
! scope="row" | RTD
| [[Denver]] [[Regional Transportation District]]
|-
! scope="row" | SCAX
| [[Metrolink (California)]]
|-
! scope="row" | SCVTA
| [[VTA light rail|Santa Clara Valley Transportation Authority light rail]]
|-
! scope="row" | SEPTA
| [[SEPTA|Southeastern Pennsylvania Transportation Authority]]
|-
! scope="row" | SFRTA
| [[Tri-Rail]]
|-
! scope="row" | STLLR
| [[Link light rail|Sound Transit Link light rail]]
|-
! scope="row" | SNDX
| [[Sounder commuter rail]]
|-
! scope="row" | STML
| [[St Louis MetroLink]]
|-
! scope="row" | TMTC
| [[MAX Light Rail]]
|-
! scope="row" | VMR
| [[Valley Metro Rail]]
|-
! scope="row" | VREX
| [[Virginia Railway Express]]
|-
! scope="row" | WMATA
| [[Washington Metropolitan Area Transit Authority]]
|}
== Variants ==
{{Color box templates}}
<includeonly>{{Sandbox other||
[[Category:Rail transport templates]]
}}</includeonly>
4p9xlei8szsxh78vx5c6d4c1l0yrn4w
ᥛᥨᥝᥱ ᥓᥧᥰ:Adjacent stations
828
2508
7667
2026-06-17T13:24:14Z
Saimawnkham
28
Created page with "require('strict') local p = {} local lang = 'en-GB' -- local default language -- Below these comments: Internationalization table -- How to translate this module (for languages without variants): -- • Characters inside single and double quotation marks are called strings. -- The strings in this i18n table are used as output. -- • Strings within square brackets are keys. -- • Strings are concatenated (joined) with two dots. -- • Set the string after «local l..."
7667
Scribunto
text/plain
require('strict')
local p = {}
local lang = 'en-GB' -- local default language
-- Below these comments: Internationalization table
-- How to translate this module (for languages without variants):
-- • Characters inside single and double quotation marks are called strings.
-- The strings in this i18n table are used as output.
-- • Strings within square brackets are keys.
-- • Strings are concatenated (joined) with two dots.
-- • Set the string after «local lang =» to your language's code.
-- Change the first key after "i18n" (usually "en-GB") to the same thing.
-- • For each string which is not inside a function, translate it directly.
-- • Strings with keys named "format" are Lua regular expressions.
-- «()» is a match; «.+» means all characters; «%s+» means all spaces.
-- • For each string which is concatenated to the variable «var»,
-- translate the phrase assuming that «var» will be a noun.
-- • Remove any unnecessary translations.
local i18n = require("Module:Adjacent stations/i18n")
local function getData(system, verify)
if verify then
local title = mw.title.new('Module:Adjacent stations/' .. system -- .. '/sandbox'
)
if not (title and title.exists) then return nil end
end
return require('Module:Adjacent stations/' .. system -- .. '/sandbox'
)
end
local function getLine(data, lineN)
if lineN then
if data['aliases'] then
lineN = data['aliases'][mw.ustring.lower(lineN)] or lineN
end
local default = data['lines']['_default'] or {}
local line = data['lines'][lineN] or {}
for k, v in pairs(default) do
if v then line[k] = line[k] or v end
end
line['title'] = line['title'] and mw.ustring.gsub(line['title'], '%%1', lineN)
return line, lineN
end
end
local function getColor(data, system, line, Type, frame)
if system then
if line then return frame:expandTemplate{ title = system .. ' color', args = {line, ['branch'] = Type} } end
return frame:expandTemplate{ title = system .. ' color' }
else
line = (getLine(data, line))
local default = data['lines']['_default']
if line or default then
default = default or {}
if not line then line = mw.clone(default) end
local color = line['color'] or line['background color'] or default['color'] or default['background color'] or data['system color']
local Type_value = Type and line['types'] and (line['types'][Type] and line['types'][Type]['color'])
if Type_value then color = Type_value end
return color
end
return (default and (default['color'] or default['background color']) or data['system color'] or '')
end
end
local lineN, typeN
local function somethingMissing(name, key, formats)
local formatKeys = {}
for k in pairs(formats) do
table.insert(formatKeys, k)
end
return name .. ' was "' .. key .. '" but neither an entry for it nor a default was found. Choices were: ' .. table.concat(formatKeys, ', ')
end
local function getStation(station, _Format)
if type(_Format) == 'table' then
local lineNformats = _Format
_Format = lineNformats[lineN] or lineNformats[1]
if not _Format then
error(somethingMissing('lineN', lineN, lineNformats))
elseif type(_Format) == 'table' then
local typeNformats = _Format
_Format = typeNformats[typeN] or typeNformats[1]
if not _Format then
error(somethingMissing('typeN', typeN, typeNformats))
end
end
end
if typeN then _Format = mw.ustring.gsub(_Format, '%%3', typeN) end
if lineN then _Format = mw.ustring.gsub(_Format, '%%2', lineN) end
return (mw.ustring.match(_Format, '%[%[.+%]%]')) and (mw.ustring.gsub(_Format, '%%1', station)) or table.concat({'[[', mw.ustring.gsub(_Format, '%%1', station), '|', station, ']]'})
end
local function getTerminusText(var, Format)
local function subst(var1, var2)
-- var1 is the terminus or table of termini; var2 is the key for the table of termini
return type(var1) == 'string' and getStation(var1, (Format[var1] or Format[1]))
or type(var1) == 'table' and #var1 > 0 and getStation(var1[var2], (Format[var1[var2]] or Format[1]))
or ''
end
if Format then
if type(var) == 'string' then
return subst(var)
elseif type(var) == 'table' and #var > 0 then
local t = {subst(var, 1)}
for i = 2, #var - 1 do
t[i] = i18n[lang]['comma'](subst(var, i))
end
if #var > 1 then t[#var] = i18n[lang]['or'](subst(var, #var)) end
if var['via'] then
if i18n[lang]['via-first'] then
table.insert(t, 1, i18n[lang]['via'](subst(var, 'via')))
else
table.insert(t, i18n[lang]['via'](subst(var, 'via')))
end
end
return table.concat(t)
else
return ''
end
else
return var or ''
end
end
function p._main(_args) -- Arguments are processed here instead of the main function
local yesno = require('Module:Yesno')
local trimq = require('Module:Trim quotes')._trim
local boolean = {
['oneway-left'] = true,
['oneway-right'] = true,
['reverse'] = true,
['reverse-left'] = true,
['reverse-right'] = true
}
local args = {} -- Processed arguments
local index = {} -- A list of addresses corresponding to number suffixes in the arguments
for k, v in pairs(_args) do -- Maps each raw argument to processed arguments by string matching
_args[k] = v:match('^%s*(.-)%s*$')
if _args[k] and _args[k] ~= '' then
local a = mw.ustring.match(k, '^(.*%D)%d+$') or k -- The parameter; address 1 can be omitted
local b = tonumber(mw.ustring.match(k, '^.*%D(%d+)$')) or 1 -- The address for a given argument; address 1 can be omitted
if boolean[a] then
v = yesno(v)
end
if not args[b] then
args[b] = {[a] = v}
table.insert(index, b)
elseif args[b][a] then
return error(i18n[lang]['error_duplicate'](a .. b))
else
args[b][a] = v
end
end
end
table.sort(index)
local function small(s, italic)
return italic and '<div class="isA">' .. s .. '</div>'
or '<div class="smA">' .. s .. '</div>'
end
local style = { -- Style for each cell type
['header cell'] = 'class="hcA"|',
['header midcell'] = 'colspan="3" class="hmA"|',
['body cell'] = 'class="bcA"|',
['body banner'] = 'class="bbA notheme" style="color:inherit;background-color:#',
}
local function rgb(var)
if var:len() == 3 then
return {tonumber(var:sub(1, 1), 16) * 17, tonumber(var:sub(2, 2), 16) * 17, tonumber(var:sub(2, 2), 16) * 17}
elseif var:len() == 6 then
return {tonumber(var:sub(1, 2), 16), tonumber(var:sub(3, 4), 16), tonumber(var:sub(5, 6), 16)}
end
return {}
end
local data = {} -- A table of data modules for each address
local noclearclass = (((_args.noclear or '') ~= '') and ' adjacent-stations-noclear' or '')
local wikitable = {'{| class="wikitable adjacent-stations' .. noclearclass .. '"'}
for i, v in ipairs(index) do
-- If an address has a system argument, indexes the data module
data[v] = args[v]['system'] and getData(args[v]['system'])
-- If an address has no system, the row uses data from the previous address
or data[index[i - 1]]
or (args[v]['header'] and getData(args[index[i+1]]['system']))
or error(i18n[lang]['error_unknown'](args[v]['system']))
local lang = data[v]['lang'] or lang
if args[v]['system'] and not args[v]['hide-system'] then -- Header row
local stop_noun = data[v]['header stop noun'] or i18n[lang]['stop_noun']
table.insert(wikitable, table.concat({'\n|-',
'\n! scope="col" ', style['header cell'], i18n[lang]['preceding'](stop_noun),
'\n! scope="col" ', style['header midcell'], (data[v]['system icon'] and data[v]['system icon'] .. ' ' or ''), (data[v]['system title'] or ('[['.. args[v]['system'] ..']]')),
'\n! scope="col" ', style['header cell'], i18n[lang]['following'](stop_noun)
}))
table.insert(wikitable, '')
table.insert(wikitable, '')
table.insert(wikitable, '')
end
if args[v]['header'] then -- Subheader
table.insert(wikitable, '\n|-\n!colspan="5" class="hmA"|'.. args[v]['header'])
table.insert(wikitable, '')
table.insert(wikitable, '')
table.insert(wikitable, '')
end
if args[v]['line'] or args[v]['left'] or args[v]['right'] or args[v]['nonstop'] then
if not args[v]['line'] and i > 1 and not args[v]['system'] then
args[v]['line'] = args[index[i - 1]]['line']
end
lineN = args[v]['line'] or '_default'
typeN = args[v]['type']
if data[v]['aliases'] then
lineN = data[v]['aliases'][mw.ustring.lower(lineN)] or lineN
if typeN then typeN = data[v]['aliases'][mw.ustring.lower(typeN)] or typeN end
end
-- get the line table
local line = data[v]['lines'] and (mw.clone(data[v]['lines'][lineN]) or error(i18n[lang]['error_unknown'](args[v]['line']))) or error(i18n[lang]['error_line'])
local default = data[v]['lines']['_default'] or {}
line['title'] = line['title'] or default['title'] or ''
line['title'] = mw.ustring.gsub(line['title'], '%%1', lineN)
-- cell across row for non-stop service
if args[v]['nonstop'] then
table.insert(wikitable,
table.concat({'\n|-\n|colspan="5" ',
style['body cell'],
((args[v]['nonstop'] == 'former') and i18n[lang]['nonstop_past'] or i18n[lang]['nonstop_present'])(p._box({data = data[v], line = lineN, Type = typeN, inline = 'yes'}))
})
)
table.insert(wikitable, '')
table.insert(wikitable, '')
table.insert(wikitable, '')
else
local Format = data[v]['station format'] or i18n[lang]['error_format']
local color, color_2, background_color, circular
local Type = line['types'] and line['types'][typeN] -- get the line type table
if Type then
if Type['color'] then
-- line color is used as background if there is no background color in the line type table
background_color = Type['background color'] or line['color']
color = Type['color']
color_2 = Type['color2'] or color
else
background_color = Type['background color'] or line['background color']
color = line['color'] or default['color'] or ''
color_2 = line['color2'] or color
end
if Type['circular'] then
-- Type may override the circular status of the line
circular = Type['circular']
end
else
background_color = line['background color']
color = line['color'] or default['color'] or ''
color_2 = line['color2'] or color
circular = line['circular']
end
-- Alternate termini can be specified based on type
local sideCell = {true, true}
for i, b in ipairs({'left', 'right'}) do
if not args[v][b] then -- If no station is given on one side, the station is assumed to be the terminus on that side
local _through = args[v]['through-' .. b] or args[v]['through']
local _through_data = getLine(data[v], _through)
if _through_data then _through = _through_data['title'] or _through end
sideCell[i] = _through and "''" .. i18n[lang]['through'](trimq(_through)) .. "''"
or "''" .. trimq((args[v]['reverse-' .. b]
or args[v]['reverse']) and i18n[lang]['reverse']
or i18n[lang]['terminus']) .. "''"
else
local terminusT
local terminusN = Type and Type[b .. ' terminus'] or line[b .. ' terminus']
-- If the terminus table has more than one numbered key or has the via key then the table shows only the default termini, since terminusN[2] cannot be used and terminusN[via] is reserved
if type(terminusN) == 'string' or (type(terminusN) == 'table' and (terminusN[2] or terminusN['via'])) then
if args[v]['to-' .. b] then
terminusT = args[v]['to-' .. b]
local _or = mw.ustring.match(terminusT, i18n[lang]['or-format'])
if _or then
terminusT = mw.ustring.gsub(terminusT, i18n[lang]['or-format'], '\127_OR_\127')
terminusT = mw.ustring.gsub(terminusT, i18n[lang]['comma-format'], '\127_OR_\127')
end
local _via = (mw.ustring.match(terminusT, i18n[lang]['via-format']))
if _via then
terminusT = mw.ustring.gsub(terminusT, i18n[lang]['via-format'], '')
terminusT = mw.text.split(terminusT, '\127_OR_\127')
terminusT['via'] = _via
elseif _or then
terminusT = mw.text.split(terminusT, '\127_OR_\127')
end
else
terminusT = terminusN
end
elseif type(terminusN) == 'table' then
terminusT = terminusN[args[v]['to-' .. b]] or terminusN[args[v]['to']] or terminusN[1]
end
local mainText = args[v]['note-' .. b] and getTerminusText(args[v][b], Format) .. small(args[v]['note-' .. b]) or getTerminusText(args[v][b], Format)
local subText = (args[v]['oneway-' .. b] or line['oneway-' .. b]) and i18n[lang]['oneway']
or args[v][b] == terminusT and i18n[lang]['terminus']
or circular and terminusT
or i18n[lang]['towards'](getTerminusText(terminusT, Format))
subText = small(subText, true)
sideCell[i] = mainText .. subText
end
end
table.insert(wikitable, '\n|-')
table.insert(wikitable, '\n|' .. style['body cell'] .. sideCell[1])
table.insert(wikitable, table.concat({'\n|', style['body banner'], color, '"|',
'\n|', (background_color and 'class="bcA" style="background-color:rgba(' .. table.concat(rgb(background_color), ',') .. ',.2)"|' or style['body cell']), line['title'],
-- Type; table key 'types' in subpages (datatype table, with strings as keys). If table does not exist then the input is displayed as the text
(typeN and '<div>' .. (Type and Type['title'] or typeN) .. '</div>' or ''),
-- Note-mid; table key 'note-mid' in subpages. Overridden by user input
((args[v]['note-mid'] and small(args[v]['note-mid'])) or (Type and Type['note-mid'] and small(Type['note-mid'])) or (line['note-mid'] and small(line['note-mid'])) or ''),
-- Transfer; uses system's station link table
(args[v]['transfer'] and small('transfer at ' .. getTerminusText(args[v]['transfer'], Format), true) or ''),
'\n|', style['body banner'], color_2, '"|'}))
table.insert(wikitable, '\n|' .. style['body cell'] .. sideCell[2])
end
end
if args[v]['note-row'] then -- Note
if args[v]['note-row']:match('^%s*<tr') or args[v]['note-row']:match('^%s*%|%-') then
table.insert(wikitable, '\n' .. args[v]['note-row'])
else
table.insert(wikitable, '\n|-\n|colspan="5" ' .. style['body cell'] .. args[v]['note-row'])
end
table.insert(wikitable, '')
table.insert(wikitable, '')
table.insert(wikitable, '')
end
end
local function combine(t, n)
if t[n + 4] ~= '' and t[n + 4] == t[n] then
t[n + 4] = '' -- The cell in the next row is deleted
local rowspan = 2
while t[n + rowspan * 4] == t[n] do
t[n + rowspan * 4] = ''
rowspan = rowspan + 1
end
t[n] = mw.ustring.gsub(t[n], '\n|class="', '\n|rowspan="' .. rowspan .. '" class="')
end
end
local M = #wikitable
for i = 3, M, 4 do combine(wikitable, i) end
for i = 4, M, 4 do combine(wikitable, i) end
for i = 5, M, 4 do combine(wikitable, i) end
table.insert(wikitable, '\n|}')
return table.concat(wikitable)
end
local getArgs = require('Module:Arguments').getArgs
local function makeInvokeFunction(funcName)
-- makes a function that can be returned from #invoke, using
-- [[Module:Arguments]]
return function (frame)
local args = getArgs(frame, {parentOnly = true})
return p[funcName](args, frame)
end
end
local function makeTemplateFunction(funcName)
-- makes a function that can be returned from #invoke, using
-- [[Module:Arguments]]
return function (frame)
local args = getArgs(frame, {frameOnly = true})
return p[funcName](args, frame)
end
end
p.main = makeInvokeFunction('_main')
function p._color(args, frame)
local data = args.data
if args[1] or data then
data = data or getData(args[1], true)
if not data then return getColor(nil, args[1], args[2], args[3], frame) end
return getColor(data, nil, args[2], args[3])
end
end
p.color = makeInvokeFunction('_color')
function p._box(args, frame)
local system = args[1] or args.system
lineN = args[2] or args.line
if not (system or lineN) then return '' end
local line, Type, line_data
local inline = args[3] or args.inline
typeN = args.type
local data = args.data
if system or data then
data = data or getData(system, true)
local color
if data then
local default = data['lines']['_default'] or {}
line, lineN = getLine(data, lineN)
if typeN then
typeN = data['aliases'] and data['aliases'][mw.ustring.lower(typeN)] or typeN
Type = line['types'] and line['types'][typeN] and line['types'][typeN]['title'] or typeN
end
color = getColor(data, nil, lineN, typeN)
if inline ~= 'box' then
line_data = line or error(i18n[lang]['error_unknown'](lineN))
line = line_data['title'] or default['title'] or error(i18n[lang]['error_missing']('title'))
line = mw.ustring.gsub(line, '%%1', lineN)
end
else
color = getColor(nil, system, lineN, typeN, frame)
if inline ~= 'box' then
line = frame:expandTemplate{ title = system .. ' lines', args = {lineN, ['branch'] = typeN} }
if mw.text.trim(line) == '' then return error(i18n[lang]['error_unknown'](lineN)) end
end
Type = typeN
end
local result
if Type and Type ~= '' and inline ~= 'box' then
if line == '' then
line = Type
else
result = ' – ' .. Type
end
end
if args.note then result = (result or '') .. ' ' .. args.note end
result = result or ''
if not inline then -- [[Template:Legend]]
result = '<div class="legend" style="page-break-inside:avoid;break-inside:avoid-column"><span class="legend-color" style="display:inline-block;min-width:1.25em;height:1.25em;line-height:1.25;margin:1px 0;border:1px solid black;color:inherit;background-color:#' .. color .. '"> </span> ' .. line .. result .. '</div>'
elseif inline == 'yes' then
result = '<span style="color:inherit;background-color:#' .. color .. ';border:1px solid #000"> </span> ' .. line .. result
elseif inline == 'box' then
result = '<span style="color:inherit;background-color:#' .. color .. ';border:1px solid #000"> </span>' .. result
elseif inline == 'link' then
local link = args.link or mw.ustring.match(line, '%[%[([^%[:|%]]+)[|%]]')
if link then
result = '[[' .. link .. '|<span style="color:inherit;background-color:#' .. color .. ';border:1px solid #000"> </span>]]' .. result
else
result = '<span style="color:inherit;background-color:#' .. color .. ';border:1px solid #000"> </span>' .. result
end
elseif inline == 'square' then
result = '<span style="color:#' .. color .. ';line-height:initial">■</span> ' .. line .. result
elseif inline == 'lsquare' then
local link = args.link or mw.ustring.match(line, '%[%[([^%[:|%]]+)[|%]]')
if link then
result = '[[' .. link .. '|<span style="color:#' .. color .. ';line-height:initial">■</span>]]'
else
result = '<span style="color:#' .. color .. ';line-height:initial">■</span>'
end
elseif inline == 'dot' then
result = '<span style="color:#' .. color .. ';line-height:initial">●</span> ' .. line .. result
elseif inline == 'ldot' then
local link = args.link or mw.ustring.match(line, '%[%[([^%[:|%]]+)[|%]]')
if link then
result = '[[' .. link .. '|<span style="color:#' .. color .. ';line-height:initial">●</span>]]'
else
result = '<span style="color:#' .. color .. ';line-height:initial">●</span>'
end
elseif inline == 'small' then
result = '<span style="color:inherit;background-color:#' .. color .. '"> </span>' .. ' ' .. line .. result
else
local yesno = require("Module:Yesno")
local link = args.link or mw.ustring.match(line, '%[%[([^%[:|%]]+)[|%]]')
local border_color, text_color
local color_box = data['color box format'] or data['rail box format'] or {}
if line_data then
if line_data['types'] and line_data['types'][typeN] then
local Type_data = line_data['types'][typeN]
border_color = Type_data['border color'] or line_data['border color'] or color
text_color = Type_data['text color'] or line_data['text color']
if color_box == 'title' and not args[4] then
lineN = Type_data['short name'] or line_data['short name'] or require('Module:Delink')._delink{line}
else
lineN = Type_data['short name'] or line_data['short name'] or lineN
end
else
border_color = line_data['border color'] or color
text_color = line_data['text color']
if color_box == 'title' and not args[4] then
lineN = line_data['short name'] or require('Module:Delink')._delink{line}
else
lineN = line_data['short name'] or lineN
end
end
else
border_color = color
end
text_color = text_color and '#' .. text_color or require('Module:Color contrast')._greatercontrast{color}
local bold = ';font-weight:bold'
if (yesno(args.bold) == false) then bold = '' end
if inline == 'route' then -- [[Template:RouteBox]]
if link then
result = '<span style="color:inherit;background-color:#' .. color .. ';border:.075em solid #' .. border_color .. ';padding:0 .3em">[[' .. link .. '|<span style="color:' .. text_color .. bold .. ';font-size:inherit;white-space:nowrap">' .. lineN .. '</span>]]</span>'
else
result = '<span style="background-color:#' .. color .. ';border:.075em solid #' .. border_color .. ';padding:0 .3em;color:' .. text_color .. bold .. ';font-size:inherit;white-space:nowrap">' .. lineN .. '</span>'
end
elseif inline == 'croute' then -- [[Template:Bahnlinie]]
if link then
result = '<span style="color:inherit;background-color:#' .. color .. ';border:.075em solid #' .. border_color .. ';border-radius:.5em;padding:0 .3em">[[' .. link .. '|<span style="color:' .. text_color .. bold .. ';font-size:inherit;white-space:nowrap">' .. lineN .. '</span>]]</span>'
else
result = '<span style="color:inherit;background-color:#' .. color .. ';border:.075em solid #' .. border_color .. ';border-radius:.5em;padding:0 .3em;color:' .. text_color .. bold .. ';font-size:inherit;white-space:nowrap">' .. lineN .. '</span>'
end
elseif inline == 'xroute' then -- [[Template:Bahnlinie]]
if link then
result = '<span style="border:.075em solid #' .. border_color .. ';border-radius:.5em;padding:0 .3em">[[' .. link .. '|<span style="color:#' .. color .. bold .. ';font-size:inherit;white-space:nowrap">' .. lineN .. '</span>]]</span>'
else
result = '<span style="border:.075em solid #' .. border_color .. ';border-radius:.5em;padding:0 .3em;color:#' .. color .. bold .. ';font-size:inherit;white-space:nowrap">' .. lineN .. '</span>'
end
elseif inline == 'broute' then
if link then
result = '<span style="color:inherit;background-color:#' .. color .. ';border:.075em solid #000;padding:0 .3em">[[' .. link .. '|<span style="color:' .. text_color .. bold .. ';font-size:inherit;white-space:nowrap">' .. lineN .. '</span>]]</span>'
else
result = '<span style="background-color:#' .. color .. ';border:.075em solid #000;padding:0 .3em;color:' .. text_color .. bold .. ';font-size:inherit;white-space:nowrap">' .. lineN .. '</span>'
end
else -- [[Template:Legend]] (fallback; duplication to simplify logic)
result = '<div class="legend" style="page-break-inside:avoid;break-inside:avoid-column"><span class="legend-color" style="display:inline-block;min-width:1.25em;height:1.25em;line-height:1.25;margin:1px 0;border:1px solid black;color:inherit;background-color:#' .. color .. '"> </span> ' .. line .. result .. '</div>'
end
end
result = mw.ustring.gsub(result, ':%s*#transparent', ':transparent')
return result
end
end
p.box = makeInvokeFunction('_box')
function p._icon(args, frame)
local system = args[1] or args.system
local data = args.data
if not system and not data then
return
end
data = data or getData(system)
local line, line_name = getLine(data, args[2] or args.line)
local icon
local icon_format
if line then
local line_type = args[3] or args.type
if line_type then
line_type = data.aliases and data.aliases[mw.ustring.lower(line_type)] or line_type
line_type = line.types and line.types[line_type] -- If there's no type table or entry for this type, then it can't have its own icon
icon_format = line_type['icon format'] or data['type icon format']
if line_type.icon then
icon = line_type.icon
end
end
if not icon then
icon = line.icon
end
-- Only if there is no icon use the icon_format.
if not icon and not icon_format then
icon_format = line['icon format'] or data['line icon format']
end
local default = data.lines._default or {}
if icon and string.find(icon, "%%1") and default and default.icon then
icon = mw.ustring.gsub(default.icon, '%%1', line_name)
end
end
if not icon then
icon = data['system icon']
end
if not icon_format then
icon_format = data['system icon format']
end
if icon_format then
if icon_format ~= 'image' then
icon = p._box({data = data, [2] = (args[2] or args.line), [3] = icon_format, type = (args[3] or args.type), bold = args.bold, link = args.link}, frame)
if args.name then
if line and line.title then
return icon .. " " .. line.title
end
return icon .. " " .. data["system title"]
end
end
end
local size = args.size
if size then
if mw.ustring.match(size, '%d$') then
size = '|' .. size .. 'px'
else
size = '|' .. size
end
-- Upright values are to be disabled until there is use of upright scaling in subpages; doesn't seem to work anyway as of 2018-08-10
local regex = {
'|%s*%d*x?%d+px%s*([%]|])', -- '|%s*upright=%d+%.?%d*%s*([%]|])', '|%s*upright%s*([%]|])'
}
if mw.ustring.match(icon, regex[1]) then
icon = mw.ustring.gsub(icon, regex[1], size .. '%1')
-- elseif mw.ustring.match(icon, regex[2]) then
-- icon = gsub(icon, regex[2], size .. '%1')
-- elseif mw.ustring.match(icon, regex[3]) then
-- icon = gsub(icon, regex[3], size .. '%1')
else
icon = mw.ustring.gsub(icon, '(%[%[[^%]|]+)([%]|])', '%1' .. size .. '%2')
end
end
local link = args.link
if link then
if mw.ustring.match(icon, '|%s*link=[^%]|]*[%]|]') then
icon = mw.ustring.gsub(icon, '|%s*link=[^%]|]*([%]|])', '|link=' .. link .. '%1')
else
icon = mw.ustring.gsub(icon, '(%[%[[^%]|]+)([%]|])', '%1|link=' .. link .. '%2')
end
end
local alt = args.alt or link
if alt then
if mw.ustring.match(icon, '|%s*alt=[^%]|]*[%]|]') then
icon = mw.ustring.gsub(icon, '|%s*alt=[^%]|]*([%]|])', '|alt=' .. alt .. '%1')
else
icon = mw.ustring.gsub(icon, '(%[%[[^%]|]+)([%]|])', '%1|alt=' .. alt .. '%2')
end
end
if args.name then
if line and line.title then
return icon .. " " .. line.title
end
return icon .. " " .. data["system title"]
end
return icon
end
p.icon = makeInvokeFunction('_icon')
p['rail icon'] = makeTemplateFunction('_icon')
function p._line(args, frame)
local system = args[1] or args.system
local line = args[2] or args.line
if not line then return '' end
local Type = args[3] or args.type
local data = args.data
if system or data then
data = data or getData(system, true)
if data then
line = (getLine(data, line)) or error(i18n[lang]['error_unknown'](line))
if Type then
Type = data['aliases'] and data['aliases'][mw.ustring.lower(Type)] or Type
Type = line['types'] and line['types'][Type] and line['types'][Type]['title'] or Type
end
line = line['title'] or error(i18n[lang]['error_missing']('title'))
else
line = frame:expandTemplate{ title = system .. ' lines', args = {line, ['branch'] = Type} }
if mw.text.trim(line) == '' then return error(i18n[lang]['error_unknown'](lineN)) end
end
if Type and Type ~= '' then
if line == '' then
line = Type
else
line = line .. ' – ' .. Type
end
end
return line
end
end
p.line = makeInvokeFunction('_line')
function p._shortline(args, frame)
local system = args[1] or args.system
lineN = args[2] or args.line
if not (system or lineN) then return '' end
local line, Type, line_data
typeN = args.type
local data = args.data
if system or data then
data = data or getData(system, true)
if data then
local default = data['lines']['_default'] or {}
line, lineN = getLine(data, lineN)
if typeN then
typeN = data['aliases'] and data['aliases'][mw.ustring.lower(typeN)] or typeN
Type = line['types'] and line['types'][typeN] and line['types'][typeN]['title'] or typeN
end
line_data = line or error(i18n[lang]['error_unknown'](lineN))
line = line_data['title'] or default['title'] or error(i18n[lang]['error_missing']('title'))
line = mw.ustring.gsub(line, '%%1', lineN)
else
line = frame:expandTemplate{ title = system .. ' lines', args = {lineN, ['branch'] = typeN} }
if mw.text.trim(line) == '' then return error(i18n[lang]['error_unknown'](lineN)) end
Type = typeN
end
local result
if Type and Type ~= '' then
if line == '' then
line = Type
else
result = ' – ' .. Type
end
end
if args.note then result = (result or '') .. ' ' .. args.note end
result = result or ''
local link = args.link or mw.ustring.match(line, '%[%[([^%[:|%]]+)[|%]]')
if line_data then
if line_data['types'] and line_data['types'][typeN] then
local Type_data = line_data['types'][typeN]
lineN = Type_data['short name'] or line_data['short name'] or lineN
else
lineN = line_data['short name'] or lineN
end
end
if link then
result = '[[' .. link .. '|' .. lineN .. ']]'
else
result = lineN
end
result = mw.ustring.gsub(result, ':%s*#transparent', ':transparent')
return result
end
end
p.shortline = makeInvokeFunction('_shortline')
function p._station(args, frame)
local system = args[1] or args.system
local station = args[2] or args.station
if not station then return '' end
lineN = args[3] or args.line
typeN = args[4] or args.type
local data = args.data
if system or data then
data = data or getData(system, true)
if data then
local _Format = data['station format'][station] or data['station format'][1]
if _Format then
if data['aliases'] then
if lineN then
lineN = data['aliases'][mw.ustring.lower(lineN)] or lineN
end
if typeN then
typeN = data['aliases'][mw.ustring.lower(typeN)] or typeN
end
end
station = getStation(station, _Format)
else
station = station or ''
end
else
station = frame:expandTemplate{ title = system .. ' stations', args = {['station'] = station, ['line'] = lineN, ['branch'] = typeN} }
end
return station
end
end
p.station = makeInvokeFunction('_station')
p['station link'] = makeTemplateFunction('_station')
function p._terminusTable(args, frame)
local system = args[1] or args.system
lineN = args[2] or args.line
local side = mw.ustring.sub(mw.ustring.lower(args[3] or args.side or ''), 1, 1)
typeN = args.type
local prefix = (side == 'r') and 'right' or 'left'
local data = args.data
if system or data then
data = data or getData(system, true)
end
if data then
local line = getLine(data, lineN) or error(i18n[lang]['error_unknown'](lineN))
if typeN and data and data['aliases'] then typeN = data['aliases'][mw.ustring.lower(typeN)] or typeN end
local Type = line['types'] and line['types'][typeN]
local circular
if Type then
if Type['circular'] then
-- Type may override the circular status of the line
circular = Type['circular']
end
else
circular = line['circular']
end
return Type and Type[prefix .. ' terminus'] or line[prefix .. ' terminus'], data['station format'] or i18n[lang]['error_format'], circular
else
local terminus = frame:expandTemplate{ title = 'S-line/' .. system .. ' ' .. prefix .. '/' .. lineN }
return mw.ustring.gsub(terminus, '{{{type}}}', typeN)
end
end
function p._terminus(args, frame)
local var, Format, circular = p._terminusTable(args, frame)
return circular and var or getTerminusText(var, Format)
end
p.terminus = makeInvokeFunction('_terminus')
function p._style(args, frame)
local style = args[1] or args.style
local system = args[2] or args.system
local line = args[3] or args.line
local station = args[4] or args.station
local result = {}
local data = args.data
local default = 'color:inherit;background-color:#efefef' -- Default text and background color for {{Infobox station}}
if system or data then
data = data or getData(system, true)
end
if data then
local function getValue(var)
if type(var) == 'table' then
var = var[line] or var[1]
if type(var) == 'table' then
var = var[station] or var[1]
end
end
if var ~= '' then return var end
end
if style == 'header' then
local tmp = data['name format'] and getValue(data['name format'])
if tmp then table.insert(result, tmp) end
elseif style == 'subheader' then
local tmp = data['header background color'] and getValue(data['header background color'])
if tmp then
table.insert(result, 'background-color:#' .. tmp)
local color = data['header text color'] and getValue(data['header text color'])
if color then
table.insert(result, 'color:#' .. color)
else
local greatercontrast = require('Module:Color contrast')._greatercontrast
if greatercontrast{tmp} == '#FFFFFF' then table.insert(result, 'color:#FFFFFF') end
end
else
table.insert(result, default)
local color = data['header text color'] and getValue(data['header text color'])
if color then table.insert(result, 'color:#' .. color) end
end
end
result = table.concat(result, ';')
elseif system then
local title = 'Template:' .. system .. ' style'
local titleObj = mw.title.new(title)
if titleObj and titleObj.exists then
local tmp
if style == 'header' then
tmp = frame:expandTemplate{ title = title, args = {'name_format', line, station} }
if tmp ~= '' then table.insert(result, tmp) end
elseif style == 'subheader' then
tmp = frame:expandTemplate{ title = title, args = {'thbgcolor', line, station} }
if tmp ~= '' then
table.insert(result, 'background-color:#' .. tmp)
local color = frame:expandTemplate{ title = title, args = {'thcolor', line, station} }
if color ~= '' then
table.insert(result, 'color:#' .. color)
else
local ratio = require('Module:Color contrast')._ratio
if ratio{tmp, '222222'} < 4.5 then table.insert(result, 'color:#FFFFFF') end -- 222222 is the default text color in Vector
end
else
table.insert(result, default)
tmp = frame:expandTemplate{ title = title, args = {'thcolor', line, station} }
if tmp ~= '' then
table.insert(result, 'color:#' .. tmp)
end
end
end
result = table.concat(result, ';')
else
if style == 'subheader' then
result = default
else
result = ''
end
end
else
if style == 'subheader' then
result = default
else
result = ''
end
end
return result
end
function p.style(frame)
local args = getArgs(frame, {frameOnly = true})
return p._style(args, frame)
end
function p.convert(frame)
local args = frame.args
local code = mw.text.split(mw.ustring.gsub(args[1], '^%s*{{(.*)}}%s*$', '%1'), '%s*}}%s*{{%s*')
local system
local group = tonumber(args.offset or 0) or 0
local firstgroup = group + 1
local delete = {
['s-rail'] = true,
['s-rail-next'] = true,
['s-rail-national'] = true,
['s-start'] = true,
['s-rail-start'] = true,
['start'] = true,
['s-end'] = true,
['end'] = true
}
local order = {
'line', 'left', 'right', 'to-left', 'to-right',
'oneway-left', 'oneway-right', 'through-left', 'through-right',
'reverse', 'reverse-left', 'reverse-right',
'note-left', 'note-mid', 'note-right', 'transfer'
-- circular: use module subpage
-- state: not implemented
}
local replace = {
['previous'] = 'left',
['next'] = 'right',
['type'] = 'to-left',
['type2'] = 'to-right',
['branch'] = 'type',
['note'] = 'note-left',
['notemid'] = 'note-mid',
['note2'] = 'note-right',
['oneway1'] = 'oneway-left',
['oneway2'] = 'oneway-right',
['through1'] = 'through-left',
['through2'] = 'through-right'
}
local remove_rows = {}
local data = {}
local noclear = false
for i, v in ipairs(code) do
code[i] = mw.ustring.gsub(code[i], '\n', ' ')
local template = mw.ustring.lower(mw.text.trim(mw.ustring.match(code[i], '^[^|]+')))
code[i] = mw.ustring.match(code[i], '(|.+)$')
if (mw.ustring.match(code[i] or '', 'noclear%s*=%s*[a-z]')) then
noclear = true
end
if template == 's-line' then
data[i] = {}
local this_system = mw.text.trim(mw.ustring.match(code[i], '|%s*system%s*=([^|]+)'))
code[i] = mw.text.split(code[i], '%s*|%s*')
for m, n in ipairs(code[i]) do
local tmp = mw.text.split(n, '%s*=%s*')
if tmp[3] then
tmp[2] = mw.ustring.gsub(n, '^.-%s*=', '')
end
tmp[1] = replace[tmp[1]] or tmp[1]
if tmp[2] then
-- checks for matching brackets
local curly = select(2, mw.ustring.gsub(tmp[2], "{", ""))-select(2, mw.ustring.gsub(tmp[2], "}", ""))
local square = select(2, mw.ustring.gsub(tmp[2], "%[", ""))-select(2, mw.ustring.gsub(tmp[2], "%]", ""))
if not (curly == 0 and square == 0) then
local count = mw.clone(m)+1
while not (curly == 0 and square == 0) do
tmp[2] = tmp[2]..'|'..code[i][count]
curly = curly+select(2, mw.ustring.gsub(code[i][count], "{", ""))-select(2, mw.ustring.gsub(code[i][count], "}", ""))
square = square+select(2, mw.ustring.gsub(code[i][count], "%[", ""))-select(2, mw.ustring.gsub(code[i][count], "%]", ""))
code[i][count] = ''
count = count+1
end
end
data[i][tmp[1]] = tmp[2]
end
end
if (this_system ~= system) or (not system) then
system = this_system
data[i]['system'] = system
else
data[i]['system'] = nil
end
local last = data[i-1] or data[i-2] or data[i-3]
if last then
for r, s in pairs({
['hide1'] = {'left', 'to-left', 'note-left', 'oneway-left'},
['hide2'] = {'right', 'to-right', 'note-right', 'oneway-right'},
['hidemid'] = {'type', 'note-mid'}
}) do
if data[i][r] then
for m, n in ipairs(s) do
if not data[i][n] then
data[i][n] = last[n]
end
end
end
end
end
code[i] = {}
local X = '|'
local Y = (i+group)..'='
if data[i]['system'] then
table.insert(code[i], '|system')
table.insert(code[i], Y)
table.insert(code[i], data[i]['system'])
table.insert(code[i], '\n')
end
for m, n in ipairs(order) do
if data[i][n] then
table.insert(code[i], X)
table.insert(code[i], n)
table.insert(code[i], Y)
table.insert(code[i], data[i][n])
end
end
code[i] = table.concat(code[i])
elseif template == 's-note' then
code[i] = mw.ustring.gsub(code[i], '|%s*text%s*=', '|header'..i+group..'=')
code[i] = mw.ustring.gsub(code[i], '|%s*wide%s*=[^|]*', '')
elseif template == 's-text' then
code[i] = mw.ustring.gsub(code[i], '|%s*text%s*=', '|note-row'..i+group..'=')
elseif delete[template] then
code[i] = ''
table.insert(remove_rows, 1, i) -- at the start, so that the rows are deleted in reverse order
group = group-1
end
end
for i, v in ipairs(remove_rows) do
table.remove(code, v)
end
code = table.concat(code, '\n')
local t = {'{{Adjacent stations' .. (noclear and '|noclear=y\n' or ''), '\n}}'}
system = mw.ustring.match(code, '|system(%d*)=')
code = mw.ustring.gsub(code, '\n\n+', '\n')
if tonumber(system) > firstgroup then
-- If s-line isn't the first template then the system will have to be moved to the top
system = mw.ustring.match(code, '|system%d*=([^|]*[^|\n])')
code = mw.ustring.gsub(code, '|system%d*=[^|]*', '')
code = '\n|system'..firstgroup..'='..system..code
elseif not mw.ustring.match(code, '^[^{%[]*|[^=|]+2=') then
-- If there's only one parameter group then there's no need to have line breaks
code = mw.ustring.gsub(code, '\n', '')
code = mw.ustring.gsub(code, '(|[^=|]+)1=', '%1=')
t[2] = '}}'
if not mw.ustring.match(code, '[%[{]') then
code = mw.ustring.gsub(code, '|[^=|]*=$', '')
code = mw.ustring.gsub(code, '|[^=|]*$', '')
end
end
if not mw.ustring.match(code, '[%[{]') then
code = mw.ustring.gsub(code, '|[^=|]*=|', '|')
code = mw.ustring.gsub(code, '|[^=|]*|', '|')
code = mw.ustring.gsub(code, '|[^=|]*=\n', '\n')
code = mw.ustring.gsub(code, '|[^=|]*\n', '\n')
end
return t[1]..code..t[2]
end
return p
jca1evjg28y2y92hnk1s3eak58flopp
ᥛᥨᥝᥱ ᥓᥧᥰ:Adjacent stations/doc
828
2509
7668
2026-06-17T13:24:48Z
Saimawnkham
28
Created page with "{{High-use}} {{Lua|Module:Yesno|Module:Arguments|Module:Color contrast|Module:Trim quotes}} {{Module rating|protected}} {{Sidebar Adjacent stations}} This module implements {{tl|Adjacent stations}}, {{tl|Rail icon}}, {{tl|Rail color box}}, {{tl|Line link}}, {{tl|Station link}} and {{tl|Rail color}}. Please see those templates' pages for documentation on how to use those templates. (Instructions for the <code>convert</code> function of this module are in the {{tl|Adjacen..."
7668
wikitext
text/x-wiki
{{High-use}}
{{Lua|Module:Yesno|Module:Arguments|Module:Color contrast|Module:Trim quotes}}
{{Module rating|protected}}
{{Sidebar Adjacent stations}}
This module implements {{tl|Adjacent stations}}, {{tl|Rail icon}}, {{tl|Rail color box}}, {{tl|Line link}}, {{tl|Station link}} and {{tl|Rail color}}. Please see those templates' pages for documentation on how to use those templates. (Instructions for the <code>convert</code> function of this module are in the {{tl|Adjacent stations}} documentation.)
The aforementioned templates rely on data stored in subpages for this module ([[Special:PrefixIndex/Module:Adjacent_stations/|list]]). For example, {{tl2|Rail icon|MTR}} generates {{Rail icon|MTR}} using [[Module:Adjacent stations/MTR]].
It is possible to create and edit data by following existing examples, but having some knowledge of Lua helps prevent mistakes. If you have programmed or used Lua before, you may like to skip the next subsection.
== Terms ==
{{for|a more comprehensive overview of Lua|:mw:Extension:Scribunto/Lua reference manual}}
* Lua has ''data types''. The ones relevant here are ''boolean'', ''string'', ''number'', and ''table''.
** A ''[[Boolean data type|boolean]]'' is either <code>true</code> or <code>false</code>.
** A ''string'' is text, stored as a list of characters. While Lua has several ways of indicating strings within code, in the Lua examples here, strings are indicated by enclosing text in double quotes (e.g. <code>"This is a string"</code>).
** A ''number'' is a numerical value, like <code>0.5</code> or <code>42</code>.
** A ''table'' is a structure that can contain other objects, including other tables.
*** An empty table looks like <code>{}</code> in the code.
*** Tables have ''keys'' and ''values'', which are typically of the structure <code>["<var>key</var>"] = <var>value</var></code>; each key–value pair is separated by a comma. All keys used here are strings or numbers.
*** <code>{"text", "more text"}</code> is equivalent to <code>{[1] = "text", [2] = "more text"}</code>.
* A ''variable'' can be defined using <code>local <var>variable_name</var> = <var>"value"</var>.</code>
* ''Whitespace'' is any tab, line break or other space. Whitespace doesn't matter in Lua, but all examples here except for those inline with text are neatly indented for readability, with separate table keys on separate lines.
* A ''return statement'' (e.g. <code>return <var>variable_name</var></code>) causes a function to exit and reports the value of <code><var>variable_name</var></code>. The "function" here is the code in the main module calling the subpage, and the <code><var>variable_name</var></code> should be the data table.
== Basic structure ==
Two modules are demonstrated below:
{| class="wikitable"
|-
| [[Module:Adjacent stations/blank|Blank]] || {{syntaxhighlight|lang=lua|{{Module:Adjacent stations/blank}}}}
|-
| [[Module:Adjacent stations/Kaohsiung Rapid Transit|Example]] || {{syntaxhighlight|lang=lua|{{Module:Adjacent stations/Kaohsiung Rapid Transit}}}}
|}
The example module is [[Module:Adjacent stations/Kaohsiung Rapid Transit]].
* The two required table entries are "station format" and "lines". The former is a table with data to form links to station articles, and the latter is a table containing a table for each line.
* "system title" is the text in the middle cell of the table header row.
* "station format" defines the default name format for station articles and exceptions. The first variable ("%1 metro station") is the default. Exceptions are listed as key–value pairs (e.g. "Zuoying"–"Zuoying HSR station"), where the key is the input name. The module displays the input name and links to the article with the formatted name, replacing "%1" with the input. Alternatively, the full wikilink and be entered. This can be used to have the display be different from the input.
* "lines" is where the lines are listed. The names here are used internally and not displayed, so choose a concise one.
* "line title" is the text displayed in the middle of each row indicating the line; "left terminus" is the default station name for the left side terminus, and "right terminus" is the default station name for the right side terminus.
* Each "color" entry is the colour of the line.
Below is [[Module:Adjacent stations/Taiwan High Speed Rail]]:
{{syntaxhighlight|lang=lua|{{Module:Adjacent stations/Taiwan High Speed Rail}}}}
* <var>x</var> (defined in the first line) is a string used for formatting the station name. The variable <var>x</var> is used inside the "station format" table for the three articles where the title ends in "station" instead of "HSR station". This practice is optional but helpful when many articles fit a second pattern.
* The module recognises a virtual line named <code>["_default"]</code>. The title and colour of this line is used for all lines unless overridden. Parameters are used in the absence of a specified <code>line=</code> in transclusion.
== Hierarchy and list of parameters ==
# The first layer of the table is data for the entire system, as well as output options.
# Under the system table is the list of lines.
# The third layer is data for a given line.
# Each line can have 'types'. This can be either types of services or branches of the line.
# The fifth layer is data for a given type.
If not specified, all keys and values are strings.
=== Main layer (1) ===
{| class="wikitable"
|+
!Parameter
!Type
!Used in {{Tl|Adjacent stations}}
!Description
|-
|<code>["lang"]</code>
|String
|{{Yes}}
|Values are <code>"en-US"</code> and <code>"en-GB"</code>. If not set, <code>"en-GB"</code> is assumed.
|-
|<code>["system title"]</code>
|String
|{{Yes}}
|Text in the middle cell of the header.
|-
|<code>["system icon"]</code>
|String
|{{Yes}}
|Image used in the middle cell of the {{tl|Adjacent stations}} header and by {{tl|Rail icon}}.
|-
|<code>["system icon format"]</code>
|String
|{{No}}
|Icon type, used by {{tl|Rail icon}}. If specified and not <code>"image"</code>, the value is passed to the function that implements {{tl|Rail color box}}.
|-
|<code>["system color"]</code>
|String
|{{No}}
|RGB hex triplet (three or six characters, like <code>"BE2D2C"</code> or <code>"039"</code>). Can be called by using only one parameter in {{tl|Rail color}}.
|-
|<code>["header stop noun"]</code>
|String
|{{Yes}}
|The noun after 'preceding' and 'following' in the left and right header cells. Default value is <code>"station"</code>.
|-
|<code>["name format"]</code>
|String
|{{No}}
|CSS for the header of {{tl|Infobox station}} and anything else using the <code>style</code> function with {{para|1|header}}. Values can be strings or nested tables, with the first level being for the line (whatever's in {{para|style2}} of {{tl|Infobox station}}). The second level is currently unused. The first entry in a nested table with no key (i.e. with key <code>1</code>) is the default.
|-
|<code>["header background color"]</code>
|String
|{{No}}
|RGB hex triplet for {{tl|Infobox station}} subheaders and anything else using the <code>style</code> function with {{para|1|subheader}}. By default, it is a light gray. Values can be strings or nested tables, like those for <code>"name format"</code>.
|-
|<code>["header text color"]</code>
|String
|{{No}}
|RGB hex triplet for {{tl|Infobox station}} subheaders and anything else using the <code>style</code> function with {{para|1|subheader}}. By default, it is calculated based on the header background color. Values can be strings or nested tables, like those for <code>["name format"]</code>.
|-
|<code>["station format"]</code>
|Table or string
|{{Yes}}
|Table containing station format strings. The first entry without a specified key (i.e. with the key being the number <code>1</code>) is the default, and all other entries must have keys corresponding to the input. Format strings without wikilink brackets are converted to links, with the input (usually the station name) used as the displayed text. Tables can be nested within this table to indicate options based on the line and line type passed to this template.
<code>%1</code>, <code>%2</code> and <code>%3</code> can be used in all strings regardless of the level of nesting to be replaced respectively by the station input, the line input (after alias replacement) and the type input (after alias replacement).
|-
|<code>["lines"]</code>
|Table
|{{Yes}}
|Data table containing line tables.
|-
|<code>["aliases"]</code>
|Table
|{{Yes}}
|Table containing aliases (as table keys) for lines (as values). All keys are lowercase, as the input is treated as case-insensitive by being lower-cased.
|}
=== Station format table (2) ===
{| class="wikitable"
|+
!Parameter
!Type
!Used in {{Tl|Adjacent stations}}
!Description
|-
|<code>[1]</code>
|String
|{{Yes}}
|Default format.
|-
|<code>["''non-default station name''"]</code>
|String or table
|{{Yes}}
|Format for a non-default station, or line-specific format table.
|}
=== Line-specific format table (3) ===
{| class="wikitable"
|+
!Parameter
!Type
!Used in {{Tl|Adjacent stations}}
!Description
|-
|<code>[1]</code>
|String
|{{Yes}}
|Default format.
|-
|<code>["''line name''"]</code>
|String or table
|{{Yes}}
|Format for a non-default station, or type-specific format table.
|}
=== Type-specific format table (4) ===
{| class="wikitable"
|+
!Parameter
!Type
!Used in {{Tl|Adjacent stations}}
!Description
|-
|<code>[1]</code>
|String
|{{Yes}}
|Default format.
|-
|<code>["''type name''"]</code>
|String
|{{Yes}}
|Format for a non-default station.
|}
=== Line table (3) ===
A virtual line named <code>["_default"]</code> can be added to set default values for all lines. Currently, this is available for three parameters.
{| class="wikitable"
!Parameter
!Type
!Used in {{Tl|Adjacent stations}}
!Description
|-
|<code>["title"]</code>
|String
|{{Yes}}
|The text displayed in the middle cell, typically a link to the line's article. If not specified, then the data in <code>["_default"]</code> is used (<code>%1</code> in the default value is replaced by the input after alias replacement).
|-
|<code>["short name"]</code>
|String
|{{No}}
|Abbreviated line name used by {{tl|Rail color box}}.
|-
|<code>["icon"]</code>
|String
|{{No}}
|Image used by {{tl|Rail icon}}. If not specified, then the data in <code>["_default"]</code> is used (<code>%1</code> in the default value is replaced by the input after alias replacement).
|-
|<code>["icon format"]</code>
|String
|{{No}}
|Icon type used by {{tl|Rail icon}}. If specified and not <code>"image"</code>, the value is passed to the function that implements {{tl|Rail color box}}.
|-
|<code>["color"]</code>
|String
|{{Yes}}
|RGB hex triplet. Lines fall back to the <code>["_default"]</code> colour (if any) or the system's colour if they themselves do not have one; types fall back to the line's colour (if any), to the <code>["_default"]</code> colour (if any) or to the system's colour. This colour is used in the second and fourth columns of {{tl|Adjacent stations}}, and by {{tl|Rail color box}} and {{tl|Rail icon}} as the emphasised colour. By default, if a type and its line both have a colour, then the line's colour will be treated as the background colour (see next section) for the line name in the middle cell. This can be turned off by setting the type's background colour to <code>""</code> or <code>"transparent"</code>.
|-
|<code>["background color"]</code>
|String
|{{Yes}}
|RGB hex triplet (three or six characters). This colour is optional and is only displayed behind the line name in the middle cell. The module adds transparency so that all text displayed over the background is legible.
|-
|<code>["border color"]</code>
|String
|{{No}}
|RGB hex triplet used by {{tl|Rail color box}}.
|-
|<code>["text color"]</code>
|String
|{{No}}
|RGB hex triplet used by {{tl|Rail color box}}.
|-
|<code>["left terminus"]</code>
|String
|{{Yes}}
|The station which is usually the left terminus of the line. If there are multiple stations by default, the value should be a table containing numbered values (e.g. <code>["left terminus"] = {"Chesham", "Amersham"}</code>). The key <code>["via"]</code> in that table can be used to append 'via' and the value's station link.
|-
|<code>["right terminus"]</code>
|String
|{{Yes}}
|The station which is usually the right terminus of the line; behaves like <code>["left terminus"]</code>.
|-
|<code>["note-mid"]</code>
|String
|{{Yes}}
|Default small text below line and type names. Overridden by {{para|note-mid}} in transclusion.
|-
|<code>["circular"]</code>
|Boolean
|{{Yes}}
|If the value is <code>true</code> then the termini will display without 'toward'/'towards'. May be overridden by type.
|-
|<code>["oneway-left"]</code>
|Boolean
|{{Yes}}
|If the value is <code>true</code> then 'One-way operation' will display instead of the left terminus.
|-
|<code>["oneway-right"]</code>
|Boolean
|{{Yes}}
|Right counterpart of oneway-left.
|-
|<code>["types"]</code>
|Table
|{{Yes}}
|Table containing the line type tables.
|}
=== Type table (5) ===
{| class="wikitable"
!Parameter
!Type
!Used in {{Tl|Adjacent stations}}
!Description
|-
|<code>["title"]</code>
|String
|{{Yes}}
|The name of the line type. In {{tl|Adjacent stations}}, this is displayed as normal-sized text below the line name in the middle cell; in {{tl|Rail color box}}, for some options this is displayed after the line name, separated from it by a spaced [[en dash]] (this is also used for the nonstop text). To avoid displaying a type name, set this to <code>""</code>.
|-
|<code>["short name"]</code>
|String
|{{No}}
|Abbreviated line name used by {{tl|Rail color box}}.
|-
|<code>["icon"]</code>
|String
|{{No}}
|Image used by {{tl|Rail icon}}.
|-
|<code>["icon format"]</code>
|String
|{{No}}
|Icon type used by {{tl|Rail icon}}. If specified and not <code>"image"</code>, the value is passed to the function that implements {{tl|Rail color box}}.
|-
|<code>["color"]</code>
|String
|{{Yes}}
|RGB hex triplet. Lines fall back to the <code>["_default"]</code> colour (if any) or the system's colour if they themselves do not have one; types fall back to the line's colour (if any), to the <code>["_default"]</code> colour (if any) or to the system's colour. This colour is used in the second and fourth columns of {{tl|Adjacent stations}}, and by {{tl|Rail color box}} and {{tl|Rail icon}} as the emphasised colour. By default, if a type and its line both have a colour, then the line's colour will be treated as the background colour (see next section) for the line name in the middle cell. This can be turned off by setting the type's background colour to <code>""</code> or <code>"transparent"</code>.
|-
|<code>["background color"]</code>
|String
|{{Yes}}
|RGB hex triplet (three or six characters). This colour is optional and is only displayed behind the line name in the middle cell. The module adds transparency so that all text displayed over the background is legible.
|-
|<code>["border color"]</code>
|String
|{{No}}
|RGB hex triplet used by {{tl|Rail color box}}.
|-
|<code>["text color"]</code>
|String
|{{No}}
|RGB hex triplet used by {{tl|Rail color box}}.
|-
|<code>["left terminus"]</code>
|String
|{{Yes}}
|The station which is usually the left terminus of the line. Overrides line terminus. If there are multiple stations by default, the value should be a table containing numbered values (e.g. <code>["left terminus"] = {"Chesham", "Amersham"}</code>). The key <code>["via"]</code> in that table can be used to append 'via' and the value's station link.
|-
|<code>["right terminus"]</code>
|String
|{{Yes}}
|The station which is usually the right terminus of the line; behaves like <code>["left terminus"]</code>.
|-
|<code>["note-mid"]</code>
|String
|{{Yes}}
|Default small text below line and type names. Overridden by {{para|note-mid}} in transclusion.
|-
|<code>["circular"]</code>
|Boolean
|{{Yes}}
|If the value is <code>true</code> then the termini will display without 'toward'/'towards'.
<!-- Types currently do not have these parameters. However, it could make sense to add them if the need arises.
|-
|<code>["oneway-left"]</code>
|Boolean
|{{Yes}}
|If the value is <code>true</code> then 'One-way operation' will display instead of the left terminus.
|-
|<code>["oneway-right"]</code>
|Boolean
|{{Yes}}
|Right counterpart of oneway-left.
-->
|}
== For editors ==
=== Disambiguating stations ===
Station links are generated using the <code>station format</code> part of the data module. Each data module defines a default case and then exceptions, if necessary. <code>Station format</code> is an array, similar to a switch with cases. Take [[Module:Adjacent stations/Incheon Subway]], shown below:
{{syntaxhighlight|lang=lua|{{Module:Adjacent stations/Incheon Subway}}}}
The default case is <code>"%1 station"</code>, listed first. The "%1" expands to whatever the passed name of the station is. "Bakchon" becomes [[Bakchon station]]. There are several exceptions. The two usual reasons for exceptions are disambiguation or presenting a name in a non-standard way. In this case, the [[Incheon Subway]] serves three stations whose names are disambiguated: [[Arts Center station (Incheon)]], [[Central Park station (Incheon)]], and [[Mansu station (Incheon)]]. This is handled by specifying a key for each station and supplying a different format. Since all three are disambiguated the same way, you can define a local variable at the top of the module:
{{syntaxhighlight|lang=lua|code=local incheon = "%1 station (Incheon)"}}
This can then be used with the exceptions:
{{syntaxhighlight|lang=lua|code=["Arts Center"] = incheon,}}
Were it written out, it would look like this:
{{syntaxhighlight|lang=lua|code=["Arts Center"] = "%1 station (Incheon)"}}
== For developers ==
Suggestions are welcomed on the talk page.
=== To-do list ===
* Convert more systems from {{tl|S-line}}, {{tl|rail line}}, {{tl|J-rserv}} and {{tl|J-route}}
* Make [[Module:Adjacent stations/example|an example module]] which contains all of the module's features, to avoid excessive examples in the documentation (maybe based on {{tl|Rdt demo}})
* Allow direct replacement of {{tl|Rail line}}?
* Before translation: figure out how to handle grammatical gender and inflection in various languages with the i18n table (e.g. [https://translate.google.com/#en/fi/towards%20Edgware%2C%20High%20Barnet%20or%20Mill%20Hill%20East%0Atowards%20Edgware%20via%20Charing%20Cross%0Atowards%20High%20Barnet%20via%20Charing%20Cross%0Athrough%20to%20the%20Piccadilly%20line%0Athrough%20to%20the%20route%20Q42%0Athrough%20to%20the%20Waterfront%20line%0AThe%20red%20route%20does%20not%20stop%20here%0AThe%20blue%20line%20does%20not%20stop%20here%0ALine%2014%20does%20not%20stop%20here%0AService%2014%20does%20not%20stop%20here%0ARed%20line%20does%20not%20stop%20here%0ABlue%20route%20does%20not%20stop%20here these phrases])
* Allow inline sources to be added
* Figure out Wikidata integration (require sources on Wikidata end) :
*:should be doable with P197, P5051, P1192 and P81. [[User:Bouzinac|Bouzinac]] ([[User talk:Bouzinac|talk]]) 09:17, 3 December 2021 (UTC)
* Add a short list of changes from {{tl|S-line}}, for the convenience of the many editors who have used it in the last 11 years
** changes in function (new structure, data inside module, circular and branch functionality changed, replacement of manual cell merging…)
** parameter name changes (-left and -right, mostly – search {{tl|S-line}} for {{(((}}, maybe with the TemplateData generator, to make a list)
<includeonly>{{Sandbox other||
[[Category:Rail transport succession modules| ]]
}}</includeonly><noinclude>[[Category:Module documentation pages]]</noinclude>
kvjg76y8u4urc5paw93kiueg67lm0df
ᥛᥨᥝᥱ ᥓᥧᥰ:Adjacent stations/i18n
828
2510
7669
2026-06-17T13:25:28Z
Saimawnkham
28
Created page with "local p = {} p = { ['en-GB'] = { ['preceding'] = function(s) return s and 'Preceding ' .. s end, ['following'] = function(s) return s and 'Following ' .. s end, ['stop_noun'] = 'station', ['nonstop_past'] = function(s) return s and s .. ' did not stop here' end, ['nonstop_present'] = function(s) return s and s .. ' does not stop here' end, ['comma'] = function(s) return s and ', ' .. s end, ['or'] = function(s) return s and ' o..."
7669
Scribunto
text/plain
local p = {}
p = {
['en-GB'] = {
['preceding'] = function(s)
return s and 'Preceding ' .. s
end,
['following'] = function(s)
return s and 'Following ' .. s
end,
['stop_noun'] = 'station',
['nonstop_past'] = function(s)
return s and s .. ' did not stop here'
end,
['nonstop_present'] = function(s)
return s and s .. ' does not stop here'
end,
['comma'] = function(s)
return s and ', ' .. s
end,
['or'] = function(s)
return s and ' or ' .. s
end,
['via-first'] = false, -- If the «via» text comes before termini, change to «true»
['via'] = function(s)
return s and ' via ' .. s
end,
['comma-format'] = ',%s+',
['or-format'] = '%s+or%s+',
['via-format'] = '%s+via%s+(.+)$', -- first match is station name
['towards'] = function(s)
return s and 'towards ' .. s
end,
['through'] = function(s)
return s and 'through to ' .. s
end,
['reverse'] = 'Reverses direction',
['oneway'] = 'One-way operation',
['terminus'] = 'Terminus',
['transfer'] = function(s)
return s and 'transfer at ' .. s
end,
['error_duplicate'] = function(s)
return s and 'Same row number used multiple times for ' .. s
end,
['error_format'] = 'Station format table missing in data page',
['error_line'] = 'Lines table missing in data module',
['error_missing'] = function(s)
return s and '"' .. (s or '') .. '" is missing from the data page'
end,
['error_unknown'] = function(s)
return s and 'Unknown line "' .. (s or '') .. '"'
end
}
}
p['en-US'] = mw.clone(p['en-GB'])
p['en-US']['towards'] = function(s) return s and 'toward ' .. s end
p['en-AU'] = mw.clone(p['en-GB'])
return p
qjwzqzndyls4gd2zajp1iwpq4kxtlyj