Wiktionary
igwiktionary
https://ig.wiktionary.org/wiki/Ihu_mb%E1%BB%A5
MediaWiki 1.47.0-wmf.3
case-sensitive
Midia
Ọpụrụiche
Ńkàtá
Ojiarụ
Ńkàtá ojiarụ
Wiktionary
Ńkàtá Wiktionary
Faịlụ
Ńkàtá faịlụ
MidiaWiki
Ńkàtá MidiaWiki
Templeeti
Ńkàtá templeeti
Enyemaka
Ńkàtá enyemaka
Otú
Ńkàtá otú
TimedText
TimedText talk
Module
Module talk
Event
Event talk
Okeke
0
1334
36135
29489
2026-05-25T15:44:27Z
Sayvhior
168
/* Bekee */
36135
wikitext
text/x-wiki
'''Okeke'''
==Nkọwa==
Aha mmadụ pụtara nwa nwoke amụrụ na ụbọchị Eke.
===Nkeji Asụsụ===
Aha
===Ọmụmaatụ===
Aha nna m bụ Okeke.
===Mkpọpụta===
Ókèkè
[[File:LL-Q33578 (ibo)-Chiraldine-Okeke.wav|LL-Q33578 (ibo)-Chiraldine-Okeke]]
===Olumba===
=Ntụgharị=
===Bekee===
Boy child born on the Eke Market day
[[Òtù:Wiki Loves Names]]
[[Òtù:aha]]
[[Òtù:Mmadụ]]
[[Òtù:Igbo Noun Project]]
[[Òtù:Aha Nna]]
hdnynky0lk8v8cis7sybsosiw6bncff
36296
36135
2026-05-26T08:43:17Z
Sayvhior
168
/* Ntụgharị */
36296
wikitext
text/x-wiki
'''Okeke'''
==Nkọwa==
Aha mmadụ pụtara nwa nwoke amụrụ na ụbọchị Eke.
===Nkeji Asụsụ===
Aha
===Ọmụmaatụ===
Aha nna m bụ Okeke.
===Mkpọpụta===
Ókèkè
[[File:LL-Q33578 (ibo)-Chiraldine-Okeke.wav|LL-Q33578 (ibo)-Chiraldine-Okeke]]
===Olumba===
=Ntụgharị=
===Bekee===
Boy child born on the Eke Market day
[[Òtù:Wiki Loves Names]]
[[Òtù:aha]]
[[Òtù:Mmadụ]]
[[Òtù:Igbo Noun Project]]
[[Òtù:Aha nna]]
5teprgcxfhxkypqhstvdyo9ydes1al7
Module:temp
828
6520
36236
35695
2006-10-07T08:03:13Z
Wurmz
1403
34427
wikitext
text/x-wiki
phoiac9h4m842xq45sp7s6u21eteeq1
36237
35696
2006-10-25T11:01:43Z
Herman Guthrie
1406
34433
wikitext
text/x-wiki
phoiac9h4m842xq45sp7s6u21eteeq1
36238
35697
2026-05-26T08:24:32Z
King ChristLike
964
2 revisions imported from [[:en:Template:temp]]
34474
wikitext
text/x-wiki
<includeonly><onlyinclude>{{safesubst:<noinclude/>#invoke:template parser/templates|template_link_t}}</onlyinclude></includeonly><!--
-->{{temp|temp}}{{documentation}}
j7pe9fadahr6jqm0fnpuxcxasravo3o
Module:message box/styles.css
828
6625
36136
2024-09-13T00:59:35Z
Theknightwho
1347
Created page with ".maintenance-box { width: 90%; margin: 0.75em auto; border-width: 1px; border-style: dashed; padding: 0.25em; } /* Colors */ .maintenance-box-blue { background-color: #E6E6FF; border-color: #000061; } .maintenance-box-red { background-color: #FFE6E6; border-color: #610000; } .maintenance-box-yellow { background-color: #FFFFE6; border-color: #616100; } .maintenance-box-grey { background-color: #F2F2F2; border-color: #303030; } .maintenance-box..."
36136
sanitized-css
text/css
.maintenance-box {
width: 90%;
margin: 0.75em auto;
border-width: 1px;
border-style: dashed;
padding: 0.25em;
}
/* Colors */
.maintenance-box-blue { background-color: #E6E6FF; border-color: #000061; }
.maintenance-box-red { background-color: #FFE6E6; border-color: #610000; }
.maintenance-box-yellow { background-color: #FFFFE6; border-color: #616100; }
.maintenance-box-grey { background-color: #F2F2F2; border-color: #303030; }
.maintenance-box-orange { background-color: #FFF2E6; border-color: #612F00; }
/* Dark colors. Styles need to be duplicated exactly between these two selectors. */
@media screen {
html.skin-theme-clientpref-night .maintenance-box-blue { background-color: #1D1D44; border-color: #73737F; }
html.skin-theme-clientpref-night .maintenance-box-red { background-color: #441D1D; border-color: #7F7373; }
html.skin-theme-clientpref-night .maintenance-box-yellow { background-color: #44441D; border-color: #7F7F73; }
html.skin-theme-clientpref-night .maintenance-box-grey { background-color: #303030; border-color: #797979; }
html.skin-theme-clientpref-night .maintenance-box-orange { background-color: #44301D; border-color: #7F7973; }
}
@media screen and (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .maintenance-box-blue { background-color: #1D1D44; border-color: #73737F; }
html.skin-theme-clientpref-os .maintenance-box-red { background-color: #441D1D; border-color: #7F7373; }
html.skin-theme-clientpref-os .maintenance-box-yellow { background-color: #44441D; border-color: #7F7F73; }
html.skin-theme-clientpref-os .maintenance-box-grey { background-color: #303030; border-color: #797979; }
html.skin-theme-clientpref-os .maintenance-box-orange { background-color: #44301D; border-color: #7F7973; }
}
.request-box {
width: 90%;
margin: 0.75em auto;
border:1px dashed var(--border-color-base,#999999);
padding: 0.25em;
background:var(--background-color-base,#FFFFFF);
}
ohhdy2zignlpwzjkbte26n9uppy2nff
36137
36136
2024-09-13T00:59:49Z
Theknightwho
1347
Protected "[[Module:message box/styles.css]]": Highly visible template/module ([Edit=Allow only template editors and administrators] (indefinite) [Move=Allow only template editors and administrators] (indefinite))
36136
sanitized-css
text/css
.maintenance-box {
width: 90%;
margin: 0.75em auto;
border-width: 1px;
border-style: dashed;
padding: 0.25em;
}
/* Colors */
.maintenance-box-blue { background-color: #E6E6FF; border-color: #000061; }
.maintenance-box-red { background-color: #FFE6E6; border-color: #610000; }
.maintenance-box-yellow { background-color: #FFFFE6; border-color: #616100; }
.maintenance-box-grey { background-color: #F2F2F2; border-color: #303030; }
.maintenance-box-orange { background-color: #FFF2E6; border-color: #612F00; }
/* Dark colors. Styles need to be duplicated exactly between these two selectors. */
@media screen {
html.skin-theme-clientpref-night .maintenance-box-blue { background-color: #1D1D44; border-color: #73737F; }
html.skin-theme-clientpref-night .maintenance-box-red { background-color: #441D1D; border-color: #7F7373; }
html.skin-theme-clientpref-night .maintenance-box-yellow { background-color: #44441D; border-color: #7F7F73; }
html.skin-theme-clientpref-night .maintenance-box-grey { background-color: #303030; border-color: #797979; }
html.skin-theme-clientpref-night .maintenance-box-orange { background-color: #44301D; border-color: #7F7973; }
}
@media screen and (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .maintenance-box-blue { background-color: #1D1D44; border-color: #73737F; }
html.skin-theme-clientpref-os .maintenance-box-red { background-color: #441D1D; border-color: #7F7373; }
html.skin-theme-clientpref-os .maintenance-box-yellow { background-color: #44441D; border-color: #7F7F73; }
html.skin-theme-clientpref-os .maintenance-box-grey { background-color: #303030; border-color: #797979; }
html.skin-theme-clientpref-os .maintenance-box-orange { background-color: #44301D; border-color: #7F7973; }
}
.request-box {
width: 90%;
margin: 0.75em auto;
border:1px dashed var(--border-color-base,#999999);
padding: 0.25em;
background:var(--background-color-base,#FFFFFF);
}
ohhdy2zignlpwzjkbte26n9uppy2nff
36138
36137
2024-09-13T01:11:52Z
Theknightwho
1347
36138
sanitized-css
text/css
.maintenance-box {
width: 90%;
margin: 0.75em auto;
border-width: 1px;
border-style: dashed;
padding: 0.25em;
}
/* Colors */
.maintenance-box-blue { background-color: #E6E6FF; border-color: #000061; }
.maintenance-box-red { background-color: #FFE6E6; border-color: #610000; }
.maintenance-box-yellow { background-color: #FFFFE6; border-color: #616100; }
.maintenance-box-grey { background-color: #F2F2F2; border-color: #303030; }
.maintenance-box-orange { background-color: #FFF2E6; border-color: #612F00; }
/* Dark colors. Styles need to be duplicated exactly between these two selectors. */
@media screen {
html.skin-theme-clientpref-night .maintenance-box-blue { background-color: #1D1D44; border-color: #73737F; }
html.skin-theme-clientpref-night .maintenance-box-red { background-color: #441D1D; border-color: #7F7373; }
html.skin-theme-clientpref-night .maintenance-box-yellow { background-color: #44441D; border-color: #7F7F73; }
html.skin-theme-clientpref-night .maintenance-box-grey { background-color: #303030; border-color: #797979; }
html.skin-theme-clientpref-night .maintenance-box-orange { background-color: #44301D; border-color: #7F7973; }
}
@media screen and (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .maintenance-box-blue { background-color: #1D1D44; border-color: #73737F; }
html.skin-theme-clientpref-os .maintenance-box-red { background-color: #441D1D; border-color: #7F7373; }
html.skin-theme-clientpref-os .maintenance-box-yellow { background-color: #44441D; border-color: #7F7F73; }
html.skin-theme-clientpref-os .maintenance-box-grey { background-color: #303030; border-color: #797979; }
html.skin-theme-clientpref-os .maintenance-box-orange { background-color: #44301D; border-color: #7F7973; }
}
.request-box {
width: 90%;
margin: 0.75em auto;
border:1px dashed var(--border-color-base,#999999);
padding: 0.25em;
background: var(--background-color-base,#FFFFFF);
}
kn6q7d5ho8n6lkhdf72swab21la7me0
36139
36138
2024-09-16T17:29:55Z
Surjection
380
36139
sanitized-css
text/css
.maintenance-box {
width: 90%;
margin: 0.75em auto;
border-width: 1px;
border-style: dashed;
padding: 0.25em;
}
.request-box {
width: 90%;
margin: 0.75em auto;
border: 1px dashed var(--border-color-base,#999999);
padding: 0.25em;
background: var(--background-color-base,#FFFFFF);
}
/* Colors */
.maintenance-box-blue { background-color: #E6E6FF; border-color: #000061; }
.maintenance-box-red { background-color: #FFE6E6; border-color: #610000; }
.maintenance-box-yellow { background-color: #FFFFE6; border-color: #616100; }
.maintenance-box-grey { background-color: #F2F2F2; border-color: #303030; }
.maintenance-box-orange { background-color: #FFF2E6; border-color: #612F00; }
/* Dark colors. Styles need to be duplicated exactly between these two selectors. */
@media screen {
html.skin-theme-clientpref-night .maintenance-box-blue { background-color: #1D1D44; border-color: #73737F; }
html.skin-theme-clientpref-night .maintenance-box-red { background-color: #441D1D; border-color: #7F7373; }
html.skin-theme-clientpref-night .maintenance-box-yellow { background-color: #323216; border-color: #7F7F73; }
html.skin-theme-clientpref-night .maintenance-box-grey { background-color: #303030; border-color: #797979; }
html.skin-theme-clientpref-night .maintenance-box-orange { background-color: #44301D; border-color: #7F7973; }
}
@media screen and (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .maintenance-box-blue { background-color: #1D1D44; border-color: #73737F; }
html.skin-theme-clientpref-os .maintenance-box-red { background-color: #441D1D; border-color: #7F7373; }
html.skin-theme-clientpref-os .maintenance-box-yellow { background-color: #323216; border-color: #7F7F73; }
html.skin-theme-clientpref-os .maintenance-box-grey { background-color: #303030; border-color: #797979; }
html.skin-theme-clientpref-os .maintenance-box-orange { background-color: #44301D; border-color: #7F7973; }
}
bm75dpxda0qiwcngotdg7j8mdtut8hr
36140
36139
2024-10-04T20:57:20Z
Surjection
380
36140
sanitized-css
text/css
.maintenance-box {
width: 90%;
margin: 0.75em auto;
border-width: 1px;
border-style: dashed;
padding: 0.25em;
}
.request-box {
width: 90%;
margin: 0.75em auto;
border: 1px dashed var(--border-color-base,#999999);
padding: 0.25em;
background: var(--background-color-base,#FFFFFF);
}
body.skin-minerva .request-box table {
margin-top: 0.25em;
margin-bottom: 0.25em;
}
/* Colors */
.maintenance-box-blue { background-color: #E6E6FF; border-color: #000061; }
.maintenance-box-red { background-color: #FFE6E6; border-color: #610000; }
.maintenance-box-yellow { background-color: #FFFFE6; border-color: #616100; }
.maintenance-box-grey { background-color: #F2F2F2; border-color: #303030; }
.maintenance-box-orange { background-color: #FFF2E6; border-color: #612F00; }
/* Dark colors. Styles need to be duplicated exactly between these two selectors. */
@media screen {
html.skin-theme-clientpref-night .maintenance-box-blue { background-color: #1D1D44; border-color: #73737F; }
html.skin-theme-clientpref-night .maintenance-box-red { background-color: #441D1D; border-color: #7F7373; }
html.skin-theme-clientpref-night .maintenance-box-yellow { background-color: #323216; border-color: #7F7F73; }
html.skin-theme-clientpref-night .maintenance-box-grey { background-color: #303030; border-color: #797979; }
html.skin-theme-clientpref-night .maintenance-box-orange { background-color: #44301D; border-color: #7F7973; }
}
@media screen and (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .maintenance-box-blue { background-color: #1D1D44; border-color: #73737F; }
html.skin-theme-clientpref-os .maintenance-box-red { background-color: #441D1D; border-color: #7F7373; }
html.skin-theme-clientpref-os .maintenance-box-yellow { background-color: #323216; border-color: #7F7F73; }
html.skin-theme-clientpref-os .maintenance-box-grey { background-color: #303030; border-color: #797979; }
html.skin-theme-clientpref-os .maintenance-box-orange { background-color: #44301D; border-color: #7F7973; }
}
to39h5wx1bjnzh4rgu9y5s2ucpzu6f1
36141
36140
2025-02-06T06:45:37Z
Fenakhay
904
Make border wrap only the text
36141
sanitized-css
text/css
.maintenance-box {
width: 90%;
margin: 0.75em auto;
border-width: 1px;
border-style: dashed;
padding: 0.25em;
}
.request-box {
display: inline-block;
margin: 0.75em auto;
border: 1px dashed var(--border-color-base, #999999);
padding: 0.25em;
background: var(--background-color-base, #FFFFFF);
}
body.skin-minerva .request-box table {
margin-top: 0.25em;
margin-bottom: 0.25em;
}
/* Colors */
.maintenance-box-blue { background-color: #E6E6FF; border-color: #000061; }
.maintenance-box-red { background-color: #FFE6E6; border-color: #610000; }
.maintenance-box-yellow { background-color: #FFFFE6; border-color: #616100; }
.maintenance-box-grey { background-color: #F2F2F2; border-color: #303030; }
.maintenance-box-orange { background-color: #FFF2E6; border-color: #612F00; }
/* Dark colors. Styles need to be duplicated exactly between these two selectors. */
@media screen {
html.skin-theme-clientpref-night .maintenance-box-blue { background-color: #1D1D44; border-color: #73737F; }
html.skin-theme-clientpref-night .maintenance-box-red { background-color: #441D1D; border-color: #7F7373; }
html.skin-theme-clientpref-night .maintenance-box-yellow { background-color: #323216; border-color: #7F7F73; }
html.skin-theme-clientpref-night .maintenance-box-grey { background-color: #303030; border-color: #797979; }
html.skin-theme-clientpref-night .maintenance-box-orange { background-color: #44301D; border-color: #7F7973; }
}
@media screen and (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .maintenance-box-blue { background-color: #1D1D44; border-color: #73737F; }
html.skin-theme-clientpref-os .maintenance-box-red { background-color: #441D1D; border-color: #7F7373; }
html.skin-theme-clientpref-os .maintenance-box-yellow { background-color: #323216; border-color: #7F7F73; }
html.skin-theme-clientpref-os .maintenance-box-grey { background-color: #303030; border-color: #797979; }
html.skin-theme-clientpref-os .maintenance-box-orange { background-color: #44301D; border-color: #7F7973; }
}
k26xq684urbprhwy74tyfqne2h7hqcm
36142
36141
2025-02-06T06:50:36Z
Fenakhay
904
Add more margin to the left
36142
sanitized-css
text/css
.maintenance-box {
width: 90%;
margin: 0.75em auto;
border-width: 1px;
border-style: dashed;
padding: 0.25em;
}
.request-box {
display: inline-block;
margin: 0.75em 0 0.75em 1em;
border: 1px dashed var(--border-color-base, #999999);
padding: 0.25em;
background: var(--background-color-base, #FFFFFF);
}
body.skin-minerva .request-box table {
margin-top: 0.25em;
margin-bottom: 0.25em;
}
/* Colors */
.maintenance-box-blue { background-color: #E6E6FF; border-color: #000061; }
.maintenance-box-red { background-color: #FFE6E6; border-color: #610000; }
.maintenance-box-yellow { background-color: #FFFFE6; border-color: #616100; }
.maintenance-box-grey { background-color: #F2F2F2; border-color: #303030; }
.maintenance-box-orange { background-color: #FFF2E6; border-color: #612F00; }
/* Dark colors. Styles need to be duplicated exactly between these two selectors. */
@media screen {
html.skin-theme-clientpref-night .maintenance-box-blue { background-color: #1D1D44; border-color: #73737F; }
html.skin-theme-clientpref-night .maintenance-box-red { background-color: #441D1D; border-color: #7F7373; }
html.skin-theme-clientpref-night .maintenance-box-yellow { background-color: #323216; border-color: #7F7F73; }
html.skin-theme-clientpref-night .maintenance-box-grey { background-color: #303030; border-color: #797979; }
html.skin-theme-clientpref-night .maintenance-box-orange { background-color: #44301D; border-color: #7F7973; }
}
@media screen and (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .maintenance-box-blue { background-color: #1D1D44; border-color: #73737F; }
html.skin-theme-clientpref-os .maintenance-box-red { background-color: #441D1D; border-color: #7F7373; }
html.skin-theme-clientpref-os .maintenance-box-yellow { background-color: #323216; border-color: #7F7F73; }
html.skin-theme-clientpref-os .maintenance-box-grey { background-color: #303030; border-color: #797979; }
html.skin-theme-clientpref-os .maintenance-box-orange { background-color: #44301D; border-color: #7F7973; }
}
584uohhhrqkn7iye0zj7ih3egqdnped
36143
36142
2025-02-06T09:35:42Z
Fenakhay
904
36143
sanitized-css
text/css
.maintenance-box {
width: 90%;
margin: 0.75em auto;
border-width: 1px;
border-style: dashed;
padding: 0.25em;
}
.request-box {
display: inline-block;
margin: 0.75em 1em 0.75em 1em;
border: 1px dashed var(--border-color-base, #999999);
padding: 0.25em;
background: var(--background-color-base, #FFFFFF);
}
body.skin-minerva .request-box table {
margin-top: 0.25em;
margin-bottom: 0.25em;
}
/* Colors */
.maintenance-box-blue { background-color: #E6E6FF; border-color: #000061; }
.maintenance-box-red { background-color: #FFE6E6; border-color: #610000; }
.maintenance-box-yellow { background-color: #FFFFE6; border-color: #616100; }
.maintenance-box-grey { background-color: #F2F2F2; border-color: #303030; }
.maintenance-box-orange { background-color: #FFF2E6; border-color: #612F00; }
/* Dark colors. Styles need to be duplicated exactly between these two selectors. */
@media screen {
html.skin-theme-clientpref-night .maintenance-box-blue { background-color: #1D1D44; border-color: #73737F; }
html.skin-theme-clientpref-night .maintenance-box-red { background-color: #441D1D; border-color: #7F7373; }
html.skin-theme-clientpref-night .maintenance-box-yellow { background-color: #323216; border-color: #7F7F73; }
html.skin-theme-clientpref-night .maintenance-box-grey { background-color: #303030; border-color: #797979; }
html.skin-theme-clientpref-night .maintenance-box-orange { background-color: #44301D; border-color: #7F7973; }
}
@media screen and (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .maintenance-box-blue { background-color: #1D1D44; border-color: #73737F; }
html.skin-theme-clientpref-os .maintenance-box-red { background-color: #441D1D; border-color: #7F7373; }
html.skin-theme-clientpref-os .maintenance-box-yellow { background-color: #323216; border-color: #7F7F73; }
html.skin-theme-clientpref-os .maintenance-box-grey { background-color: #303030; border-color: #797979; }
html.skin-theme-clientpref-os .maintenance-box-orange { background-color: #44301D; border-color: #7F7973; }
}
njaon0698lei958lap1edg0gt685k7x
36144
36143
2025-02-14T01:39:51Z
This, that and the other
894
remove display: inline-block from .request-box as it was causing these boxes to clear under floating elements on narrow viewports: see [[Wiktionary:Grease pit/2025/February#Frame-width filling request display boxes]]
36144
sanitized-css
text/css
.maintenance-box {
width: 90%;
margin: 0.75em auto;
border-width: 1px;
border-style: dashed;
padding: 0.25em;
}
.request-box {
/* width: fit-content added as inline style */
margin: 0.75em 1em 0.75em 1em;
border: 1px dashed var(--border-color-base, #999999);
padding: 0.25em;
background: var(--background-color-base, #FFFFFF);
}
body.skin-minerva .request-box table {
margin-top: 0.25em;
margin-bottom: 0.25em;
}
/* Colors */
.maintenance-box-blue { background-color: #E6E6FF; border-color: #000061; }
.maintenance-box-red { background-color: #FFE6E6; border-color: #610000; }
.maintenance-box-yellow { background-color: #FFFFE6; border-color: #616100; }
.maintenance-box-grey { background-color: #F2F2F2; border-color: #303030; }
.maintenance-box-orange { background-color: #FFF2E6; border-color: #612F00; }
/* Dark colors. Styles need to be duplicated exactly between these two selectors. */
@media screen {
html.skin-theme-clientpref-night .maintenance-box-blue { background-color: #1D1D44; border-color: #73737F; }
html.skin-theme-clientpref-night .maintenance-box-red { background-color: #441D1D; border-color: #7F7373; }
html.skin-theme-clientpref-night .maintenance-box-yellow { background-color: #323216; border-color: #7F7F73; }
html.skin-theme-clientpref-night .maintenance-box-grey { background-color: #303030; border-color: #797979; }
html.skin-theme-clientpref-night .maintenance-box-orange { background-color: #44301D; border-color: #7F7973; }
}
@media screen and (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .maintenance-box-blue { background-color: #1D1D44; border-color: #73737F; }
html.skin-theme-clientpref-os .maintenance-box-red { background-color: #441D1D; border-color: #7F7373; }
html.skin-theme-clientpref-os .maintenance-box-yellow { background-color: #323216; border-color: #7F7F73; }
html.skin-theme-clientpref-os .maintenance-box-grey { background-color: #303030; border-color: #797979; }
html.skin-theme-clientpref-os .maintenance-box-orange { background-color: #44301D; border-color: #7F7973; }
}
rjz98q84bhx4tq9g0e8nrtea9per3ay
36145
36144
2025-09-27T19:15:47Z
Surjection
380
use palette
36145
sanitized-css
text/css
.maintenance-box {
width: 90%;
margin: 0.75em auto;
border-width: 1px;
border-style: dashed;
padding: 0.25em;
}
.request-box {
/* width: fit-content added as inline style */
margin: 0.75em 1em 0.75em 1em;
border: 1px dashed var(--border-color-base, #999999);
padding: 0.25em;
background: var(--background-color-base, #FFFFFF);
}
body.skin-minerva .request-box table {
margin-top: 0.25em;
margin-bottom: 0.25em;
}
/* Colors */
.maintenance-box-blue {
background-color: var(--wikt-palette-indigo-2, #E6E6FF);
border: 1px dashed var(--wikt-palette-indigo-9, #000061);
}
.maintenance-box-red {
background-color: var(--wikt-palette-red-2, #FFE6E6);
border: 1px dashed var(--wikt-palette-red-9, #610000);
}
.maintenance-box-yellow {
background-color: var(--wikt-palette-yellow-2, #FFFFE6);
border: 1px dashed var(--wikt-palette-yellow-9, #616100);
}
.maintenance-box-grey {
background-color: var(--wikt-palette-grey-2, #F2F2F2);
border: 1px dashed var(--wikt-palette-grey-9, #303030);
}
.maintenance-box-orange {
background-color: var(--wikt-palette-orange-2, #FFF2E6);
border: 1px dashed var(--wikt-palette-orange-9, #612F00);
}
c7trgs9ke3suivkv1i499asy3vlqpjp
36146
36145
2025-10-02T18:21:36Z
Ioaxxere
1384
add some paddingh
36146
sanitized-css
text/css
.maintenance-box {
width: 90%;
margin: 0.75em auto;
border-width: 1px;
border-style: dashed;
padding: 0.25em;
}
.maintenance-box-image-cell {
padding: 0 0.5em;
}
.request-box {
/* width: fit-content added as inline style */
margin: 0.75em 1em 0.75em 1em;
border: 1px dashed var(--border-color-base, #999999);
padding: 0.25em;
background: var(--background-color-base, #FFFFFF);
}
body.skin-minerva .request-box table {
margin-top: 0.25em;
margin-bottom: 0.25em;
}
/* Colors */
.maintenance-box-blue {
background-color: var(--wikt-palette-indigo-2, #E6E6FF);
border: 1px dashed var(--wikt-palette-indigo-9, #000061);
}
.maintenance-box-red {
background-color: var(--wikt-palette-red-2, #FFE6E6);
border: 1px dashed var(--wikt-palette-red-9, #610000);
}
.maintenance-box-yellow {
background-color: var(--wikt-palette-yellow-2, #FFFFE6);
border: 1px dashed var(--wikt-palette-yellow-9, #616100);
}
.maintenance-box-grey {
background-color: var(--wikt-palette-grey-2, #F2F2F2);
border: 1px dashed var(--wikt-palette-grey-9, #303030);
}
.maintenance-box-orange {
background-color: var(--wikt-palette-orange-2, #FFF2E6);
border: 1px dashed var(--wikt-palette-orange-9, #612F00);
}
jfrapui9r3bti6gtwmpkgwsllc2g0hj
36147
36146
2025-10-17T17:57:48Z
Surjection
380
36147
sanitized-css
text/css
.maintenance-box {
width: 90%;
margin: 0.75em auto;
border-width: 1px;
border-style: dashed;
padding: 0.25em;
}
body.skin-vector-2022 .maintenance-box > table td p:last-of-type {
/* remove extraneous bottom margin from bottom edge of maintenance box if it has multiple lines/paragraphs */
margin-bottom: 0.5em;
}
.maintenance-box-image-cell {
padding: 0 0.5em;
}
.request-box {
/* width: fit-content added as inline style */
margin: 0.75em 1em 0.75em 1em;
border: 1px dashed var(--border-color-base, #999999);
padding: 0.25em;
background: var(--background-color-base, #FFFFFF);
}
body.skin-minerva .request-box table {
margin-top: 0.25em;
margin-bottom: 0.25em;
}
/* Colors */
.maintenance-box-blue {
background-color: var(--wikt-palette-indigo-2, #E6E6FF);
border: 1px dashed var(--wikt-palette-indigo-9, #000061);
}
.maintenance-box-red {
background-color: var(--wikt-palette-red-2, #FFE6E6);
border: 1px dashed var(--wikt-palette-red-9, #610000);
}
.maintenance-box-yellow {
background-color: var(--wikt-palette-yellow-2, #FFFFE6);
border: 1px dashed var(--wikt-palette-yellow-9, #616100);
}
.maintenance-box-grey {
background-color: var(--wikt-palette-grey-2, #F2F2F2);
border: 1px dashed var(--wikt-palette-grey-9, #303030);
}
.maintenance-box-orange {
background-color: var(--wikt-palette-orange-2, #FFF2E6);
border: 1px dashed var(--wikt-palette-orange-9, #612F00);
}
6f8v8qmm0zjrwaewxeajcjru7jaq5vz
36148
36147
2025-10-17T18:00:35Z
Surjection
380
36148
sanitized-css
text/css
.maintenance-box {
width: 90%;
margin: 0.75em auto;
border-width: 1px;
border-style: dashed;
padding: 0.25em;
}
body.skin-vector-2022 .maintenance-box > table td p:last-of-type {
/* remove extraneous bottom margin from bottom edge of maintenance box if it has multiple lines/paragraphs */
margin-bottom: 0.25em;
}
.maintenance-box-image-cell {
padding: 0 0.5em;
}
.request-box {
/* width: fit-content added as inline style */
margin: 0.75em 1em 0.75em 1em;
border: 1px dashed var(--border-color-base, #999999);
padding: 0.25em;
background: var(--background-color-base, #FFFFFF);
}
body.skin-minerva .request-box table {
margin-top: 0.25em;
margin-bottom: 0.25em;
}
/* Colors */
.maintenance-box-blue {
background-color: var(--wikt-palette-indigo-2, #E6E6FF);
border: 1px dashed var(--wikt-palette-indigo-9, #000061);
}
.maintenance-box-red {
background-color: var(--wikt-palette-red-2, #FFE6E6);
border: 1px dashed var(--wikt-palette-red-9, #610000);
}
.maintenance-box-yellow {
background-color: var(--wikt-palette-yellow-2, #FFFFE6);
border: 1px dashed var(--wikt-palette-yellow-9, #616100);
}
.maintenance-box-grey {
background-color: var(--wikt-palette-grey-2, #F2F2F2);
border: 1px dashed var(--wikt-palette-grey-9, #303030);
}
.maintenance-box-orange {
background-color: var(--wikt-palette-orange-2, #FFF2E6);
border: 1px dashed var(--wikt-palette-orange-9, #612F00);
}
94apw72wdbw2yvw3hygvo1l8sbdhyi8
36149
36148
2026-05-26T08:22:46Z
King ChristLike
964
13 revisions imported from [[:en:Module:message_box/styles.css]]
36148
sanitized-css
text/css
.maintenance-box {
width: 90%;
margin: 0.75em auto;
border-width: 1px;
border-style: dashed;
padding: 0.25em;
}
body.skin-vector-2022 .maintenance-box > table td p:last-of-type {
/* remove extraneous bottom margin from bottom edge of maintenance box if it has multiple lines/paragraphs */
margin-bottom: 0.25em;
}
.maintenance-box-image-cell {
padding: 0 0.5em;
}
.request-box {
/* width: fit-content added as inline style */
margin: 0.75em 1em 0.75em 1em;
border: 1px dashed var(--border-color-base, #999999);
padding: 0.25em;
background: var(--background-color-base, #FFFFFF);
}
body.skin-minerva .request-box table {
margin-top: 0.25em;
margin-bottom: 0.25em;
}
/* Colors */
.maintenance-box-blue {
background-color: var(--wikt-palette-indigo-2, #E6E6FF);
border: 1px dashed var(--wikt-palette-indigo-9, #000061);
}
.maintenance-box-red {
background-color: var(--wikt-palette-red-2, #FFE6E6);
border: 1px dashed var(--wikt-palette-red-9, #610000);
}
.maintenance-box-yellow {
background-color: var(--wikt-palette-yellow-2, #FFFFE6);
border: 1px dashed var(--wikt-palette-yellow-9, #616100);
}
.maintenance-box-grey {
background-color: var(--wikt-palette-grey-2, #F2F2F2);
border: 1px dashed var(--wikt-palette-grey-9, #303030);
}
.maintenance-box-orange {
background-color: var(--wikt-palette-orange-2, #FFF2E6);
border: 1px dashed var(--wikt-palette-orange-9, #612F00);
}
94apw72wdbw2yvw3hygvo1l8sbdhyi8
Module:shortcut box
828
6626
36150
2014-09-25T04:54:43Z
Kephir
1378
for {{shortcut}}
36150
Scribunto
text/plain
local export = {}
function export.show(frame)
local output = {}
local args = frame:getParent().args
local FULLPAGENAME = mw.title.getCurrentTitle().fullText
local SUBPAGENAME = FULLPAGENAME:match("/([^/]-)$")
output[#output + 1] = '<div class="noprint plainlinks" style="border:1px solid #999; background:#eeeeff; margin:0 0 .5em 1em; text-align:center; padding:5px; float:right; clear:both; font-size:smaller;">'
for i, shcut in ipairs(args) do
local attn, title = false, mw.title.new(shcut)
if not title then
item = '<span class="attentionseeking">(<code>' .. shcut .. '</code>)</span>'
attn = true
else
local iattn = false
local item = '[' .. tostring(mw.uri.fullUrl(shcut, 'redirect=no')) .. ' ' .. shcut .. ']'
if title.namespace == 10 then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shcut, 'redirect=no')) .. ' ' .. title.text .. ']}}</code>'
end
if not title.exists then
iattn = true
else
local content = title:getContent()
local target = content:match("^#[Rr][Ee][Dd][Ii][Rr][Ee][Cc][Tt]%s*%[%[(.-)%]%]")
if not target then
iattn = true
elseif target ~= FULLPAGENAME then
iattn = true
end
end
if iattn then
item = '<span class="attentionseeking">' .. item .. '</span>'
end
output[#output + 1] = item .. '<br/>'
attn = attn or iattn
end
end
if not args.nocat then
if attn then
output[#output + 1] = '[[Category:Shortcut boxes needing attention]]'
end
if SUBPAGENAME ~= 'documentation' then
output[#output + 1] = '[[Category:Wiktionary pages with shortcuts]]'
end
end
output[#output + 1] = '</div>'
return table.concat(output)
end
return export
l1525hjtly12frj3u2t680rxlwcmq1y
36151
36150
2014-09-25T04:59:04Z
Kephir
1378
36151
Scribunto
text/plain
local export = {}
function export.show(frame)
local output = {}
local args = frame:getParent().args
local FULLPAGENAME = mw.title.getCurrentTitle().fullText
local SUBPAGENAME = FULLPAGENAME:match("/([^/]-)$")
if FULLPAGENAME == frame:getTitle() then
return '<div class="noprint plainlinks" style="border:1px solid #999; background:#eeeeff; margin:0 0 .5em 1em; text-align:center; padding:5px; clear:both; font-size:smaller;">[[Wiktionary:Shortcut|Shortcuts]]:<br/>{{{1}}}</div>'
else
output[#output + 1] = '<div class="noprint plainlinks" style="border:1px solid #999; background:#eeeeff; margin:0 0 .5em 1em; text-align:center; padding:5px; float:right; clear:both; font-size:smaller;">'
end
if args.temp then
output[#output + 1] = 'Temporary [[Wiktionary:Shortcut|shortcut' .. (args[2] and 's' or '') .. ']]:<br/>'
else
output[#output + 1] = '[[Wiktionary:Shortcut|Shortcut' .. (args[2] and 's' or '') .. ']]:<br/>'
end
for i, shcut in ipairs(args) do
local attn, title = false, mw.title.new(shcut)
if not title then
item = '<span class="attentionseeking">(<code>' .. shcut .. '</code>)</span>'
attn = true
else
local iattn = false
local item = '[' .. tostring(mw.uri.fullUrl(shcut, 'redirect=no')) .. ' ' .. shcut .. ']'
if title.namespace == 10 then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shcut, 'redirect=no')) .. ' ' .. title.text .. ']}}</code>'
end
if not title.exists then
iattn = true
else
local content = title:getContent()
local target = content:match("^#[Rr][Ee][Dd][Ii][Rr][Ee][Cc][Tt]%s*%[%[(.-)%]%]")
if not target then
iattn = true
elseif target ~= FULLPAGENAME then
iattn = true
end
end
if iattn then
item = '<span class="attentionseeking">' .. item .. '</span>'
end
output[#output + 1] = item .. '<br/>'
attn = attn or iattn
end
end
if not args.nocat then
if attn then
output[#output + 1] = '[[Category:Shortcut boxes needing attention]]'
end
if SUBPAGENAME ~= 'documentation' then
output[#output + 1] = '[[Category:Wiktionary pages with shortcuts]]'
end
end
output[#output + 1] = '</div>'
return table.concat(output)
end
return export
debhxierlcosc1zo4ob1h16i2zzisgh
36152
36151
2014-09-25T04:59:52Z
Kephir
1378
36152
Scribunto
text/plain
local export = {}
function export.show(frame)
local output = {}
local args = frame:getParent().args
local FULLPAGENAME = mw.title.getCurrentTitle().fullText
local SUBPAGENAME = FULLPAGENAME:match("/([^/]-)$")
if FULLPAGENAME == frame:getParent():getTitle() then
return '<div class="noprint plainlinks" style="border:1px solid #999; background:#eeeeff; margin:0 0 .5em 1em; text-align:center; padding:5px; clear:both; font-size:smaller;">[[Wiktionary:Shortcut|Shortcuts]]:<br/>{{{1}}}</div>'
else
output[#output + 1] = '<div class="noprint plainlinks" style="border:1px solid #999; background:#eeeeff; margin:0 0 .5em 1em; text-align:center; padding:5px; float:right; clear:both; font-size:smaller;">'
end
if args.temp then
output[#output + 1] = 'Temporary [[Wiktionary:Shortcut|shortcut' .. (args[2] and 's' or '') .. ']]:<br/>'
else
output[#output + 1] = '[[Wiktionary:Shortcut|Shortcut' .. (args[2] and 's' or '') .. ']]:<br/>'
end
for i, shcut in ipairs(args) do
local attn, title = false, mw.title.new(shcut)
if not title then
item = '<span class="attentionseeking">(<code>' .. shcut .. '</code>)</span>'
attn = true
else
local iattn = false
local item = '[' .. tostring(mw.uri.fullUrl(shcut, 'redirect=no')) .. ' ' .. shcut .. ']'
if title.namespace == 10 then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shcut, 'redirect=no')) .. ' ' .. title.text .. ']}}</code>'
end
if not title.exists then
iattn = true
else
local content = title:getContent()
local target = content:match("^#[Rr][Ee][Dd][Ii][Rr][Ee][Cc][Tt]%s*%[%[(.-)%]%]")
if not target then
iattn = true
elseif target ~= FULLPAGENAME then
iattn = true
end
end
if iattn then
item = '<span class="attentionseeking">' .. item .. '</span>'
end
output[#output + 1] = item .. '<br/>'
attn = attn or iattn
end
end
if not args.nocat then
if attn then
output[#output + 1] = '[[Category:Shortcut boxes needing attention]]'
end
if SUBPAGENAME ~= 'documentation' then
output[#output + 1] = '[[Category:Wiktionary pages with shortcuts]]'
end
end
output[#output + 1] = '</div>'
return table.concat(output)
end
return export
mnsk3w9zk9xjhfw9yw0hspt6njwc6ua
36153
36152
2014-09-25T05:04:56Z
Kephir
1378
hmm
36153
Scribunto
text/plain
local export = {}
function export.show(frame)
local output = {}
local args = frame:getParent().args
local demo = false
local FULLPAGENAME = mw.title.getCurrentTitle().fullText
local BASEPAGENAME, SUBPAGENAME = FULLPAGENAME:match("^(.-)/([^/]-)$")
if FULLPAGENAME == frame:getParent():getTitle() then
demo = true
else
output[#output + 1] = '<div class="noprint plainlinks" style="border:1px solid #999; background:#eeeeff; margin:0 0 .5em 1em; text-align:center; padding:5px; float:right; clear:both; font-size:smaller;">'
end
if args.temp then
output[#output + 1] = 'Temporary [[Wiktionary:Shortcut|shortcut' .. (args[2] and 's' or '') .. ']]:<br/>'
else
output[#output + 1] = '[[Wiktionary:Shortcut|Shortcut' .. (args[2] and 's' or '') .. ']]:<br/>'
end
for i, shcut in ipairs(args) do
local attn, title = false, mw.title.new(shcut)
if not title then
item = '<span class="attentionseeking">(<code>' .. shcut .. '</code>)</span>'
attn = true
else
local iattn = false
local item = '[' .. tostring(mw.uri.fullUrl(shcut, 'redirect=no')) .. ' ' .. shcut .. ']'
if title.namespace == 10 then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shcut, 'redirect=no')) .. ' ' .. title.text .. ']}}</code>'
end
if not title.exists then
iattn = true
elseif not demo then
local content = title:getContent()
local target = content:match("^#[Rr][Ee][Dd][Ii][Rr][Ee][Cc][Tt]%s*%[%[(.-)%]%]")
if not target then
iattn = true
elseif SUBPAGENAME == 'documentation' then
iattn = (target ~= BASEPAGENAME) and (target ~= FULLPAGENAME)
else
iattn = (target ~= FULLPAGENAME) and (target ~= (FULLPAGENAME .. '/documentation'))
end
end
if iattn then
item = '<span class="attentionseeking">' .. item .. '</span>'
end
output[#output + 1] = item .. '<br/>'
attn = attn or iattn
end
end
if not args.nocat then
if attn then
output[#output + 1] = '[[Category:Shortcut boxes needing attention]]'
end
if SUBPAGENAME ~= 'documentation' then
output[#output + 1] = '[[Category:Wiktionary pages with shortcuts]]'
end
end
output[#output + 1] = '</div>'
return table.concat(output)
end
return export
867puqhh03lwliiys5xgmxnhj3tfvgg
36154
36153
2014-09-25T05:05:27Z
Kephir
1378
36154
Scribunto
text/plain
local export = {}
function export.show(frame)
local output = {}
local args = frame:getParent().args
local demo = false
local FULLPAGENAME = mw.title.getCurrentTitle().fullText
local BASEPAGENAME, SUBPAGENAME = FULLPAGENAME:match("^(.-)/([^/]-)$")
if FULLPAGENAME == frame:getParent():getTitle() then
demo = true
end
output[#output + 1] = '<div class="noprint plainlinks" style="border:1px solid #999; background:#eeeeff; margin:0 0 .5em 1em; text-align:center; padding:5px; float:right; clear:both; font-size:smaller;">'
if args.temp then
output[#output + 1] = 'Temporary [[Wiktionary:Shortcut|shortcut' .. (args[2] and 's' or '') .. ']]:<br/>'
else
output[#output + 1] = '[[Wiktionary:Shortcut|Shortcut' .. (args[2] and 's' or '') .. ']]:<br/>'
end
for i, shcut in ipairs(args) do
local attn, title = false, mw.title.new(shcut)
if not title then
item = '<span class="attentionseeking">(<code>' .. shcut .. '</code>)</span>'
attn = true
else
local iattn = false
local item = '[' .. tostring(mw.uri.fullUrl(shcut, 'redirect=no')) .. ' ' .. shcut .. ']'
if title.namespace == 10 then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shcut, 'redirect=no')) .. ' ' .. title.text .. ']}}</code>'
end
if not title.exists then
iattn = true
elseif not demo then
local content = title:getContent()
local target = content:match("^#[Rr][Ee][Dd][Ii][Rr][Ee][Cc][Tt]%s*%[%[(.-)%]%]")
if not target then
iattn = true
elseif SUBPAGENAME == 'documentation' then
iattn = (target ~= BASEPAGENAME) and (target ~= FULLPAGENAME)
else
iattn = (target ~= FULLPAGENAME) and (target ~= (FULLPAGENAME .. '/documentation'))
end
end
if iattn then
item = '<span class="attentionseeking">' .. item .. '</span>'
end
output[#output + 1] = item .. '<br/>'
attn = attn or iattn
end
end
if not args.nocat then
if attn then
output[#output + 1] = '[[Category:Shortcut boxes needing attention]]'
end
if SUBPAGENAME ~= 'documentation' then
output[#output + 1] = '[[Category:Wiktionary pages with shortcuts]]'
end
end
output[#output + 1] = '</div>'
return table.concat(output)
end
return export
czxg2ntcc6glaocl1diwts8o5it9enm
36155
36154
2014-09-25T05:08:53Z
Kephir
1378
argh
36155
Scribunto
text/plain
local export = {}
function export.show(frame)
local output = {}
local args = frame:getParent().args
local demo = false
local FULLPAGENAME = mw.title.getCurrentTitle().fullText
local BASEPAGENAME, SUBPAGENAME = FULLPAGENAME:match("^(.-)/([^/]-)$")
if FULLPAGENAME == frame:getParent():getTitle() then
demo = true
end
output[#output + 1] = '<div class="noprint plainlinks" style="border:1px solid #999; background:#eeeeff; margin:0 0 .5em 1em; text-align:center; padding:5px; float:right; clear:both; font-size:smaller;">'
if args.temp then
output[#output + 1] = 'Temporary [[Wiktionary:Shortcut|shortcut' .. (args[2] and 's' or '') .. ']]:<br/>'
else
output[#output + 1] = '[[Wiktionary:Shortcut|Shortcut' .. (args[2] and 's' or '') .. ']]:<br/>'
end
local attn = false
for i, shcut in ipairs(args) do
local title = mw.title.new(shcut)
if not title then
item = '<span class="attentionseeking">(<code>' .. shcut .. '</code>)</span>'
attn = true
else
local iattn = false
local item = '[' .. tostring(mw.uri.fullUrl(shcut, 'redirect=no')) .. ' ' .. shcut .. ']'
if title.namespace == 10 then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shcut, 'redirect=no')) .. ' ' .. title.text .. ']}}</code>'
end
if not title.exists then
iattn = true
elseif not demo then
local content = title:getContent()
local target = content:match("^#[Rr][Ee][Dd][Ii][Rr][Ee][Cc][Tt]%s*%[%[(.-)%]%]")
if not target then
iattn = true
elseif SUBPAGENAME == 'documentation' then
iattn = (target ~= BASEPAGENAME) and (target ~= FULLPAGENAME)
else
iattn = (target ~= FULLPAGENAME) and (target ~= (FULLPAGENAME .. '/documentation'))
end
end
if iattn then
item = '<span class="attentionseeking">' .. item .. '</span>'
end
output[#output + 1] = item .. '<br/>'
attn = attn or iattn
end
end
if not args.nocat then
if attn then
output[#output + 1] = '[[Category:Shortcut boxes needing attention]]'
end
if SUBPAGENAME ~= 'documentation' then
output[#output + 1] = '[[Category:Wiktionary pages with shortcuts]]'
end
end
output[#output + 1] = '</div>'
return table.concat(output)
end
return export
4pkvipry0svmnupvzqonyhif2rz56t4
36156
36155
2014-09-25T05:10:46Z
Kephir
1378
hmmmm
36156
Scribunto
text/plain
local export = {}
function export.show(frame)
local output = {}
local args = frame:getParent().args
local demo = false
local FULLPAGENAME = mw.title.getCurrentTitle().fullText
local BASEPAGENAME, SUBPAGENAME = FULLPAGENAME:match("^(.-)/([^/]-)$")
if FULLPAGENAME == frame:getParent():getTitle() then
demo = true
end
output[#output + 1] = '<div class="noprint plainlinks" style="border:1px solid #999; background:#eeeeff; margin:0 0 .5em 1em; text-align:center; padding:5px; float:right; clear:both; font-size:smaller;">'
if args.temp then
output[#output + 1] = 'Temporary [[Wiktionary:Shortcut|shortcut' .. (args[2] and 's' or '') .. ']]:<br/>'
else
output[#output + 1] = '[[Wiktionary:Shortcut|Shortcut' .. (args[2] and 's' or '') .. ']]:<br/>'
end
local attn = false
for i, shcut in ipairs(args) do
local title = mw.title.new(shcut)
if not title then
output[#output + 1] = '<span class="attentionseeking">(<code>' .. mw.text.nowiki(shcut) .. '</code>)</span><br/>'
attn = true
else
local iattn = false
local item = '[' .. tostring(mw.uri.fullUrl(shcut, 'redirect=no')) .. ' ' .. shcut .. ']'
if title.namespace == 10 then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shcut, 'redirect=no')) .. ' ' .. title.text .. ']}}</code>'
end
if not title.exists then
iattn = true
elseif not demo then
local content = title:getContent()
local target = content:match("^#[Rr][Ee][Dd][Ii][Rr][Ee][Cc][Tt]%s*%[%[(.-)[#%]]")
if not target then
iattn = true
elseif SUBPAGENAME == 'documentation' then
iattn = (target ~= BASEPAGENAME) and (target ~= FULLPAGENAME)
else
iattn = (target ~= FULLPAGENAME) and (target ~= (FULLPAGENAME .. '/documentation'))
end
end
if iattn then
item = '<span class="attentionseeking">' .. item .. '</span>'
end
output[#output + 1] = item .. '<br/>'
attn = attn or iattn
end
end
if not args.nocat then
if attn then
output[#output + 1] = '[[Category:Shortcut boxes needing attention]]'
end
if SUBPAGENAME ~= 'documentation' then
output[#output + 1] = '[[Category:Wiktionary pages with shortcuts]]'
end
end
output[#output + 1] = '</div>'
return table.concat(output)
end
return export
r08nf3vgk6qzi3wmrkqhamp01i244tx
36157
36156
2014-09-25T05:15:09Z
Kephir
1378
hmmm
36157
Scribunto
text/plain
local export = {}
function export.show(frame)
local output = {}
local args = frame:getParent().args
local demo = false
local FULLPAGENAME = mw.title.getCurrentTitle().fullText
local BASEPAGENAME, SUBPAGENAME = FULLPAGENAME:match("^(.-)/([^/]-)$")
if FULLPAGENAME == frame:getParent():getTitle() then
demo = true
end
output[#output + 1] = '<div class="noprint plainlinks" style="border:1px solid #999; background:#eeeeff; margin:0 0 .5em 1em; text-align:center; padding:5px; float:right; clear:both; font-size:smaller;">'
if args.temp then
output[#output + 1] = 'Temporary [[Wiktionary:Shortcut|shortcut' .. (args[2] and 's' or '') .. ']]:<br/>'
else
output[#output + 1] = '[[Wiktionary:Shortcut|Shortcut' .. (args[2] and 's' or '') .. ']]:<br/>'
end
local attn = false
for i, shcut in ipairs(args) do
local title = mw.title.new(shcut)
if not title then
output[#output + 1] = '<span class="attentionseeking">(<code>' .. mw.text.nowiki(shcut) .. '</code>)</span><br/>'
attn = true
else
local iattn = false
local item = '[' .. tostring(mw.uri.fullUrl(shcut, 'redirect=no')) .. ' ' .. shcut .. ']'
if title.namespace == 10 then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shcut, 'redirect=no')) .. ' ' .. title.text .. ']}}</code>'
end
if not title.exists then
iattn = true
local query = 'action=edit&redlink=1&preloadtext=' .. mw.uri.encode('#REDIRECT [[' .. FULLPAGENAME .. ']]')
if title.namespace == 10 then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shcut, query)) .. ' ' .. title.text .. ']}}</code>'
else
item = '[' .. tostring(mw.uri.fullUrl(shcut, query)) .. ' ' .. shcut .. ']'
end
elseif not demo then
local content = title:getContent()
local target = content:match("^#[Rr][Ee][Dd][Ii][Rr][Ee][Cc][Tt]%s*%[%[(.-)[#%]]")
if not target then
iattn = true
elseif SUBPAGENAME == 'documentation' then
iattn = (target ~= BASEPAGENAME) and (target ~= FULLPAGENAME)
else
iattn = (target ~= FULLPAGENAME) and (target ~= (FULLPAGENAME .. '/documentation'))
end
end
if iattn then
item = '<span class="attentionseeking">' .. item .. '</span>'
end
output[#output + 1] = item .. '<br/>'
attn = attn or iattn
end
end
if not args.nocat then
if attn then
output[#output + 1] = '[[Category:Shortcut boxes needing attention]]'
end
if SUBPAGENAME ~= 'documentation' then
output[#output + 1] = '[[Category:Wiktionary pages with shortcuts]]'
end
end
output[#output + 1] = '</div>'
return table.concat(output)
end
return export
m0tpkftvhjubzaxhhmoj5uigdk0t9ul
36158
36157
2014-09-25T05:17:10Z
Kephir
1378
special check for templates
36158
Scribunto
text/plain
local export = {}
function export.show(frame)
local output = {}
local args = frame:getParent().args
local demo = false
local FULLPAGENAME = mw.title.getCurrentTitle().fullText
local BASEPAGENAME, SUBPAGENAME = FULLPAGENAME:match("^(.-)/([^/]-)$")
if FULLPAGENAME == frame:getParent():getTitle() then
demo = true
end
output[#output + 1] = '<div class="noprint plainlinks" style="border:1px solid #999; background:#eeeeff; margin:0 0 .5em 1em; text-align:center; padding:5px; float:right; clear:both; font-size:smaller;">'
if args.temp then
output[#output + 1] = 'Temporary [[Wiktionary:Shortcut|shortcut' .. (args[2] and 's' or '') .. ']]:<br/>'
else
output[#output + 1] = '[[Wiktionary:Shortcut|Shortcut' .. (args[2] and 's' or '') .. ']]:<br/>'
end
local attn = false
for i, shcut in ipairs(args) do
local title = mw.title.new(shcut)
if not title then
output[#output + 1] = '<span class="attentionseeking">(<code>' .. mw.text.nowiki(shcut) .. '</code>)</span><br/>'
attn = true
else
local iattn = false
local item = '[' .. tostring(mw.uri.fullUrl(shcut, 'redirect=no')) .. ' ' .. shcut .. ']'
if title.namespace == 10 then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shcut, 'redirect=no')) .. ' ' .. title.text .. ']}}</code>'
end
if not title.exists then
iattn = true
local query = 'action=edit&redlink=1&preloadtext=' .. mw.uri.encode('#REDIRECT [[' .. FULLPAGENAME .. ']]')
if title.namespace == 10 then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shcut, query)) .. ' ' .. title.text .. ']}}</code>'
else
item = '[' .. tostring(mw.uri.fullUrl(shcut, query)) .. ' ' .. shcut .. ']'
end
elseif not demo then
local content = title:getContent()
local target = content:match("^#[Rr][Ee][Dd][Ii][Rr][Ee][Cc][Tt]%s*%[%[(.-)[#%]]")
if not target then
iattn = true
elseif title.namespace == 10 then
if SUBPAGENAME == 'documentation' then
iattn = (target ~= BASEPAGENAME)
else
iattn = (target ~= FULLPAGENAME)
end
else
if SUBPAGENAME == 'documentation' then
iattn = (target ~= BASEPAGENAME) and (target ~= FULLPAGENAME)
else
iattn = (target ~= FULLPAGENAME) and (target ~= (FULLPAGENAME .. '/documentation'))
end
end
end
if iattn then
item = '<span class="attentionseeking">' .. item .. '</span>'
end
output[#output + 1] = item .. '<br/>'
attn = attn or iattn
end
end
if not args.nocat then
if attn then
output[#output + 1] = '[[Category:Shortcut boxes needing attention]]'
end
if SUBPAGENAME ~= 'documentation' then
output[#output + 1] = '[[Category:Wiktionary pages with shortcuts]]'
end
end
output[#output + 1] = '</div>'
return table.concat(output)
end
return export
i82h8ymzh807lwwdgsbpoao99p6z8oy
36159
36158
2014-09-25T05:20:04Z
Kephir
1378
:?
36159
Scribunto
text/plain
local export = {}
function export.show(frame)
local output = {}
local args = frame:getParent().args
local demo = false
local FULLPAGENAME = mw.title.getCurrentTitle().fullText
local BASEPAGENAME, SUBPAGENAME = FULLPAGENAME:match("^(.-)/([^/]-)$")
if FULLPAGENAME == frame:getParent():getTitle() then
demo = true
end
output[#output + 1] = '<div class="noprint plainlinks" style="border:1px solid #999; background:#eeeeff; margin:0 0 .5em 1em; text-align:center; padding:5px; float:right; clear:both; font-size:smaller;">'
if args.temp then
output[#output + 1] = 'Temporary [[Wiktionary:Shortcut|shortcut' .. (args[2] and 's' or '') .. ']]:<br/>'
else
output[#output + 1] = '[[Wiktionary:Shortcut|Shortcut' .. (args[2] and 's' or '') .. ']]:<br/>'
end
local attn = false
for i, shcut in ipairs(args) do
local title = mw.title.new(shcut)
if not title then
output[#output + 1] = '<span class="attentionseeking">(<code>' .. mw.text.nowiki(shcut) .. '</code>)</span><br/>'
attn = true
else
local iattn = false
local item = '[' .. tostring(mw.uri.fullUrl(shcut, 'redirect=no')) .. ' ' .. shcut .. ']'
if title.namespace == 10 then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shcut, 'redirect=no')) .. ' ' .. title.text .. ']}}</code>'
end
if not title.exists then
iattn = true
local query = 'action=edit&redlink=1&preloadtext=' .. mw.uri.encode('#REDIRECT [[' .. FULLPAGENAME .. ']]')
if title.namespace == 10 then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shcut, query)) .. ' ' .. title.text .. ']}}</code>'
else
item = '[' .. tostring(mw.uri.fullUrl(shcut, query)) .. ' ' .. shcut .. ']'
end
elseif not demo then
local content = title:getContent()
local target = content:match("^#[Rr][Ee][Dd][Ii][Rr][Ee][Cc][Tt]%s*%[%[:?(.-)[#%]]")
if not target then
iattn = true
elseif title.namespace == 10 then
if SUBPAGENAME == 'documentation' then
iattn = (target ~= BASEPAGENAME)
else
iattn = (target ~= FULLPAGENAME)
end
else
if SUBPAGENAME == 'documentation' then
iattn = (target ~= BASEPAGENAME) and (target ~= FULLPAGENAME)
else
iattn = (target ~= FULLPAGENAME) and (target ~= (FULLPAGENAME .. '/documentation'))
end
end
end
if iattn then
item = '<span class="attentionseeking">' .. item .. '</span>'
end
output[#output + 1] = item .. '<br/>'
attn = attn or iattn
end
end
if not args.nocat then
if attn then
output[#output + 1] = '[[Category:Shortcut boxes needing attention]]'
end
if SUBPAGENAME ~= 'documentation' then
output[#output + 1] = '[[Category:Wiktionary pages with shortcuts]]'
end
end
output[#output + 1] = '</div>'
return table.concat(output)
end
return export
etfr1gvrkry2tp8jm77ft4igu1j4by3
36160
36159
2014-09-25T05:38:16Z
Kephir
1378
normalise titles a bit
36160
Scribunto
text/plain
local export = {}
function export.show(frame)
local output = {}
local args = frame:getParent().args
local demo = false
local FULLPAGENAME = mw.title.getCurrentTitle().fullText
local BASEPAGENAME, SUBPAGENAME = FULLPAGENAME:match("^(.-)/([^/]-)$")
if FULLPAGENAME == frame:getParent():getTitle() then
demo = true
end
output[#output + 1] = '<div class="noprint plainlinks" style="border:1px solid #999; background:#eeeeff; margin:0 0 .5em 1em; text-align:center; padding:5px; float:right; clear:both; font-size:smaller;">'
if args.temp then
output[#output + 1] = 'Temporary [[Wiktionary:Shortcut|shortcut' .. (args[2] and 's' or '') .. ']]:<br/>'
else
output[#output + 1] = '[[Wiktionary:Shortcut|Shortcut' .. (args[2] and 's' or '') .. ']]:<br/>'
end
local attn = false
for i, shcut in ipairs(args) do
local title = mw.title.new(shcut)
if not title then
output[#output + 1] = '<span class="attentionseeking">(<code>' .. mw.text.nowiki(shcut) .. '</code>)</span><br/>'
attn = true
else
local iattn = false
local item = '[' .. tostring(mw.uri.fullUrl(shcut, 'redirect=no')) .. ' ' .. shcut .. ']'
if title.namespace == 10 then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shcut, 'redirect=no')) .. ' ' .. title.text .. ']}}</code>'
end
if not title.exists then
iattn = true
local query = 'action=edit&redlink=1&preloadtext=' .. mw.uri.encode('#REDIRECT [[' .. FULLPAGENAME .. ']]')
if title.namespace == 10 then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shcut, query)) .. ' ' .. title.text .. ']}}</code>'
else
item = '[' .. tostring(mw.uri.fullUrl(shcut, query)) .. ' ' .. shcut .. ']'
end
elseif not demo then
local content = title:getContent()
local target = content:match("^#[Rr][Ee][Dd][Ii][Rr][Ee][Cc][Tt]%s*:?%s*%[%[%s*:?%s*(.-)[#%]]")
if not target then
iattn = true
else
local tns, tpg = target:match("%s*(.-)%s*:%s*(.*)%s*")
if mw.site.namespace[tns] then
tns = mw.site.namespace[tns].name
target = tns .. ':' .. tpg
end
if title.namespace == 10 then
if SUBPAGENAME == 'documentation' then
iattn = (target ~= BASEPAGENAME)
else
iattn = (target ~= FULLPAGENAME)
end
else
if SUBPAGENAME == 'documentation' then
iattn = (target ~= BASEPAGENAME) and (target ~= FULLPAGENAME)
else
iattn = (target ~= FULLPAGENAME) and (target ~= (FULLPAGENAME .. '/documentation'))
end
end
end
end
if iattn then
item = '<span class="attentionseeking">' .. item .. '</span>'
end
output[#output + 1] = item .. '<br/>'
attn = attn or iattn
end
end
if not args.nocat then
if attn then
output[#output + 1] = '[[Category:Shortcut boxes needing attention]]'
end
if SUBPAGENAME ~= 'documentation' then
output[#output + 1] = '[[Category:Wiktionary pages with shortcuts]]'
end
end
output[#output + 1] = '</div>'
return table.concat(output)
end
return export
puoqm8texi1qo3cofddsmvfmxypd49f
36161
36160
2014-09-25T05:39:03Z
Kephir
1378
s
36161
Scribunto
text/plain
local export = {}
function export.show(frame)
local output = {}
local args = frame:getParent().args
local demo = false
local FULLPAGENAME = mw.title.getCurrentTitle().fullText
local BASEPAGENAME, SUBPAGENAME = FULLPAGENAME:match("^(.-)/([^/]-)$")
if FULLPAGENAME == frame:getParent():getTitle() then
demo = true
end
output[#output + 1] = '<div class="noprint plainlinks" style="border:1px solid #999; background:#eeeeff; margin:0 0 .5em 1em; text-align:center; padding:5px; float:right; clear:both; font-size:smaller;">'
if args.temp then
output[#output + 1] = 'Temporary [[Wiktionary:Shortcut|shortcut' .. (args[2] and 's' or '') .. ']]:<br/>'
else
output[#output + 1] = '[[Wiktionary:Shortcut|Shortcut' .. (args[2] and 's' or '') .. ']]:<br/>'
end
local attn = false
for i, shcut in ipairs(args) do
local title = mw.title.new(shcut)
if not title then
output[#output + 1] = '<span class="attentionseeking">(<code>' .. mw.text.nowiki(shcut) .. '</code>)</span><br/>'
attn = true
else
local iattn = false
local item = '[' .. tostring(mw.uri.fullUrl(shcut, 'redirect=no')) .. ' ' .. shcut .. ']'
if title.namespace == 10 then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shcut, 'redirect=no')) .. ' ' .. title.text .. ']}}</code>'
end
if not title.exists then
iattn = true
local query = 'action=edit&redlink=1&preloadtext=' .. mw.uri.encode('#REDIRECT [[' .. FULLPAGENAME .. ']]')
if title.namespace == 10 then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shcut, query)) .. ' ' .. title.text .. ']}}</code>'
else
item = '[' .. tostring(mw.uri.fullUrl(shcut, query)) .. ' ' .. shcut .. ']'
end
elseif not demo then
local content = title:getContent()
local target = content:match("^#[Rr][Ee][Dd][Ii][Rr][Ee][Cc][Tt]%s*:?%s*%[%[%s*:?%s*(.-)[#%]]")
if not target then
iattn = true
else
local tns, tpg = target:match("%s*(.-)%s*:%s*(.*)%s*")
if mw.site.namespaces[tns] then
tns = mw.site.namespaces[tns].name
target = tns .. ':' .. tpg
end
if title.namespace == 10 then
if SUBPAGENAME == 'documentation' then
iattn = (target ~= BASEPAGENAME)
else
iattn = (target ~= FULLPAGENAME)
end
else
if SUBPAGENAME == 'documentation' then
iattn = (target ~= BASEPAGENAME) and (target ~= FULLPAGENAME)
else
iattn = (target ~= FULLPAGENAME) and (target ~= (FULLPAGENAME .. '/documentation'))
end
end
end
end
if iattn then
item = '<span class="attentionseeking">' .. item .. '</span>'
end
output[#output + 1] = item .. '<br/>'
attn = attn or iattn
end
end
if not args.nocat then
if attn then
output[#output + 1] = '[[Category:Shortcut boxes needing attention]]'
end
if SUBPAGENAME ~= 'documentation' then
output[#output + 1] = '[[Category:Wiktionary pages with shortcuts]]'
end
end
output[#output + 1] = '</div>'
return table.concat(output)
end
return export
155dvv4y1728q87c6il4viqmmakvs40
36162
36161
2014-09-25T06:53:37Z
Kephir
1378
"_" → " "
36162
Scribunto
text/plain
local export = {}
function export.show(frame)
local output = {}
local args = frame:getParent().args
local demo = false
local FULLPAGENAME = mw.title.getCurrentTitle().fullText
local BASEPAGENAME, SUBPAGENAME = FULLPAGENAME:match("^(.-)/([^/]-)$")
if FULLPAGENAME == frame:getParent():getTitle() then
demo = true
end
output[#output + 1] = '<div class="noprint plainlinks" style="border:1px solid #999; background:#eeeeff; margin:0 0 .5em 1em; text-align:center; padding:5px; float:right; clear:both; font-size:smaller;">'
if args.temp then
output[#output + 1] = 'Temporary [[Wiktionary:Shortcut|shortcut' .. (args[2] and 's' or '') .. ']]:<br/>'
else
output[#output + 1] = '[[Wiktionary:Shortcut|Shortcut' .. (args[2] and 's' or '') .. ']]:<br/>'
end
local attn = false
for i, shcut in ipairs(args) do
local title = mw.title.new(shcut)
if not title then
output[#output + 1] = '<span class="attentionseeking">(<code>' .. mw.text.nowiki(shcut) .. '</code>)</span><br/>'
attn = true
else
local iattn = false
local item = '[' .. tostring(mw.uri.fullUrl(shcut, 'redirect=no')) .. ' ' .. shcut .. ']'
if title.namespace == 10 then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shcut, 'redirect=no')) .. ' ' .. title.text .. ']}}</code>'
end
if not title.exists then
iattn = true
local query = 'action=edit&redlink=1&preloadtext=' .. mw.uri.encode('#REDIRECT [[' .. FULLPAGENAME .. ']]')
if title.namespace == 10 then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shcut, query)) .. ' ' .. title.text .. ']}}</code>'
else
item = '[' .. tostring(mw.uri.fullUrl(shcut, query)) .. ' ' .. shcut .. ']'
end
elseif not demo then
local content = title:getContent()
local target = content:match("^#[Rr][Ee][Dd][Ii][Rr][Ee][Cc][Tt]%s*:?%s*%[%[%s*:?%s*(.-)[#%]]")
if not target then
iattn = true
else
target = target:gsub("_", " ")
local tns, tpg = target:match("%s*(.-)%s*:%s*(.*)%s*")
if mw.site.namespaces[tns] then
tns = mw.site.namespaces[tns].name
target = tns .. ':' .. tpg
end
if title.namespace == 10 then
if SUBPAGENAME == 'documentation' then
iattn = (target ~= BASEPAGENAME)
else
iattn = (target ~= FULLPAGENAME)
end
else
if SUBPAGENAME == 'documentation' then
iattn = (target ~= BASEPAGENAME) and (target ~= FULLPAGENAME)
else
iattn = (target ~= FULLPAGENAME) and (target ~= (FULLPAGENAME .. '/documentation'))
end
end
end
end
if iattn then
item = '<span class="attentionseeking">' .. item .. '</span>'
end
output[#output + 1] = item .. '<br/>'
attn = attn or iattn
end
end
if not args.nocat then
if attn then
output[#output + 1] = '[[Category:Shortcut boxes needing attention]]'
end
if SUBPAGENAME ~= 'documentation' then
output[#output + 1] = '[[Category:Wiktionary pages with shortcuts]]'
end
end
output[#output + 1] = '</div>'
return table.concat(output)
end
return export
23dw48k1pqvihsahax7eaybjg13qm8e
36163
36162
2014-09-25T10:09:47Z
Kephir
1378
write down fallback (currently not needed)
36163
Scribunto
text/plain
local export = {}
function export.show(frame)
local output = {}
local args = frame:getParent().args
local demo = false
local FULLPAGENAME = mw.title.getCurrentTitle().fullText
local BASEPAGENAME, SUBPAGENAME = FULLPAGENAME:match("^(.-)/([^/]-)$")
-- BASEPAGENAME = BASEPAGENAME or FULLPAGENAME
if FULLPAGENAME == frame:getParent():getTitle() then
demo = true
end
output[#output + 1] = '<div class="noprint plainlinks" style="border:1px solid #999; background:#eeeeff; margin:0 0 .5em 1em; text-align:center; padding:5px; float:right; clear:both; font-size:smaller;">'
if args.temp then
output[#output + 1] = 'Temporary [[Wiktionary:Shortcut|shortcut' .. (args[2] and 's' or '') .. ']]:<br/>'
else
output[#output + 1] = '[[Wiktionary:Shortcut|Shortcut' .. (args[2] and 's' or '') .. ']]:<br/>'
end
local attn = false
for i, shcut in ipairs(args) do
local title = mw.title.new(shcut)
if not title then
output[#output + 1] = '<span class="attentionseeking">(<code>' .. mw.text.nowiki(shcut) .. '</code>)</span><br/>'
attn = true
else
local iattn = false
local item = '[' .. tostring(mw.uri.fullUrl(shcut, 'redirect=no')) .. ' ' .. shcut .. ']'
if title.namespace == 10 then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shcut, 'redirect=no')) .. ' ' .. title.text .. ']}}</code>'
end
if not title.exists then
iattn = true
local query = 'action=edit&redlink=1&preloadtext=' .. mw.uri.encode('#REDIRECT [[' .. FULLPAGENAME .. ']]')
if title.namespace == 10 then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shcut, query)) .. ' ' .. title.text .. ']}}</code>'
else
item = '[' .. tostring(mw.uri.fullUrl(shcut, query)) .. ' ' .. shcut .. ']'
end
elseif not demo then
local content = title:getContent()
local target = content:match("^#[Rr][Ee][Dd][Ii][Rr][Ee][Cc][Tt]%s*:?%s*%[%[%s*:?%s*(.-)[#%]]")
if not target then
iattn = true
else
target = target:gsub("_", " ")
local tns, tpg = target:match("%s*(.-)%s*:%s*(.*)%s*")
if mw.site.namespaces[tns] then
tns = mw.site.namespaces[tns].name
target = tns .. ':' .. tpg
end
if title.namespace == 10 then
if SUBPAGENAME == 'documentation' then
iattn = (target ~= BASEPAGENAME)
else
iattn = (target ~= FULLPAGENAME)
end
else
if SUBPAGENAME == 'documentation' then
iattn = (target ~= BASEPAGENAME) and (target ~= FULLPAGENAME)
else
iattn = (target ~= FULLPAGENAME) and (target ~= (FULLPAGENAME .. '/documentation'))
end
end
end
end
if iattn then
item = '<span class="attentionseeking">' .. item .. '</span>'
end
output[#output + 1] = item .. '<br/>'
attn = attn or iattn
end
end
if not args.nocat then
if attn then
output[#output + 1] = '[[Category:Shortcut boxes needing attention]]'
end
if SUBPAGENAME ~= 'documentation' then
output[#output + 1] = '[[Category:Wiktionary pages with shortcuts]]'
end
end
output[#output + 1] = '</div>'
return table.concat(output)
end
return export
a6ly4ppy2y6orbnn45ag8mx0iuhirqn
36164
36163
2014-11-09T20:59:45Z
Kephir
1378
restyling experiment
36164
Scribunto
text/plain
local export = {}
function export.show(frame)
local output = {}
local args = frame:getParent().args
local demo = false
local FULLPAGENAME = mw.title.getCurrentTitle().fullText
local BASEPAGENAME, SUBPAGENAME = FULLPAGENAME:match("^(.-)/([^/]-)$")
-- BASEPAGENAME = BASEPAGENAME or FULLPAGENAME
if FULLPAGENAME == frame:getParent():getTitle() then
demo = true
end
output[#output + 1] = '<div class="noprint plainlinks" style="border:2px solid #666; background:#eee; margin:0 0 .5em 1em; text-align:center; padding:5px; float:right; clear:both; font-size:smaller;">'
if args.temp then
output[#output + 1] = [=['''Temporary [[Wiktionary:Shortcut|shortcut' .. (args[2] and 's' or '') .. ']]:'''<br/>]=]
else
output[#output + 1] = [=['''[[Wiktionary:Shortcut|Shortcut' .. (args[2] and 's' or '') .. ']]:'''<br/>]=]
end
local attn = false
for i, shcut in ipairs(args) do
local title = mw.title.new(shcut)
if not title then
output[#output + 1] = '<span class="attentionseeking">(<code>' .. mw.text.nowiki(shcut) .. '</code>)</span><br/>'
attn = true
else
local iattn = false
local item = '[' .. tostring(mw.uri.fullUrl(shcut, 'redirect=no')) .. ' ' .. shcut .. ']'
if title.namespace == 10 then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shcut, 'redirect=no')) .. ' ' .. title.text .. ']}}</code>'
end
if not title.exists then
attn = true
local query = 'action=edit&redlink=1&preloadtext=' .. mw.uri.encode('#REDIRECT [[' .. FULLPAGENAME .. ']]')
if title.namespace == 10 then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shcut, query)) .. ' <span style="color:#c20;">' .. title.text .. '</span>]}}</code>'
else
item = '[' .. tostring(mw.uri.fullUrl(shcut, query)) .. ' <span style="color:#c20;">' .. shcut .. '</span>]'
end
elseif not demo then
local content = title:getContent()
local target = content:match("^#[Rr][Ee][Dd][Ii][Rr][Ee][Cc][Tt]%s*:?%s*%[%[%s*:?%s*(.-)[#%]]")
if not target then
iattn = true
else
target = target:gsub("_", " ")
local tns, tpg = target:match("%s*(.-)%s*:%s*(.*)%s*")
if mw.site.namespaces[tns] then
tns = mw.site.namespaces[tns].name
target = tns .. ':' .. tpg
end
if title.namespace == 10 then
if SUBPAGENAME == 'documentation' then
iattn = (target ~= BASEPAGENAME)
else
iattn = (target ~= FULLPAGENAME)
end
else
if SUBPAGENAME == 'documentation' then
iattn = (target ~= BASEPAGENAME) and (target ~= FULLPAGENAME)
else
iattn = (target ~= FULLPAGENAME) and (target ~= (FULLPAGENAME .. '/documentation'))
end
end
end
end
if iattn then
item = '<span class="attentionseeking">' .. item .. '</span>'
end
output[#output + 1] = item .. '<br/>'
attn = attn or iattn
end
end
if not args.nocat then
if attn then
output[#output + 1] = '[[Category:Shortcut boxes needing attention]]'
end
if SUBPAGENAME ~= 'documentation' then
output[#output + 1] = '[[Category:Wiktionary pages with shortcuts]]'
end
end
output[#output + 1] = '</div>'
return table.concat(output)
end
return export
l9kd80ep2w7tq8lnntr27fcn0kd7t37
36165
36164
2014-11-09T21:00:17Z
Kephir
1378
sigh
36165
Scribunto
text/plain
local export = {}
function export.show(frame)
local output = {}
local args = frame:getParent().args
local demo = false
local FULLPAGENAME = mw.title.getCurrentTitle().fullText
local BASEPAGENAME, SUBPAGENAME = FULLPAGENAME:match("^(.-)/([^/]-)$")
-- BASEPAGENAME = BASEPAGENAME or FULLPAGENAME
if FULLPAGENAME == frame:getParent():getTitle() then
demo = true
end
output[#output + 1] = '<div class="noprint plainlinks" style="border:2px solid #666; background:#eee; margin:0 0 .5em 1em; text-align:center; padding:5px; float:right; clear:both; font-size:smaller;">'
if args.temp then
output[#output + 1] = [=['''Temporary [[Wiktionary:Shortcut|shortcut]=] .. (args[2] and 's' or '') .. [=[]]:'''<br/>]=]
else
output[#output + 1] = [=['''[[Wiktionary:Shortcut|Shortcut]=] .. (args[2] and 's' or '') .. [=[]]:'''<br/>]=]
end
local attn = false
for i, shcut in ipairs(args) do
local title = mw.title.new(shcut)
if not title then
output[#output + 1] = '<span class="attentionseeking">(<code>' .. mw.text.nowiki(shcut) .. '</code>)</span><br/>'
attn = true
else
local iattn = false
local item = '[' .. tostring(mw.uri.fullUrl(shcut, 'redirect=no')) .. ' ' .. shcut .. ']'
if title.namespace == 10 then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shcut, 'redirect=no')) .. ' ' .. title.text .. ']}}</code>'
end
if not title.exists then
attn = true
local query = 'action=edit&redlink=1&preloadtext=' .. mw.uri.encode('#REDIRECT [[' .. FULLPAGENAME .. ']]')
if title.namespace == 10 then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shcut, query)) .. ' <span style="color:#c20;">' .. title.text .. '</span>]}}</code>'
else
item = '[' .. tostring(mw.uri.fullUrl(shcut, query)) .. ' <span style="color:#c20;">' .. shcut .. '</span>]'
end
elseif not demo then
local content = title:getContent()
local target = content:match("^#[Rr][Ee][Dd][Ii][Rr][Ee][Cc][Tt]%s*:?%s*%[%[%s*:?%s*(.-)[#%]]")
if not target then
iattn = true
else
target = target:gsub("_", " ")
local tns, tpg = target:match("%s*(.-)%s*:%s*(.*)%s*")
if mw.site.namespaces[tns] then
tns = mw.site.namespaces[tns].name
target = tns .. ':' .. tpg
end
if title.namespace == 10 then
if SUBPAGENAME == 'documentation' then
iattn = (target ~= BASEPAGENAME)
else
iattn = (target ~= FULLPAGENAME)
end
else
if SUBPAGENAME == 'documentation' then
iattn = (target ~= BASEPAGENAME) and (target ~= FULLPAGENAME)
else
iattn = (target ~= FULLPAGENAME) and (target ~= (FULLPAGENAME .. '/documentation'))
end
end
end
end
if iattn then
item = '<span class="attentionseeking">' .. item .. '</span>'
end
output[#output + 1] = item .. '<br/>'
attn = attn or iattn
end
end
if not args.nocat then
if attn then
output[#output + 1] = '[[Category:Shortcut boxes needing attention]]'
end
if SUBPAGENAME ~= 'documentation' then
output[#output + 1] = '[[Category:Wiktionary pages with shortcuts]]'
end
end
output[#output + 1] = '</div>'
return table.concat(output)
end
return export
7y5oyp9iqeh0f3ehgtrz7ak2lal27bj
36166
36165
2014-11-09T21:13:37Z
Kephir
1378
get rid of inline styles
36166
Scribunto
text/plain
local export = {}
function export.show(frame)
local output = {}
local args = frame:getParent().args
local demo = false
local FULLPAGENAME = mw.title.getCurrentTitle().fullText
local BASEPAGENAME, SUBPAGENAME = FULLPAGENAME:match("^(.-)/([^/]-)$")
-- BASEPAGENAME = BASEPAGENAME or FULLPAGENAME
if FULLPAGENAME == frame:getParent():getTitle() then
demo = true
end
output[#output + 1] = '<div class="noprint plainlinks shortcut-box">'
if args.temp then
output[#output + 1] = "'''Temporary [[Wiktionary:Shortcut|shortcut" .. (args[2] and 's' or '') .. "]]:'''<br/>"
else
output[#output + 1] = "'''[[Wiktionary:Shortcut|Shortcut" .. (args[2] and 's' or '') .. "]]:'''<br/>"
end
local attn = false
for i, shcut in ipairs(args) do
local title = mw.title.new(shcut)
if not title then
output[#output + 1] = '<span class="attentionseeking">(<code>' .. mw.text.nowiki(shcut) .. '</code>)</span><br/>'
attn = true
else
local iattn = false
local item = '[' .. tostring(mw.uri.fullUrl(shcut, 'redirect=no')) .. ' ' .. shcut .. ']'
if title.namespace == 10 then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shcut, 'redirect=no')) .. ' ' .. title.text .. ']}}</code>'
end
if not title.exists then
attn = true
local query = 'action=edit&redlink=1&preloadtext=' .. mw.uri.encode('#REDIRECT [[' .. FULLPAGENAME .. ']]')
if title.namespace == 10 then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shcut, query)) .. ' <span style="color:#c20;">' .. title.text .. '</span>]}}</code>'
else
item = '[' .. tostring(mw.uri.fullUrl(shcut, query)) .. ' <span style="color:#c20;">' .. shcut .. '</span>]'
end
elseif not demo then
local content = title:getContent()
local target = content:match("^#[Rr][Ee][Dd][Ii][Rr][Ee][Cc][Tt]%s*:?%s*%[%[%s*:?%s*(.-)[#%]]")
if not target then
iattn = true
else
target = target:gsub("_", " ")
local tns, tpg = target:match("%s*(.-)%s*:%s*(.*)%s*")
if mw.site.namespaces[tns] then
tns = mw.site.namespaces[tns].name
target = tns .. ':' .. tpg
end
if title.namespace == 10 then
if SUBPAGENAME == 'documentation' then
iattn = (target ~= BASEPAGENAME)
else
iattn = (target ~= FULLPAGENAME)
end
else
if SUBPAGENAME == 'documentation' then
iattn = (target ~= BASEPAGENAME) and (target ~= FULLPAGENAME)
else
iattn = (target ~= FULLPAGENAME) and (target ~= (FULLPAGENAME .. '/documentation'))
end
end
end
end
if iattn then
item = '<span class="attentionseeking">' .. item .. '</span>'
end
output[#output + 1] = item .. '<br/>'
attn = attn or iattn
end
end
if not args.nocat then
if attn then
output[#output + 1] = '[[Category:Shortcut boxes needing attention]]'
end
if SUBPAGENAME ~= 'documentation' then
output[#output + 1] = '[[Category:Wiktionary pages with shortcuts]]'
end
end
output[#output + 1] = '</div>'
return table.concat(output)
end
return export
mzprjo9nl3x6yb0oh0eu9k54z7oq5ih
36167
36166
2014-11-11T06:33:47Z
Kephir
1378
36167
Scribunto
text/plain
local export = {}
function export.show(frame)
local output = {}
local args = frame:getParent().args
local demo = false
local FULLPAGENAME = mw.title.getCurrentTitle().fullText
local BASEPAGENAME, SUBPAGENAME = FULLPAGENAME:match("^(.-)/([^/]-)$")
-- BASEPAGENAME = BASEPAGENAME or FULLPAGENAME
if FULLPAGENAME == frame:getParent():getTitle() then
demo = true
end
output[#output + 1] = '<div class="noprint plainlinks shortcut-box">'
if args.temp then
output[#output + 1] = "Temporary [[Wiktionary:Shortcut|shortcut" .. (args[2] and 's' or '') .. "]]:<br/>"
else
output[#output + 1] = "[[Wiktionary:Shortcut|Shortcut" .. (args[2] and 's' or '') .. "]]:<br/>"
end
local attn = false
for i, shcut in ipairs(args) do
local title = mw.title.new(shcut)
if not title then
output[#output + 1] = '<span class="attentionseeking">(<code>' .. mw.text.nowiki(shcut) .. '</code>)</span><br/>'
attn = true
else
local iattn = false
local item = '[' .. tostring(mw.uri.fullUrl(shcut, 'redirect=no')) .. ' ' .. shcut .. ']'
if title.namespace == 10 then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shcut, 'redirect=no')) .. ' ' .. title.text .. ']}}</code>'
end
if not title.exists then
attn = true
local query = 'action=edit&redlink=1&preloadtext=' .. mw.uri.encode('#REDIRECT [[' .. FULLPAGENAME .. ']]')
if title.namespace == 10 then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shcut, query)) .. ' <span style="color:#c20;">' .. title.text .. '</span>]}}</code>'
else
item = '[' .. tostring(mw.uri.fullUrl(shcut, query)) .. ' <span style="color:#c20;">' .. shcut .. '</span>]'
end
elseif not demo then
local content = title:getContent()
local target = content:match("^#[Rr][Ee][Dd][Ii][Rr][Ee][Cc][Tt]%s*:?%s*%[%[%s*:?%s*(.-)[#%]]")
if not target then
iattn = true
else
target = target:gsub("_", " ")
local tns, tpg = target:match("%s*(.-)%s*:%s*(.*)%s*")
if mw.site.namespaces[tns] then
tns = mw.site.namespaces[tns].name
target = tns .. ':' .. tpg
end
if title.namespace == 10 then
if SUBPAGENAME == 'documentation' then
iattn = (target ~= BASEPAGENAME)
else
iattn = (target ~= FULLPAGENAME)
end
else
if SUBPAGENAME == 'documentation' then
iattn = (target ~= BASEPAGENAME) and (target ~= FULLPAGENAME)
else
iattn = (target ~= FULLPAGENAME) and (target ~= (FULLPAGENAME .. '/documentation'))
end
end
end
end
if iattn then
item = '<span class="attentionseeking">' .. item .. '</span>'
end
output[#output + 1] = item .. '<br/>'
attn = attn or iattn
end
end
if not args.nocat then
if attn then
output[#output + 1] = '[[Category:Shortcut boxes needing attention]]'
end
if SUBPAGENAME ~= 'documentation' then
output[#output + 1] = '[[Category:Wiktionary pages with shortcuts]]'
end
end
output[#output + 1] = '</div>'
return table.concat(output)
end
return export
89zxz2xvnqip8b08xg78mj0vwny5fu7
36168
36167
2017-05-10T04:14:23Z
Littlepenny413
1449
36168
Scribunto
text/plain
local export = {}
function export.show(frame)
local output = {}
local args = frame:getParent().args
local demo = false
local FULLPAGENAME = mw.title.getCurrentTitle().fullText
local BASEPAGENAME, SUBPAGENAME = FULLPAGENAME:match("^(.-)/([^/]-)$")
-- BASEPAGENAME = BASEPAGENAME or FULLPAGENAME
if FULLPAGENAME == frame:getParent():getTitle() then
demo = true
end
output[#output + 1] = '<div class="noprint plainlinks shortcut-box">'
if args.temp then
output[#output + 1] = "Temporary [[Wiktionary:快捷方式|快捷方式" .. (args[2] and 's' or '') .. "]]:<br/>"
else
output[#output + 1] = "[[Wiktionary:快捷方式|快捷方式" .. (args[2] and 's' or '') .. "]]:<br/>"
end
local attn = false
for i, shcut in ipairs(args) do
local title = mw.title.new(shcut)
if not title then
output[#output + 1] = '<span class="attentionseeking">(<code>' .. mw.text.nowiki(shcut) .. '</code>)</span><br/>'
attn = true
else
local iattn = false
local item = '[' .. tostring(mw.uri.fullUrl(shcut, 'redirect=no')) .. ' ' .. shcut .. ']'
if title.namespace == 10 then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shcut, 'redirect=no')) .. ' ' .. title.text .. ']}}</code>'
end
if not title.exists then
attn = true
local query = 'action=edit&redlink=1&preloadtext=' .. mw.uri.encode('#REDIRECT [[' .. FULLPAGENAME .. ']]')
if title.namespace == 10 then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shcut, query)) .. ' <span style="color:#c20;">' .. title.text .. '</span>]}}</code>'
else
item = '[' .. tostring(mw.uri.fullUrl(shcut, query)) .. ' <span style="color:#c20;">' .. shcut .. '</span>]'
end
elseif not demo then
local content = title:getContent()
local target = content:match("^#[Rr][Ee][Dd][Ii][Rr][Ee][Cc][Tt]%s*:?%s*%[%[%s*:?%s*(.-)[#%]]")
if not target then
iattn = true
else
target = target:gsub("_", " ")
local tns, tpg = target:match("%s*(.-)%s*:%s*(.*)%s*")
if mw.site.namespaces[tns] then
tns = mw.site.namespaces[tns].name
target = tns .. ':' .. tpg
end
if title.namespace == 10 then
if SUBPAGENAME == 'documentation' then
iattn = (target ~= BASEPAGENAME)
else
iattn = (target ~= FULLPAGENAME)
end
else
if SUBPAGENAME == 'documentation' then
iattn = (target ~= BASEPAGENAME) and (target ~= FULLPAGENAME)
else
iattn = (target ~= FULLPAGENAME) and (target ~= (FULLPAGENAME .. '/documentation'))
end
end
end
end
if iattn then
item = '<span class="attentionseeking">' .. item .. '</span>'
end
output[#output + 1] = item .. '<br/>'
attn = attn or iattn
end
end
if not args.nocat then
if attn then
output[#output + 1] = '[[Category:Shortcut boxes needing attention]]'
end
if SUBPAGENAME ~= 'documentation' then
output[#output + 1] = '[[Category:Wiktionary pages with shortcuts]]'
end
end
output[#output + 1] = '</div>'
return table.concat(output)
end
return export
lu256h6zmu7qdwb16hq3qkxm4ct3bj7
36169
36168
2017-05-10T04:14:42Z
Littlepenny413
1449
Undo
36169
Scribunto
text/plain
local export = {}
function export.show(frame)
local output = {}
local args = frame:getParent().args
local demo = false
local FULLPAGENAME = mw.title.getCurrentTitle().fullText
local BASEPAGENAME, SUBPAGENAME = FULLPAGENAME:match("^(.-)/([^/]-)$")
-- BASEPAGENAME = BASEPAGENAME or FULLPAGENAME
if FULLPAGENAME == frame:getParent():getTitle() then
demo = true
end
output[#output + 1] = '<div class="noprint plainlinks shortcut-box">'
if args.temp then
output[#output + 1] = "Temporary [[Wiktionary:Shortcut|shortcut" .. (args[2] and 's' or '') .. "]]:<br/>"
else
output[#output + 1] = "[[Wiktionary:Shortcut|Shortcut" .. (args[2] and 's' or '') .. "]]:<br/>"
end
local attn = false
for i, shcut in ipairs(args) do
local title = mw.title.new(shcut)
if not title then
output[#output + 1] = '<span class="attentionseeking">(<code>' .. mw.text.nowiki(shcut) .. '</code>)</span><br/>'
attn = true
else
local iattn = false
local item = '[' .. tostring(mw.uri.fullUrl(shcut, 'redirect=no')) .. ' ' .. shcut .. ']'
if title.namespace == 10 then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shcut, 'redirect=no')) .. ' ' .. title.text .. ']}}</code>'
end
if not title.exists then
attn = true
local query = 'action=edit&redlink=1&preloadtext=' .. mw.uri.encode('#REDIRECT [[' .. FULLPAGENAME .. ']]')
if title.namespace == 10 then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shcut, query)) .. ' <span style="color:#c20;">' .. title.text .. '</span>]}}</code>'
else
item = '[' .. tostring(mw.uri.fullUrl(shcut, query)) .. ' <span style="color:#c20;">' .. shcut .. '</span>]'
end
elseif not demo then
local content = title:getContent()
local target = content:match("^#[Rr][Ee][Dd][Ii][Rr][Ee][Cc][Tt]%s*:?%s*%[%[%s*:?%s*(.-)[#%]]")
if not target then
iattn = true
else
target = target:gsub("_", " ")
local tns, tpg = target:match("%s*(.-)%s*:%s*(.*)%s*")
if mw.site.namespaces[tns] then
tns = mw.site.namespaces[tns].name
target = tns .. ':' .. tpg
end
if title.namespace == 10 then
if SUBPAGENAME == 'documentation' then
iattn = (target ~= BASEPAGENAME)
else
iattn = (target ~= FULLPAGENAME)
end
else
if SUBPAGENAME == 'documentation' then
iattn = (target ~= BASEPAGENAME) and (target ~= FULLPAGENAME)
else
iattn = (target ~= FULLPAGENAME) and (target ~= (FULLPAGENAME .. '/documentation'))
end
end
end
end
if iattn then
item = '<span class="attentionseeking">' .. item .. '</span>'
end
output[#output + 1] = item .. '<br/>'
attn = attn or iattn
end
end
if not args.nocat then
if attn then
output[#output + 1] = '[[Category:Shortcut boxes needing attention]]'
end
if SUBPAGENAME ~= 'documentation' then
output[#output + 1] = '[[Category:Wiktionary pages with shortcuts]]'
end
end
output[#output + 1] = '</div>'
return table.concat(output)
end
return export
89zxz2xvnqip8b08xg78mj0vwny5fu7
36170
36169
2018-10-20T23:27:44Z
Erutuon
1339
use title.isRedirect and title.redirectTarget; use title.nsText because namespace names are more readable than numbers; refactor (hopefully this is right!)
36170
Scribunto
text/plain
local export = {}
function export.show(frame)
local output = {}
local args = frame:getParent().args
local demo = false
local FULLPAGENAME = mw.title.getCurrentTitle().fullText
local BASEPAGENAME, SUBPAGENAME = FULLPAGENAME:match("^(.-)/([^/]-)$")
-- BASEPAGENAME = BASEPAGENAME or FULLPAGENAME
if FULLPAGENAME == frame:getParent():getTitle() then
demo = true
end
output[#output + 1] = '<div class="noprint plainlinks shortcut-box">'
if args.temp then
output[#output + 1] = "Temporary [[Wiktionary:Shortcut|shortcut" .. (args[2] and 's' or '') .. "]]:<br/>"
else
output[#output + 1] = "[[Wiktionary:Shortcut|Shortcut" .. (args[2] and 's' or '') .. "]]:<br/>"
end
local attn = false
for i, shortcut in ipairs(args) do
local title = mw.title.new(shortcut)
if not title then
output[#output + 1] = '<span class="attentionseeking">(<code>' .. mw.text.nowiki(shortcut) .. '</code>)</span><br/>'
attn = true
else
local iattn = false
local item
if not title.exists then
attn = true
local query = 'action=edit&redlink=1&preloadtext=' .. mw.uri.encode('#REDIRECT [[' .. FULLPAGENAME .. ']]')
if title.nsText == "Template" then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shortcut, query)) .. ' <span style="color:#c20;">' .. title.text .. '</span>]}}</code>'
else
item = '[' .. tostring(mw.uri.fullUrl(shortcut, query)) .. ' <span style="color:#c20;">' .. shortcut .. '</span>]'
end
else
if title.nsText == "Template" then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shortcut, 'redirect=no')) .. ' ' .. title.text .. ']}}</code>'
else
item = '[' .. tostring(mw.uri.fullUrl(shortcut, 'redirect=no')) .. ' ' .. shortcut .. ']'
end
if not demo then
local redirectTarget
if title.isRedirect then
redirectTarget = title.redirectTarget
if redirectTarget then
local targetText = redirectTarget.text
if title.nsText == "Template" then
if SUBPAGENAME == 'documentation' then
iattn = (targetText ~= BASEPAGENAME)
else
iattn = (targetText ~= FULLPAGENAME)
end
else
if SUBPAGENAME == 'documentation' then
iattn = not (targetText == BASEPAGENAME
or targetText ~= FULLPAGENAME)
else
iattn = not (targetText ~= FULLPAGENAME
or targetText ~= FULLPAGENAME .. '/documentation')
end
end
end
end
if not (redirectTarget and redirectTarget.exists) then
iattn = true
end
end
end
if iattn then
item = '<span class="attentionseeking">' .. item .. '</span>'
end
output[#output + 1] = item .. '<br/>'
attn = attn or iattn
end
end
if not args.nocat then
if attn then
output[#output + 1] = '[[Category:Shortcut boxes needing attention]]'
end
if SUBPAGENAME ~= 'documentation' then
output[#output + 1] = '[[Category:Wiktionary pages with shortcuts]]'
end
end
output[#output + 1] = '</div>'
return table.concat(output)
end
return export
ftokq18tcq3b9hzqfdvu59nnvc4qlzc
36171
36170
2018-10-20T23:30:09Z
Erutuon
1339
gah
36171
Scribunto
text/plain
local export = {}
function export.show(frame)
local output = {}
local args = frame:getParent().args
local demo = false
local FULLPAGENAME = mw.title.getCurrentTitle().fullText
local BASEPAGENAME, SUBPAGENAME = FULLPAGENAME:match("^(.-)/([^/]-)$")
-- BASEPAGENAME = BASEPAGENAME or FULLPAGENAME
if FULLPAGENAME == frame:getParent():getTitle() then
demo = true
end
output[#output + 1] = '<div class="noprint plainlinks shortcut-box">'
if args.temp then
output[#output + 1] = "Temporary [[Wiktionary:Shortcut|shortcut" .. (args[2] and 's' or '') .. "]]:<br/>"
else
output[#output + 1] = "[[Wiktionary:Shortcut|Shortcut" .. (args[2] and 's' or '') .. "]]:<br/>"
end
local attn = false
for i, shortcut in ipairs(args) do
local title = mw.title.new(shortcut)
if not title then
output[#output + 1] = '<span class="attentionseeking">(<code>' .. mw.text.nowiki(shortcut) .. '</code>)</span><br/>'
attn = true
else
local iattn = false
local item
if not title.exists then
attn = true
local query = 'action=edit&redlink=1&preloadtext=' .. mw.uri.encode('#REDIRECT [[' .. FULLPAGENAME .. ']]')
if title.nsText == "Template" then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shortcut, query)) .. ' <span style="color:#c20;">' .. title.text .. '</span>]}}</code>'
else
item = '[' .. tostring(mw.uri.fullUrl(shortcut, query)) .. ' <span style="color:#c20;">' .. shortcut .. '</span>]'
end
else
if title.nsText == "Template" then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shortcut, 'redirect=no')) .. ' ' .. title.text .. ']}}</code>'
else
item = '[' .. tostring(mw.uri.fullUrl(shortcut, 'redirect=no')) .. ' ' .. shortcut .. ']'
end
if not demo then
local redirectTarget
if title.isRedirect then
redirectTarget = title.redirectTarget
if redirectTarget then
local targetText = redirectTarget.text
if title.nsText == "Template" then
if SUBPAGENAME == 'documentation' then
iattn = (targetText ~= BASEPAGENAME)
else
iattn = (targetText ~= FULLPAGENAME)
end
else
if SUBPAGENAME == 'documentation' then
iattn = not (targetText == BASEPAGENAME
or targetText == FULLPAGENAME)
else
iattn = not (targetText == FULLPAGENAME
or targetText == FULLPAGENAME .. '/documentation')
end
end
end
end
if not (redirectTarget and redirectTarget.exists) then
iattn = true
end
end
end
if iattn then
item = '<span class="attentionseeking">' .. item .. '</span>'
end
output[#output + 1] = item .. '<br/>'
attn = attn or iattn
end
end
if not args.nocat then
if attn then
output[#output + 1] = '[[Category:Shortcut boxes needing attention]]'
end
if SUBPAGENAME ~= 'documentation' then
output[#output + 1] = '[[Category:Wiktionary pages with shortcuts]]'
end
end
output[#output + 1] = '</div>'
return table.concat(output)
end
return export
mw9w0ycasrgwjsgbdjokktyjmc6m9f2
36172
36171
2018-10-20T23:43:55Z
Erutuon
1339
attention category was added incorrectly
36172
Scribunto
text/plain
local export = {}
function export.show(frame)
local output = {}
local args = frame:getParent().args
local demo = false
local FULLPAGENAME = mw.title.getCurrentTitle().fullText
local BASEPAGENAME, SUBPAGENAME = FULLPAGENAME:match("^(.-)/([^/]-)$")
-- BASEPAGENAME = BASEPAGENAME or FULLPAGENAME
if FULLPAGENAME == frame:getParent():getTitle() then
demo = true
end
output[#output + 1] = '<div class="noprint plainlinks shortcut-box">'
if args.temp then
output[#output + 1] = "Temporary [[Wiktionary:Shortcut|shortcut" .. (args[2] and 's' or '') .. "]]:<br/>"
else
output[#output + 1] = "[[Wiktionary:Shortcut|Shortcut" .. (args[2] and 's' or '') .. "]]:<br/>"
end
local attn = false
for i, shortcut in ipairs(args) do
local title = mw.title.new(shortcut)
if not title then
output[#output + 1] = '<span class="attentionseeking">(<code>' .. mw.text.nowiki(shortcut) .. '</code>)</span><br/>'
attn = true
else
local iattn = false
local item
if not title.exists then
attn = true
local query = 'action=edit&redlink=1&preloadtext=' .. mw.uri.encode('#REDIRECT [[' .. FULLPAGENAME .. ']]')
if title.nsText == "Template" then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shortcut, query)) .. ' <span style="color:#c20;">' .. title.text .. '</span>]}}</code>'
else
item = '[' .. tostring(mw.uri.fullUrl(shortcut, query)) .. ' <span style="color:#c20;">' .. shortcut .. '</span>]'
end
else
if title.nsText == "Template" then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shortcut, 'redirect=no')) .. ' ' .. title.text .. ']}}</code>'
else
item = '[' .. tostring(mw.uri.fullUrl(shortcut, 'redirect=no')) .. ' ' .. shortcut .. ']'
end
if not demo then
local redirectTarget = title.redirectTarget
if redirectTarget then
redirectTarget.fragment = '' -- remove fragment, if present
local targetText = redirectTarget.fullText
if title.nsText == "Template" then
if SUBPAGENAME == 'documentation' then
iattn = (targetText ~= BASEPAGENAME)
else
iattn = (targetText ~= FULLPAGENAME)
end
else
if SUBPAGENAME == 'documentation' then
iattn = not (targetText == BASEPAGENAME
or targetText == FULLPAGENAME)
else
iattn = not (targetText == FULLPAGENAME
or targetText == FULLPAGENAME .. '/documentation')
end
end
end
if not (redirectTarget and redirectTarget.exists) then
iattn = true
end
end
end
if iattn then
item = '<span class="attentionseeking">' .. item .. '</span>'
end
output[#output + 1] = item .. '<br/>'
attn = attn or iattn
end
end
if not args.nocat then
if attn then
output[#output + 1] = '[[Category:Shortcut boxes needing attention]]'
end
if SUBPAGENAME ~= 'documentation' then
output[#output + 1] = '[[Category:Wiktionary pages with shortcuts]]'
end
end
output[#output + 1] = '</div>'
return table.concat(output)
end
return export
oz4qizy39gv0dvq096ey41vp4muka3o
36173
36172
2019-03-26T07:25:48Z
Benwing2
1346
make export.show callable from another module
36173
Scribunto
text/plain
local export = {}
function export.show(frame)
local output = {}
-- Hacky way to allow function to be called from other modules.
local args = (frame.getParent and frame:getParent().args) or frame
local demo = false
local FULLPAGENAME = mw.title.getCurrentTitle().fullText
local BASEPAGENAME, SUBPAGENAME = FULLPAGENAME:match("^(.-)/([^/]-)$")
-- BASEPAGENAME = BASEPAGENAME or FULLPAGENAME
if frame.getParent and FULLPAGENAME == frame:getParent():getTitle() then
demo = true
end
output[#output + 1] = '<div class="noprint plainlinks shortcut-box">'
if args.temp then
output[#output + 1] = "Temporary [[Wiktionary:Shortcut|shortcut" .. (args[2] and 's' or '') .. "]]:<br/>"
else
output[#output + 1] = "[[Wiktionary:Shortcut|Shortcut" .. (args[2] and 's' or '') .. "]]:<br/>"
end
local attn = false
for i, shortcut in ipairs(args) do
local title = mw.title.new(shortcut)
if not title then
output[#output + 1] = '<span class="attentionseeking">(<code>' .. mw.text.nowiki(shortcut) .. '</code>)</span><br/>'
attn = true
else
local iattn = false
local item
if not title.exists then
attn = true
local query = 'action=edit&redlink=1&preloadtext=' .. mw.uri.encode('#REDIRECT [[' .. FULLPAGENAME .. ']]')
if title.nsText == "Template" then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shortcut, query)) .. ' <span style="color:#c20;">' .. title.text .. '</span>]}}</code>'
else
item = '[' .. tostring(mw.uri.fullUrl(shortcut, query)) .. ' <span style="color:#c20;">' .. shortcut .. '</span>]'
end
else
if title.nsText == "Template" then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shortcut, 'redirect=no')) .. ' ' .. title.text .. ']}}</code>'
else
item = '[' .. tostring(mw.uri.fullUrl(shortcut, 'redirect=no')) .. ' ' .. shortcut .. ']'
end
if not demo then
local redirectTarget = title.redirectTarget
if redirectTarget then
redirectTarget.fragment = '' -- remove fragment, if present
local targetText = redirectTarget.fullText
if title.nsText == "Template" then
if SUBPAGENAME == 'documentation' then
iattn = (targetText ~= BASEPAGENAME)
else
iattn = (targetText ~= FULLPAGENAME)
end
else
if SUBPAGENAME == 'documentation' then
iattn = not (targetText == BASEPAGENAME
or targetText == FULLPAGENAME)
else
iattn = not (targetText == FULLPAGENAME
or targetText == FULLPAGENAME .. '/documentation')
end
end
end
if not (redirectTarget and redirectTarget.exists) then
iattn = true
end
end
end
if iattn then
item = '<span class="attentionseeking">' .. item .. '</span>'
end
output[#output + 1] = item .. '<br/>'
attn = attn or iattn
end
end
if not args.nocat then
if attn then
output[#output + 1] = '[[Category:Shortcut boxes needing attention]]'
end
if SUBPAGENAME ~= 'documentation' then
output[#output + 1] = '[[Category:Wiktionary pages with shortcuts]]'
end
end
output[#output + 1] = '</div>'
return table.concat(output)
end
return export
aho9dmzlzc8q9vykxr9qvsz8u1uyhae
36174
36173
2019-11-09T05:49:42Z
Chuck Entz
1231
Protected "[[Module:shortcut box]]": Highly visible template/module ([Edit=Allow only template editors and administrators] (indefinite) [Move=Allow only template editors and administrators] (indefinite))
36173
Scribunto
text/plain
local export = {}
function export.show(frame)
local output = {}
-- Hacky way to allow function to be called from other modules.
local args = (frame.getParent and frame:getParent().args) or frame
local demo = false
local FULLPAGENAME = mw.title.getCurrentTitle().fullText
local BASEPAGENAME, SUBPAGENAME = FULLPAGENAME:match("^(.-)/([^/]-)$")
-- BASEPAGENAME = BASEPAGENAME or FULLPAGENAME
if frame.getParent and FULLPAGENAME == frame:getParent():getTitle() then
demo = true
end
output[#output + 1] = '<div class="noprint plainlinks shortcut-box">'
if args.temp then
output[#output + 1] = "Temporary [[Wiktionary:Shortcut|shortcut" .. (args[2] and 's' or '') .. "]]:<br/>"
else
output[#output + 1] = "[[Wiktionary:Shortcut|Shortcut" .. (args[2] and 's' or '') .. "]]:<br/>"
end
local attn = false
for i, shortcut in ipairs(args) do
local title = mw.title.new(shortcut)
if not title then
output[#output + 1] = '<span class="attentionseeking">(<code>' .. mw.text.nowiki(shortcut) .. '</code>)</span><br/>'
attn = true
else
local iattn = false
local item
if not title.exists then
attn = true
local query = 'action=edit&redlink=1&preloadtext=' .. mw.uri.encode('#REDIRECT [[' .. FULLPAGENAME .. ']]')
if title.nsText == "Template" then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shortcut, query)) .. ' <span style="color:#c20;">' .. title.text .. '</span>]}}</code>'
else
item = '[' .. tostring(mw.uri.fullUrl(shortcut, query)) .. ' <span style="color:#c20;">' .. shortcut .. '</span>]'
end
else
if title.nsText == "Template" then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shortcut, 'redirect=no')) .. ' ' .. title.text .. ']}}</code>'
else
item = '[' .. tostring(mw.uri.fullUrl(shortcut, 'redirect=no')) .. ' ' .. shortcut .. ']'
end
if not demo then
local redirectTarget = title.redirectTarget
if redirectTarget then
redirectTarget.fragment = '' -- remove fragment, if present
local targetText = redirectTarget.fullText
if title.nsText == "Template" then
if SUBPAGENAME == 'documentation' then
iattn = (targetText ~= BASEPAGENAME)
else
iattn = (targetText ~= FULLPAGENAME)
end
else
if SUBPAGENAME == 'documentation' then
iattn = not (targetText == BASEPAGENAME
or targetText == FULLPAGENAME)
else
iattn = not (targetText == FULLPAGENAME
or targetText == FULLPAGENAME .. '/documentation')
end
end
end
if not (redirectTarget and redirectTarget.exists) then
iattn = true
end
end
end
if iattn then
item = '<span class="attentionseeking">' .. item .. '</span>'
end
output[#output + 1] = item .. '<br/>'
attn = attn or iattn
end
end
if not args.nocat then
if attn then
output[#output + 1] = '[[Category:Shortcut boxes needing attention]]'
end
if SUBPAGENAME ~= 'documentation' then
output[#output + 1] = '[[Category:Wiktionary pages with shortcuts]]'
end
end
output[#output + 1] = '</div>'
return table.concat(output)
end
return export
aho9dmzlzc8q9vykxr9qvsz8u1uyhae
36175
36174
2024-09-02T23:35:58Z
Theknightwho
1347
Total rewrite.
36175
Scribunto
text/plain
local require_when_needed = require("Module:require when needed")
local encode_uri = mw.uri.encode
local format_categories = require_when_needed("Module:utilities", "format_categories")
local full_url = mw.uri.fullUrl
local get_current_title = mw.title.getCurrentTitle
local get_template_invocation_name = require_when_needed("Module:template parser", "getTemplateInvocationName")
local html_create = mw.html.create
local insert = table.insert
local process_params = require_when_needed("Module:parameters", "process")
local title_equals = mw.title.equals
local current_title
local export = {}
local function generate_shortcut(title, tagname, br_open, display, br_close, demo)
local redlink = not title:getContent()
local query = redlink and "action=edit&redlink=1&preloadtext=" .. encode_uri(
"#REDIRECT [[" .. current_title.fullText .. "]]",
"QUERY"
) or "redirect=no"
local tag = html_create(tagname)
:wikitext(br_open .. "[" .. tostring(full_url(title.fullText, query)) .. " ")
if redlink then
display = html_create("span")
:css("color", "#CC2200")
:wikitext(display)
end
tag = tag:node(display)
:wikitext("]".. br_close)
if demo then
return tag
end
local redirect = title.redirectTarget
if redirect and (
title_equals(current_title, redirect) or (
current_title.namespace == 10 and
current_title.prefixedText:gsub("/documentation$", "") == redirect.prefixedText
)
) then
return tag
end
tag.tagName = tagname ~= "" and tagname or "span"
tag:addClass("attentionseeking")
return tag, true
end
local function handle_shortcut(title, demo)
if title.namespace == 10 then
return generate_shortcut(title, "code", "{{", get_template_invocation_name(title), "}}", demo)
end
return generate_shortcut(title, "", "", title.fullText, "", demo)
end
function export.format_shortcuts(list, temp, nocat, demo)
current_title = current_title or get_current_title()
local div = html_create("div")
:addClass("noprint")
:addClass("plainlinks")
:addClass("shortcut-box")
:wikitext(("%s[[Wiktionary:Shortcut|%shortcut%s]]:"):format(
temp and "Temporary " or "",
temp and "s" or "S",
list[2] and "s" or ""
))
local attn
for _, shortcut in ipairs(list) do
div:tag("br")
local shortcut, iattn = handle_shortcut(shortcut, demo)
div:node(shortcut)
attn = attn or iattn
end
local categories
if not nocat then
categories = {}
if attn then
insert(categories, "Category:Shortcut boxes needing attention")
end
if current_title.namespace ~= 10 or not current_title:match("/documentation$") then
insert(categories, "Category:Wiktionary pages with shortcuts")
end
categories = format_categories(categories, nil, "-", nil, true)
end
return tostring(div) .. (categories or "")
end
function export.shortcut_t(frame)
local boolean = {type = "boolean"}
local params = {
[1] = {required = true, type = "title", list = true},
["demo"] = {type = "boolean", demo = true},
["nocat"] = boolean,
["temp"] = boolean,
}
local args = process_params(frame:getParent().args, params)
return export.show(args[1], args.temp, args.nocat, args.demo)
end
function export.show(frame)
local output = {}
-- Hacky way to allow function to be called from other modules.
local args = (frame.getParent and frame:getParent().args) or frame
local demo = false
local FULLPAGENAME = mw.title.getCurrentTitle().fullText
local BASEPAGENAME, SUBPAGENAME = FULLPAGENAME:match("^(.-)/([^/]-)$")
-- BASEPAGENAME = BASEPAGENAME or FULLPAGENAME
if frame.getParent and FULLPAGENAME == frame:getParent():getTitle() then
demo = true
end
output[#output + 1] = '<div class="noprint plainlinks shortcut-box">'
if args.temp then
output[#output + 1] = "Temporary [[Wiktionary:Shortcut|shortcut" .. (args[2] and 's' or '') .. "]]:<br/>"
else
output[#output + 1] = "[[Wiktionary:Shortcut|Shortcut" .. (args[2] and 's' or '') .. "]]:<br/>"
end
local attn = false
for i, shortcut in ipairs(args) do
local title = mw.title.new(shortcut)
if not title then
output[#output + 1] = '<span class="attentionseeking">(<code>' .. mw.text.nowiki(shortcut) .. '</code>)</span><br/>'
attn = true
else
local iattn = false
local item
if not title.exists then
attn = true
local query = 'action=edit&redlink=1&preloadtext=' .. mw.uri.encode('#REDIRECT [[' .. FULLPAGENAME .. ']]')
if title.nsText == "Template" then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shortcut, query)) .. ' <span style="color:#c20;">' .. title.text .. '</span>]}}</code>'
else
item = '[' .. tostring(mw.uri.fullUrl(shortcut, query)) .. ' <span style="color:#c20;">' .. shortcut .. '</span>]'
end
else
if title.nsText == "Template" then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shortcut, 'redirect=no')) .. ' ' .. title.text .. ']}}</code>'
else
item = '[' .. tostring(mw.uri.fullUrl(shortcut, 'redirect=no')) .. ' ' .. shortcut .. ']'
end
if not demo then
local redirectTarget = title.redirectTarget
if redirectTarget then
redirectTarget.fragment = '' -- remove fragment, if present
local targetText = redirectTarget.fullText
if title.nsText == "Template" then
if SUBPAGENAME == 'documentation' then
iattn = (targetText ~= BASEPAGENAME)
else
iattn = (targetText ~= FULLPAGENAME)
end
else
if SUBPAGENAME == 'documentation' then
iattn = not (targetText == BASEPAGENAME
or targetText == FULLPAGENAME)
else
iattn = not (targetText == FULLPAGENAME
or targetText == FULLPAGENAME .. '/documentation')
end
end
end
if not (redirectTarget and redirectTarget.exists) then
iattn = true
end
end
end
if iattn then
item = '<span class="attentionseeking">' .. item .. '</span>'
end
output[#output + 1] = item .. '<br/>'
attn = attn or iattn
end
end
if not args.nocat then
if attn then
output[#output + 1] = '[[Category:Shortcut boxes needing attention]]'
end
if SUBPAGENAME ~= 'documentation' then
output[#output + 1] = '[[Category:Wiktionary pages with shortcuts]]'
end
end
output[#output + 1] = '</div>'
return table.concat(output)
end
return export
rdmty5noc6a25a4xwk8lrve04zvn42n
36176
36175
2024-09-02T23:38:12Z
Theknightwho
1347
Bugfix.
36176
Scribunto
text/plain
local require_when_needed = require("Module:require when needed")
local encode_uri = mw.uri.encode
local format_categories = require_when_needed("Module:utilities", "format_categories")
local full_url = mw.uri.fullUrl
local get_current_title = mw.title.getCurrentTitle
local get_template_invocation_name = require_when_needed("Module:template parser", "getTemplateInvocationName")
local html_create = mw.html.create
local insert = table.insert
local process_params = require_when_needed("Module:parameters", "process")
local title_equals = mw.title.equals
local current_title
local export = {}
local function generate_shortcut(title, tagname, br_open, display, br_close, demo)
local redlink = not title:getContent()
local query = redlink and "action=edit&redlink=1&preloadtext=" .. encode_uri(
"#REDIRECT [[" .. current_title.fullText .. "]]",
"QUERY"
) or "redirect=no"
local tag = html_create(tagname)
:wikitext(br_open .. "[" .. tostring(full_url(title.fullText, query)) .. " ")
if redlink then
display = html_create("span")
:css("color", "#CC2200")
:wikitext(display)
end
tag = tag:node(display)
:wikitext("]".. br_close)
if demo then
return tag
end
local redirect = title.redirectTarget
if redirect and (
title_equals(current_title, redirect) or (
current_title.namespace == 10 and
current_title.prefixedText:gsub("/documentation$", "") == redirect.prefixedText
)
) then
return tag
end
tag.tagName = tagname ~= "" and tagname or "span"
tag:addClass("attentionseeking")
return tag, true
end
local function handle_shortcut(title, demo)
if title.namespace == 10 then
return generate_shortcut(title, "code", "{{", get_template_invocation_name(title), "}}", demo)
end
return generate_shortcut(title, "", "", title.fullText, "", demo)
end
function export.format_shortcuts(list, temp, nocat, demo)
current_title = current_title or get_current_title()
local div = html_create("div")
:addClass("noprint")
:addClass("plainlinks")
:addClass("shortcut-box")
:wikitext(("%s[[Wiktionary:Shortcut|%shortcut%s]]:"):format(
temp and "Temporary " or "",
temp and "s" or "S",
list[2] and "s" or ""
))
local attn
for _, shortcut in ipairs(list) do
div:tag("br")
local shortcut, iattn = handle_shortcut(shortcut, demo)
div:node(shortcut)
attn = attn or iattn
end
local categories
if not nocat then
categories = {}
if attn then
insert(categories, "Category:Shortcut boxes needing attention")
end
if current_title.namespace ~= 10 or not current_title:match("/documentation$") then
insert(categories, "Category:Wiktionary pages with shortcuts")
end
categories = format_categories(categories, nil, "-", nil, true)
end
return tostring(div) .. (categories or "")
end
function export.shortcut_t(frame)
local boolean = {type = "boolean"}
local params = {
[1] = {required = true, type = "title", list = true},
["demo"] = {type = "boolean", demo = true},
["nocat"] = boolean,
["temp"] = boolean,
}
local args = process_params(frame:getParent().args, params)
return export.format_shortcuts(args[1], args.temp, args.nocat, args.demo)
end
function export.show(frame)
local output = {}
-- Hacky way to allow function to be called from other modules.
local args = (frame.getParent and frame:getParent().args) or frame
local demo = false
local FULLPAGENAME = mw.title.getCurrentTitle().fullText
local BASEPAGENAME, SUBPAGENAME = FULLPAGENAME:match("^(.-)/([^/]-)$")
-- BASEPAGENAME = BASEPAGENAME or FULLPAGENAME
if frame.getParent and FULLPAGENAME == frame:getParent():getTitle() then
demo = true
end
output[#output + 1] = '<div class="noprint plainlinks shortcut-box">'
if args.temp then
output[#output + 1] = "Temporary [[Wiktionary:Shortcut|shortcut" .. (args[2] and 's' or '') .. "]]:<br/>"
else
output[#output + 1] = "[[Wiktionary:Shortcut|Shortcut" .. (args[2] and 's' or '') .. "]]:<br/>"
end
local attn = false
for i, shortcut in ipairs(args) do
local title = mw.title.new(shortcut)
if not title then
output[#output + 1] = '<span class="attentionseeking">(<code>' .. mw.text.nowiki(shortcut) .. '</code>)</span><br/>'
attn = true
else
local iattn = false
local item
if not title.exists then
attn = true
local query = 'action=edit&redlink=1&preloadtext=' .. mw.uri.encode('#REDIRECT [[' .. FULLPAGENAME .. ']]')
if title.nsText == "Template" then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shortcut, query)) .. ' <span style="color:#c20;">' .. title.text .. '</span>]}}</code>'
else
item = '[' .. tostring(mw.uri.fullUrl(shortcut, query)) .. ' <span style="color:#c20;">' .. shortcut .. '</span>]'
end
else
if title.nsText == "Template" then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shortcut, 'redirect=no')) .. ' ' .. title.text .. ']}}</code>'
else
item = '[' .. tostring(mw.uri.fullUrl(shortcut, 'redirect=no')) .. ' ' .. shortcut .. ']'
end
if not demo then
local redirectTarget = title.redirectTarget
if redirectTarget then
redirectTarget.fragment = '' -- remove fragment, if present
local targetText = redirectTarget.fullText
if title.nsText == "Template" then
if SUBPAGENAME == 'documentation' then
iattn = (targetText ~= BASEPAGENAME)
else
iattn = (targetText ~= FULLPAGENAME)
end
else
if SUBPAGENAME == 'documentation' then
iattn = not (targetText == BASEPAGENAME
or targetText == FULLPAGENAME)
else
iattn = not (targetText == FULLPAGENAME
or targetText == FULLPAGENAME .. '/documentation')
end
end
end
if not (redirectTarget and redirectTarget.exists) then
iattn = true
end
end
end
if iattn then
item = '<span class="attentionseeking">' .. item .. '</span>'
end
output[#output + 1] = item .. '<br/>'
attn = attn or iattn
end
end
if not args.nocat then
if attn then
output[#output + 1] = '[[Category:Shortcut boxes needing attention]]'
end
if SUBPAGENAME ~= 'documentation' then
output[#output + 1] = '[[Category:Wiktionary pages with shortcuts]]'
end
end
output[#output + 1] = '</div>'
return table.concat(output)
end
return export
aeyekuklnofg4oeecsnbomhybvzyqbz
36177
36176
2024-09-03T00:15:09Z
Theknightwho
1347
Use namespace abbreviations.
36177
Scribunto
text/plain
local require_when_needed = require("Module:require when needed")
local encode_uri = mw.uri.encode
local format_categories = require_when_needed("Module:utilities", "format_categories")
local full_url = mw.uri.fullUrl
local get_current_title = mw.title.getCurrentTitle
local get_template_invocation_name = require_when_needed("Module:template parser", "getTemplateInvocationName")
local html_create = mw.html.create
local insert = table.insert
local process_params = require_when_needed("Module:parameters", "process")
local title_equals = mw.title.equals
local current_title
local ns_abbreviations = {
[4] = "WT",
[14] = "CAT",
[100] = "AP",
[110] = "WS",
[118] = "RC",
[828] = "MOD",
}
local export = {}
local function generate_shortcut(title, tagname, br_open, display, br_close, demo)
local redlink = not title:getContent()
local query = redlink and "action=edit&redlink=1&preloadtext=" .. encode_uri(
"#REDIRECT [[" .. current_title.fullText .. "]]",
"QUERY"
) or "redirect=no"
local tag = html_create(tagname)
:wikitext(br_open .. "[" .. tostring(full_url(title.fullText, query)) .. " ")
if redlink then
display = html_create("span")
:css("color", "#CC2200")
:wikitext(display)
end
tag = tag:node(display)
:wikitext("]".. br_close)
if demo then
return tag
end
local redirect = title.redirectTarget
if redirect and (
title_equals(current_title, redirect) or (
current_title.namespace == 10 and
current_title.prefixedText:gsub("/documentation$", "") == redirect.prefixedText
)
) then
return tag
end
tag.tagName = tagname ~= "" and tagname or "span"
tag:addClass("attentionseeking")
return tag, true
end
local function handle_shortcut(title, demo)
local namespace = title.namespace
if namespace == 10 then
return generate_shortcut(title, "code", "{{", get_template_invocation_name(title), "}}", demo)
end
local prefix = ns_abbreviations[namespace] or title.nsText
local text = prefix ~= "" and (prefix .. ":" .. title.text) or title.text
return generate_shortcut(title, "", "", text, "", demo)
end
function export.format_shortcuts(list, temp, nocat, demo)
current_title = current_title or get_current_title()
local div = html_create("div")
:addClass("noprint")
:addClass("plainlinks")
:addClass("shortcut-box")
:wikitext(("%s[[Wiktionary:Shortcut|%shortcut%s]]:"):format(
temp and "Temporary " or "",
temp and "s" or "S",
list[2] and "s" or ""
))
local attn
for _, shortcut in ipairs(list) do
div:tag("br")
local shortcut, iattn = handle_shortcut(shortcut, demo)
div:node(shortcut)
attn = attn or iattn
end
local categories
if not nocat then
categories = {}
if attn then
insert(categories, "Category:Shortcut boxes needing attention")
end
if current_title.namespace ~= 10 or not current_title:match("/documentation$") then
insert(categories, "Category:Wiktionary pages with shortcuts")
end
categories = format_categories(categories, nil, "-", nil, true)
end
return tostring(div) .. (categories or "")
end
function export.shortcut_t(frame)
local boolean = {type = "boolean"}
local params = {
[1] = {required = true, type = "title", list = true},
["demo"] = {type = "boolean", demo = true},
["nocat"] = boolean,
["temp"] = boolean,
}
local args = process_params(frame:getParent().args, params)
return export.format_shortcuts(args[1], args.temp, args.nocat, args.demo)
end
function export.show(frame)
local output = {}
-- Hacky way to allow function to be called from other modules.
local args = (frame.getParent and frame:getParent().args) or frame
local demo = false
local FULLPAGENAME = mw.title.getCurrentTitle().fullText
local BASEPAGENAME, SUBPAGENAME = FULLPAGENAME:match("^(.-)/([^/]-)$")
-- BASEPAGENAME = BASEPAGENAME or FULLPAGENAME
if frame.getParent and FULLPAGENAME == frame:getParent():getTitle() then
demo = true
end
output[#output + 1] = '<div class="noprint plainlinks shortcut-box">'
if args.temp then
output[#output + 1] = "Temporary [[Wiktionary:Shortcut|shortcut" .. (args[2] and 's' or '') .. "]]:<br/>"
else
output[#output + 1] = "[[Wiktionary:Shortcut|Shortcut" .. (args[2] and 's' or '') .. "]]:<br/>"
end
local attn = false
for i, shortcut in ipairs(args) do
local title = mw.title.new(shortcut)
if not title then
output[#output + 1] = '<span class="attentionseeking">(<code>' .. mw.text.nowiki(shortcut) .. '</code>)</span><br/>'
attn = true
else
local iattn = false
local item
if not title.exists then
attn = true
local query = 'action=edit&redlink=1&preloadtext=' .. mw.uri.encode('#REDIRECT [[' .. FULLPAGENAME .. ']]')
if title.nsText == "Template" then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shortcut, query)) .. ' <span style="color:#c20;">' .. title.text .. '</span>]}}</code>'
else
item = '[' .. tostring(mw.uri.fullUrl(shortcut, query)) .. ' <span style="color:#c20;">' .. shortcut .. '</span>]'
end
else
if title.nsText == "Template" then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shortcut, 'redirect=no')) .. ' ' .. title.text .. ']}}</code>'
else
item = '[' .. tostring(mw.uri.fullUrl(shortcut, 'redirect=no')) .. ' ' .. shortcut .. ']'
end
if not demo then
local redirectTarget = title.redirectTarget
if redirectTarget then
redirectTarget.fragment = '' -- remove fragment, if present
local targetText = redirectTarget.fullText
if title.nsText == "Template" then
if SUBPAGENAME == 'documentation' then
iattn = (targetText ~= BASEPAGENAME)
else
iattn = (targetText ~= FULLPAGENAME)
end
else
if SUBPAGENAME == 'documentation' then
iattn = not (targetText == BASEPAGENAME
or targetText == FULLPAGENAME)
else
iattn = not (targetText == FULLPAGENAME
or targetText == FULLPAGENAME .. '/documentation')
end
end
end
if not (redirectTarget and redirectTarget.exists) then
iattn = true
end
end
end
if iattn then
item = '<span class="attentionseeking">' .. item .. '</span>'
end
output[#output + 1] = item .. '<br/>'
attn = attn or iattn
end
end
if not args.nocat then
if attn then
output[#output + 1] = '[[Category:Shortcut boxes needing attention]]'
end
if SUBPAGENAME ~= 'documentation' then
output[#output + 1] = '[[Category:Wiktionary pages with shortcuts]]'
end
end
output[#output + 1] = '</div>'
return table.concat(output)
end
return export
pi2m9az7y310v4nn32468q3zabrwozq
36178
36177
2024-09-03T00:20:15Z
Theknightwho
1347
Bugfix.
36178
Scribunto
text/plain
local require_when_needed = require("Module:require when needed")
local encode_uri = mw.uri.encode
local format_categories = require_when_needed("Module:utilities", "format_categories")
local full_url = mw.uri.fullUrl
local get_current_title = mw.title.getCurrentTitle
local get_template_invocation_name = require_when_needed("Module:template parser", "getTemplateInvocationName")
local html_create = mw.html.create
local insert = table.insert
local process_params = require_when_needed("Module:parameters", "process")
local title_equals = mw.title.equals
local current_title
local ns_abbreviations = {
[4] = "WT",
[14] = "CAT",
[100] = "AP",
[110] = "WS",
[118] = "RC",
[828] = "MOD",
}
local export = {}
local function generate_shortcut(title, tagname, br_open, display, br_close, demo)
local redlink = not title:getContent()
local query = redlink and "action=edit&redlink=1&preloadtext=" .. encode_uri(
"#REDIRECT [[" .. current_title.fullText .. "]]",
"QUERY"
) or "redirect=no"
local tag = html_create(tagname)
:wikitext(br_open .. "[" .. tostring(full_url(title.fullText, query)) .. " ")
if redlink then
display = html_create("span")
:css("color", "#CC2200")
:wikitext(display)
end
tag = tag:node(display)
:wikitext("]".. br_close)
if demo then
return tag
end
local redirect = title.redirectTarget
if redirect and (
title_equals(current_title, redirect) or (
current_title.namespace == 10 and
current_title.prefixedText:gsub("/documentation$", "") == redirect.prefixedText
)
) then
return tag
end
tag.tagName = tagname ~= "" and tagname or "span"
tag:addClass("attentionseeking")
return tag, true
end
local function handle_shortcut(title, demo)
local namespace = title.namespace
if namespace == 10 then
return generate_shortcut(title, "code", "{{", get_template_invocation_name(title), "}}", demo)
end
local prefix = ns_abbreviations[namespace] or title.nsText
local text = prefix ~= "" and (prefix .. ":" .. title.text) or title.text
return generate_shortcut(title, "", "", text, "", demo)
end
function export.format_shortcuts(list, temp, nocat, demo)
current_title = current_title or get_current_title()
local div = html_create("div")
:addClass("noprint")
:addClass("plainlinks")
:addClass("shortcut-box")
:wikitext(("%s[[Wiktionary:Shortcut|%shortcut%s]]:"):format(
temp and "Temporary " or "",
temp and "s" or "S",
list[2] and "s" or ""
))
local attn
for _, shortcut in ipairs(list) do
div:tag("br")
local shortcut, iattn = handle_shortcut(shortcut, demo)
div:node(shortcut)
attn = attn or iattn
end
local categories
if not nocat then
categories = {}
if attn then
insert(categories, "Category:Shortcut boxes needing attention")
end
if current_title.namespace ~= 10 or not current_title.text:match("/documentation$") then
insert(categories, "Category:Wiktionary pages with shortcuts")
end
categories = format_categories(categories, nil, "-", nil, true)
end
return tostring(div) .. (categories or "")
end
function export.shortcut_t(frame)
local boolean = {type = "boolean"}
local params = {
[1] = {required = true, type = "title", list = true},
["demo"] = {type = "boolean", demo = true},
["nocat"] = boolean,
["temp"] = boolean,
}
local args = process_params(frame:getParent().args, params)
return export.format_shortcuts(args[1], args.temp, args.nocat, args.demo)
end
function export.show(frame)
local output = {}
-- Hacky way to allow function to be called from other modules.
local args = (frame.getParent and frame:getParent().args) or frame
local demo = false
local FULLPAGENAME = mw.title.getCurrentTitle().fullText
local BASEPAGENAME, SUBPAGENAME = FULLPAGENAME:match("^(.-)/([^/]-)$")
-- BASEPAGENAME = BASEPAGENAME or FULLPAGENAME
if frame.getParent and FULLPAGENAME == frame:getParent():getTitle() then
demo = true
end
output[#output + 1] = '<div class="noprint plainlinks shortcut-box">'
if args.temp then
output[#output + 1] = "Temporary [[Wiktionary:Shortcut|shortcut" .. (args[2] and 's' or '') .. "]]:<br/>"
else
output[#output + 1] = "[[Wiktionary:Shortcut|Shortcut" .. (args[2] and 's' or '') .. "]]:<br/>"
end
local attn = false
for i, shortcut in ipairs(args) do
local title = mw.title.new(shortcut)
if not title then
output[#output + 1] = '<span class="attentionseeking">(<code>' .. mw.text.nowiki(shortcut) .. '</code>)</span><br/>'
attn = true
else
local iattn = false
local item
if not title.exists then
attn = true
local query = 'action=edit&redlink=1&preloadtext=' .. mw.uri.encode('#REDIRECT [[' .. FULLPAGENAME .. ']]')
if title.nsText == "Template" then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shortcut, query)) .. ' <span style="color:#c20;">' .. title.text .. '</span>]}}</code>'
else
item = '[' .. tostring(mw.uri.fullUrl(shortcut, query)) .. ' <span style="color:#c20;">' .. shortcut .. '</span>]'
end
else
if title.nsText == "Template" then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shortcut, 'redirect=no')) .. ' ' .. title.text .. ']}}</code>'
else
item = '[' .. tostring(mw.uri.fullUrl(shortcut, 'redirect=no')) .. ' ' .. shortcut .. ']'
end
if not demo then
local redirectTarget = title.redirectTarget
if redirectTarget then
redirectTarget.fragment = '' -- remove fragment, if present
local targetText = redirectTarget.fullText
if title.nsText == "Template" then
if SUBPAGENAME == 'documentation' then
iattn = (targetText ~= BASEPAGENAME)
else
iattn = (targetText ~= FULLPAGENAME)
end
else
if SUBPAGENAME == 'documentation' then
iattn = not (targetText == BASEPAGENAME
or targetText == FULLPAGENAME)
else
iattn = not (targetText == FULLPAGENAME
or targetText == FULLPAGENAME .. '/documentation')
end
end
end
if not (redirectTarget and redirectTarget.exists) then
iattn = true
end
end
end
if iattn then
item = '<span class="attentionseeking">' .. item .. '</span>'
end
output[#output + 1] = item .. '<br/>'
attn = attn or iattn
end
end
if not args.nocat then
if attn then
output[#output + 1] = '[[Category:Shortcut boxes needing attention]]'
end
if SUBPAGENAME ~= 'documentation' then
output[#output + 1] = '[[Category:Wiktionary pages with shortcuts]]'
end
end
output[#output + 1] = '</div>'
return table.concat(output)
end
return export
hep2qsowr779smej73ic8xtq8t6dbs7
36179
36178
2024-09-03T00:21:03Z
Theknightwho
1347
36179
Scribunto
text/plain
local require_when_needed = require("Module:require when needed")
local encode_uri = mw.uri.encode
local format_categories = require_when_needed("Module:utilities", "format_categories")
local full_url = mw.uri.fullUrl
local get_current_title = mw.title.getCurrentTitle
local get_template_invocation_name = require_when_needed("Module:template parser", "getTemplateInvocationName")
local html_create = mw.html.create
local insert = table.insert
local process_params = require_when_needed("Module:parameters", "process")
local title_equals = mw.title.equals
local current_title
local ns_abbreviations = {
[4] = "WT",
[14] = "CAT",
[100] = "AP",
[110] = "WS",
[118] = "RC",
[828] = "MOD",
}
local export = {}
local function generate_shortcut(title, tagname, br_open, display, br_close, demo)
local redlink = not title:getContent()
local query = redlink and "action=edit&redlink=1&preloadtext=" .. encode_uri(
"#REDIRECT [[" .. current_title.fullText .. "]]",
"QUERY"
) or "redirect=no"
local tag = html_create(tagname)
:wikitext(br_open .. "[" .. tostring(full_url(title.fullText, query)) .. " ")
if redlink then
display = html_create("span")
:css("color", "#CC2200")
:wikitext(display)
end
tag = tag:node(display)
:wikitext("]".. br_close)
if demo then
return tag
end
local redirect = title.redirectTarget
if redirect and (
title_equals(current_title, redirect) or (
current_title.namespace == 10 and
current_title.prefixedText:gsub("/documentation$", "") == redirect.prefixedText
)
) then
return tag
end
tag.tagName = tagname ~= "" and tagname or "span"
tag:addClass("attentionseeking")
return tag, true
end
local function handle_shortcut(title, demo)
local namespace = title.namespace
if namespace == 10 then
return generate_shortcut(title, "code", "{{", get_template_invocation_name(title), "}}", demo)
end
local prefix = ns_abbreviations[namespace] or title.nsText
local text = prefix ~= "" and (prefix .. ":" .. title.text) or title.text
return generate_shortcut(title, "", "", text, "", demo)
end
function export.format_shortcuts(list, temp, nocat, demo)
current_title = current_title or get_current_title()
local div = html_create("div")
:addClass("noprint")
:addClass("plainlinks")
:addClass("shortcut-box")
:wikitext(("%s[[Wiktionary:Shortcut|%shortcut%s]]:"):format(
temp and "Temporary " or "",
temp and "s" or "S",
list[2] and "s" or ""
))
local attn
for _, shortcut in ipairs(list) do
div:tag("br")
local shortcut, iattn = handle_shortcut(shortcut, demo)
div:node(shortcut)
attn = attn or iattn
end
local categories
if not nocat then
categories = {}
if attn then
insert(categories, "Shortcut boxes needing attention")
end
if current_title.namespace ~= 10 or not current_title.text:match("/documentation$") then
insert(categories, "Wiktionary pages with shortcuts")
end
categories = format_categories(categories, nil, "-", nil, true)
end
return tostring(div) .. (categories or "")
end
function export.shortcut_t(frame)
local boolean = {type = "boolean"}
local params = {
[1] = {required = true, type = "title", list = true},
["demo"] = {type = "boolean", demo = true},
["nocat"] = boolean,
["temp"] = boolean,
}
local args = process_params(frame:getParent().args, params)
return export.format_shortcuts(args[1], args.temp, args.nocat, args.demo)
end
function export.show(frame)
local output = {}
-- Hacky way to allow function to be called from other modules.
local args = (frame.getParent and frame:getParent().args) or frame
local demo = false
local FULLPAGENAME = mw.title.getCurrentTitle().fullText
local BASEPAGENAME, SUBPAGENAME = FULLPAGENAME:match("^(.-)/([^/]-)$")
-- BASEPAGENAME = BASEPAGENAME or FULLPAGENAME
if frame.getParent and FULLPAGENAME == frame:getParent():getTitle() then
demo = true
end
output[#output + 1] = '<div class="noprint plainlinks shortcut-box">'
if args.temp then
output[#output + 1] = "Temporary [[Wiktionary:Shortcut|shortcut" .. (args[2] and 's' or '') .. "]]:<br/>"
else
output[#output + 1] = "[[Wiktionary:Shortcut|Shortcut" .. (args[2] and 's' or '') .. "]]:<br/>"
end
local attn = false
for i, shortcut in ipairs(args) do
local title = mw.title.new(shortcut)
if not title then
output[#output + 1] = '<span class="attentionseeking">(<code>' .. mw.text.nowiki(shortcut) .. '</code>)</span><br/>'
attn = true
else
local iattn = false
local item
if not title.exists then
attn = true
local query = 'action=edit&redlink=1&preloadtext=' .. mw.uri.encode('#REDIRECT [[' .. FULLPAGENAME .. ']]')
if title.nsText == "Template" then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shortcut, query)) .. ' <span style="color:#c20;">' .. title.text .. '</span>]}}</code>'
else
item = '[' .. tostring(mw.uri.fullUrl(shortcut, query)) .. ' <span style="color:#c20;">' .. shortcut .. '</span>]'
end
else
if title.nsText == "Template" then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shortcut, 'redirect=no')) .. ' ' .. title.text .. ']}}</code>'
else
item = '[' .. tostring(mw.uri.fullUrl(shortcut, 'redirect=no')) .. ' ' .. shortcut .. ']'
end
if not demo then
local redirectTarget = title.redirectTarget
if redirectTarget then
redirectTarget.fragment = '' -- remove fragment, if present
local targetText = redirectTarget.fullText
if title.nsText == "Template" then
if SUBPAGENAME == 'documentation' then
iattn = (targetText ~= BASEPAGENAME)
else
iattn = (targetText ~= FULLPAGENAME)
end
else
if SUBPAGENAME == 'documentation' then
iattn = not (targetText == BASEPAGENAME
or targetText == FULLPAGENAME)
else
iattn = not (targetText == FULLPAGENAME
or targetText == FULLPAGENAME .. '/documentation')
end
end
end
if not (redirectTarget and redirectTarget.exists) then
iattn = true
end
end
end
if iattn then
item = '<span class="attentionseeking">' .. item .. '</span>'
end
output[#output + 1] = item .. '<br/>'
attn = attn or iattn
end
end
if not args.nocat then
if attn then
output[#output + 1] = '[[Category:Shortcut boxes needing attention]]'
end
if SUBPAGENAME ~= 'documentation' then
output[#output + 1] = '[[Category:Wiktionary pages with shortcuts]]'
end
end
output[#output + 1] = '</div>'
return table.concat(output)
end
return export
787a8c3aoug11dp2zpcbifc7ie39bd7
36180
36179
2024-09-03T19:14:03Z
Theknightwho
1347
Make sure clicking on redlinks from documentation pages generates links to the main template, not the documentation page.
36180
Scribunto
text/plain
local require_when_needed = require("Module:require when needed")
local encode_uri = mw.uri.encode
local format_categories = require_when_needed("Module:utilities", "format_categories")
local full_url = mw.uri.fullUrl
local get_template_invocation_name = require_when_needed("Module:template parser", "getTemplateInvocationName")
local html_create = mw.html.create
local insert = table.insert
local process_params = require_when_needed("Module:parameters", "process")
local title_equals = mw.title.equals
local current_title = mw.title.getCurrentTitle()
local target = current_title.prefixedText
-- If this is a documentation subpage, make `target` point to the main page.
do
local namespace = current_title.namespace
if namespace == 10 or namespace == 828 then
target = target:gsub("(.[\128-\191]*)/documentation$", "%1")
end
end
local ns_abbreviations = {
[4] = "WT",
[14] = "CAT",
[100] = "AP",
[110] = "WS",
[118] = "RC",
[828] = "MOD",
}
local export = {}
local function generate_shortcut(title, tagname, br_open, display, br_close, demo)
local redlink = not title:getContent()
local query = redlink and "action=edit&redlink=1&preloadtext=" .. encode_uri(
"#REDIRECT [[" .. target .. "]]",
"QUERY"
) or "redirect=no"
local tag = html_create(tagname)
:wikitext(br_open .. "[" .. tostring(full_url(title.fullText, query)) .. " ")
if redlink then
display = html_create("span")
:css("color", "#CC2200")
:wikitext(display)
end
tag = tag:node(display)
:wikitext("]".. br_close)
if demo then
return tag
end
local redirect = title.redirectTarget
-- Check if the target page is the current page or (if this is a documentation subpage) the main page.
if redirect and (title_equals(current_title, redirect) or target == redirect.prefixedText) then
return tag
end
tag.tagName = tagname ~= "" and tagname or "span"
tag:addClass("attentionseeking")
return tag, true
end
local function handle_shortcut(title, demo)
local namespace = title.namespace
if namespace == 10 then
return generate_shortcut(title, "code", "{{", get_template_invocation_name(title), "}}", demo)
end
local prefix = ns_abbreviations[namespace] or title.nsText
local text = prefix ~= "" and (prefix .. ":" .. title.text) or title.text
return generate_shortcut(title, "", "", text, "", demo)
end
function export.format_shortcuts(list, temp, nocat, demo)
local div = html_create("div")
:addClass("noprint")
:addClass("plainlinks")
:addClass("shortcut-box")
:wikitext(("%s[[Wiktionary:Shortcut|%shortcut%s]]:"):format(
temp and "Temporary " or "",
temp and "s" or "S",
list[2] and "s" or ""
))
local attn
for _, shortcut in ipairs(list) do
div:tag("br")
local shortcut, iattn = handle_shortcut(shortcut, demo)
div:node(shortcut)
attn = attn or iattn
end
local categories
if not nocat then
categories = {}
if attn then
insert(categories, "Shortcut boxes needing attention")
end
-- Don't categorise documentation subpages.
if target == current_title.prefixedText then
insert(categories, "Wiktionary pages with shortcuts")
end
categories = format_categories(categories, nil, "-", nil, true)
end
return tostring(div) .. (categories or "")
end
function export.shortcut_t(frame)
local boolean = {type = "boolean"}
local params = {
[1] = {required = true, type = "title", list = true},
["demo"] = {type = "boolean", demo = true},
["nocat"] = boolean,
["temp"] = boolean,
}
local args = process_params(frame:getParent().args, params)
return export.format_shortcuts(args[1], args.temp, args.nocat, args.demo)
end
function export.show(frame)
local output = {}
-- Hacky way to allow function to be called from other modules.
local args = (frame.getParent and frame:getParent().args) or frame
local demo = false
local FULLPAGENAME = mw.title.getCurrentTitle().fullText
local BASEPAGENAME, SUBPAGENAME = FULLPAGENAME:match("^(.-)/([^/]-)$")
-- BASEPAGENAME = BASEPAGENAME or FULLPAGENAME
if frame.getParent and FULLPAGENAME == frame:getParent():getTitle() then
demo = true
end
output[#output + 1] = '<div class="noprint plainlinks shortcut-box">'
if args.temp then
output[#output + 1] = "Temporary [[Wiktionary:Shortcut|shortcut" .. (args[2] and 's' or '') .. "]]:<br/>"
else
output[#output + 1] = "[[Wiktionary:Shortcut|Shortcut" .. (args[2] and 's' or '') .. "]]:<br/>"
end
local attn = false
for i, shortcut in ipairs(args) do
local title = mw.title.new(shortcut)
if not title then
output[#output + 1] = '<span class="attentionseeking">(<code>' .. mw.text.nowiki(shortcut) .. '</code>)</span><br/>'
attn = true
else
local iattn = false
local item
if not title.exists then
attn = true
local query = 'action=edit&redlink=1&preloadtext=' .. mw.uri.encode('#REDIRECT [[' .. FULLPAGENAME .. ']]')
if title.nsText == "Template" then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shortcut, query)) .. ' <span style="color:#c20;">' .. title.text .. '</span>]}}</code>'
else
item = '[' .. tostring(mw.uri.fullUrl(shortcut, query)) .. ' <span style="color:#c20;">' .. shortcut .. '</span>]'
end
else
if title.nsText == "Template" then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shortcut, 'redirect=no')) .. ' ' .. title.text .. ']}}</code>'
else
item = '[' .. tostring(mw.uri.fullUrl(shortcut, 'redirect=no')) .. ' ' .. shortcut .. ']'
end
if not demo then
local redirectTarget = title.redirectTarget
if redirectTarget then
redirectTarget.fragment = '' -- remove fragment, if present
local targetText = redirectTarget.fullText
if title.nsText == "Template" then
if SUBPAGENAME == 'documentation' then
iattn = (targetText ~= BASEPAGENAME)
else
iattn = (targetText ~= FULLPAGENAME)
end
else
if SUBPAGENAME == 'documentation' then
iattn = not (targetText == BASEPAGENAME
or targetText == FULLPAGENAME)
else
iattn = not (targetText == FULLPAGENAME
or targetText == FULLPAGENAME .. '/documentation')
end
end
end
if not (redirectTarget and redirectTarget.exists) then
iattn = true
end
end
end
if iattn then
item = '<span class="attentionseeking">' .. item .. '</span>'
end
output[#output + 1] = item .. '<br/>'
attn = attn or iattn
end
end
if not args.nocat then
if attn then
output[#output + 1] = '[[Category:Shortcut boxes needing attention]]'
end
if SUBPAGENAME ~= 'documentation' then
output[#output + 1] = '[[Category:Wiktionary pages with shortcuts]]'
end
end
output[#output + 1] = '</div>'
return table.concat(output)
end
return export
lznnapbs4bm1qw12oigt87zwj8s9exw
36181
36180
2024-09-03T19:24:01Z
Theknightwho
1347
Always use code tags.
36181
Scribunto
text/plain
local require_when_needed = require("Module:require when needed")
local encode_uri = mw.uri.encode
local format_categories = require_when_needed("Module:utilities", "format_categories")
local full_url = mw.uri.fullUrl
local get_template_invocation_name = require_when_needed("Module:template parser", "getTemplateInvocationName")
local html_create = mw.html.create
local insert = table.insert
local process_params = require_when_needed("Module:parameters", "process")
local title_equals = mw.title.equals
local current_title = mw.title.getCurrentTitle()
local target = current_title.prefixedText
-- If this is a documentation subpage, make `target` point to the main page.
do
local namespace = current_title.namespace
if namespace == 10 or namespace == 828 then
target = target:gsub("(.[\128-\191]*)/documentation$", "%1")
end
end
local ns_abbreviations = {
[4] = "WT",
[14] = "CAT",
[100] = "AP",
[110] = "WS",
[118] = "RC",
[828] = "MOD",
}
local export = {}
local function generate_shortcut(title, br_open, display, br_close, demo)
local redlink = not title:getContent()
local query = redlink and "action=edit&redlink=1&preloadtext=" .. encode_uri(
"#REDIRECT [[" .. target .. "]]",
"QUERY"
) or "redirect=no"
local tag = html_create("code")
:wikitext(br_open .. "[" .. tostring(full_url(title.fullText, query)) .. " ")
if redlink then
display = html_create("span")
:css("color", "#CC2200")
:wikitext(display)
end
tag = tag:node(display)
:wikitext("]".. br_close)
if demo then
return tag
end
local redirect = title.redirectTarget
-- Check if the target page is the current page or (if this is a documentation subpage) the main page.
if redirect and (title_equals(current_title, redirect) or target == redirect.prefixedText) then
return tag
end
tag:addClass("attentionseeking")
return tag, true
end
local function handle_shortcut(title, demo)
local namespace = title.namespace
if namespace == 10 then
return generate_shortcut(title, "{{", get_template_invocation_name(title), "}}", demo)
end
local prefix = ns_abbreviations[namespace] or title.nsText
local text = prefix ~= "" and (prefix .. ":" .. title.text) or title.text
return generate_shortcut(title, "", text, "", demo)
end
function export.format_shortcuts(list, temp, nocat, demo)
local div = html_create("div")
:addClass("noprint")
:addClass("plainlinks")
:addClass("shortcut-box")
:wikitext(("%s[[Wiktionary:Shortcut|%shortcut%s]]:"):format(
temp and "Temporary " or "",
temp and "s" or "S",
list[2] and "s" or ""
))
local attn
for _, shortcut in ipairs(list) do
div:tag("br")
local shortcut, iattn = handle_shortcut(shortcut, demo)
div:node(shortcut)
attn = attn or iattn
end
local categories
if not nocat then
categories = {}
if attn then
insert(categories, "Shortcut boxes needing attention")
end
-- Don't categorise documentation subpages.
if target == current_title.prefixedText then
insert(categories, "Wiktionary pages with shortcuts")
end
categories = format_categories(categories, nil, "-", nil, true)
end
return tostring(div) .. (categories or "")
end
function export.shortcut_t(frame)
local boolean = {type = "boolean"}
local params = {
[1] = {required = true, type = "title", list = true},
["demo"] = {type = "boolean", demo = true},
["nocat"] = boolean,
["temp"] = boolean,
}
local args = process_params(frame:getParent().args, params)
return export.format_shortcuts(args[1], args.temp, args.nocat, args.demo)
end
function export.show(frame)
local output = {}
-- Hacky way to allow function to be called from other modules.
local args = (frame.getParent and frame:getParent().args) or frame
local demo = false
local FULLPAGENAME = mw.title.getCurrentTitle().fullText
local BASEPAGENAME, SUBPAGENAME = FULLPAGENAME:match("^(.-)/([^/]-)$")
-- BASEPAGENAME = BASEPAGENAME or FULLPAGENAME
if frame.getParent and FULLPAGENAME == frame:getParent():getTitle() then
demo = true
end
output[#output + 1] = '<div class="noprint plainlinks shortcut-box">'
if args.temp then
output[#output + 1] = "Temporary [[Wiktionary:Shortcut|shortcut" .. (args[2] and 's' or '') .. "]]:<br/>"
else
output[#output + 1] = "[[Wiktionary:Shortcut|Shortcut" .. (args[2] and 's' or '') .. "]]:<br/>"
end
local attn = false
for i, shortcut in ipairs(args) do
local title = mw.title.new(shortcut)
if not title then
output[#output + 1] = '<span class="attentionseeking">(<code>' .. mw.text.nowiki(shortcut) .. '</code>)</span><br/>'
attn = true
else
local iattn = false
local item
if not title.exists then
attn = true
local query = 'action=edit&redlink=1&preloadtext=' .. mw.uri.encode('#REDIRECT [[' .. FULLPAGENAME .. ']]')
if title.nsText == "Template" then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shortcut, query)) .. ' <span style="color:#c20;">' .. title.text .. '</span>]}}</code>'
else
item = '[' .. tostring(mw.uri.fullUrl(shortcut, query)) .. ' <span style="color:#c20;">' .. shortcut .. '</span>]'
end
else
if title.nsText == "Template" then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shortcut, 'redirect=no')) .. ' ' .. title.text .. ']}}</code>'
else
item = '[' .. tostring(mw.uri.fullUrl(shortcut, 'redirect=no')) .. ' ' .. shortcut .. ']'
end
if not demo then
local redirectTarget = title.redirectTarget
if redirectTarget then
redirectTarget.fragment = '' -- remove fragment, if present
local targetText = redirectTarget.fullText
if title.nsText == "Template" then
if SUBPAGENAME == 'documentation' then
iattn = (targetText ~= BASEPAGENAME)
else
iattn = (targetText ~= FULLPAGENAME)
end
else
if SUBPAGENAME == 'documentation' then
iattn = not (targetText == BASEPAGENAME
or targetText == FULLPAGENAME)
else
iattn = not (targetText == FULLPAGENAME
or targetText == FULLPAGENAME .. '/documentation')
end
end
end
if not (redirectTarget and redirectTarget.exists) then
iattn = true
end
end
end
if iattn then
item = '<span class="attentionseeking">' .. item .. '</span>'
end
output[#output + 1] = item .. '<br/>'
attn = attn or iattn
end
end
if not args.nocat then
if attn then
output[#output + 1] = '[[Category:Shortcut boxes needing attention]]'
end
if SUBPAGENAME ~= 'documentation' then
output[#output + 1] = '[[Category:Wiktionary pages with shortcuts]]'
end
end
output[#output + 1] = '</div>'
return table.concat(output)
end
return export
d6lltmu4udmydk6gx77tfwsfbkd57qv
36182
36181
2024-09-03T20:55:17Z
Theknightwho
1347
Also consider the fragment of redirects when checking if they're correct.
36182
Scribunto
text/plain
local require_when_needed = require("Module:require when needed")
local encode_uri = mw.uri.encode
local format_categories = require_when_needed("Module:utilities", "format_categories")
local full_url = mw.uri.fullUrl
local get_template_invocation_name = require_when_needed("Module:template parser", "getTemplateInvocationName")
local html_create = mw.html.create
local insert = table.insert
local process_params = require_when_needed("Module:parameters", "process")
local current_title = mw.title.getCurrentTitle()
-- Generate the correct target for incoming redirects to the location of the shortcut box.
local function generate_target(target)
local namespace = current_title.namespace
-- If in the template or module namespace, make `target` point to the template/module, not any documentation subpage.
if namespace == 10 or namespace == 828 then
target, documentation = target:gsub("(.[\128-\191]*)/documentation$", "%1")
return target, documentation == 1 and true or nil
end
-- Otherwise, point to the current section, or the page if at the top.
local current_section = require("Module:utilities").get_current_section()
if current_section == 0 then -- Section 0 is the top of the page.
return target
end
local i = 0
for heading in require("Module:template parser").findHeadings(current_title:getContent()) do
i = i + 1
if i == current_section then
return target .. "#" ..
-- Generate the fragment.
require("Module:string utilities").decode_entities(
mw.uri.anchorEncode(heading))
:gsub("_", " ")
end
end
end
local target, documentation = generate_target(current_title.prefixedText)
local ns_abbreviations = {
[4] = "WT",
[14] = "CAT",
[100] = "AP",
[110] = "WS",
[118] = "RC",
[828] = "MOD",
}
local export = {}
local function generate_shortcut(title, br_open, display, br_close, demo)
local redlink = not title:getContent()
local query = redlink and "action=edit&redlink=1&preloadtext=" .. encode_uri(
"#REDIRECT [[" .. target .. "]]",
"QUERY"
) or "redirect=no"
local tag = html_create("code")
:wikitext(br_open .. "[" .. tostring(full_url(title.fullText, query)) .. " ")
if redlink then
display = html_create("span")
:css("color", "#CC2200")
:wikitext(display)
end
tag = tag:node(display)
:wikitext("]".. br_close)
if demo then
return tag
end
local redirect = title.redirectTarget
-- Check the target is correct.
if redirect and redirect.fullText == target then
return tag
end
-- If not, flag for attention.
tag:addClass("attentionseeking")
return tag, true
end
local function handle_shortcut(title, demo)
local namespace = title.namespace
if namespace == 10 then
return generate_shortcut(title, "{{", get_template_invocation_name(title), "}}", demo)
end
local prefix = ns_abbreviations[namespace] or title.nsText
local text = prefix ~= "" and (prefix .. ":" .. title.text) or title.text
return generate_shortcut(title, "", text, "", demo)
end
function export.format_shortcuts(list, temp, nocat, demo)
local div = html_create("div")
:addClass("noprint")
:addClass("plainlinks")
:addClass("shortcut-box")
:wikitext(("%s[[Wiktionary:Shortcut|%shortcut%s]]:"):format(
temp and "Temporary " or "",
temp and "s" or "S",
list[2] and "s" or ""
))
local attn
for _, shortcut in ipairs(list) do
div:tag("br")
local shortcut, iattn = handle_shortcut(shortcut, demo)
div:node(shortcut)
attn = attn or iattn
end
local categories
if not nocat then
categories = {}
if attn then
insert(categories, "Shortcut boxes needing attention")
end
-- Don't categorise documentation subpages as having shortcuts.
if not documentation then
insert(categories, "Wiktionary pages with shortcuts")
end
categories = format_categories(categories, nil, "-", nil, true)
end
return tostring(div) .. (categories or "")
end
function export.shortcut_t(frame)
local boolean = {type = "boolean"}
local params = {
[1] = {required = true, type = "title", list = true},
["demo"] = {type = "boolean", demo = true},
["nocat"] = boolean,
["temp"] = boolean,
}
local args = process_params(frame:getParent().args, params)
return export.format_shortcuts(args[1], args.temp, args.nocat, args.demo)
end
function export.show(frame)
local output = {}
-- Hacky way to allow function to be called from other modules.
local args = (frame.getParent and frame:getParent().args) or frame
local demo = false
local FULLPAGENAME = mw.title.getCurrentTitle().fullText
local BASEPAGENAME, SUBPAGENAME = FULLPAGENAME:match("^(.-)/([^/]-)$")
-- BASEPAGENAME = BASEPAGENAME or FULLPAGENAME
if frame.getParent and FULLPAGENAME == frame:getParent():getTitle() then
demo = true
end
output[#output + 1] = '<div class="noprint plainlinks shortcut-box">'
if args.temp then
output[#output + 1] = "Temporary [[Wiktionary:Shortcut|shortcut" .. (args[2] and 's' or '') .. "]]:<br/>"
else
output[#output + 1] = "[[Wiktionary:Shortcut|Shortcut" .. (args[2] and 's' or '') .. "]]:<br/>"
end
local attn = false
for i, shortcut in ipairs(args) do
local title = mw.title.new(shortcut)
if not title then
output[#output + 1] = '<span class="attentionseeking">(<code>' .. mw.text.nowiki(shortcut) .. '</code>)</span><br/>'
attn = true
else
local iattn = false
local item
if not title.exists then
attn = true
local query = 'action=edit&redlink=1&preloadtext=' .. mw.uri.encode('#REDIRECT [[' .. FULLPAGENAME .. ']]')
if title.nsText == "Template" then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shortcut, query)) .. ' <span style="color:#c20;">' .. title.text .. '</span>]}}</code>'
else
item = '[' .. tostring(mw.uri.fullUrl(shortcut, query)) .. ' <span style="color:#c20;">' .. shortcut .. '</span>]'
end
else
if title.nsText == "Template" then
item = '<code>{{[' .. tostring(mw.uri.fullUrl(shortcut, 'redirect=no')) .. ' ' .. title.text .. ']}}</code>'
else
item = '[' .. tostring(mw.uri.fullUrl(shortcut, 'redirect=no')) .. ' ' .. shortcut .. ']'
end
if not demo then
local redirectTarget = title.redirectTarget
if redirectTarget then
redirectTarget.fragment = '' -- remove fragment, if present
local targetText = redirectTarget.fullText
if title.nsText == "Template" then
if SUBPAGENAME == 'documentation' then
iattn = (targetText ~= BASEPAGENAME)
else
iattn = (targetText ~= FULLPAGENAME)
end
else
if SUBPAGENAME == 'documentation' then
iattn = not (targetText == BASEPAGENAME
or targetText == FULLPAGENAME)
else
iattn = not (targetText == FULLPAGENAME
or targetText == FULLPAGENAME .. '/documentation')
end
end
end
if not (redirectTarget and redirectTarget.exists) then
iattn = true
end
end
end
if iattn then
item = '<span class="attentionseeking">' .. item .. '</span>'
end
output[#output + 1] = item .. '<br/>'
attn = attn or iattn
end
end
if not args.nocat then
if attn then
output[#output + 1] = '[[Category:Shortcut boxes needing attention]]'
end
if SUBPAGENAME ~= 'documentation' then
output[#output + 1] = '[[Category:Wiktionary pages with shortcuts]]'
end
end
output[#output + 1] = '</div>'
return table.concat(output)
end
return export
m9fuxhenlbtk4ir15qqezgm01azh0lv
36183
36182
2024-09-03T21:16:05Z
Theknightwho
1347
Remove old function, which is now completely replaced.
36183
Scribunto
text/plain
local require_when_needed = require("Module:require when needed")
local encode_uri = mw.uri.encode
local format_categories = require_when_needed("Module:utilities", "format_categories")
local full_url = mw.uri.fullUrl
local get_template_invocation_name = require_when_needed("Module:template parser", "getTemplateInvocationName")
local html_create = mw.html.create
local insert = table.insert
local process_params = require_when_needed("Module:parameters", "process")
local current_title = mw.title.getCurrentTitle()
-- Generate the correct target for incoming redirects to the location of the shortcut box.
local function generate_target(target)
local namespace = current_title.namespace
-- If in the template or module namespace, make `target` point to the template/module, not any documentation subpage.
if namespace == 10 or namespace == 828 then
local documentation
target, documentation = target:gsub("(.[\128-\191]*)/documentation$", "%1")
return target, documentation == 1 and true or nil
end
-- Otherwise, point to the current section, or the page if at the top.
local current_section = require("Module:utilities").get_current_section()
if current_section == 0 then -- Section 0 is the top of the page.
return target
end
local i = 0
for heading in require("Module:template parser").findHeadings(current_title:getContent()) do
i = i + 1
if i == current_section then
return target .. "#" ..
-- Generate the fragment.
require("Module:string utilities").decode_entities(
mw.uri.anchorEncode(heading))
:gsub("_", " ")
end
end
end
local target, documentation = generate_target(current_title.prefixedText)
local ns_abbreviations = {
[4] = "WT",
[14] = "CAT",
[100] = "AP",
[110] = "WS",
[118] = "RC",
[828] = "MOD",
}
local export = {}
local function generate_shortcut(title, br_open, display, br_close, demo)
local redlink = not title:getContent()
local query = redlink and "action=edit&redlink=1&preloadtext=" .. encode_uri(
"#REDIRECT [[" .. target .. "]]",
"QUERY"
) or "redirect=no"
local tag = html_create("code")
:wikitext(br_open .. "[" .. tostring(full_url(title.fullText, query)) .. " ")
if redlink then
display = html_create("span")
:css("color", "#CC2200")
:wikitext(display)
end
tag = tag:node(display)
:wikitext("]".. br_close)
if demo then
return tag
end
local redirect = title.redirectTarget
-- Check the target is correct.
if redirect and redirect.fullText == target then
return tag
end
-- If not, flag for attention.
tag:addClass("attentionseeking")
return tag, true
end
local function handle_shortcut(title, demo)
local namespace = title.namespace
if namespace == 10 then
return generate_shortcut(title, "{{", get_template_invocation_name(title), "}}", demo)
end
local prefix = ns_abbreviations[namespace] or title.nsText
local text = prefix ~= "" and (prefix .. ":" .. title.text) or title.text
return generate_shortcut(title, "", text, "", demo)
end
function export.format_shortcuts(list, temp, nocat, demo)
local div = html_create("div")
:addClass("noprint")
:addClass("plainlinks")
:addClass("shortcut-box")
:wikitext(("%s[[Wiktionary:Shortcut|%shortcut%s]]:"):format(
temp and "Temporary " or "",
temp and "s" or "S",
list[2] and "s" or ""
))
local attn
for _, shortcut in ipairs(list) do
div:tag("br")
local shortcut, iattn = handle_shortcut(shortcut, demo)
div:node(shortcut)
attn = attn or iattn
end
local categories
if not nocat then
categories = {}
if attn then
insert(categories, "Shortcut boxes needing attention")
end
-- Don't categorise documentation subpages as having shortcuts.
if not documentation then
insert(categories, "Wiktionary pages with shortcuts")
end
categories = format_categories(categories, nil, "-", nil, true)
end
return tostring(div) .. (categories or "")
end
function export.shortcut_t(frame)
local boolean = {type = "boolean"}
local params = {
[1] = {required = true, type = "title", list = true},
["demo"] = {type = "boolean", demo = true},
["nocat"] = boolean,
["temp"] = boolean,
}
local args = process_params(frame:getParent().args, params)
return export.format_shortcuts(args[1], args.temp, args.nocat, args.demo)
end
return export
bmqfv097bch5uqsxbcqydlz3epmbowe
36184
36183
2024-09-03T21:19:48Z
Theknightwho
1347
Brief comment explaining how format_shortcuts works.
36184
Scribunto
text/plain
local require_when_needed = require("Module:require when needed")
local encode_uri = mw.uri.encode
local format_categories = require_when_needed("Module:utilities", "format_categories")
local full_url = mw.uri.fullUrl
local get_template_invocation_name = require_when_needed("Module:template parser", "getTemplateInvocationName")
local html_create = mw.html.create
local insert = table.insert
local process_params = require_when_needed("Module:parameters", "process")
local current_title = mw.title.getCurrentTitle()
-- Generate the correct target for incoming redirects to the location of the shortcut box.
local function generate_target(target)
local namespace = current_title.namespace
-- If in the template or module namespace, make `target` point to the template/module, not any documentation subpage.
if namespace == 10 or namespace == 828 then
local documentation
target, documentation = target:gsub("(.[\128-\191]*)/documentation$", "%1")
return target, documentation == 1 and true or nil
end
-- Otherwise, point to the current section, or the page if at the top.
local current_section = require("Module:utilities").get_current_section()
if current_section == 0 then -- Section 0 is the top of the page.
return target
end
local i = 0
for heading in require("Module:template parser").findHeadings(current_title:getContent()) do
i = i + 1
if i == current_section then
return target .. "#" ..
-- Generate the fragment.
require("Module:string utilities").decode_entities(
mw.uri.anchorEncode(heading))
:gsub("_", " ")
end
end
end
local target, documentation = generate_target(current_title.prefixedText)
local ns_abbreviations = {
[4] = "WT",
[14] = "CAT",
[100] = "AP",
[110] = "WS",
[118] = "RC",
[828] = "MOD",
}
local export = {}
local function generate_shortcut(title, br_open, display, br_close, demo)
local redlink = not title:getContent()
local query = redlink and "action=edit&redlink=1&preloadtext=" .. encode_uri(
"#REDIRECT [[" .. target .. "]]",
"QUERY"
) or "redirect=no"
local tag = html_create("code")
:wikitext(br_open .. "[" .. tostring(full_url(title.fullText, query)) .. " ")
if redlink then
display = html_create("span")
:css("color", "#CC2200")
:wikitext(display)
end
tag = tag:node(display)
:wikitext("]".. br_close)
if demo then
return tag
end
local redirect = title.redirectTarget
-- Check the target is correct.
if redirect and redirect.fullText == target then
return tag
end
-- If not, flag for attention.
tag:addClass("attentionseeking")
return tag, true
end
local function handle_shortcut(title, demo)
local namespace = title.namespace
if namespace == 10 then
return generate_shortcut(title, "{{", get_template_invocation_name(title), "}}", demo)
end
local prefix = ns_abbreviations[namespace] or title.nsText
local text = prefix ~= "" and (prefix .. ":" .. title.text) or title.text
return generate_shortcut(title, "", text, "", demo)
end
-- Takes `list`, an array of title objects, and returns a shortcut box.
function export.format_shortcuts(list, temp, nocat, demo)
local div = html_create("div")
:addClass("noprint")
:addClass("plainlinks")
:addClass("shortcut-box")
:wikitext(("%s[[Wiktionary:Shortcut|%shortcut%s]]:"):format(
temp and "Temporary " or "",
temp and "s" or "S",
list[2] and "s" or ""
))
local attn
for _, shortcut in ipairs(list) do
div:tag("br")
local shortcut, iattn = handle_shortcut(shortcut, demo)
div:node(shortcut)
attn = attn or iattn
end
local categories
if not nocat then
categories = {}
if attn then
insert(categories, "Shortcut boxes needing attention")
end
-- Don't categorise documentation subpages as having shortcuts.
if not documentation then
insert(categories, "Wiktionary pages with shortcuts")
end
categories = format_categories(categories, nil, "-", nil, true)
end
return tostring(div) .. (categories or "")
end
function export.shortcut_t(frame)
local boolean = {type = "boolean"}
local params = {
[1] = {required = true, type = "title", list = true},
["demo"] = {type = "boolean", demo = true},
["nocat"] = boolean,
["temp"] = boolean,
}
local args = process_params(frame:getParent().args, params)
return export.format_shortcuts(args[1], args.temp, args.nocat, args.demo)
end
return export
9m38gzdfeibd32ire04sm4tphy7gqwk
36185
36184
2024-09-03T21:29:13Z
Theknightwho
1347
36185
Scribunto
text/plain
local require_when_needed = require("Module:require when needed")
local encode_uri = mw.uri.encode
local format_categories = require_when_needed("Module:utilities", "format_categories")
local full_url = mw.uri.fullUrl
local get_template_invocation_name = require_when_needed("Module:template parser", "getTemplateInvocationName")
local html_create = mw.html.create
local insert = table.insert
local process_params = require_when_needed("Module:parameters", "process")
local tostring = tostring
local current_title = mw.title.getCurrentTitle()
-- Generate the correct target for incoming redirects to the location of the shortcut box.
local function generate_target(target)
local namespace = current_title.namespace
-- If in the template or module namespace, make `target` point to the template/module, not any documentation subpage.
if namespace == 10 or namespace == 828 then
local documentation
target, documentation = target:gsub("(.[\128-\191]*)/documentation$", "%1")
return target, documentation == 1 and true or nil
end
-- Otherwise, point to the current section, or the page if at the top.
local current_section = require("Module:utilities").get_current_section()
if current_section == 0 then -- Section 0 is the top of the page.
return target
end
local i = 0
for heading in require("Module:template parser").findHeadings(current_title:getContent()) do
i = i + 1
if i == current_section then
return target .. "#" ..
-- Generate the fragment.
require("Module:string utilities").decode_entities(
mw.uri.anchorEncode(heading))
:gsub("_", " ")
end
end
end
local target, documentation = generate_target(current_title.prefixedText)
local ns_abbreviations = {
[4] = "WT",
[14] = "CAT",
[100] = "AP",
[110] = "WS",
[118] = "RC",
[828] = "MOD",
}
local export = {}
local function generate_shortcut(title, br_open, display, br_close, demo)
local redlink = not title:getContent()
local query = redlink and "action=edit&redlink=1&preloadtext=" .. encode_uri(
"#REDIRECT [[" .. target .. "]]",
"QUERY"
) or "redirect=no"
local tag = html_create("code")
:wikitext(br_open .. "[" .. tostring(full_url(title.fullText, query)) .. " ")
if redlink then
display = html_create("span")
:css("color", "#CC2200")
:wikitext(display)
end
tag = tag:node(display)
:wikitext("]".. br_close)
if demo then
return tag
end
local redirect = title.redirectTarget
-- Check the target is correct.
if redirect and redirect.fullText == target then
return tag
end
-- If not, flag for attention.
tag:addClass("attentionseeking")
return tag, true
end
local function handle_shortcut(title, demo)
local namespace = title.namespace
if namespace == 10 then
return generate_shortcut(title, "{{", get_template_invocation_name(title), "}}", demo)
end
local prefix = ns_abbreviations[namespace] or title.nsText
local text = prefix ~= "" and (prefix .. ":" .. title.text) or title.text
return generate_shortcut(title, "", text, "", demo)
end
-- Takes `list`, an array of title objects, and returns a shortcut box.
function export.format_shortcuts(list, temp, nocat, demo)
local div = html_create("div")
:addClass("noprint")
:addClass("plainlinks")
:addClass("shortcut-box")
:wikitext(("%s[[Wiktionary:Shortcut|%shortcut%s]]:"):format(
temp and "Temporary " or "",
temp and "s" or "S",
list[2] and "s" or ""
))
local attn
for _, shortcut in ipairs(list) do
div:tag("br")
local shortcut, iattn = handle_shortcut(shortcut, demo)
div:node(shortcut)
attn = attn or iattn
end
local categories
if not nocat then
categories = {}
if attn then
insert(categories, "Shortcut boxes needing attention")
end
-- Don't categorise documentation subpages as having shortcuts.
if not documentation then
insert(categories, "Wiktionary pages with shortcuts")
end
categories = format_categories(categories, nil, "-", nil, true)
end
return tostring(div) .. (categories or "")
end
function export.shortcut_t(frame)
local boolean = {type = "boolean"}
local params = {
[1] = {required = true, type = "title", list = true},
["demo"] = {type = "boolean", demo = true},
["nocat"] = boolean,
["temp"] = boolean,
}
local args = process_params(frame:getParent().args, params)
return export.format_shortcuts(args[1], args.temp, args.nocat, args.demo)
end
return export
28ee5orghn6t7mhld1ogfbfs1ugaeka
36186
36185
2024-09-04T05:43:26Z
Theknightwho
1347
Abbreviate "Template:" to "T:" in the rare situations a template prefix needs to be displayed.
36186
Scribunto
text/plain
local require_when_needed = require("Module:require when needed")
local encode_uri = mw.uri.encode
local format_categories = require_when_needed("Module:utilities", "format_categories")
local full_url = mw.uri.fullUrl
local get_template_invocation_name = require_when_needed("Module:template parser", "getTemplateInvocationName")
local html_create = mw.html.create
local insert = table.insert
local process_params = require_when_needed("Module:parameters", "process")
local tostring = tostring
local current_title = mw.title.getCurrentTitle()
-- Generate the correct target for incoming redirects to the location of the shortcut box.
local function generate_target(target)
local namespace = current_title.namespace
-- If in the template or module namespace, make `target` point to the template/module, not any documentation subpage.
if namespace == 10 or namespace == 828 then
local documentation
target, documentation = target:gsub("(.[\128-\191]*)/documentation$", "%1")
return target, documentation == 1 and true or nil
end
-- Otherwise, point to the current section, or the page if at the top.
local current_section = require("Module:utilities").get_current_section()
if current_section == 0 then -- Section 0 is the top of the page.
return target
end
local i = 0
for heading in require("Module:template parser").findHeadings(current_title:getContent()) do
i = i + 1
if i == current_section then
return target .. "#" ..
-- Generate the fragment.
require("Module:string utilities").decode_entities(
mw.uri.anchorEncode(heading))
:gsub("_", " ")
end
end
end
local target, documentation = generate_target(current_title.prefixedText)
local ns_abbreviations = {
[4] = "WT",
[14] = "CAT",
[100] = "AP",
[110] = "WS",
[118] = "RC",
[828] = "MOD",
}
local export = {}
local function generate_shortcut(title, br_open, display, br_close, demo)
local redlink = not title:getContent()
local query = redlink and "action=edit&redlink=1&preloadtext=" .. encode_uri(
"#REDIRECT [[" .. target .. "]]",
"QUERY"
) or "redirect=no"
local tag = html_create("code")
:wikitext(br_open .. "[" .. tostring(full_url(title.fullText, query)) .. " ")
if redlink then
display = html_create("span")
:css("color", "#CC2200")
:wikitext(display)
end
tag = tag:node(display)
:wikitext("]".. br_close)
if demo then
return tag
end
local redirect = title.redirectTarget
-- Check the target is correct.
if redirect and redirect.fullText == target then
return tag
end
-- If not, flag for attention.
tag:addClass("attentionseeking")
return tag, true
end
local function handle_shortcut(title, demo)
local namespace = title.namespace
if namespace == 10 then
-- The "Template:" prefix will still be needed in rare situations, so abbreviate it to "T:".
return generate_shortcut(title, "{{", get_template_invocation_name(title):gsub("^Template:", "T:"), "}}", demo)
end
local prefix = ns_abbreviations[namespace] or title.nsText
local text = prefix ~= "" and (prefix .. ":" .. title.text) or title.text
return generate_shortcut(title, "", text, "", demo)
end
-- Takes `list`, an array of title objects, and returns a shortcut box.
function export.format_shortcuts(list, temp, nocat, demo)
local div = html_create("div")
:addClass("noprint")
:addClass("plainlinks")
:addClass("shortcut-box")
:wikitext(("%s[[Wiktionary:Shortcut|%shortcut%s]]:"):format(
temp and "Temporary " or "",
temp and "s" or "S",
list[2] and "s" or ""
))
local attn
for _, shortcut in ipairs(list) do
div:tag("br")
local shortcut, iattn = handle_shortcut(shortcut, demo)
div:node(shortcut)
attn = attn or iattn
end
local categories
if not nocat then
categories = {}
if attn then
insert(categories, "Shortcut boxes needing attention")
end
-- Don't categorise documentation subpages as having shortcuts.
if not documentation then
insert(categories, "Wiktionary pages with shortcuts")
end
categories = format_categories(categories, nil, "-", nil, true)
end
return tostring(div) .. (categories or "")
end
function export.shortcut_t(frame)
local boolean = {type = "boolean"}
local params = {
[1] = {required = true, type = "title", list = true},
["demo"] = {type = "boolean", demo = true},
["nocat"] = boolean,
["temp"] = boolean,
}
local args = process_params(frame:getParent().args, params)
return export.format_shortcuts(args[1], args.temp, args.nocat, args.demo)
end
return export
rvpgtm1exjebbepmf5twzdhqq67m5o7
36187
36186
2024-09-07T14:54:57Z
Theknightwho
1347
Minor code simplification.
36187
Scribunto
text/plain
local require_when_needed = require("Module:require when needed")
local encode_uri = mw.uri.encode
local format_categories = require_when_needed("Module:utilities", "format_categories")
local full_url = mw.uri.fullUrl
local get_template_invocation_name = require_when_needed("Module:template parser", "getTemplateInvocationName")
local html_create = mw.html.create
local insert = table.insert
local process_params = require_when_needed("Module:parameters", "process")
local tostring = tostring
local current_title = mw.title.getCurrentTitle()
-- Generate the correct target for incoming redirects to the location of the shortcut box.
local namespace, target, documentation = current_title.namespace, current_title.prefixedText
-- If in the template or module namespace, make `target` point to the template/module, not any documentation subpage.
if namespace == 10 or namespace == 828 then
target, documentation = target:gsub("(.[\128-\191]*)/documentation$", "%1")
documentation = documentation == 1
else
-- Otherwise, point to the current section, or the page if at the top.
local current_section = require("Module:utilities").get_current_section()
if current_section ~= 0 then -- Section 0 is everything before the first heading.
local i = 0
for heading in require("Module:template parser").findHeadings(current_title:getContent()) do
i = i + 1
if i == current_section then
-- Generate the fragment.
target = target .. "#" .. require("Module:string utilities").decode_entities(mw.uri.anchorEncode(heading))
:gsub("_", " ")
break
end
end
end
end
local namespace_abbreviations = {
[4] = "WT",
[14] = "CAT",
[100] = "AP",
[110] = "WS",
[118] = "RC",
[828] = "MOD",
}
local export = {}
local function generate_shortcut(title, br_open, display, br_close, demo)
local redlink = not title:getContent()
local query = redlink and "action=edit&redlink=1&preloadtext=" .. encode_uri(
"#REDIRECT [[" .. target .. "]]",
"QUERY"
) or "redirect=no"
local tag = html_create("code")
:wikitext(br_open .. "[" .. tostring(full_url(title.fullText, query)) .. " ")
if redlink then
display = html_create("span")
:css("color", "#CC2200")
:wikitext(display)
end
tag = tag:node(display)
:wikitext("]".. br_close)
if demo then
return tag
end
local redirect = title.redirectTarget
-- Check the target is correct.
if redirect and redirect.fullText == target then
return tag
end
-- If not, flag for attention.
tag:addClass("attentionseeking")
return tag, true
end
local function handle_shortcut(title, demo)
local namespace = title.namespace
if namespace == 10 then
-- The "Template:" prefix will still be needed in rare situations, so abbreviate it to "T:".
return generate_shortcut(title, "{{", get_template_invocation_name(title):gsub("^Template:", "T:"), "}}", demo)
end
local prefix = namespace_abbreviations[namespace] or title.nsText
local text = prefix ~= "" and (prefix .. ":" .. title.text) or title.text
return generate_shortcut(title, "", text, "", demo)
end
-- Takes `list`, an array of title objects, and returns a shortcut box.
function export.format_shortcuts(list, temp, nocat, demo)
local div = html_create("div")
:addClass("noprint")
:addClass("plainlinks")
:addClass("shortcut-box")
:wikitext(("%s[[Wiktionary:Shortcut|%shortcut%s]]:"):format(
temp and "Temporary " or "",
temp and "s" or "S",
list[2] and "s" or ""
))
local attn
for _, shortcut in ipairs(list) do
div:tag("br")
local shortcut, iattn = handle_shortcut(shortcut, demo)
div:node(shortcut)
attn = attn or iattn
end
local categories
if not nocat then
categories = {}
if attn then
insert(categories, "Shortcut boxes needing attention")
end
-- Don't categorise documentation subpages as having shortcuts.
if not documentation then
insert(categories, "Wiktionary pages with shortcuts")
end
categories = format_categories(categories, nil, "-", nil, true)
end
return tostring(div) .. (categories or "")
end
function export.shortcut_t(frame)
local boolean = {type = "boolean"}
local params = {
[1] = {required = true, type = "title", list = true},
["demo"] = {type = "boolean", demo = true},
["nocat"] = boolean,
["temp"] = boolean,
}
local args = process_params(frame:getParent().args, params)
return export.format_shortcuts(args[1], args.temp, args.nocat, args.demo)
end
return export
8t7jwchrwddh9hfoe8y5v8cngdm1435
36188
36187
2024-09-10T11:37:01Z
Theknightwho
1347
get_current_section moved to [[Module:pages]].
36188
Scribunto
text/plain
local require_when_needed = require("Module:require when needed")
local encode_uri = mw.uri.encode
local format_categories = require_when_needed("Module:utilities", "format_categories")
local full_url = mw.uri.fullUrl
local get_template_invocation_name = require_when_needed("Module:template parser", "getTemplateInvocationName")
local html_create = mw.html.create
local insert = table.insert
local process_params = require_when_needed("Module:parameters", "process")
local tostring = tostring
local current_title = mw.title.getCurrentTitle()
-- Generate the correct target for incoming redirects to the location of the shortcut box.
local namespace, target, documentation = current_title.namespace, current_title.prefixedText
-- If in the template or module namespace, make `target` point to the template/module, not any documentation subpage.
if namespace == 10 or namespace == 828 then
target, documentation = target:gsub("(.[\128-\191]*)/documentation$", "%1")
documentation = documentation == 1
else
-- Otherwise, point to the current section, or the page if at the top.
local current_section = require("Module:pages").get_current_section()
if current_section ~= 0 then -- Section 0 is everything before the first heading.
local i = 0
for heading in require("Module:template parser").findHeadings(current_title:getContent()) do
i = i + 1
if i == current_section then
-- Generate the fragment.
target = target .. "#" .. require("Module:string utilities").decode_entities(mw.uri.anchorEncode(heading))
:gsub("_", " ")
break
end
end
end
end
local namespace_abbreviations = {
[4] = "WT",
[14] = "CAT",
[100] = "AP",
[110] = "WS",
[118] = "RC",
[828] = "MOD",
}
local export = {}
local function generate_shortcut(title, br_open, display, br_close, demo)
local redlink = not title:getContent()
local query = redlink and "action=edit&redlink=1&preloadtext=" .. encode_uri(
"#REDIRECT [[" .. target .. "]]",
"QUERY"
) or "redirect=no"
local tag = html_create("code")
:wikitext(br_open .. "[" .. tostring(full_url(title.fullText, query)) .. " ")
if redlink then
display = html_create("span")
:css("color", "#CC2200")
:wikitext(display)
end
tag = tag:node(display)
:wikitext("]".. br_close)
if demo then
return tag
end
local redirect = title.redirectTarget
-- Check the target is correct.
if redirect and redirect.fullText == target then
return tag
end
-- If not, flag for attention.
tag:addClass("attentionseeking")
return tag, true
end
local function handle_shortcut(title, demo)
local namespace = title.namespace
if namespace == 10 then
-- The "Template:" prefix will still be needed in rare situations, so abbreviate it to "T:".
return generate_shortcut(title, "{{", get_template_invocation_name(title):gsub("^Template:", "T:"), "}}", demo)
end
local prefix = namespace_abbreviations[namespace] or title.nsText
local text = prefix ~= "" and (prefix .. ":" .. title.text) or title.text
return generate_shortcut(title, "", text, "", demo)
end
-- Takes `list`, an array of title objects, and returns a shortcut box.
function export.format_shortcuts(list, temp, nocat, demo)
local div = html_create("div")
:addClass("noprint")
:addClass("plainlinks")
:addClass("shortcut-box")
:wikitext(("%s[[Wiktionary:Shortcut|%shortcut%s]]:"):format(
temp and "Temporary " or "",
temp and "s" or "S",
list[2] and "s" or ""
))
local attn
for _, shortcut in ipairs(list) do
div:tag("br")
local shortcut, iattn = handle_shortcut(shortcut, demo)
div:node(shortcut)
attn = attn or iattn
end
local categories
if not nocat then
categories = {}
if attn then
insert(categories, "Shortcut boxes needing attention")
end
-- Don't categorise documentation subpages as having shortcuts.
if not documentation then
insert(categories, "Wiktionary pages with shortcuts")
end
categories = format_categories(categories, nil, "-", nil, true)
end
return tostring(div) .. (categories or "")
end
function export.shortcut_t(frame)
local boolean = {type = "boolean"}
local params = {
[1] = {required = true, type = "title", list = true},
["demo"] = {type = "boolean", demo = true},
["nocat"] = boolean,
["temp"] = boolean,
}
local args = process_params(frame:getParent().args, params)
return export.format_shortcuts(args[1], args.temp, args.nocat, args.demo)
end
return export
as6f4rixfyjckvo9k7cx068uokrle0l
36189
36188
2024-09-15T10:44:19Z
Theknightwho
1347
Don't automatically generate a redirect if there's a redlink in demo mode, use a table to build the query, and use a stylesheet for external redlinks.
36189
Scribunto
text/plain
local require_when_needed = require("Module:require when needed")
local encode_uri = mw.uri.encode
local format_categories = require_when_needed("Module:utilities", "format_categories")
local full_url = mw.uri.fullUrl
local get_template_invocation_name = require_when_needed("Module:template parser", "getTemplateInvocationName")
local html_create = mw.html.create
local insert = table.insert
local process_params = require_when_needed("Module:parameters", "process")
local tostring = tostring
local current_title = mw.title.getCurrentTitle()
-- Generate the correct target for incoming redirects to the location of the shortcut box.
local namespace, target, documentation = current_title.namespace, current_title.prefixedText
-- If in the template or module namespace, make `target` point to the template/module, not any documentation subpage.
if namespace == 10 or namespace == 828 then
target, documentation = target:gsub("(.[\128-\191]*)/documentation$", "%1")
documentation = documentation == 1
else
-- Otherwise, point to the current section, or the page if at the top.
local current_section = require("Module:pages").get_current_section()
if current_section ~= 0 then -- Section 0 is everything before the first heading.
local i = 0
for heading in require("Module:template parser").findHeadings(current_title:getContent()) do
i = i + 1
if i == current_section then
-- Generate the fragment.
target = target .. "#" .. require("Module:string utilities").decode_entities(mw.uri.anchorEncode(heading))
:gsub("_", " ")
break
end
end
end
end
local namespace_abbreviations = {
[4] = "WT",
[14] = "CAT",
[100] = "AP",
[110] = "WS",
[118] = "RC",
[828] = "MOD",
}
local export = {}
local function generate_shortcut(title, br_open, display, br_close, demo)
local redlink = not title:getContent()
local query = {}
if redlink and not demo then
query.action = "edit"
query.redlink = "1"
query.preloadtext = "#REDIRECT [[" .. target .. "]]"
else
query.redirect = "no"
end
local tag = html_create("code")
:wikitext(br_open .. "[" .. tostring(full_url(title.fullText, query)) .. " ")
if redlink then
display = html_create("span")
:addClass("redlink")
:wikitext(display)
end
tag = tag:node(display)
:wikitext("]".. br_close)
if demo then
return tag
end
local redirect = title.redirectTarget
-- Check the target is correct.
if redirect and redirect.fullText == target then
return tag
end
-- If not, flag for attention.
tag:addClass("attentionseeking")
return tag, true
end
local function handle_shortcut(title, demo)
local namespace = title.namespace
if namespace == 10 then
-- The "Template:" prefix will still be needed in rare situations, so abbreviate it to "T:".
return generate_shortcut(title, "{{", get_template_invocation_name(title):gsub("^Template:", "T:"), "}}", demo)
end
local prefix = namespace_abbreviations[namespace] or title.nsText
local text = prefix ~= "" and (prefix .. ":" .. title.text) or title.text
return generate_shortcut(title, "", text, "", demo)
end
-- Takes `list`, an array of title objects, and returns a shortcut box.
function export.format_shortcuts(list, temp, nocat, demo)
local div = html_create("div")
:addClass("noprint")
:addClass("plainlinks")
:addClass("shortcut-box")
:wikitext(("%s[[Wiktionary:Shortcut|%shortcut%s]]:"):format(
temp and "Temporary " or "",
temp and "s" or "S",
list[2] and "s" or ""
))
local attn
for _, shortcut in ipairs(list) do
div:tag("br")
local shortcut, iattn = handle_shortcut(shortcut, demo)
div:node(shortcut)
attn = attn or iattn
end
local categories
if not nocat then
categories = {}
if attn then
insert(categories, "Shortcut boxes needing attention")
end
-- Don't categorise documentation subpages as having shortcuts.
if not documentation then
insert(categories, "Wiktionary pages with shortcuts")
end
categories = format_categories(categories, nil, "-", nil, true)
end
return tostring(div) .. (categories or "") .. require("Module:TemplateStyles")("Module:shortcut box/styles.css")
end
function export.shortcut_t(frame)
local boolean = {type = "boolean"}
local params = {
[1] = {required = true, type = "title", list = true},
["demo"] = {type = "boolean", demo = true},
["nocat"] = boolean,
["temp"] = boolean,
}
local args = process_params(frame:getParent().args, params)
return export.format_shortcuts(args[1], args.temp, args.nocat, args.demo)
end
return export
bha5ffsbfpwk2jn1n6aa5ideks7vrwz
36190
36189
2024-09-15T12:03:23Z
Theknightwho
1347
Bugfix.
36190
Scribunto
text/plain
local require_when_needed = require("Module:require when needed")
local encode_uri = mw.uri.encode
local format_categories = require_when_needed("Module:utilities", "format_categories")
local full_url = mw.uri.fullUrl
local get_template_invocation_name = require_when_needed("Module:template parser", "getTemplateInvocationName")
local html_create = mw.html.create
local insert = table.insert
local process_params = require_when_needed("Module:parameters", "process")
local tostring = tostring
local current_title = mw.title.getCurrentTitle()
-- Generate the correct target for incoming redirects to the location of the shortcut box.
local namespace, target, documentation = current_title.namespace, current_title.prefixedText
-- If in the template or module namespace, make `target` point to the template/module, not any documentation subpage.
if namespace == 10 or namespace == 828 then
target, documentation = target:gsub("(.[\128-\191]*)/documentation$", "%1")
documentation = documentation == 1
else
-- Otherwise, point to the current section, or the page if at the top.
local current_section = require("Module:pages").get_current_section()
if current_section ~= 0 then -- Section 0 is everything before the first heading.
local i = 0
for heading in require("Module:template parser").findHeadings(current_title:getContent()) do
i = i + 1
if i == current_section then
-- Generate the fragment.
target = target .. "#" .. require("Module:string utilities").decode_entities(mw.uri.anchorEncode(heading))
:gsub("_", " ")
break
end
end
end
end
local namespace_abbreviations = {
[4] = "WT",
[14] = "CAT",
[100] = "AP",
[110] = "WS",
[118] = "RC",
[828] = "MOD",
}
local export = {}
local function generate_shortcut(title, br_open, display, br_close, demo)
local redlink = not title:getContent()
local query = {}
if redlink then
query.action = "edit"
query.redlink = "1"
if not demo then
query.preloadtext = "#REDIRECT [[" .. target .. "]]"
end
else
query.redirect = "no"
end
local tag = html_create("code")
:wikitext(br_open .. "[" .. tostring(full_url(title.fullText, query)) .. " ")
if redlink then
display = html_create("span")
:addClass("redlink")
:wikitext(display)
end
tag = tag:node(display)
:wikitext("]".. br_close)
if demo then
return tag
end
local redirect = title.redirectTarget
-- Check the target is correct.
if redirect and redirect.fullText == target then
return tag
end
-- If not, flag for attention.
tag:addClass("attentionseeking")
return tag, true
end
local function handle_shortcut(title, demo)
local namespace = title.namespace
if namespace == 10 then
-- The "Template:" prefix will still be needed in rare situations, so abbreviate it to "T:".
return generate_shortcut(title, "{{", get_template_invocation_name(title):gsub("^Template:", "T:"), "}}", demo)
end
local prefix = namespace_abbreviations[namespace] or title.nsText
local text = prefix ~= "" and (prefix .. ":" .. title.text) or title.text
return generate_shortcut(title, "", text, "", demo)
end
-- Takes `list`, an array of title objects, and returns a shortcut box.
function export.format_shortcuts(list, temp, nocat, demo)
local div = html_create("div")
:addClass("noprint")
:addClass("plainlinks")
:addClass("shortcut-box")
:wikitext(("%s[[Wiktionary:Shortcut|%shortcut%s]]:"):format(
temp and "Temporary " or "",
temp and "s" or "S",
list[2] and "s" or ""
))
local attn
for _, shortcut in ipairs(list) do
div:tag("br")
local shortcut, iattn = handle_shortcut(shortcut, demo)
div:node(shortcut)
attn = attn or iattn
end
local categories
if not nocat then
categories = {}
if attn then
insert(categories, "Shortcut boxes needing attention")
end
-- Don't categorise documentation subpages as having shortcuts.
if not documentation then
insert(categories, "Wiktionary pages with shortcuts")
end
categories = format_categories(categories, nil, "-", nil, true)
end
return tostring(div) .. (categories or "") .. require("Module:TemplateStyles")("Module:shortcut box/styles.css")
end
function export.shortcut_t(frame)
local boolean = {type = "boolean"}
local params = {
[1] = {required = true, type = "title", list = true},
["demo"] = {type = "boolean", demo = true},
["nocat"] = boolean,
["temp"] = boolean,
}
local args = process_params(frame:getParent().args, params)
return export.format_shortcuts(args[1], args.temp, args.nocat, args.demo)
end
return export
8m5pwahrezcsikwhboogwbke5pvod0v
36191
36190
2024-09-15T12:53:31Z
Theknightwho
1347
Use title object's fullUrl method.
36191
Scribunto
text/plain
local require_when_needed = require("Module:require when needed")
local encode_uri = mw.uri.encode
local format_categories = require_when_needed("Module:utilities", "format_categories")
local get_template_invocation_name = require_when_needed("Module:template parser", "getTemplateInvocationName")
local html_create = mw.html.create
local insert = table.insert
local process_params = require_when_needed("Module:parameters", "process")
local tostring = tostring
local current_title = mw.title.getCurrentTitle()
-- Generate the correct target for incoming redirects to the location of the shortcut box.
local namespace, target, documentation = current_title.namespace, current_title.prefixedText
-- If in the template or module namespace, make `target` point to the template/module, not any documentation subpage.
if namespace == 10 or namespace == 828 then
target, documentation = target:gsub("(.[\128-\191]*)/documentation$", "%1")
documentation = documentation == 1
else
-- Otherwise, point to the current section, or the page if at the top.
local current_section = require("Module:pages").get_current_section()
if current_section ~= 0 then -- Section 0 is everything before the first heading.
local i = 0
for heading in require("Module:template parser").findHeadings(current_title:getContent()) do
i = i + 1
if i == current_section then
-- Generate the fragment.
target = target .. "#" .. require("Module:string utilities").decode_entities(mw.uri.anchorEncode(heading))
:gsub("_", " ")
break
end
end
end
end
local namespace_abbreviations = {
[4] = "WT",
[14] = "CAT",
[100] = "AP",
[110] = "WS",
[118] = "RC",
[828] = "MOD",
}
local export = {}
local function generate_shortcut(title, br_open, display, br_close, demo)
local redlink = not title:getContent()
local query = {}
if redlink then
query.action = "edit"
query.redlink = "1"
if not demo then
query.preloadtext = "#REDIRECT [[" .. target .. "]]"
end
else
query.redirect = "no"
end
local tag = html_create("code")
:wikitext(br_open .. "[" .. tostring(title:fullUrl(query)) .. " ")
if redlink then
display = html_create("span")
:addClass("redlink")
:wikitext(display)
end
tag = tag:node(display)
:wikitext("]".. br_close)
if demo then
return tag
end
local redirect = title.redirectTarget
-- Check the target is correct.
if redirect and redirect.fullText == target then
return tag
end
-- If not, flag for attention.
tag:addClass("attentionseeking")
return tag, true
end
local function handle_shortcut(title, demo)
local namespace = title.namespace
if namespace == 10 then
-- The "Template:" prefix will still be needed in rare situations, so abbreviate it to "T:".
return generate_shortcut(title, "{{", get_template_invocation_name(title):gsub("^Template:", "T:"), "}}", demo)
end
local prefix = namespace_abbreviations[namespace] or title.nsText
local text = prefix ~= "" and (prefix .. ":" .. title.text) or title.text
return generate_shortcut(title, "", text, "", demo)
end
-- Takes `list`, an array of title objects, and returns a shortcut box.
function export.format_shortcuts(list, temp, nocat, demo)
local div = html_create("div")
:addClass("noprint")
:addClass("plainlinks")
:addClass("shortcut-box")
:wikitext(("%s[[Wiktionary:Shortcut|%shortcut%s]]:"):format(
temp and "Temporary " or "",
temp and "s" or "S",
list[2] and "s" or ""
))
local attn
for _, shortcut in ipairs(list) do
div:tag("br")
local shortcut, iattn = handle_shortcut(shortcut, demo)
div:node(shortcut)
attn = attn or iattn
end
local categories
if not nocat then
categories = {}
if attn then
insert(categories, "Shortcut boxes needing attention")
end
-- Don't categorise documentation subpages as having shortcuts.
if not documentation then
insert(categories, "Wiktionary pages with shortcuts")
end
categories = format_categories(categories, nil, "-", nil, true)
end
return tostring(div) .. (categories or "") .. require("Module:TemplateStyles")("Module:shortcut box/styles.css")
end
function export.shortcut_t(frame)
local boolean = {type = "boolean"}
local params = {
[1] = {required = true, type = "title", list = true},
["demo"] = {type = "boolean", demo = true},
["nocat"] = boolean,
["temp"] = boolean,
}
local args = process_params(frame:getParent().args, params)
return export.format_shortcuts(args[1], args.temp, args.nocat, args.demo)
end
return export
9skh7yn1ue40nedbfc27j7qzohsl666
36192
36191
2024-09-15T12:54:14Z
Theknightwho
1347
Remove unused variable.
36192
Scribunto
text/plain
local require_when_needed = require("Module:require when needed")
local format_categories = require_when_needed("Module:utilities", "format_categories")
local get_template_invocation_name = require_when_needed("Module:template parser", "getTemplateInvocationName")
local html_create = mw.html.create
local insert = table.insert
local process_params = require_when_needed("Module:parameters", "process")
local tostring = tostring
local current_title = mw.title.getCurrentTitle()
-- Generate the correct target for incoming redirects to the location of the shortcut box.
local namespace, target, documentation = current_title.namespace, current_title.prefixedText
-- If in the template or module namespace, make `target` point to the template/module, not any documentation subpage.
if namespace == 10 or namespace == 828 then
target, documentation = target:gsub("(.[\128-\191]*)/documentation$", "%1")
documentation = documentation == 1
else
-- Otherwise, point to the current section, or the page if at the top.
local current_section = require("Module:pages").get_current_section()
if current_section ~= 0 then -- Section 0 is everything before the first heading.
local i = 0
for heading in require("Module:template parser").findHeadings(current_title:getContent()) do
i = i + 1
if i == current_section then
-- Generate the fragment.
target = target .. "#" .. require("Module:string utilities").decode_entities(mw.uri.anchorEncode(heading))
:gsub("_", " ")
break
end
end
end
end
local namespace_abbreviations = {
[4] = "WT",
[14] = "CAT",
[100] = "AP",
[110] = "WS",
[118] = "RC",
[828] = "MOD",
}
local export = {}
local function generate_shortcut(title, br_open, display, br_close, demo)
local redlink = not title:getContent()
local query = {}
if redlink then
query.action = "edit"
query.redlink = "1"
if not demo then
query.preloadtext = "#REDIRECT [[" .. target .. "]]"
end
else
query.redirect = "no"
end
local tag = html_create("code")
:wikitext(br_open .. "[" .. tostring(title:fullUrl(query)) .. " ")
if redlink then
display = html_create("span")
:addClass("redlink")
:wikitext(display)
end
tag = tag:node(display)
:wikitext("]".. br_close)
if demo then
return tag
end
local redirect = title.redirectTarget
-- Check the target is correct.
if redirect and redirect.fullText == target then
return tag
end
-- If not, flag for attention.
tag:addClass("attentionseeking")
return tag, true
end
local function handle_shortcut(title, demo)
local namespace = title.namespace
if namespace == 10 then
-- The "Template:" prefix will still be needed in rare situations, so abbreviate it to "T:".
return generate_shortcut(title, "{{", get_template_invocation_name(title):gsub("^Template:", "T:"), "}}", demo)
end
local prefix = namespace_abbreviations[namespace] or title.nsText
local text = prefix ~= "" and (prefix .. ":" .. title.text) or title.text
return generate_shortcut(title, "", text, "", demo)
end
-- Takes `list`, an array of title objects, and returns a shortcut box.
function export.format_shortcuts(list, temp, nocat, demo)
local div = html_create("div")
:addClass("noprint")
:addClass("plainlinks")
:addClass("shortcut-box")
:wikitext(("%s[[Wiktionary:Shortcut|%shortcut%s]]:"):format(
temp and "Temporary " or "",
temp and "s" or "S",
list[2] and "s" or ""
))
local attn
for _, shortcut in ipairs(list) do
div:tag("br")
local shortcut, iattn = handle_shortcut(shortcut, demo)
div:node(shortcut)
attn = attn or iattn
end
local categories
if not nocat then
categories = {}
if attn then
insert(categories, "Shortcut boxes needing attention")
end
-- Don't categorise documentation subpages as having shortcuts.
if not documentation then
insert(categories, "Wiktionary pages with shortcuts")
end
categories = format_categories(categories, nil, "-", nil, true)
end
return tostring(div) .. (categories or "") .. require("Module:TemplateStyles")("Module:shortcut box/styles.css")
end
function export.shortcut_t(frame)
local boolean = {type = "boolean"}
local params = {
[1] = {required = true, type = "title", list = true},
["demo"] = {type = "boolean", demo = true},
["nocat"] = boolean,
["temp"] = boolean,
}
local args = process_params(frame:getParent().args, params)
return export.format_shortcuts(args[1], args.temp, args.nocat, args.demo)
end
return export
e3y117eki0ntyf4u4rg2kcyehhjbqyx
36193
36192
2024-09-15T13:07:04Z
Theknightwho
1347
36193
Scribunto
text/plain
local require_when_needed = require("Module:require when needed")
local format_categories = require_when_needed("Module:utilities", "format_categories")
local get_template_invocation_name = require_when_needed("Module:template parser", "getTemplateInvocationName")
local html_create = mw.html.create
local insert = table.insert
local process_params = require_when_needed("Module:parameters", "process")
local tostring = tostring
local current_title = mw.title.getCurrentTitle()
-- Generate the correct target for incoming redirects to the location of the shortcut box.
local namespace, target, documentation = current_title.namespace, current_title.prefixedText
-- If in the template or module namespace, make `target` point to the template/module, not any documentation subpage.
if namespace == 10 or namespace == 828 then
target, documentation = target:gsub("(.[\128-\191]*)/documentation$", "%1")
documentation = documentation == 1
else
-- Otherwise, point to the current section, or the page if at the top.
local current_section = require("Module:pages").get_current_section()
if current_section ~= 0 then -- Section 0 is everything before the first heading.
local i = 0
for heading in require("Module:template parser").findHeadings(current_title:getContent()) do
i = i + 1
if i == current_section then
-- Generate the fragment.
target = target .. "#" .. require("Module:string utilities").decode_entities(mw.uri.anchorEncode(heading))
:gsub("_", " ")
break
end
end
end
end
local namespace_abbreviations = {
[4] = "WT",
[14] = "CAT",
[100] = "AP",
[110] = "WS",
[118] = "RC",
[828] = "MOD",
}
local export = {}
local function generate_shortcut(title, br_open, display, br_close, demo)
local redlink = not title:getContent()
local query = {}
if redlink then
query.action = "edit"
query.redlink = true
if not demo then
query.preloadtext = "#REDIRECT [[" .. target .. "]]"
end
else
query.redirect = "no"
end
local tag = html_create("code")
:wikitext(br_open .. "[" .. tostring(title:fullUrl(query)) .. " ")
if redlink then
display = html_create("span")
:addClass("redlink")
:wikitext(display)
end
tag = tag:node(display)
:wikitext("]".. br_close)
if demo then
return tag
end
local redirect = title.redirectTarget
-- Check the target is correct.
if redirect and redirect.fullText == target then
return tag
end
-- If not, flag for attention.
tag:addClass("attentionseeking")
return tag, true
end
local function handle_shortcut(title, demo)
local namespace = title.namespace
if namespace == 10 then
-- The "Template:" prefix will still be needed in rare situations, so abbreviate it to "T:".
return generate_shortcut(title, "{{", get_template_invocation_name(title):gsub("^Template:", "T:"), "}}", demo)
end
local prefix = namespace_abbreviations[namespace] or title.nsText
local text = prefix ~= "" and (prefix .. ":" .. title.text) or title.text
return generate_shortcut(title, "", text, "", demo)
end
-- Takes `list`, an array of title objects, and returns a shortcut box.
function export.format_shortcuts(list, temp, nocat, demo)
local div = html_create("div")
:addClass("noprint")
:addClass("plainlinks")
:addClass("shortcut-box")
:wikitext(("%s[[Wiktionary:Shortcut|%shortcut%s]]:"):format(
temp and "Temporary " or "",
temp and "s" or "S",
list[2] and "s" or ""
))
local attn
for _, shortcut in ipairs(list) do
div:tag("br")
local shortcut, iattn = handle_shortcut(shortcut, demo)
div:node(shortcut)
attn = attn or iattn
end
local categories
if not nocat then
categories = {}
if attn then
insert(categories, "Shortcut boxes needing attention")
end
-- Don't categorise documentation subpages as having shortcuts.
if not documentation then
insert(categories, "Wiktionary pages with shortcuts")
end
categories = format_categories(categories, nil, "-", nil, true)
end
return tostring(div) .. (categories or "") .. require("Module:TemplateStyles")("Module:shortcut box/styles.css")
end
function export.shortcut_t(frame)
local boolean = {type = "boolean"}
local params = {
[1] = {required = true, type = "title", list = true},
["demo"] = {type = "boolean", demo = true},
["nocat"] = boolean,
["temp"] = boolean,
}
local args = process_params(frame:getParent().args, params)
return export.format_shortcuts(args[1], args.temp, args.nocat, args.demo)
end
return export
cf40mu2tdavpcabkf25kxlkpc04qcy0
36194
36193
2024-09-16T04:31:48Z
Theknightwho
1347
templatestyles no longer needed.
36194
Scribunto
text/plain
local require_when_needed = require("Module:require when needed")
local format_categories = require_when_needed("Module:utilities", "format_categories")
local get_template_invocation_name = require_when_needed("Module:template parser", "getTemplateInvocationName")
local html_create = mw.html.create
local insert = table.insert
local process_params = require_when_needed("Module:parameters", "process")
local tostring = tostring
local current_title = mw.title.getCurrentTitle()
-- Generate the correct target for incoming redirects to the location of the shortcut box.
local namespace, target, documentation = current_title.namespace, current_title.prefixedText
-- If in the template or module namespace, make `target` point to the template/module, not any documentation subpage.
if namespace == 10 or namespace == 828 then
target, documentation = target:gsub("(.[\128-\191]*)/documentation$", "%1")
documentation = documentation == 1
else
-- Otherwise, point to the current section, or the page if at the top.
local current_section = require("Module:pages").get_current_section()
if current_section ~= 0 then -- Section 0 is everything before the first heading.
local i = 0
for heading in require("Module:template parser").findHeadings(current_title:getContent()) do
i = i + 1
if i == current_section then
-- Generate the fragment.
target = target .. "#" .. require("Module:string utilities").decode_entities(mw.uri.anchorEncode(heading))
:gsub("_", " ")
break
end
end
end
end
local namespace_abbreviations = {
[4] = "WT",
[14] = "CAT",
[100] = "AP",
[110] = "WS",
[118] = "RC",
[828] = "MOD",
}
local export = {}
local function generate_shortcut(title, br_open, display, br_close, demo)
local redlink = not title:getContent()
local query = {}
if redlink then
query.action = "edit"
query.redlink = true
if not demo then
query.preloadtext = "#REDIRECT [[" .. target .. "]]"
end
else
query.redirect = "no"
end
local tag = html_create("code")
:wikitext(br_open .. "[" .. tostring(title:fullUrl(query)) .. " ")
if redlink then
display = html_create("span")
:addClass("redlink")
:wikitext(display)
end
tag = tag:node(display)
:wikitext("]".. br_close)
if demo then
return tag
end
local redirect = title.redirectTarget
-- Check the target is correct.
if redirect and redirect.fullText == target then
return tag
end
-- If not, flag for attention.
tag:addClass("attentionseeking")
return tag, true
end
local function handle_shortcut(title, demo)
local namespace = title.namespace
if namespace == 10 then
-- The "Template:" prefix will still be needed in rare situations, so abbreviate it to "T:".
return generate_shortcut(title, "{{", get_template_invocation_name(title):gsub("^Template:", "T:"), "}}", demo)
end
local prefix = namespace_abbreviations[namespace] or title.nsText
local text = prefix ~= "" and (prefix .. ":" .. title.text) or title.text
return generate_shortcut(title, "", text, "", demo)
end
-- Takes `list`, an array of title objects, and returns a shortcut box.
function export.format_shortcuts(list, temp, nocat, demo)
local div = html_create("div")
:addClass("noprint")
:addClass("plainlinks")
:addClass("shortcut-box")
:wikitext(("%s[[Wiktionary:Shortcut|%shortcut%s]]:"):format(
temp and "Temporary " or "",
temp and "s" or "S",
list[2] and "s" or ""
))
local attn
for _, shortcut in ipairs(list) do
div:tag("br")
local shortcut, iattn = handle_shortcut(shortcut, demo)
div:node(shortcut)
attn = attn or iattn
end
local categories
if not nocat then
categories = {}
if attn then
insert(categories, "Shortcut boxes needing attention")
end
-- Don't categorise documentation subpages as having shortcuts.
if not documentation then
insert(categories, "Wiktionary pages with shortcuts")
end
categories = format_categories(categories, nil, "-", nil, true)
end
return tostring(div) .. (categories or "")
end
function export.shortcut_t(frame)
local boolean = {type = "boolean"}
local params = {
[1] = {required = true, type = "title", list = true},
["demo"] = {type = "boolean", demo = true},
["nocat"] = boolean,
["temp"] = boolean,
}
local args = process_params(frame:getParent().args, params)
return export.format_shortcuts(args[1], args.temp, args.nocat, args.demo)
end
return export
c5omq5qdpzezhb19p3ahib7slktuw0y
36195
36194
2024-10-04T02:34:04Z
Theknightwho
1347
find_headings iterator now returns a heading object, so that info can be calculated as needed instead of for every node. Also validate headings, so that headings which fail on expansion don't mess up fragments.
36195
Scribunto
text/plain
local require_when_needed = require("Module:require when needed")
local format_categories = require_when_needed("Module:utilities", "format_categories")
local get_template_invocation_name = require_when_needed("Module:template parser", "getTemplateInvocationName")
local html_create = mw.html.create
local insert = table.insert
local process_params = require_when_needed("Module:parameters", "process")
local tostring = tostring
local current_title = mw.title.getCurrentTitle()
-- Generate the correct target for incoming redirects to the location of the shortcut box.
local namespace, target, documentation = current_title.namespace, current_title.prefixedText
-- If in the template or module namespace, make `target` point to the template/module, not any documentation subpage.
if namespace == 10 or namespace == 828 then
target, documentation = target:gsub("(.[\128-\191]*)/documentation$", "%1")
documentation = documentation == 1
else
-- Otherwise, point to the current section, or the page if at the top.
local current_section = require("Module:pages").get_current_section()
if current_section ~= 0 then -- Section 0 is everything before the first heading.
local headings, i = {}, 0
for heading in require("Module:template parser").find_headings(current_title:getContent()) do
i = i + 1
headings[i] = heading
if heading.section == current_section then
-- Once the current section has been found, validate headings in reverse order until a valid one is found.
local anchor
repeat
anchor = headings[i]:get_anchor()
i = i - 1
until anchor ~= nil or i == 0
-- Generate the fragment.
target = target .. (anchor == nil and "" or "#" .. anchor:gsub("_", " "))
break
end
end
end
end
local namespace_abbreviations = {
[4] = "WT",
[14] = "CAT",
[100] = "AP",
[110] = "WS",
[118] = "RC",
[828] = "MOD",
}
local export = {}
local function generate_shortcut(title, br_open, display, br_close, demo)
local redlink = not title:getContent()
local query = {}
if redlink then
query.action = "edit"
query.redlink = true
if not demo then
query.preloadtext = "#REDIRECT [[" .. target .. "]]"
end
else
query.redirect = "no"
end
local tag = html_create("code")
:wikitext(br_open .. "[" .. tostring(title:fullUrl(query)) .. " ")
if redlink then
display = html_create("span")
:addClass("redlink")
:wikitext(display)
end
tag = tag:node(display)
:wikitext("]".. br_close)
if demo then
return tag
end
local redirect = title.redirectTarget
-- Check the target is correct.
if redirect and redirect.fullText == target then
return tag
end
-- If not, flag for attention.
tag:addClass("attentionseeking")
return tag, true
end
local function handle_shortcut(title, demo)
local namespace = title.namespace
if namespace == 10 then
-- The "Template:" prefix will still be needed in rare situations, so abbreviate it to "T:".
return generate_shortcut(title, "{{", get_template_invocation_name(title):gsub("^Template:", "T:"), "}}", demo)
end
local prefix = namespace_abbreviations[namespace] or title.nsText
local text = prefix ~= "" and (prefix .. ":" .. title.text) or title.text
return generate_shortcut(title, "", text, "", demo)
end
-- Takes `list`, an array of title objects, and returns a shortcut box.
function export.format_shortcuts(list, temp, nocat, demo)
local div = html_create("div")
:addClass("noprint")
:addClass("plainlinks")
:addClass("shortcut-box")
:wikitext(("%s[[Wiktionary:Shortcut|%shortcut%s]]:"):format(
temp and "Temporary " or "",
temp and "s" or "S",
list[2] and "s" or ""
))
local attn
for _, shortcut in ipairs(list) do
div:tag("br")
local shortcut, iattn = handle_shortcut(shortcut, demo)
div:node(shortcut)
attn = attn or iattn
end
local categories
if not nocat then
categories = {}
if attn then
insert(categories, "Shortcut boxes needing attention")
end
-- Don't categorise documentation subpages as having shortcuts.
if not documentation then
insert(categories, "Wiktionary pages with shortcuts")
end
categories = format_categories(categories, nil, "-", nil, true)
end
return tostring(div) .. (categories or "")
end
function export.shortcut_t(frame)
local boolean = {type = "boolean"}
local params = {
[1] = {required = true, type = "title", list = true},
["demo"] = {type = "boolean", demo = true},
["nocat"] = boolean,
["temp"] = boolean,
}
local args = process_params(frame:getParent().args, params)
return export.format_shortcuts(args[1], args.temp, args.nocat, args.demo)
end
return export
bjzf2xi9o0ftrnotrb1p1j01d2ddjp8
36196
36195
2024-12-18T16:11:34Z
Theknightwho
1347
Load external functions on demand.
36196
Scribunto
text/plain
local export = {}
local pages_module = "Module:pages"
local parameters_module = "Module:parameters"
local template_parser_module = "Module:template parser"
local utilities_module = "Module:utilities"
local html_create = mw.html.create
local insert = table.insert
local tostring = tostring
--[==[
Loaders for functions in other modules, which overwrite themselves with the target function when called. This ensures modules are only loaded when needed, retains the speed/convenience of locally-declared pre-loaded functions, and has no overhead after the first call, since the target functions are called directly in any subsequent calls.]==]
local function format_categories(...)
format_categories = require(utilities_module).format_categories
return format_categories(...)
end
local function get_namespace_shortcut(...)
get_namespace_shortcut = require(pages_module).get_namespace_shortcut
return get_namespace_shortcut(...)
end
local function get_template_invocation_name(...)
get_template_invocation_name = require(template_parser_module).getTemplateInvocationName
return get_template_invocation_name(...)
end
local function process_params(...)
process_params = require(parameters_module).process
return process_params(...)
end
--[==[
Loaders for objects, which load data (or some other object) into some variable, which can then be accessed as "foo or get_foo()", where the function get_foo sets the object to "foo" and then returns it. This ensures they are only loaded when needed, and avoids the need to check for the existence of the object each time, since once "foo" has been set, "get_foo" will not be called again.]==]
local is_documentation
local function get_is_documentation(current_title)
is_documentation, get_is_documentation = require(pages_module).is_documentation(current_title or mw.title.getCurrentTitle()), nil
return is_documentation
end
local target
local function get_target()
get_target = nil
local current_title = mw.title.getCurrentTitle()
target = current_title.prefixedText
-- If it's a documentation page, make the target point to the main page.
if is_documentation == nil and get_is_documentation(current_title) or is_documentation then
target = target:sub(1, -15)
return target
end
-- Otherwise, if it's a template or module, point to the page.
local namespace = current_title.namespace
if namespace == 10 or (namespace == 828 and current_title.contentModel == "Scribunto") then
return target
end
-- Otherwise, point to the current section, or the page if at the top.
local current_section = require(pages_module).get_current_section()
if current_section == 0 then -- Section 0 is everything before the first heading.
return target
end
local headings, i = {}, 0
for heading in require(template_parser_module).find_headings(current_title.content) do
i = i + 1
headings[i] = heading
-- Once the current section has been found, validate headings in reverse order until a valid one is found.
if heading.section == current_section then
break
end
end
while i ~= 0 do
local anchor = headings[i]:get_anchor()
if anchor ~= nil then
-- Generate the fragment.
target = target .. "#" .. anchor:gsub("_", " ")
return target
end
i = i - 1
end
return target
end
local function handle_shortcut(title, demo)
local namespace = title.namespace
local text = namespace == 0 and title.text or
namespace == 10 and get_template_invocation_name(title, "shortcut") or
get_namespace_shortcut(title) .. ":" .. title.text
local redlink, query = not title.content
if redlink then
query = {
action = "edit",
redlink = true,
preloadtext = not demo and "#REDIRECT [[" .. (target or get_target()) .. "]]" or nil
}
else
query = {
redirect = "no",
}
end
local tag = html_create("code"):wikitext((namespace == 10 and "{{[" or "[") .. tostring(title:fullUrl(query)) .. " ")
if redlink then
text = html_create("span")
:addClass("redlink")
:wikitext(text)
end
tag = tag:node(text):wikitext(namespace == 10 and "]}}" or "]")
if demo then
return tag
end
-- Check the target is correct.
local redirect = title.redirectTarget
if redirect and redirect.fullText == (target or get_target()) then
return tag
end
-- If not, flag for attention.
tag:addClass("attentionseeking")
return tag, true
end
-- Takes `list`, an array of title objects, and returns a shortcut box.
function export.format_shortcuts(list, temp, nocat, demo)
local div = html_create("div")
:addClass("noprint")
:addClass("plainlinks")
:addClass("shortcut-box")
:wikitext(("%s[[Wiktionary:Shortcut|%shortcut%s]]:"):format(
temp and "Temporary " or "",
temp and "s" or "S",
list[2] and "s" or ""
))
local attn
for _, shortcut in ipairs(list) do
div:tag("br")
local shortcut, iattn = handle_shortcut(shortcut, demo)
div:node(shortcut)
attn = attn or iattn
end
local categories
if not nocat then
categories = {}
if attn then
insert(categories, "Shortcut boxes needing attention")
end
-- Don't categorise documentation subpages as having shortcuts.
if not (is_documentation == nil and get_is_documentation() or is_documentation) then
insert(categories, "Wiktionary pages with shortcuts")
end
categories = format_categories(categories, nil, "-", nil, true)
end
return tostring(div) .. (categories or "")
end
function export.shortcut_t(frame)
local boolean = {type = "boolean"}
local params = {
[1] = {required = true, type = "title", list = true},
["demo"] = {type = "boolean", demo = true},
["nocat"] = boolean,
["temp"] = boolean,
}
local args = process_params(frame:getParent().args, params)
return export.format_shortcuts(args[1], args.temp, args.nocat, args.demo)
end
return export
fjp8uxnsskn49h5v8axhcyfow5fgojd
36197
36196
2024-12-18T22:11:04Z
Theknightwho
1347
Split [[Category:Shortcut boxes needing attention]] into [[Shortcut boxes with redlinks]] and [[Shortcut boxes linking to non-shortcuts or shortcuts to other pages]], and track uses of the nocat parameter.
36197
Scribunto
text/plain
local export = {}
local debug_track_module = "Module:debug/track"
local pages_module = "Module:pages"
local parameters_module = "Module:parameters"
local template_parser_module = "Module:template parser"
local utilities_module = "Module:utilities"
local html_create = mw.html.create
local insert = table.insert
local ipairs = ipairs
local require = require
local tostring = tostring
--[==[
Loaders for functions in other modules, which overwrite themselves with the target function when called. This ensures modules are only loaded when needed, retains the speed/convenience of locally-declared pre-loaded functions, and has no overhead after the first call, since the target functions are called directly in any subsequent calls.]==]
local function format_categories(...)
format_categories = require(utilities_module).format_categories
return format_categories(...)
end
local function get_namespace_shortcut(...)
get_namespace_shortcut = require(pages_module).get_namespace_shortcut
return get_namespace_shortcut(...)
end
local function get_template_invocation_name(...)
get_template_invocation_name = require(template_parser_module).getTemplateInvocationName
return get_template_invocation_name(...)
end
local function process_params(...)
process_params = require(parameters_module).process
return process_params(...)
end
local function track(...)
track = require(debug_track_module)
return track(...)
end
--[==[
Loaders for objects, which load data (or some other object) into some variable, which can then be accessed as "foo or get_foo()", where the function get_foo sets the object to "foo" and then returns it. This ensures they are only loaded when needed, and avoids the need to check for the existence of the object each time, since once "foo" has been set, "get_foo" will not be called again.]==]
local is_documentation
local function get_is_documentation(current_title)
is_documentation, get_is_documentation = require(pages_module).is_documentation(current_title or mw.title.getCurrentTitle()), nil
return is_documentation
end
local target
local function get_target()
get_target = nil
local current_title = mw.title.getCurrentTitle()
-- If it's a documentation page, make the target point to the main page.
if is_documentation == nil and get_is_documentation(current_title) or is_documentation then
target = (current_title.rootPageTitle or current_title).fullText -- Fallback is a failsafe, but shouldn't be needed.
return target
end
local namespace = current_title.namespace
-- Unless the page is a template or module, point to the current section with a fragment. Otherwise, just point to the current page.
if not (namespace == 10 or (namespace == 828 and current_title.contentModel == "Scribunto")) then
local current_section = require(pages_module).get_current_section()
if current_section ~= 0 then -- Section 0 is everything before the first heading (i.e. the top of the page).
local headings, i = {}, 0
for heading in require(template_parser_module).find_headings(current_title.content) do
i = i + 1
headings[i] = heading
if heading.section == current_section then
break
end
end
-- Once the current section has been found, validate headings in reverse order until a valid one is found.
while i ~= 0 do
local anchor = headings[i]:get_anchor()
if anchor ~= nil then
-- Add the fragment.
current_title.fragment = anchor:gsub("_", " ")
break
end
i = i - 1
end
end
end
target = current_title.fullText
return target
end
local function handle_shortcut(title, demo)
local namespace = title.namespace
local text = namespace == 0 and title.text or
namespace == 10 and get_template_invocation_name(title, "shortcut") or
get_namespace_shortcut(title) .. ":" .. title.text
local redlink, query = not title.content
if redlink then
query = {
action = "edit",
redlink = true,
preloadtext = not demo and "#REDIRECT [[" .. (target or get_target()) .. "]]" or nil
}
else
query = {
redirect = "no",
}
end
local tag = html_create("code"):wikitext((namespace == 10 and "{{[" or "[") .. tostring(title:fullUrl(query)) .. " ")
if redlink then
text = html_create("span")
:addClass("redlink")
:wikitext(text)
end
tag = tag:node(text):wikitext(namespace == 10 and "]}}" or "]")
if demo then
return tag
elseif redlink then
tag:addClass("attentionseeking")
return tag, "redlink"
end
-- Check the target is correct.
local redirect = title.redirectTarget
if redirect and redirect.fullText == (target or get_target()) then
return tag
end
-- If not, flag for attention.
tag:addClass("attentionseeking")
return tag, "not shortcut"
end
-- Takes `list`, an array of title objects, and returns a shortcut box.
function export.format_shortcuts(list, temp, nocat, demo)
if nocat then
track("shortcut box/nocat")
end
local div = html_create("div")
:addClass("noprint")
:addClass("plainlinks")
:addClass("shortcut-box")
:wikitext(("%s[[Wiktionary:Shortcut|%shortcut%s]]:"):format(
temp and "Temporary " or "",
temp and "s" or "S",
list[2] and "s" or ""
))
local redlink, not_shortcut
for _, shortcut in ipairs(list) do
div:tag("br")
local shortcut, cat = handle_shortcut(shortcut, demo)
div:node(shortcut)
if cat == "redlink" then
redlink = true
elseif cat == "not shortcut" then
not_shortcut = true
end
end
if nocat then
return tostring(div)
end
local categories = {}
if not (is_documentation == nil and get_is_documentation() or is_documentation) then
insert(categories, "Wiktionary pages with shortcuts")
end
if redlink then
insert(categories, "Shortcut boxes with redlinks")
end
if not_shortcut then
insert(categories, "Shortcut boxes linking to non-shortcuts or shortcuts to other pages")
end
return tostring(div) .. format_categories(categories, nil, "-", nil, true)
end
function export.shortcut_t(frame)
local boolean = {type = "boolean"}
local params = {
[1] = {required = true, type = "title", list = true},
["demo"] = {type = "boolean", demo = true},
["nocat"] = boolean, -- To be removed: no use-case.
["temp"] = boolean,
}
local args = process_params(frame:getParent().args, params)
return export.format_shortcuts(args[1], args.temp, args.nocat, args.demo)
end
return export
og0ohiqi5fmsbp8sloycnsgeplrlocd
36198
36197
2024-12-18T22:28:15Z
Theknightwho
1347
Don't categorise pages which uses hidden categories.
36198
Scribunto
text/plain
local export = {}
local debug_track_module = "Module:debug/track"
local maintenance_category_module = "Module:maintenance category"
local pages_module = "Module:pages"
local parameters_module = "Module:parameters"
local template_parser_module = "Module:template parser"
local utilities_module = "Module:utilities"
local html_create = mw.html.create
local insert = table.insert
local ipairs = ipairs
local require = require
local tostring = tostring
--[==[
Loaders for functions in other modules, which overwrite themselves with the target function when called. This ensures modules are only loaded when needed, retains the speed/convenience of locally-declared pre-loaded functions, and has no overhead after the first call, since the target functions are called directly in any subsequent calls.]==]
local function format_categories(...)
format_categories = require(utilities_module).format_categories
return format_categories(...)
end
local function get_namespace_shortcut(...)
get_namespace_shortcut = require(pages_module).get_namespace_shortcut
return get_namespace_shortcut(...)
end
local function get_template_invocation_name(...)
get_template_invocation_name = require(template_parser_module).getTemplateInvocationName
return get_template_invocation_name(...)
end
local function process_params(...)
process_params = require(parameters_module).process
return process_params(...)
end
local function track(...)
track = require(debug_track_module)
return track(...)
end
local function uses_hidden_category(...)
uses_hidden_category = require(maintenance_category_module).uses_hidden_category
return uses_hidden_category(...)
end
--[==[
Loaders for objects, which load data (or some other object) into some variable, which can then be accessed as "foo or get_foo()", where the function get_foo sets the object to "foo" and then returns it. This ensures they are only loaded when needed, and avoids the need to check for the existence of the object each time, since once "foo" has been set, "get_foo" will not be called again.]==]
local current_title
local function get_current_title()
current_title, get_current_title = mw.title.getCurrentTitle(), nil
return current_title
end
local is_documentation
local function get_is_documentation()
is_documentation, get_is_documentation = require(pages_module).is_documentation(current_title or get_current_title()), nil
return is_documentation
end
local target
local function get_target()
get_target = nil
-- If it's a documentation page, make the target point to the main page.
if is_documentation == nil and get_is_documentation() or is_documentation then
target = ((current_title or get_current_title()).rootPageTitle or current_title).fullText -- Fallback is a failsafe, but shouldn't be needed.
return target
end
local namespace = (current_title or get_current_title()).namespace
-- Unless the page is a template or module, point to the current section with a fragment. Otherwise, just point to the current page.
if not (namespace == 10 or (namespace == 828 and current_title.contentModel == "Scribunto")) then
local current_section = require(pages_module).get_current_section()
if current_section ~= 0 then -- Section 0 is everything before the first heading (i.e. the top of the page).
local headings, i = {}, 0
for heading in require(template_parser_module).find_headings(current_title.content) do
i = i + 1
headings[i] = heading
if heading.section == current_section then
break
end
end
-- Once the current section has been found, validate headings in reverse order until a valid one is found.
while i ~= 0 do
local anchor = headings[i]:get_anchor()
if anchor ~= nil then
-- Add the fragment.
current_title.fragment = anchor:gsub("_", " ")
break
end
i = i - 1
end
end
end
target = current_title.fullText
return target
end
local function handle_shortcut(title, demo)
local namespace = title.namespace
local text = namespace == 0 and title.text or
namespace == 10 and get_template_invocation_name(title, "shortcut") or
get_namespace_shortcut(title) .. ":" .. title.text
local redlink, query = not title.content
if redlink then
query = {
action = "edit",
redlink = true,
preloadtext = not demo and "#REDIRECT [[" .. (target or get_target()) .. "]]" or nil
}
else
query = {
redirect = "no",
}
end
local tag = html_create("code"):wikitext((namespace == 10 and "{{[" or "[") .. tostring(title:fullUrl(query)) .. " ")
if redlink then
text = html_create("span")
:addClass("redlink")
:wikitext(text)
end
tag = tag:node(text):wikitext(namespace == 10 and "]}}" or "]")
if demo then
return tag
elseif redlink then
tag:addClass("attentionseeking")
return tag, "redlink"
end
-- Check the target is correct.
local redirect = title.redirectTarget
if redirect and redirect.fullText == (target or get_target()) then
return tag
end
-- If not, flag for attention.
tag:addClass("attentionseeking")
return tag, "not shortcut"
end
-- Takes `list`, an array of title objects, and returns a shortcut box.
function export.format_shortcuts(list, temp, nocat, demo)
if nocat then
track("shortcut box/nocat")
end
local div = html_create("div")
:addClass("noprint")
:addClass("plainlinks")
:addClass("shortcut-box")
:wikitext(("%s[[Wiktionary:Shortcut|%shortcut%s]]:"):format(
temp and "Temporary " or "",
temp and "s" or "S",
list[2] and "s" or ""
))
local redlink, not_shortcut
for _, shortcut in ipairs(list) do
div:tag("br")
local shortcut, cat = handle_shortcut(shortcut, demo)
div:node(shortcut)
if cat == "redlink" then
redlink = true
elseif cat == "not shortcut" then
not_shortcut = true
end
end
if nocat or uses_hidden_category(current_title or get_current_title()) then
return tostring(div)
end
local categories = {}
-- Don't categorize documentation pages as being pages with shortcuts.
if not (is_documentation == nil and get_is_documentation() or is_documentation) then
insert(categories, "Wiktionary pages with shortcuts")
end
if redlink then
insert(categories, "Shortcut boxes with redlinks")
end
if not_shortcut then
insert(categories, "Shortcut boxes linking to non-shortcuts or shortcuts to other pages")
end
return tostring(div) .. format_categories(categories, nil, "-", nil, true)
end
function export.shortcut_t(frame)
local boolean = {type = "boolean"}
local params = {
[1] = {required = true, type = "title", list = true},
["demo"] = {type = "boolean", demo = true},
["nocat"] = boolean, -- To be removed: no use-case.
["temp"] = boolean,
}
local args = process_params(frame:getParent().args, params)
return export.format_shortcuts(args[1], args.temp, args.nocat, args.demo)
end
return export
93qn4ybvhhi6cffs8avj6dlohqxv7hh
36199
36198
2025-05-26T14:24:38Z
Theknightwho
1347
36199
Scribunto
text/plain
local export = {}
local debug_track_module = "Module:debug/track"
local maintenance_category_module = "Module:maintenance category"
local pages_module = "Module:pages"
local parameters_module = "Module:parameters"
local template_parser_module = "Module:template parser"
local utilities_module = "Module:utilities"
local html_create = mw.html.create
local insert = table.insert
local ipairs = ipairs
local require = require
local tostring = tostring
--[==[
Loaders for functions in other modules, which overwrite themselves with the target function when called. This ensures modules are only loaded when needed, retains the speed/convenience of locally-declared pre-loaded functions, and has no overhead after the first call, since the target functions are called directly in any subsequent calls.]==]
local function format_categories(...)
format_categories = require(utilities_module).format_categories
return format_categories(...)
end
local function get_namespace_shortcut(...)
get_namespace_shortcut = require(pages_module).get_namespace_shortcut
return get_namespace_shortcut(...)
end
local function get_template_invocation_name(...)
get_template_invocation_name = require(template_parser_module).getTemplateInvocationName
return get_template_invocation_name(...)
end
local function process_params(...)
process_params = require(parameters_module).process
return process_params(...)
end
local function track(...)
track = require(debug_track_module)
return track(...)
end
local function uses_hidden_category(...)
uses_hidden_category = require(maintenance_category_module).uses_hidden_category
return uses_hidden_category(...)
end
--[==[
Loaders for objects, which load data (or some other object) into some variable, which can then be accessed as "foo or get_foo()", where the function get_foo sets the object to "foo" and then returns it. This ensures they are only loaded when needed, and avoids the need to check for the existence of the object each time, since once "foo" has been set, "get_foo" will not be called again.]==]
local current_title
local function get_current_title()
current_title, get_current_title = mw.title.getCurrentTitle(), nil
return current_title
end
local is_documentation
local function get_is_documentation()
is_documentation, get_is_documentation = require(pages_module).is_documentation(current_title or get_current_title()), nil
return is_documentation
end
local target
local function get_target()
get_target = nil
-- If it's a documentation page, make the target point to the root page.
if is_documentation == nil and get_is_documentation() or is_documentation then
target = ((current_title or get_current_title()).rootPageTitle or current_title).fullText -- Fallback is a failsafe, but shouldn't be needed.
return target
end
local namespace = (current_title or get_current_title()).namespace
-- Unless the page is a template or module, point to the current section with a fragment. Otherwise, just point to the current page.
if not (namespace == 10 or (namespace == 828 and current_title.contentModel == "Scribunto")) then
local current_section = require(pages_module).get_current_section()
if current_section ~= 0 then -- Section 0 is everything before the first heading (i.e. the top of the page).
local headings, i = {}, 0
for heading in require(template_parser_module).find_headings(current_title.content) do
i = i + 1
headings[i] = heading
if heading.section == current_section then
break
end
end
-- Once the current section has been found, validate headings in reverse order until a valid one is found.
while i ~= 0 do
local anchor = headings[i]:get_anchor()
if anchor ~= nil then
-- Add the fragment.
current_title.fragment = anchor:gsub("_", " ")
break
end
i = i - 1
end
end
end
target = current_title.fullText
return target
end
local function handle_shortcut(title, demo)
local namespace = title.namespace
local text = namespace == 0 and title.text or
namespace == 10 and get_template_invocation_name(title, "shortcut") or
get_namespace_shortcut(title) .. ":" .. title.text
local redlink, query = not title.content
if redlink then
query = {
action = "edit",
redlink = true,
preloadtext = not demo and "#REDIRECT [[" .. (target or get_target()) .. "]]" or nil
}
else
query = {
redirect = "no",
}
end
local tag = html_create("code"):wikitext((namespace == 10 and "{{[" or "[") .. tostring(title:fullUrl(query)) .. " ")
if redlink then
text = html_create("span")
:addClass("redlink")
:wikitext(text)
end
tag = tag:node(text):wikitext(namespace == 10 and "]}}" or "]")
if demo then
return tag
elseif redlink then
tag:addClass("attentionseeking")
return tag, "redlink"
end
-- Check the target is correct.
local redirect = title.redirectTarget
if redirect and redirect.fullText == (target or get_target()) then
return tag
end
-- If not, flag for attention.
tag:addClass("attentionseeking")
return tag, "not shortcut"
end
-- Takes `list`, an array of title objects, and returns a shortcut box.
function export.format_shortcuts(list, temp, nocat, demo)
if nocat then
track("shortcut box/nocat")
end
local div = html_create("div")
:addClass("noprint")
:addClass("plainlinks")
:addClass("shortcut-box")
:wikitext(("%s[[Wiktionary:Shortcut|%shortcut%s]]:"):format(
temp and "Temporary " or "",
temp and "s" or "S",
list[2] and "s" or ""
))
local redlink, not_shortcut
for _, shortcut in ipairs(list) do
div:tag("br")
local shortcut, cat = handle_shortcut(shortcut, demo)
div:node(shortcut)
if cat == "redlink" then
redlink = true
elseif cat == "not shortcut" then
not_shortcut = true
end
end
if nocat or uses_hidden_category(current_title or get_current_title()) then
return tostring(div)
end
local categories = {}
-- Don't categorize documentation pages as being pages with shortcuts.
if not (is_documentation == nil and get_is_documentation() or is_documentation) then
insert(categories, "Wiktionary pages with shortcuts")
end
if redlink then
insert(categories, "Shortcut boxes with redlinks")
end
if not_shortcut then
insert(categories, "Shortcut boxes linking to non-shortcuts or shortcuts to other pages")
end
return tostring(div) .. format_categories(categories, nil, "-", nil, true)
end
function export.shortcut_t(frame)
local boolean = {type = "boolean"}
local params = {
[1] = {required = true, type = "title", list = true},
["demo"] = {type = "boolean", demo = true},
["nocat"] = boolean, -- To be removed: no use-case.
["temp"] = boolean,
}
local args = process_params(frame:getParent().args, params)
return export.format_shortcuts(args[1], args.temp, args.nocat, args.demo)
end
return export
f74hg0dzr1y9ufg9x40ezpv9t8cb1rt
36200
36199
2025-05-26T15:44:18Z
Theknightwho
1347
36200
Scribunto
text/plain
local export = {}
local debug_track_module = "Module:debug/track"
local maintenance_category_module = "Module:maintenance category"
local pages_module = "Module:pages"
local parameters_module = "Module:parameters"
local template_parser_module = "Module:template parser"
local utilities_module = "Module:utilities"
local html_create = mw.html.create
local insert = table.insert
local ipairs = ipairs
local require = require
local tostring = tostring
--[==[
Loaders for functions in other modules, which overwrite themselves with the target function when called. This ensures modules are only loaded when needed, retains the speed/convenience of locally-declared pre-loaded functions, and has no overhead after the first call, since the target functions are called directly in any subsequent calls.]==]
local function format_categories(...)
format_categories = require(utilities_module).format_categories
return format_categories(...)
end
local function get_namespace_shortcut(...)
get_namespace_shortcut = require(pages_module).get_namespace_shortcut
return get_namespace_shortcut(...)
end
local function get_template_invocation_name(...)
get_template_invocation_name = require(template_parser_module).getTemplateInvocationName
return get_template_invocation_name(...)
end
local function process_params(...)
process_params = require(parameters_module).process
return process_params(...)
end
local function track(...)
track = require(debug_track_module)
return track(...)
end
local function uses_hidden_category(...)
uses_hidden_category = require(maintenance_category_module).uses_hidden_category
return uses_hidden_category(...)
end
--[==[
Loaders for objects, which load data (or some other object) into some variable, which can then be accessed as "foo or get_foo()", where the function get_foo sets the object to "foo" and then returns it. This ensures they are only loaded when needed, and avoids the need to check for the existence of the object each time, since once "foo" has been set, "get_foo" will not be called again.]==]
local current_title
local function get_current_title()
current_title, get_current_title = mw.title.getCurrentTitle(), nil
return current_title
end
local is_documentation
local function get_is_documentation()
is_documentation, get_is_documentation = require(pages_module).is_documentation(current_title or get_current_title()), nil
return is_documentation
end
local target
local function get_target()
get_target = nil
-- If it's a documentation page, make the target point to the base page.
if is_documentation == nil and get_is_documentation() or is_documentation then
target = ((current_title or get_current_title()).basePageTitle or current_title).fullText -- Fallback is a failsafe, but shouldn't be needed.
return target
end
local namespace = (current_title or get_current_title()).namespace
-- Unless the page is a template or module, point to the current section with a fragment. Otherwise, just point to the current page.
if not (namespace == 10 or (namespace == 828 and current_title.contentModel == "Scribunto")) then
local current_section = require(pages_module).get_current_section()
if current_section ~= 0 then -- Section 0 is everything before the first heading (i.e. the top of the page).
local headings, i = {}, 0
for heading in require(template_parser_module).find_headings(current_title.content) do
i = i + 1
headings[i] = heading
if heading.section == current_section then
break
end
end
-- Once the current section has been found, validate headings in reverse order until a valid one is found.
while i ~= 0 do
local anchor = headings[i]:get_anchor()
if anchor ~= nil then
-- Add the fragment.
current_title.fragment = anchor:gsub("_", " ")
break
end
i = i - 1
end
end
end
target = current_title.fullText
return target
end
local function handle_shortcut(title, demo)
local namespace = title.namespace
local text = namespace == 0 and title.text or
namespace == 10 and get_template_invocation_name(title, "shortcut") or
get_namespace_shortcut(title) .. ":" .. title.text
local redlink, query = not title.content
if redlink then
query = {
action = "edit",
redlink = true,
preloadtext = not demo and "#REDIRECT [[" .. (target or get_target()) .. "]]" or nil
}
else
query = {
redirect = "no",
}
end
local tag = html_create("code"):wikitext((namespace == 10 and "{{[" or "[") .. tostring(title:fullUrl(query)) .. " ")
if redlink then
text = html_create("span")
:addClass("redlink")
:wikitext(text)
end
tag = tag:node(text):wikitext(namespace == 10 and "]}}" or "]")
if demo then
return tag
elseif redlink then
tag:addClass("attentionseeking")
return tag, "redlink"
end
-- Check the target is correct.
local redirect = title.redirectTarget
if redirect and redirect.fullText == (target or get_target()) then
return tag
end
-- If not, flag for attention.
tag:addClass("attentionseeking")
return tag, "not shortcut"
end
-- Takes `list`, an array of title objects, and returns a shortcut box.
function export.format_shortcuts(list, temp, nocat, demo)
if nocat then
track("shortcut box/nocat")
end
local div = html_create("div")
:addClass("noprint")
:addClass("plainlinks")
:addClass("shortcut-box")
:wikitext(("%s[[Wiktionary:Shortcut|%shortcut%s]]:"):format(
temp and "Temporary " or "",
temp and "s" or "S",
list[2] and "s" or ""
))
local redlink, not_shortcut
for _, shortcut in ipairs(list) do
div:tag("br")
local shortcut, cat = handle_shortcut(shortcut, demo)
div:node(shortcut)
if cat == "redlink" then
redlink = true
elseif cat == "not shortcut" then
not_shortcut = true
end
end
if nocat or uses_hidden_category(current_title or get_current_title()) then
return tostring(div)
end
local categories = {}
-- Don't categorize documentation pages as being pages with shortcuts.
if not (is_documentation == nil and get_is_documentation() or is_documentation) then
insert(categories, "Wiktionary pages with shortcuts")
end
if redlink then
insert(categories, "Shortcut boxes with redlinks")
end
if not_shortcut then
insert(categories, "Shortcut boxes linking to non-shortcuts or shortcuts to other pages")
end
return tostring(div) .. format_categories(categories, nil, "-", nil, true)
end
function export.shortcut_t(frame)
local boolean = {type = "boolean"}
local params = {
[1] = {required = true, type = "title", list = true},
["demo"] = {type = "boolean", demo = true},
["nocat"] = boolean, -- To be removed: no use-case.
["temp"] = boolean,
}
local args = process_params(frame:getParent().args, params)
return export.format_shortcuts(args[1], args.temp, args.nocat, args.demo)
end
return export
bpvdmkfg6vu7wvap6hz4odmle0iwgaw
36201
36200
2025-06-17T23:07:25Z
Benwing2
1346
default to Template namespace and allow comma-separated shortcuts
36201
Scribunto
text/plain
local export = {}
local debug_track_module = "Module:debug/track"
local maintenance_category_module = "Module:maintenance category"
local pages_module = "Module:pages"
local parameters_module = "Module:parameters"
local template_parser_module = "Module:template parser"
local utilities_module = "Module:utilities"
local html_create = mw.html.create
local insert = table.insert
local ipairs = ipairs
local require = require
local tostring = tostring
--[==[
Loaders for functions in other modules, which overwrite themselves with the target function when called. This ensures modules are only loaded when needed, retains the speed/convenience of locally-declared pre-loaded functions, and has no overhead after the first call, since the target functions are called directly in any subsequent calls.]==]
local function format_categories(...)
format_categories = require(utilities_module).format_categories
return format_categories(...)
end
local function get_namespace_shortcut(...)
get_namespace_shortcut = require(pages_module).get_namespace_shortcut
return get_namespace_shortcut(...)
end
local function get_template_invocation_name(...)
get_template_invocation_name = require(template_parser_module).getTemplateInvocationName
return get_template_invocation_name(...)
end
local function process_params(...)
process_params = require(parameters_module).process
return process_params(...)
end
local function track(...)
track = require(debug_track_module)
return track(...)
end
local function uses_hidden_category(...)
uses_hidden_category = require(maintenance_category_module).uses_hidden_category
return uses_hidden_category(...)
end
--[==[
Loaders for objects, which load data (or some other object) into some variable, which can then be accessed as "foo or get_foo()", where the function get_foo sets the object to "foo" and then returns it. This ensures they are only loaded when needed, and avoids the need to check for the existence of the object each time, since once "foo" has been set, "get_foo" will not be called again.]==]
local current_title
local function get_current_title()
current_title, get_current_title = mw.title.getCurrentTitle(), nil
return current_title
end
local is_documentation
local function get_is_documentation()
is_documentation, get_is_documentation = require(pages_module).is_documentation(current_title or get_current_title()), nil
return is_documentation
end
local target
local function get_target()
get_target = nil
-- If it's a documentation page, make the target point to the base page.
if is_documentation == nil and get_is_documentation() or is_documentation then
target = ((current_title or get_current_title()).basePageTitle or current_title).fullText -- Fallback is a failsafe, but shouldn't be needed.
return target
end
local namespace = (current_title or get_current_title()).namespace
-- Unless the page is a template or module, point to the current section with a fragment. Otherwise, just point to the current page.
if not (namespace == 10 or (namespace == 828 and current_title.contentModel == "Scribunto")) then
local current_section = require(pages_module).get_current_section()
if current_section ~= 0 then -- Section 0 is everything before the first heading (i.e. the top of the page).
local headings, i = {}, 0
for heading in require(template_parser_module).find_headings(current_title.content) do
i = i + 1
headings[i] = heading
if heading.section == current_section then
break
end
end
-- Once the current section has been found, validate headings in reverse order until a valid one is found.
while i ~= 0 do
local anchor = headings[i]:get_anchor()
if anchor ~= nil then
-- Add the fragment.
current_title.fragment = anchor:gsub("_", " ")
break
end
i = i - 1
end
end
end
target = current_title.fullText
return target
end
local function handle_shortcut(title, demo)
local namespace = title.namespace
local text = namespace == 0 and title.text or
namespace == 10 and get_template_invocation_name(title, "shortcut") or
get_namespace_shortcut(title) .. ":" .. title.text
local redlink, query = not title.content
if redlink then
query = {
action = "edit",
redlink = true,
preloadtext = not demo and "#REDIRECT [[" .. (target or get_target()) .. "]]" or nil
}
else
query = {
redirect = "no",
}
end
local tag = html_create("code"):wikitext((namespace == 10 and "{{[" or "[") .. tostring(title:fullUrl(query)) .. " ")
if redlink then
text = html_create("span")
:addClass("redlink")
:wikitext(text)
end
tag = tag:node(text):wikitext(namespace == 10 and "]}}" or "]")
if demo then
return tag
elseif redlink then
tag:addClass("attentionseeking")
return tag, "redlink"
end
-- Check the target is correct.
local redirect = title.redirectTarget
if redirect and redirect.fullText == (target or get_target()) then
return tag
end
-- If not, flag for attention.
tag:addClass("attentionseeking")
return tag, "not shortcut"
end
-- Takes `list`, an array of title objects, and returns a shortcut box.
function export.format_shortcuts(list, temp, nocat, demo)
if nocat then
track("shortcut box/nocat")
end
local div = html_create("div")
:addClass("noprint")
:addClass("plainlinks")
:addClass("shortcut-box")
:wikitext(("%s[[Wiktionary:Shortcut|%shortcut%s]]:"):format(
temp and "Temporary " or "",
temp and "s" or "S",
list[2] and "s" or ""
))
local redlink, not_shortcut
for _, shortcut in ipairs(list) do
div:tag("br")
local shortcut, cat = handle_shortcut(shortcut, demo)
div:node(shortcut)
if cat == "redlink" then
redlink = true
elseif cat == "not shortcut" then
not_shortcut = true
end
end
if nocat or uses_hidden_category(current_title or get_current_title()) then
return tostring(div)
end
local categories = {}
-- Don't categorize documentation pages as being pages with shortcuts.
if not (is_documentation == nil and get_is_documentation() or is_documentation) then
insert(categories, "Wiktionary pages with shortcuts")
end
if redlink then
insert(categories, "Shortcut boxes with redlinks")
end
if not_shortcut then
insert(categories, "Shortcut boxes linking to non-shortcuts or shortcuts to other pages")
end
return tostring(div) .. format_categories(categories, nil, "-", nil, true)
end
function export.shortcut_t(frame)
local boolean = {type = "boolean"}
local params = {
-- Namespace 10 is Template.
[1] = {required = true, type = "title", namespace = 10,
list = true, sublist = "comma without whitespace", flatten = true},
["demo"] = {type = "boolean", demo = true},
["nocat"] = boolean, -- To be removed: no use-case.
["temp"] = boolean,
}
local args = process_params(frame:getParent().args, params)
return export.format_shortcuts(args[1], args.temp, args.nocat, args.demo)
end
return export
1uqyzbk9bvybtow1qhfbdq8barmw98t
36202
36201
2025-08-11T14:56:19Z
J3133
1340
36202
Scribunto
text/plain
local export = {}
local debug_track_module = "Module:debug/track"
local maintenance_category_module = "Module:maintenance category"
local pages_module = "Module:pages"
local parameters_module = "Module:parameters"
local template_parser_module = "Module:template parser"
local utilities_module = "Module:utilities"
local html_create = mw.html.create
local insert = table.insert
local ipairs = ipairs
local require = require
local tostring = tostring
--[==[
Loaders for functions in other modules, which overwrite themselves with the target function when called. This ensures modules are only loaded when needed, retains the speed/convenience of locally-declared pre-loaded functions, and has no overhead after the first call, since the target functions are called directly in any subsequent calls.]==]
local function format_categories(...)
format_categories = require(utilities_module).format_categories
return format_categories(...)
end
local function get_namespace_shortcut(...)
get_namespace_shortcut = require(pages_module).get_namespace_shortcut
return get_namespace_shortcut(...)
end
local function get_template_invocation_name(...)
get_template_invocation_name = require(template_parser_module).getTemplateInvocationName
return get_template_invocation_name(...)
end
local function process_params(...)
process_params = require(parameters_module).process
return process_params(...)
end
local function track(...)
track = require(debug_track_module)
return track(...)
end
local function uses_hidden_category(...)
uses_hidden_category = require(maintenance_category_module).uses_hidden_category
return uses_hidden_category(...)
end
--[==[
Loaders for objects, which load data (or some other object) into some variable, which can then be accessed as "foo or get_foo()", where the function get_foo sets the object to "foo" and then returns it. This ensures they are only loaded when needed, and avoids the need to check for the existence of the object each time, since once "foo" has been set, "get_foo" will not be called again.]==]
local current_title
local function get_current_title()
current_title, get_current_title = mw.title.getCurrentTitle(), nil
return current_title
end
local is_documentation
local function get_is_documentation()
is_documentation, get_is_documentation = require(pages_module).is_documentation(current_title or get_current_title()), nil
return is_documentation
end
local target
local function get_target()
get_target = nil
-- If it's a documentation page, make the target point to the base page.
if is_documentation == nil and get_is_documentation() or is_documentation then
target = ((current_title or get_current_title()).basePageTitle or current_title).fullText -- Fallback is a failsafe, but shouldn't be needed.
return target
end
local namespace = (current_title or get_current_title()).namespace
-- Unless the page is a template or module, point to the current section with a fragment. Otherwise, just point to the current page.
if not (namespace == 10 or (namespace == 828 and current_title.contentModel == "Scribunto")) then
local current_section = require(pages_module).get_current_section()
if current_section ~= 0 then -- Section 0 is everything before the first heading (i.e. the top of the page).
local headings, i = {}, 0
for heading in require(template_parser_module).find_headings(current_title.content) do
i = i + 1
headings[i] = heading
if heading.section == current_section then
break
end
end
-- Once the current section has been found, validate headings in reverse order until a valid one is found.
while i ~= 0 do
local anchor = headings[i]:get_anchor()
if anchor ~= nil then
-- Add the fragment.
current_title.fragment = anchor:gsub("_", " ")
break
end
i = i - 1
end
end
end
target = current_title.fullText
return target
end
local function handle_shortcut(title, demo)
local namespace = title.namespace
local text = namespace == 0 and title.text or
namespace == 10 and get_template_invocation_name(title, "shortcut") or
get_namespace_shortcut(title) .. ":" .. title.text
local redlink, query = not title.content
if redlink then
query = {
action = "edit",
redlink = true,
preloadtext = not demo and "#REDIRECT [[" .. (target or get_target()) .. "]]" or nil
}
else
query = {
redirect = "no",
}
end
local tag = html_create("code"):wikitext((namespace == 10 and "{{[" or "[") .. tostring(title:fullUrl(query)) .. " ")
if redlink then
text = html_create("span")
:addClass("redlink")
:wikitext(text)
end
tag = tag:node(text):wikitext(namespace == 10 and "]}}" or "]")
if demo then
return tag
elseif redlink then
tag:addClass("attentionseeking")
return tag, "redlink"
end
-- Check the target is correct.
local redirect = title.redirectTarget
if redirect and redirect.fullText == (target or get_target()) then
return tag
end
-- If not, flag for attention.
tag:addClass("attentionseeking")
return tag, "not shortcut"
end
-- Takes `list`, an array of title objects, and returns a shortcut box.
function export.format_shortcuts(list, alt_list, temp, nocat, demo)
if nocat then
track("shortcut box/nocat")
end
local alt_names = {}
local shortcuts = {}
for i, name in ipairs(list) do
if alt_list[i] then
table.insert(alt_names, name)
else
table.insert(shortcuts, name)
end
end
local div = html_create("div")
:addClass("noprint")
:addClass("plainlinks")
:addClass("shortcut-box")
local redlink, not_shortcut
function add(list)
for _, shortcut in ipairs(list) do
div:tag("br")
local shortcut, cat = handle_shortcut(shortcut, demo)
div:node(shortcut)
if cat == "redlink" then
redlink = true
elseif cat == "not shortcut" then
not_shortcut = true
end
end
end
if #alt_names > 0 then
div:wikitext(("%s%slternative name%s:"):format(
temp and "Temporary " or "",
temp and "a" or "A",
#alt_names > 1 and "s" or ""
))
add(alt_names)
if #shortcuts > 0 then
div:tag("br")
end
end
if #shortcuts > 0 then
div:tag("span"):wikitext(("%s[[Wiktionary:Shortcuts|%shortcut%s]]:"):format(
temp and "Temporary " or "",
temp and "s" or "S",
#shortcuts > 1 and "s" or ""
))
add(shortcuts)
end
if nocat or uses_hidden_category(current_title or get_current_title()) then
return tostring(div)
end
local categories = {}
-- Don't categorize documentation pages as being pages with shortcuts.
if not (is_documentation == nil and get_is_documentation() or is_documentation) then
insert(categories, "Wiktionary pages with shortcuts")
end
if redlink then
insert(categories, "Shortcut boxes with redlinks")
end
if not_shortcut then
insert(categories, "Shortcut boxes linking to non-shortcuts or shortcuts to other pages")
end
return tostring(div) .. format_categories(categories, nil, "-", nil, true)
end
function export.shortcut_t(frame)
local boolean = {type = "boolean"}
local params = {
-- Namespace 10 is Template.
[1] = {required = true, type = "title", namespace = 10,
list = true, sublist = "comma without whitespace", flatten = true},
["alt1"] = boolean,
["alt2"] = boolean,
["alt3"] = boolean,
["demo"] = {type = "boolean", demo = true},
["nocat"] = boolean, -- To be removed: no use-case.
["temp"] = boolean,
}
local args = process_params(frame:getParent().args, params)
return export.format_shortcuts(args[1], {args.alt1, args.alt2, args.alt3}, args.temp, args.nocat, args.demo)
end
return export
t2ss3d67yig3e752aoy4f5hjg8sygq3
36203
36202
2025-08-11T15:03:13Z
J3133
1340
36203
Scribunto
text/plain
local export = {}
local debug_track_module = "Module:debug/track"
local maintenance_category_module = "Module:maintenance category"
local pages_module = "Module:pages"
local parameters_module = "Module:parameters"
local template_parser_module = "Module:template parser"
local utilities_module = "Module:utilities"
local html_create = mw.html.create
local insert = table.insert
local ipairs = ipairs
local require = require
local tostring = tostring
--[==[
Loaders for functions in other modules, which overwrite themselves with the target function when called. This ensures modules are only loaded when needed, retains the speed/convenience of locally-declared pre-loaded functions, and has no overhead after the first call, since the target functions are called directly in any subsequent calls.]==]
local function format_categories(...)
format_categories = require(utilities_module).format_categories
return format_categories(...)
end
local function get_namespace_shortcut(...)
get_namespace_shortcut = require(pages_module).get_namespace_shortcut
return get_namespace_shortcut(...)
end
local function get_template_invocation_name(...)
get_template_invocation_name = require(template_parser_module).getTemplateInvocationName
return get_template_invocation_name(...)
end
local function process_params(...)
process_params = require(parameters_module).process
return process_params(...)
end
local function track(...)
track = require(debug_track_module)
return track(...)
end
local function uses_hidden_category(...)
uses_hidden_category = require(maintenance_category_module).uses_hidden_category
return uses_hidden_category(...)
end
--[==[
Loaders for objects, which load data (or some other object) into some variable, which can then be accessed as "foo or get_foo()", where the function get_foo sets the object to "foo" and then returns it. This ensures they are only loaded when needed, and avoids the need to check for the existence of the object each time, since once "foo" has been set, "get_foo" will not be called again.]==]
local current_title
local function get_current_title()
current_title, get_current_title = mw.title.getCurrentTitle(), nil
return current_title
end
local is_documentation
local function get_is_documentation()
is_documentation, get_is_documentation = require(pages_module).is_documentation(current_title or get_current_title()), nil
return is_documentation
end
local target
local function get_target()
get_target = nil
-- If it's a documentation page, make the target point to the base page.
if is_documentation == nil and get_is_documentation() or is_documentation then
target = ((current_title or get_current_title()).basePageTitle or current_title).fullText -- Fallback is a failsafe, but shouldn't be needed.
return target
end
local namespace = (current_title or get_current_title()).namespace
-- Unless the page is a template or module, point to the current section with a fragment. Otherwise, just point to the current page.
if not (namespace == 10 or (namespace == 828 and current_title.contentModel == "Scribunto")) then
local current_section = require(pages_module).get_current_section()
if current_section ~= 0 then -- Section 0 is everything before the first heading (i.e. the top of the page).
local headings, i = {}, 0
for heading in require(template_parser_module).find_headings(current_title.content) do
i = i + 1
headings[i] = heading
if heading.section == current_section then
break
end
end
-- Once the current section has been found, validate headings in reverse order until a valid one is found.
while i ~= 0 do
local anchor = headings[i]:get_anchor()
if anchor ~= nil then
-- Add the fragment.
current_title.fragment = anchor:gsub("_", " ")
break
end
i = i - 1
end
end
end
target = current_title.fullText
return target
end
local function handle_shortcut(title, demo)
local namespace = title.namespace
local text = namespace == 0 and title.text or
namespace == 10 and get_template_invocation_name(title, "shortcut") or
get_namespace_shortcut(title) .. ":" .. title.text
local redlink, query = not title.content
if redlink then
query = {
action = "edit",
redlink = true,
preloadtext = not demo and "#REDIRECT [[" .. (target or get_target()) .. "]]" or nil
}
else
query = {
redirect = "no",
}
end
local tag = html_create("code"):wikitext((namespace == 10 and "{{[" or "[") .. tostring(title:fullUrl(query)) .. " ")
if redlink then
text = html_create("span")
:addClass("redlink")
:wikitext(text)
end
tag = tag:node(text):wikitext(namespace == 10 and "]}}" or "]")
if demo then
return tag
elseif redlink then
tag:addClass("attentionseeking")
return tag, "redlink"
end
-- Check the target is correct.
local redirect = title.redirectTarget
if redirect and redirect.fullText == (target or get_target()) then
return tag
end
-- If not, flag for attention.
tag:addClass("attentionseeking")
return tag, "not shortcut"
end
-- Takes `list`, an array of title objects, and returns a shortcut box.
function export.format_shortcuts(list, alt_list, temp, nocat, demo)
if nocat then
track("shortcut box/nocat")
end
local div = html_create("div")
:addClass("noprint")
:addClass("plainlinks")
:addClass("shortcut-box")
local redlink, not_shortcut
function add(list)
for _, shortcut in ipairs(list) do
div:tag("br")
local shortcut, cat = handle_shortcut(shortcut, demo)
div:node(shortcut)
if cat == "redlink" then
redlink = true
elseif cat == "not shortcut" then
not_shortcut = true
end
end
end
if #alt_list > 0 then
div:wikitext(("%s%slternative name%s:"):format(
temp and "Temporary " or "",
temp and "a" or "A",
#alt_list > 1 and "s" or ""
))
add(alt_list)
if #list > 0 then
div:tag("br")
end
end
if #list > 0 then
div:tag("span"):wikitext(("%s[[Wiktionary:Shortcuts|%shortcut%s]]:"):format(
temp and "Temporary " or "",
temp and "s" or "S",
list[2] and "s" or ""
))
add(list)
end
if nocat or uses_hidden_category(current_title or get_current_title()) then
return tostring(div)
end
local categories = {}
-- Don't categorize documentation pages as being pages with shortcuts.
if not (is_documentation == nil and get_is_documentation() or is_documentation) then
insert(categories, "Wiktionary pages with shortcuts")
end
if redlink then
insert(categories, "Shortcut boxes with redlinks")
end
if not_shortcut then
insert(categories, "Shortcut boxes linking to non-shortcuts or shortcuts to other pages")
end
return tostring(div) .. format_categories(categories, nil, "-", nil, true)
end
function export.shortcut_t(frame)
local boolean = {type = "boolean"}
local params = {
-- Namespace 10 is Template.
[1] = {required = true, type = "title", namespace = 10,
list = true, sublist = "comma without whitespace", flatten = true},
["alt"] = {type = "title", namespace = 10,
list = true, sublist = "comma without whitespace", flatten = true},
["alt1"] = {type = "title", namespace = 10},
["alt2"] = {type = "title", namespace = 10},
["alt3"] = {type = "title", namespace = 10},
["demo"] = {type = "boolean", demo = true},
["nocat"] = boolean, -- To be removed: no use-case.
["temp"] = boolean,
}
local args = process_params(frame:getParent().args, params)
return export.format_shortcuts(args[1], {args.alt, args.alt1, args.alt2, args.alt3}, args.temp, args.nocat, args.demo)
end
return export
5cfwpb2w0sfryu7bjbz06e5xsjroxt3
36204
36203
2025-08-11T15:03:56Z
J3133
1340
36204
Scribunto
text/plain
local export = {}
local debug_track_module = "Module:debug/track"
local maintenance_category_module = "Module:maintenance category"
local pages_module = "Module:pages"
local parameters_module = "Module:parameters"
local template_parser_module = "Module:template parser"
local utilities_module = "Module:utilities"
local html_create = mw.html.create
local insert = table.insert
local ipairs = ipairs
local require = require
local tostring = tostring
--[==[
Loaders for functions in other modules, which overwrite themselves with the target function when called. This ensures modules are only loaded when needed, retains the speed/convenience of locally-declared pre-loaded functions, and has no overhead after the first call, since the target functions are called directly in any subsequent calls.]==]
local function format_categories(...)
format_categories = require(utilities_module).format_categories
return format_categories(...)
end
local function get_namespace_shortcut(...)
get_namespace_shortcut = require(pages_module).get_namespace_shortcut
return get_namespace_shortcut(...)
end
local function get_template_invocation_name(...)
get_template_invocation_name = require(template_parser_module).getTemplateInvocationName
return get_template_invocation_name(...)
end
local function process_params(...)
process_params = require(parameters_module).process
return process_params(...)
end
local function track(...)
track = require(debug_track_module)
return track(...)
end
local function uses_hidden_category(...)
uses_hidden_category = require(maintenance_category_module).uses_hidden_category
return uses_hidden_category(...)
end
--[==[
Loaders for objects, which load data (or some other object) into some variable, which can then be accessed as "foo or get_foo()", where the function get_foo sets the object to "foo" and then returns it. This ensures they are only loaded when needed, and avoids the need to check for the existence of the object each time, since once "foo" has been set, "get_foo" will not be called again.]==]
local current_title
local function get_current_title()
current_title, get_current_title = mw.title.getCurrentTitle(), nil
return current_title
end
local is_documentation
local function get_is_documentation()
is_documentation, get_is_documentation = require(pages_module).is_documentation(current_title or get_current_title()), nil
return is_documentation
end
local target
local function get_target()
get_target = nil
-- If it's a documentation page, make the target point to the base page.
if is_documentation == nil and get_is_documentation() or is_documentation then
target = ((current_title or get_current_title()).basePageTitle or current_title).fullText -- Fallback is a failsafe, but shouldn't be needed.
return target
end
local namespace = (current_title or get_current_title()).namespace
-- Unless the page is a template or module, point to the current section with a fragment. Otherwise, just point to the current page.
if not (namespace == 10 or (namespace == 828 and current_title.contentModel == "Scribunto")) then
local current_section = require(pages_module).get_current_section()
if current_section ~= 0 then -- Section 0 is everything before the first heading (i.e. the top of the page).
local headings, i = {}, 0
for heading in require(template_parser_module).find_headings(current_title.content) do
i = i + 1
headings[i] = heading
if heading.section == current_section then
break
end
end
-- Once the current section has been found, validate headings in reverse order until a valid one is found.
while i ~= 0 do
local anchor = headings[i]:get_anchor()
if anchor ~= nil then
-- Add the fragment.
current_title.fragment = anchor:gsub("_", " ")
break
end
i = i - 1
end
end
end
target = current_title.fullText
return target
end
local function handle_shortcut(title, demo)
local namespace = title.namespace
local text = namespace == 0 and title.text or
namespace == 10 and get_template_invocation_name(title, "shortcut") or
get_namespace_shortcut(title) .. ":" .. title.text
local redlink, query = not title.content
if redlink then
query = {
action = "edit",
redlink = true,
preloadtext = not demo and "#REDIRECT [[" .. (target or get_target()) .. "]]" or nil
}
else
query = {
redirect = "no",
}
end
local tag = html_create("code"):wikitext((namespace == 10 and "{{[" or "[") .. tostring(title:fullUrl(query)) .. " ")
if redlink then
text = html_create("span")
:addClass("redlink")
:wikitext(text)
end
tag = tag:node(text):wikitext(namespace == 10 and "]}}" or "]")
if demo then
return tag
elseif redlink then
tag:addClass("attentionseeking")
return tag, "redlink"
end
-- Check the target is correct.
local redirect = title.redirectTarget
if redirect and redirect.fullText == (target or get_target()) then
return tag
end
-- If not, flag for attention.
tag:addClass("attentionseeking")
return tag, "not shortcut"
end
-- Takes `list`, an array of title objects, and returns a shortcut box.
function export.format_shortcuts(list, alt_list, temp, nocat, demo)
if nocat then
track("shortcut box/nocat")
end
local div = html_create("div")
:addClass("noprint")
:addClass("plainlinks")
:addClass("shortcut-box")
local redlink, not_shortcut
function add(list)
for _, shortcut in ipairs(list) do
div:tag("br")
local shortcut, cat = handle_shortcut(shortcut, demo)
div:node(shortcut)
if cat == "redlink" then
redlink = true
elseif cat == "not shortcut" then
not_shortcut = true
end
end
end
if #alt_list > 0 then
div:wikitext(("%s%slternative name%s:"):format(
temp and "Temporary " or "",
temp and "a" or "A",
#alt_list > 1 and "s" or ""
))
add(alt_list)
if #list > 0 then
div:tag("br")
end
end
if #list > 0 then
div:tag("span"):wikitext(("%s[[Wiktionary:Shortcuts|%shortcut%s]]:"):format(
temp and "Temporary " or "",
temp and "s" or "S",
list[2] and "s" or ""
))
add(list)
end
if nocat or uses_hidden_category(current_title or get_current_title()) then
return tostring(div)
end
local categories = {}
-- Don't categorize documentation pages as being pages with shortcuts.
if not (is_documentation == nil and get_is_documentation() or is_documentation) then
insert(categories, "Wiktionary pages with shortcuts")
end
if redlink then
insert(categories, "Shortcut boxes with redlinks")
end
if not_shortcut then
insert(categories, "Shortcut boxes linking to non-shortcuts or shortcuts to other pages")
end
return tostring(div) .. format_categories(categories, nil, "-", nil, true)
end
function export.shortcut_t(frame)
local boolean = {type = "boolean"}
local params = {
-- Namespace 10 is Template.
[1] = {required = true, type = "title", namespace = 10,
list = true, sublist = "comma without whitespace", flatten = true},
["alt"] = {type = "title", namespace = 10},
["alt1"] = {type = "title", namespace = 10},
["alt2"] = {type = "title", namespace = 10},
["alt3"] = {type = "title", namespace = 10},
["demo"] = {type = "boolean", demo = true},
["nocat"] = boolean, -- To be removed: no use-case.
["temp"] = boolean,
}
local args = process_params(frame:getParent().args, params)
return export.format_shortcuts(args[1], {args.alt, args.alt1, args.alt2, args.alt3}, args.temp, args.nocat, args.demo)
end
return export
d8hw79yn9b6rrswuargm3rti6cnr7xv
36205
36204
2025-08-11T15:05:26Z
J3133
1340
36205
Scribunto
text/plain
local export = {}
local debug_track_module = "Module:debug/track"
local maintenance_category_module = "Module:maintenance category"
local pages_module = "Module:pages"
local parameters_module = "Module:parameters"
local template_parser_module = "Module:template parser"
local utilities_module = "Module:utilities"
local html_create = mw.html.create
local insert = table.insert
local ipairs = ipairs
local require = require
local tostring = tostring
--[==[
Loaders for functions in other modules, which overwrite themselves with the target function when called. This ensures modules are only loaded when needed, retains the speed/convenience of locally-declared pre-loaded functions, and has no overhead after the first call, since the target functions are called directly in any subsequent calls.]==]
local function format_categories(...)
format_categories = require(utilities_module).format_categories
return format_categories(...)
end
local function get_namespace_shortcut(...)
get_namespace_shortcut = require(pages_module).get_namespace_shortcut
return get_namespace_shortcut(...)
end
local function get_template_invocation_name(...)
get_template_invocation_name = require(template_parser_module).getTemplateInvocationName
return get_template_invocation_name(...)
end
local function process_params(...)
process_params = require(parameters_module).process
return process_params(...)
end
local function track(...)
track = require(debug_track_module)
return track(...)
end
local function uses_hidden_category(...)
uses_hidden_category = require(maintenance_category_module).uses_hidden_category
return uses_hidden_category(...)
end
--[==[
Loaders for objects, which load data (or some other object) into some variable, which can then be accessed as "foo or get_foo()", where the function get_foo sets the object to "foo" and then returns it. This ensures they are only loaded when needed, and avoids the need to check for the existence of the object each time, since once "foo" has been set, "get_foo" will not be called again.]==]
local current_title
local function get_current_title()
current_title, get_current_title = mw.title.getCurrentTitle(), nil
return current_title
end
local is_documentation
local function get_is_documentation()
is_documentation, get_is_documentation = require(pages_module).is_documentation(current_title or get_current_title()), nil
return is_documentation
end
local target
local function get_target()
get_target = nil
-- If it's a documentation page, make the target point to the base page.
if is_documentation == nil and get_is_documentation() or is_documentation then
target = ((current_title or get_current_title()).basePageTitle or current_title).fullText -- Fallback is a failsafe, but shouldn't be needed.
return target
end
local namespace = (current_title or get_current_title()).namespace
-- Unless the page is a template or module, point to the current section with a fragment. Otherwise, just point to the current page.
if not (namespace == 10 or (namespace == 828 and current_title.contentModel == "Scribunto")) then
local current_section = require(pages_module).get_current_section()
if current_section ~= 0 then -- Section 0 is everything before the first heading (i.e. the top of the page).
local headings, i = {}, 0
for heading in require(template_parser_module).find_headings(current_title.content) do
i = i + 1
headings[i] = heading
if heading.section == current_section then
break
end
end
-- Once the current section has been found, validate headings in reverse order until a valid one is found.
while i ~= 0 do
local anchor = headings[i]:get_anchor()
if anchor ~= nil then
-- Add the fragment.
current_title.fragment = anchor:gsub("_", " ")
break
end
i = i - 1
end
end
end
target = current_title.fullText
return target
end
local function handle_shortcut(title, demo)
local namespace = title.namespace
local text = namespace == 0 and title.text or
namespace == 10 and get_template_invocation_name(title, "shortcut") or
get_namespace_shortcut(title) .. ":" .. title.text
local redlink, query = not title.content
if redlink then
query = {
action = "edit",
redlink = true,
preloadtext = not demo and "#REDIRECT [[" .. (target or get_target()) .. "]]" or nil
}
else
query = {
redirect = "no",
}
end
local tag = html_create("code"):wikitext((namespace == 10 and "{{[" or "[") .. tostring(title:fullUrl(query)) .. " ")
if redlink then
text = html_create("span")
:addClass("redlink")
:wikitext(text)
end
tag = tag:node(text):wikitext(namespace == 10 and "]}}" or "]")
if demo then
return tag
elseif redlink then
tag:addClass("attentionseeking")
return tag, "redlink"
end
-- Check the target is correct.
local redirect = title.redirectTarget
if redirect and redirect.fullText == (target or get_target()) then
return tag
end
-- If not, flag for attention.
tag:addClass("attentionseeking")
return tag, "not shortcut"
end
-- Takes `list`, an array of title objects, and returns a shortcut box.
function export.format_shortcuts(list, alt_list, temp, nocat, demo)
if nocat then
track("shortcut box/nocat")
end
local div = html_create("div")
:addClass("noprint")
:addClass("plainlinks")
:addClass("shortcut-box")
local redlink, not_shortcut
function add(list)
for _, shortcut in ipairs(list) do
div:tag("br")
local shortcut, cat = handle_shortcut(shortcut, demo)
div:node(shortcut)
if cat == "redlink" then
redlink = true
elseif cat == "not shortcut" then
not_shortcut = true
end
end
end
if #alt_list > 0 then
div:wikitext(("%s%slternative name%s:"):format(
temp and "Temporary " or "",
temp and "a" or "A",
#alt_list > 1 and "s" or ""
))
add(alt_list)
if #list > 0 then
div:tag("hr")
end
end
if #list > 0 then
div:tag("span"):wikitext(("%s[[Wiktionary:Shortcuts|%shortcut%s]]:"):format(
temp and "Temporary " or "",
temp and "s" or "S",
list[2] and "s" or ""
))
add(list)
end
if nocat or uses_hidden_category(current_title or get_current_title()) then
return tostring(div)
end
local categories = {}
-- Don't categorize documentation pages as being pages with shortcuts.
if not (is_documentation == nil and get_is_documentation() or is_documentation) then
insert(categories, "Wiktionary pages with shortcuts")
end
if redlink then
insert(categories, "Shortcut boxes with redlinks")
end
if not_shortcut then
insert(categories, "Shortcut boxes linking to non-shortcuts or shortcuts to other pages")
end
return tostring(div) .. format_categories(categories, nil, "-", nil, true)
end
function export.shortcut_t(frame)
local boolean = {type = "boolean"}
local params = {
-- Namespace 10 is Template.
[1] = {required = true, type = "title", namespace = 10,
list = true, sublist = "comma without whitespace", flatten = true},
["alt"] = {type = "title", namespace = 10},
["alt1"] = {type = "title", namespace = 10},
["alt2"] = {type = "title", namespace = 10},
["alt3"] = {type = "title", namespace = 10},
["demo"] = {type = "boolean", demo = true},
["nocat"] = boolean, -- To be removed: no use-case.
["temp"] = boolean,
}
local args = process_params(frame:getParent().args, params)
return export.format_shortcuts(args[1], {args.alt, args.alt1, args.alt2, args.alt3}, args.temp, args.nocat, args.demo)
end
return export
huk4cd5nkxqqienojm4p5csa3nyit83
36206
36205
2025-08-11T16:45:54Z
J3133
1340
36206
Scribunto
text/plain
local export = {}
local debug_track_module = "Module:debug/track"
local maintenance_category_module = "Module:maintenance category"
local pages_module = "Module:pages"
local parameters_module = "Module:parameters"
local template_parser_module = "Module:template parser"
local utilities_module = "Module:utilities"
local html_create = mw.html.create
local insert = table.insert
local ipairs = ipairs
local require = require
local tostring = tostring
--[==[
Loaders for functions in other modules, which overwrite themselves with the target function when called. This ensures modules are only loaded when needed, retains the speed/convenience of locally-declared pre-loaded functions, and has no overhead after the first call, since the target functions are called directly in any subsequent calls.]==]
local function format_categories(...)
format_categories = require(utilities_module).format_categories
return format_categories(...)
end
local function get_namespace_shortcut(...)
get_namespace_shortcut = require(pages_module).get_namespace_shortcut
return get_namespace_shortcut(...)
end
local function get_template_invocation_name(...)
get_template_invocation_name = require(template_parser_module).getTemplateInvocationName
return get_template_invocation_name(...)
end
local function process_params(...)
process_params = require(parameters_module).process
return process_params(...)
end
local function track(...)
track = require(debug_track_module)
return track(...)
end
local function uses_hidden_category(...)
uses_hidden_category = require(maintenance_category_module).uses_hidden_category
return uses_hidden_category(...)
end
--[==[
Loaders for objects, which load data (or some other object) into some variable, which can then be accessed as "foo or get_foo()", where the function get_foo sets the object to "foo" and then returns it. This ensures they are only loaded when needed, and avoids the need to check for the existence of the object each time, since once "foo" has been set, "get_foo" will not be called again.]==]
local current_title
local function get_current_title()
current_title, get_current_title = mw.title.getCurrentTitle(), nil
return current_title
end
local is_documentation
local function get_is_documentation()
is_documentation, get_is_documentation = require(pages_module).is_documentation(current_title or get_current_title()), nil
return is_documentation
end
local target
local function get_target()
get_target = nil
-- If it's a documentation page, make the target point to the base page.
if is_documentation == nil and get_is_documentation() or is_documentation then
target = ((current_title or get_current_title()).basePageTitle or current_title).fullText -- Fallback is a failsafe, but shouldn't be needed.
return target
end
local namespace = (current_title or get_current_title()).namespace
-- Unless the page is a template or module, point to the current section with a fragment. Otherwise, just point to the current page.
if not (namespace == 10 or (namespace == 828 and current_title.contentModel == "Scribunto")) then
local current_section = require(pages_module).get_current_section()
if current_section ~= 0 then -- Section 0 is everything before the first heading (i.e. the top of the page).
local headings, i = {}, 0
for heading in require(template_parser_module).find_headings(current_title.content) do
i = i + 1
headings[i] = heading
if heading.section == current_section then
break
end
end
-- Once the current section has been found, validate headings in reverse order until a valid one is found.
while i ~= 0 do
local anchor = headings[i]:get_anchor()
if anchor ~= nil then
-- Add the fragment.
current_title.fragment = anchor:gsub("_", " ")
break
end
i = i - 1
end
end
end
target = current_title.fullText
return target
end
local function handle_shortcut(title, demo)
local namespace = title.namespace
local text = namespace == 0 and title.text or
namespace == 10 and get_template_invocation_name(title, "shortcut") or
get_namespace_shortcut(title) .. ":" .. title.text
local redlink, query = not title.content
if redlink then
query = {
action = "edit",
redlink = true,
preloadtext = not demo and "#REDIRECT [[" .. (target or get_target()) .. "]]" or nil
}
else
query = {
redirect = "no",
}
end
local tag = html_create("code"):wikitext((namespace == 10 and "{{[" or "[") .. tostring(title:fullUrl(query)) .. " ")
if redlink then
text = html_create("span")
:addClass("redlink")
:wikitext(text)
end
tag = tag:node(text):wikitext(namespace == 10 and "]}}" or "]")
if demo then
return tag
elseif redlink then
tag:addClass("attentionseeking")
return tag, "redlink"
end
-- Check the target is correct.
local redirect = title.redirectTarget
if redirect and redirect.fullText == (target or get_target()) then
return tag
end
-- If not, flag for attention.
tag:addClass("attentionseeking")
return tag, "not shortcut"
end
-- Takes `list`, an array of title objects, and returns a shortcut box.
function export.format_shortcuts(list, alt_list, temp, nocat, demo)
if nocat then
track("shortcut box/nocat")
end
local div = html_create("div")
:addClass("noprint")
:addClass("plainlinks")
:addClass("shortcut-box")
local redlink, not_shortcut
function add(list)
for _, shortcut in ipairs(list) do
div:tag("br")
local shortcut, cat = handle_shortcut(shortcut, demo)
div:node(shortcut)
if cat == "redlink" then
redlink = true
elseif cat == "not shortcut" then
not_shortcut = true
end
end
end
if #alt_list > 0 then
div:wikitext(("%s%slternative name%s:"):format(
temp and "Temporary " or "",
temp and "a" or "A",
#alt_list > 1 and "s" or ""
))
add(alt_list)
if #list > 0 then
div:tag("hr")
end
end
if #list > 0 then
div:tag("span"):wikitext(("%s[[Wiktionary:Shortcuts|%shortcut%s]]:"):format(
temp and "Temporary " or "",
temp and "s" or "S",
list[2] and "s" or ""
))
add(list)
end
if nocat or uses_hidden_category(current_title or get_current_title()) then
return tostring(div)
end
local categories = {}
-- Don't categorize documentation pages as being pages with shortcuts.
if not (is_documentation == nil and get_is_documentation() or is_documentation) then
insert(categories, "Wiktionary pages with shortcuts")
end
if redlink then
insert(categories, "Shortcut boxes with redlinks")
end
if not_shortcut then
insert(categories, "Shortcut boxes linking to non-shortcuts or shortcuts to other pages")
end
return tostring(div) .. format_categories(categories, nil, "-", nil, true)
end
function export.shortcut_t(frame)
local boolean = {type = "boolean"}
local params = {
-- Namespace 10 is Template.
[1] = {type = "title", namespace = 10,
list = true, sublist = "comma without whitespace", flatten = true},
["alt"] = {type = "title", namespace = 10},
["alt1"] = {type = "title", namespace = 10},
["alt2"] = {type = "title", namespace = 10},
["alt3"] = {type = "title", namespace = 10},
["demo"] = {type = "boolean", demo = true},
["nocat"] = boolean, -- To be removed: no use-case.
["temp"] = boolean,
}
local args = process_params(frame:getParent().args, params)
if (#args[1] == 0) and not (args.alt or args.alt1 or args.alt2 or args.alt3) then
error("No shortcuts or alternative names were specified.")
end
return export.format_shortcuts(args[1], {args.alt, args.alt1, args.alt2, args.alt3}, args.temp, args.nocat, args.demo)
end
return export
6h08al1ol2n4bl6ahd4dultfcuihyi0
36207
36206
2025-08-11T16:55:25Z
J3133
1340
36207
Scribunto
text/plain
local export = {}
local debug_track_module = "Module:debug/track"
local maintenance_category_module = "Module:maintenance category"
local pages_module = "Module:pages"
local parameters_module = "Module:parameters"
local template_parser_module = "Module:template parser"
local utilities_module = "Module:utilities"
local html_create = mw.html.create
local insert = table.insert
local ipairs = ipairs
local require = require
local tostring = tostring
--[==[
Loaders for functions in other modules, which overwrite themselves with the target function when called. This ensures modules are only loaded when needed, retains the speed/convenience of locally-declared pre-loaded functions, and has no overhead after the first call, since the target functions are called directly in any subsequent calls.]==]
local function format_categories(...)
format_categories = require(utilities_module).format_categories
return format_categories(...)
end
local function get_namespace_shortcut(...)
get_namespace_shortcut = require(pages_module).get_namespace_shortcut
return get_namespace_shortcut(...)
end
local function get_template_invocation_name(...)
get_template_invocation_name = require(template_parser_module).getTemplateInvocationName
return get_template_invocation_name(...)
end
local function process_params(...)
process_params = require(parameters_module).process
return process_params(...)
end
local function track(...)
track = require(debug_track_module)
return track(...)
end
local function uses_hidden_category(...)
uses_hidden_category = require(maintenance_category_module).uses_hidden_category
return uses_hidden_category(...)
end
--[==[
Loaders for objects, which load data (or some other object) into some variable, which can then be accessed as "foo or get_foo()", where the function get_foo sets the object to "foo" and then returns it. This ensures they are only loaded when needed, and avoids the need to check for the existence of the object each time, since once "foo" has been set, "get_foo" will not be called again.]==]
local current_title
local function get_current_title()
current_title, get_current_title = mw.title.getCurrentTitle(), nil
return current_title
end
local is_documentation
local function get_is_documentation()
is_documentation, get_is_documentation = require(pages_module).is_documentation(current_title or get_current_title()), nil
return is_documentation
end
local target
local function get_target()
get_target = nil
-- If it's a documentation page, make the target point to the base page.
if is_documentation == nil and get_is_documentation() or is_documentation then
target = ((current_title or get_current_title()).basePageTitle or current_title).fullText -- Fallback is a failsafe, but shouldn't be needed.
return target
end
local namespace = (current_title or get_current_title()).namespace
-- Unless the page is a template or module, point to the current section with a fragment. Otherwise, just point to the current page.
if not (namespace == 10 or (namespace == 828 and current_title.contentModel == "Scribunto")) then
local current_section = require(pages_module).get_current_section()
if current_section ~= 0 then -- Section 0 is everything before the first heading (i.e. the top of the page).
local headings, i = {}, 0
for heading in require(template_parser_module).find_headings(current_title.content) do
i = i + 1
headings[i] = heading
if heading.section == current_section then
break
end
end
-- Once the current section has been found, validate headings in reverse order until a valid one is found.
while i ~= 0 do
local anchor = headings[i]:get_anchor()
if anchor ~= nil then
-- Add the fragment.
current_title.fragment = anchor:gsub("_", " ")
break
end
i = i - 1
end
end
end
target = current_title.fullText
return target
end
local function handle_shortcut(title, demo)
local namespace = title.namespace
local text = namespace == 0 and title.text or
namespace == 10 and get_template_invocation_name(title, "shortcut") or
get_namespace_shortcut(title) .. ":" .. title.text
local redlink, query = not title.content
if redlink then
query = {
action = "edit",
redlink = true,
preloadtext = not demo and "#REDIRECT [[" .. (target or get_target()) .. "]]" or nil
}
else
query = {
redirect = "no",
}
end
local tag = html_create("code"):wikitext((namespace == 10 and "{{[" or "[") .. tostring(title:fullUrl(query)) .. " ")
if redlink then
text = html_create("span")
:addClass("redlink")
:wikitext(text)
end
tag = tag:node(text):wikitext(namespace == 10 and "]}}" or "]")
if demo then
return tag
elseif redlink then
tag:addClass("attentionseeking")
return tag, "redlink"
end
-- Check the target is correct.
local redirect = title.redirectTarget
if redirect and redirect.fullText == (target or get_target()) then
return tag
end
-- If not, flag for attention.
tag:addClass("attentionseeking")
return tag, "not shortcut"
end
-- Takes `list`, an array of title objects, and returns a shortcut box.
function export.format_shortcuts(list, alt_list, temp, nocat, demo)
if nocat then
track("shortcut box/nocat")
end
local div = html_create("div")
:addClass("noprint")
:addClass("plainlinks")
:addClass("shortcut-box")
local redlink, not_shortcut
function add(list)
for _, shortcut in ipairs(list) do
div:tag("br")
local shortcut, cat = handle_shortcut(shortcut, demo)
div:node(shortcut)
if cat == "redlink" then
redlink = true
elseif cat == "not shortcut" then
not_shortcut = true
end
end
end
if #alt_list > 0 then
div:wikitext(("%s%slternative name%s:"):format(
temp and "Temporary " or "",
temp and "a" or "A",
#alt_list > 1 and "s" or ""
))
add(alt_list)
if #list > 0 then
div:tag("hr")
end
end
if #list > 0 then
div:tag("span"):wikitext(("%s[[Wiktionary:Shortcuts|%shortcut%s]]:"):format(
temp and "Temporary " or "",
temp and "s" or "S",
list[2] and "s" or ""
))
add(list)
end
if nocat or uses_hidden_category(current_title or get_current_title()) then
return tostring(div)
end
local categories = {}
-- Don't categorize documentation pages as being pages with shortcuts.
if not (is_documentation == nil and get_is_documentation() or is_documentation) then
insert(categories, "Wiktionary pages with shortcuts")
end
if redlink then
insert(categories, "Shortcut boxes with redlinks")
end
if not_shortcut then
insert(categories, "Shortcut boxes linking to non-shortcuts or shortcuts to other pages")
end
return tostring(div) .. format_categories(categories, nil, "-", nil, true)
end
function export.shortcut_t(frame)
local boolean = {type = "boolean"}
local params = {
-- Namespace 10 is Template.
[1] = {type = "title", namespace = 10,
list = true, sublist = "comma without whitespace", flatten = true},
["alt"] = {type = "title", namespace = 10},
["alt1"] = {type = "title", namespace = 10},
["alt2"] = {type = "title", namespace = 10},
["alt3"] = {type = "title", namespace = 10},
["demo"] = {type = "boolean", demo = true},
["nocat"] = boolean, -- To be removed: no use-case.
["temp"] = boolean,
}
local args = process_params(frame:getParent().args, params)
if (#args[1] == 0) and not (args.alt or args.alt1 or args.alt2 or args.alt3) then
error("No shortcuts or alternative names were specified.")
end
return export.format_shortcuts(args[1], {args.alt or args.alt1, args.alt2, args.alt3}, args.temp, args.nocat, args.demo)
end
return export
0xglcj67vxfzh1fiaszmeph98tvzshc
36208
36207
2025-08-11T18:25:04Z
Benwing2
1346
causes 139 errors, and in any case not the way to do it;Reverted edits by [[Special:Contributions/J3133|J3133]]. If you think this rollback is in error, please leave a message on my [[User talk:Benwing2|talk page]].
36208
Scribunto
text/plain
local export = {}
local debug_track_module = "Module:debug/track"
local maintenance_category_module = "Module:maintenance category"
local pages_module = "Module:pages"
local parameters_module = "Module:parameters"
local template_parser_module = "Module:template parser"
local utilities_module = "Module:utilities"
local html_create = mw.html.create
local insert = table.insert
local ipairs = ipairs
local require = require
local tostring = tostring
--[==[
Loaders for functions in other modules, which overwrite themselves with the target function when called. This ensures modules are only loaded when needed, retains the speed/convenience of locally-declared pre-loaded functions, and has no overhead after the first call, since the target functions are called directly in any subsequent calls.]==]
local function format_categories(...)
format_categories = require(utilities_module).format_categories
return format_categories(...)
end
local function get_namespace_shortcut(...)
get_namespace_shortcut = require(pages_module).get_namespace_shortcut
return get_namespace_shortcut(...)
end
local function get_template_invocation_name(...)
get_template_invocation_name = require(template_parser_module).getTemplateInvocationName
return get_template_invocation_name(...)
end
local function process_params(...)
process_params = require(parameters_module).process
return process_params(...)
end
local function track(...)
track = require(debug_track_module)
return track(...)
end
local function uses_hidden_category(...)
uses_hidden_category = require(maintenance_category_module).uses_hidden_category
return uses_hidden_category(...)
end
--[==[
Loaders for objects, which load data (or some other object) into some variable, which can then be accessed as "foo or get_foo()", where the function get_foo sets the object to "foo" and then returns it. This ensures they are only loaded when needed, and avoids the need to check for the existence of the object each time, since once "foo" has been set, "get_foo" will not be called again.]==]
local current_title
local function get_current_title()
current_title, get_current_title = mw.title.getCurrentTitle(), nil
return current_title
end
local is_documentation
local function get_is_documentation()
is_documentation, get_is_documentation = require(pages_module).is_documentation(current_title or get_current_title()), nil
return is_documentation
end
local target
local function get_target()
get_target = nil
-- If it's a documentation page, make the target point to the base page.
if is_documentation == nil and get_is_documentation() or is_documentation then
target = ((current_title or get_current_title()).basePageTitle or current_title).fullText -- Fallback is a failsafe, but shouldn't be needed.
return target
end
local namespace = (current_title or get_current_title()).namespace
-- Unless the page is a template or module, point to the current section with a fragment. Otherwise, just point to the current page.
if not (namespace == 10 or (namespace == 828 and current_title.contentModel == "Scribunto")) then
local current_section = require(pages_module).get_current_section()
if current_section ~= 0 then -- Section 0 is everything before the first heading (i.e. the top of the page).
local headings, i = {}, 0
for heading in require(template_parser_module).find_headings(current_title.content) do
i = i + 1
headings[i] = heading
if heading.section == current_section then
break
end
end
-- Once the current section has been found, validate headings in reverse order until a valid one is found.
while i ~= 0 do
local anchor = headings[i]:get_anchor()
if anchor ~= nil then
-- Add the fragment.
current_title.fragment = anchor:gsub("_", " ")
break
end
i = i - 1
end
end
end
target = current_title.fullText
return target
end
local function handle_shortcut(title, demo)
local namespace = title.namespace
local text = namespace == 0 and title.text or
namespace == 10 and get_template_invocation_name(title, "shortcut") or
get_namespace_shortcut(title) .. ":" .. title.text
local redlink, query = not title.content
if redlink then
query = {
action = "edit",
redlink = true,
preloadtext = not demo and "#REDIRECT [[" .. (target or get_target()) .. "]]" or nil
}
else
query = {
redirect = "no",
}
end
local tag = html_create("code"):wikitext((namespace == 10 and "{{[" or "[") .. tostring(title:fullUrl(query)) .. " ")
if redlink then
text = html_create("span")
:addClass("redlink")
:wikitext(text)
end
tag = tag:node(text):wikitext(namespace == 10 and "]}}" or "]")
if demo then
return tag
elseif redlink then
tag:addClass("attentionseeking")
return tag, "redlink"
end
-- Check the target is correct.
local redirect = title.redirectTarget
if redirect and redirect.fullText == (target or get_target()) then
return tag
end
-- If not, flag for attention.
tag:addClass("attentionseeking")
return tag, "not shortcut"
end
-- Takes `list`, an array of title objects, and returns a shortcut box.
function export.format_shortcuts(list, temp, nocat, demo)
if nocat then
track("shortcut box/nocat")
end
local div = html_create("div")
:addClass("noprint")
:addClass("plainlinks")
:addClass("shortcut-box")
:wikitext(("%s[[Wiktionary:Shortcut|%shortcut%s]]:"):format(
temp and "Temporary " or "",
temp and "s" or "S",
list[2] and "s" or ""
))
local redlink, not_shortcut
for _, shortcut in ipairs(list) do
div:tag("br")
local shortcut, cat = handle_shortcut(shortcut, demo)
div:node(shortcut)
if cat == "redlink" then
redlink = true
elseif cat == "not shortcut" then
not_shortcut = true
end
end
if nocat or uses_hidden_category(current_title or get_current_title()) then
return tostring(div)
end
local categories = {}
-- Don't categorize documentation pages as being pages with shortcuts.
if not (is_documentation == nil and get_is_documentation() or is_documentation) then
insert(categories, "Wiktionary pages with shortcuts")
end
if redlink then
insert(categories, "Shortcut boxes with redlinks")
end
if not_shortcut then
insert(categories, "Shortcut boxes linking to non-shortcuts or shortcuts to other pages")
end
return tostring(div) .. format_categories(categories, nil, "-", nil, true)
end
function export.shortcut_t(frame)
local boolean = {type = "boolean"}
local params = {
-- Namespace 10 is Template.
[1] = {required = true, type = "title", namespace = 10,
list = true, sublist = "comma without whitespace", flatten = true},
["demo"] = {type = "boolean", demo = true},
["nocat"] = boolean, -- To be removed: no use-case.
["temp"] = boolean,
}
local args = process_params(frame:getParent().args, params)
return export.format_shortcuts(args[1], args.temp, args.nocat, args.demo)
end
return export
1uqyzbk9bvybtow1qhfbdq8barmw98t
36209
36208
2026-05-26T08:24:25Z
King ChristLike
964
59 revisions imported from [[:en:Module:shortcut_box]]
36208
Scribunto
text/plain
local export = {}
local debug_track_module = "Module:debug/track"
local maintenance_category_module = "Module:maintenance category"
local pages_module = "Module:pages"
local parameters_module = "Module:parameters"
local template_parser_module = "Module:template parser"
local utilities_module = "Module:utilities"
local html_create = mw.html.create
local insert = table.insert
local ipairs = ipairs
local require = require
local tostring = tostring
--[==[
Loaders for functions in other modules, which overwrite themselves with the target function when called. This ensures modules are only loaded when needed, retains the speed/convenience of locally-declared pre-loaded functions, and has no overhead after the first call, since the target functions are called directly in any subsequent calls.]==]
local function format_categories(...)
format_categories = require(utilities_module).format_categories
return format_categories(...)
end
local function get_namespace_shortcut(...)
get_namespace_shortcut = require(pages_module).get_namespace_shortcut
return get_namespace_shortcut(...)
end
local function get_template_invocation_name(...)
get_template_invocation_name = require(template_parser_module).getTemplateInvocationName
return get_template_invocation_name(...)
end
local function process_params(...)
process_params = require(parameters_module).process
return process_params(...)
end
local function track(...)
track = require(debug_track_module)
return track(...)
end
local function uses_hidden_category(...)
uses_hidden_category = require(maintenance_category_module).uses_hidden_category
return uses_hidden_category(...)
end
--[==[
Loaders for objects, which load data (or some other object) into some variable, which can then be accessed as "foo or get_foo()", where the function get_foo sets the object to "foo" and then returns it. This ensures they are only loaded when needed, and avoids the need to check for the existence of the object each time, since once "foo" has been set, "get_foo" will not be called again.]==]
local current_title
local function get_current_title()
current_title, get_current_title = mw.title.getCurrentTitle(), nil
return current_title
end
local is_documentation
local function get_is_documentation()
is_documentation, get_is_documentation = require(pages_module).is_documentation(current_title or get_current_title()), nil
return is_documentation
end
local target
local function get_target()
get_target = nil
-- If it's a documentation page, make the target point to the base page.
if is_documentation == nil and get_is_documentation() or is_documentation then
target = ((current_title or get_current_title()).basePageTitle or current_title).fullText -- Fallback is a failsafe, but shouldn't be needed.
return target
end
local namespace = (current_title or get_current_title()).namespace
-- Unless the page is a template or module, point to the current section with a fragment. Otherwise, just point to the current page.
if not (namespace == 10 or (namespace == 828 and current_title.contentModel == "Scribunto")) then
local current_section = require(pages_module).get_current_section()
if current_section ~= 0 then -- Section 0 is everything before the first heading (i.e. the top of the page).
local headings, i = {}, 0
for heading in require(template_parser_module).find_headings(current_title.content) do
i = i + 1
headings[i] = heading
if heading.section == current_section then
break
end
end
-- Once the current section has been found, validate headings in reverse order until a valid one is found.
while i ~= 0 do
local anchor = headings[i]:get_anchor()
if anchor ~= nil then
-- Add the fragment.
current_title.fragment = anchor:gsub("_", " ")
break
end
i = i - 1
end
end
end
target = current_title.fullText
return target
end
local function handle_shortcut(title, demo)
local namespace = title.namespace
local text = namespace == 0 and title.text or
namespace == 10 and get_template_invocation_name(title, "shortcut") or
get_namespace_shortcut(title) .. ":" .. title.text
local redlink, query = not title.content
if redlink then
query = {
action = "edit",
redlink = true,
preloadtext = not demo and "#REDIRECT [[" .. (target or get_target()) .. "]]" or nil
}
else
query = {
redirect = "no",
}
end
local tag = html_create("code"):wikitext((namespace == 10 and "{{[" or "[") .. tostring(title:fullUrl(query)) .. " ")
if redlink then
text = html_create("span")
:addClass("redlink")
:wikitext(text)
end
tag = tag:node(text):wikitext(namespace == 10 and "]}}" or "]")
if demo then
return tag
elseif redlink then
tag:addClass("attentionseeking")
return tag, "redlink"
end
-- Check the target is correct.
local redirect = title.redirectTarget
if redirect and redirect.fullText == (target or get_target()) then
return tag
end
-- If not, flag for attention.
tag:addClass("attentionseeking")
return tag, "not shortcut"
end
-- Takes `list`, an array of title objects, and returns a shortcut box.
function export.format_shortcuts(list, temp, nocat, demo)
if nocat then
track("shortcut box/nocat")
end
local div = html_create("div")
:addClass("noprint")
:addClass("plainlinks")
:addClass("shortcut-box")
:wikitext(("%s[[Wiktionary:Shortcut|%shortcut%s]]:"):format(
temp and "Temporary " or "",
temp and "s" or "S",
list[2] and "s" or ""
))
local redlink, not_shortcut
for _, shortcut in ipairs(list) do
div:tag("br")
local shortcut, cat = handle_shortcut(shortcut, demo)
div:node(shortcut)
if cat == "redlink" then
redlink = true
elseif cat == "not shortcut" then
not_shortcut = true
end
end
if nocat or uses_hidden_category(current_title or get_current_title()) then
return tostring(div)
end
local categories = {}
-- Don't categorize documentation pages as being pages with shortcuts.
if not (is_documentation == nil and get_is_documentation() or is_documentation) then
insert(categories, "Wiktionary pages with shortcuts")
end
if redlink then
insert(categories, "Shortcut boxes with redlinks")
end
if not_shortcut then
insert(categories, "Shortcut boxes linking to non-shortcuts or shortcuts to other pages")
end
return tostring(div) .. format_categories(categories, nil, "-", nil, true)
end
function export.shortcut_t(frame)
local boolean = {type = "boolean"}
local params = {
-- Namespace 10 is Template.
[1] = {required = true, type = "title", namespace = 10,
list = true, sublist = "comma without whitespace", flatten = true},
["demo"] = {type = "boolean", demo = true},
["nocat"] = boolean, -- To be removed: no use-case.
["temp"] = boolean,
}
local args = process_params(frame:getParent().args, params)
return export.format_shortcuts(args[1], args.temp, args.nocat, args.demo)
end
return export
1uqyzbk9bvybtow1qhfbdq8barmw98t
Module:maintenance box
828
6627
36210
2008-05-18T11:45:29Z
Conrad.Irwin
1315
meta template to solve issues with {rfc} {rfv} et al. and right floats, needs style moving to CSS.
36210
wikitext
text/x-wiki
<div class="noprint maintenance-box maintenance-box-{{{1}}}" style="width: auto; margin: 0; padding: 0.5em; border-collapse: collapse;overflow: hidden;">
{| style="background:#{{#switch:{{{1|blue}}}|blue=EEEEFF|red=FFE7DD|yellow=FFFFDD}}; width:80%; margin: auto; border:1px dashed #{{#switch:{{{1|blue}}}|blue=4444AA|red=884444|yellow=888822}}; text-align:left"
| rowspan="2"| {{{image}}}
! {{{title}}}
|-
| {{{text}}}
|}
</div>
qinf0u3akdjds4uk34soi1281obi9aj
36211
36210
2008-05-18T11:52:22Z
Conrad.Irwin
1315
make wider
36211
wikitext
text/x-wiki
<div class="noprint maintenance-box maintenance-box-{{{1}}}" style="width: auto; margin: 0; padding: 0.5em; border-collapse: collapse;overflow: hidden;">
{| style="background:#{{#switch:{{{1|blue}}}|blue=EEEEFF|red=FFE7DD|yellow=FFFFDD}}; width:90%; margin: auto; border:1px dashed #{{#switch:{{{1|blue}}}|blue=4444AA|red=884444|yellow=888822}}; text-align:left"
| rowspan="2"| {{{image}}}
! {{{title}}}
|-
| {{{text}}}
|}
</div>
6du5na9ryc8mnocp2gsr2qy2w8eyag1
36212
36211
2009-06-09T04:42:36Z
Daniel Carrero
1329
Added category links.
36212
wikitext
text/x-wiki
<div class="noprint maintenance-box maintenance-box-{{{1}}}" style="width: auto; margin: 0; padding: 0.5em; border-collapse: collapse;overflow: hidden;">
{| style="background:#{{#switch:{{{1|blue}}}|blue=EEEEFF|red=FFE7DD|yellow=FFFFDD}}; width:90%; margin: auto; border:1px dashed #{{#switch:{{{1|blue}}}|blue=4444AA|red=884444|yellow=888822}}; text-align:left"
| rowspan="2"| {{{image}}}
! {{{title}}}
|-
| {{{text}}}
|}
</div><noinclude>[[Category:Verification templates]][[Category:Supplementary templates]]</noinclude>
id7dwcc1dfmpjnrk5ynmo8535fut9xr
36213
36212
2009-06-09T04:45:03Z
Daniel Carrero
1329
36213
wikitext
text/x-wiki
<div class="noprint maintenance-box maintenance-box-{{{1}}}" style="width: auto; margin: 0; padding: 0.5em; border-collapse: collapse;overflow: hidden;">
{| style="background:#{{#switch:{{{1|blue}}}|blue=EEEEFF|red=FFE7DD|yellow=FFFFDD}}; width:90%; margin: auto; border:1px dashed #{{#switch:{{{1|blue}}}|blue=4444AA|red=884444|yellow=888822}}; text-align:left"
| rowspan="2"| {{{image}}}
!
{{{title}}}
|-
|
{{{text}}}
|}
</div><noinclude>[[Category:Verification templates]][[Category:Supplementary templates]]</noinclude>
tlt9g9k3oat2iwaddo02miyscoebkkt
36214
36213
2009-06-09T04:46:32Z
EncycloPetey
1321
this makes the box too tall
36214
wikitext
text/x-wiki
<div class="noprint maintenance-box maintenance-box-{{{1}}}" style="width: auto; margin: 0; padding: 0.5em; border-collapse: collapse;overflow: hidden;">
{| style="background:#{{#switch:{{{1|blue}}}|blue=EEEEFF|red=FFE7DD|yellow=FFFFDD}}; width:90%; margin: auto; border:1px dashed #{{#switch:{{{1|blue}}}|blue=4444AA|red=884444|yellow=888822}}; text-align:left"
| rowspan="2"| {{{image}}}
! {{{title}}}
|-
| {{{text}}}
|}
</div>
6du5na9ryc8mnocp2gsr2qy2w8eyag1
36215
36214
2009-06-09T04:50:25Z
Daniel Carrero
1329
36215
wikitext
text/x-wiki
<div class="noprint maintenance-box maintenance-box-{{{1}}}" style="width: auto; margin: 0; padding: 0.5em; border-collapse: collapse;overflow: hidden;">
{| style="background:#{{#switch:{{{1|blue}}}|blue=EEEEFF|red=FFE7DD|yellow=FFFFDD}}; width:90%; margin: auto; border:1px dashed #{{#switch:{{{1|blue}}}|blue=4444AA|red=884444|yellow=888822}}; text-align:left"
| rowspan="2"| {{{image}}}
! {{{title}}}
|-
| {{{text}}}
|}
</div><noinclude>[[Category:Verification templates]][[Category:Supplementary templates]]</noinclude>
id7dwcc1dfmpjnrk5ynmo8535fut9xr
36216
36215
2010-01-28T01:04:25Z
Conrad.Irwin
1315
[[Category:Template boxes]]
36216
wikitext
text/x-wiki
<div class="noprint maintenance-box maintenance-box-{{{1}}}" style="width: auto; margin: 0; padding: 0.5em; border-collapse: collapse;overflow: hidden;">
{| style="background:#{{#switch:{{{1|blue}}}|blue=EEEEFF|red=FFE7DD|yellow=FFFFDD}}; width:90%; margin: auto; border:1px dashed #{{#switch:{{{1|blue}}}|blue=4444AA|red=884444|yellow=888822}}; text-align:left"
| rowspan="2"| {{{image}}}
! {{{title}}}
|-
| {{{text}}}
|}
</div><noinclude>[[Category:Verification templates]][[Category:Supplementary templates]][[Category:Template boxes]]</noinclude>
jrivpv12tj7idm5cui8135vnud06gl6
36217
36216
2010-04-24T23:49:48Z
Conrad.Irwin
1315
make default work better
36217
wikitext
text/x-wiki
<div class="noprint maintenance-box maintenance-box-{{{1|blue}}}" style="width: auto; margin: 0; padding: 0.5em; border-collapse: collapse;overflow: hidden;">
{| style="background:#{{#switch:{{{1|blue}}}||blue=EEEEFF|red=FFE7DD|yellow=FFFFDD}}; width:90%; margin: auto; border:1px dashed #{{#switch:{{{1|blue}}}|blue=4444AA|red=884444|yellow=888822}}; text-align:left"
| rowspan="2"| {{{image}}}
! {{{title}}}
|-
| {{{text}}}
|}
</div><noinclude>[[Category:Verification templates]][[Category:Supplementary templates]][[Category:Template boxes]]</noinclude>
5gd4a8v7vxpiq9pulz9zldjxsh5tz27
36218
36217
2010-04-25T21:28:17Z
Conrad.Irwin
1315
allow grey
36218
wikitext
text/x-wiki
<div class="noprint maintenance-box maintenance-box-{{{1|blue}}}" style="width: auto; margin: 0; padding: 0.5em; border-collapse: collapse;overflow: hidden;">
{| style="background:#{{#switch:{{{1|blue}}}||blue=EEEEFF|red=FFE7DD|yellow=FFFFDD|grey=EEEEEE}}; width:90%; margin: auto; border:1px dashed #{{#switch:{{{1|blue}}}||blue=4444AA|red=884444|yellow=888822|grey=444444}}; text-align:left"
| rowspan="2"| {{{image}}}
! {{{title}}}
|-
| {{{text}}}
|}
</div><noinclude>[[Category:Verification templates]][[Category:Supplementary templates]][[Category:Template boxes]]</noinclude>
54ilqoolewcbr53hvx0ictvjsuu9gi5
36219
36218
2010-04-25T21:28:38Z
Conrad.Irwin
1315
+{{documentation}}
36219
wikitext
text/x-wiki
<div class="noprint maintenance-box maintenance-box-{{{1|blue}}}" style="width: auto; margin: 0; padding: 0.5em; border-collapse: collapse;overflow: hidden;">
{| style="background:#{{#switch:{{{1|blue}}}||blue=EEEEFF|red=FFE7DD|yellow=FFFFDD|grey=EEEEEE}}; width:90%; margin: auto; border:1px dashed #{{#switch:{{{1|blue}}}||blue=4444AA|red=884444|yellow=888822|grey=444444}}; text-align:left"
| rowspan="2"| {{{image}}}
! {{{title}}}
|-
| {{{text}}}
|}
</div><noinclude>{{documentation}}
q414fnky5j5wobjn21ewb7k63vmfzvj
36220
36219
2010-11-15T23:32:35Z
Yair rand
1377
Protected "[[Template:maintenance box]]" ([edit=sysop] (indefinite) [move=sysop] (indefinite))
36219
wikitext
text/x-wiki
<div class="noprint maintenance-box maintenance-box-{{{1|blue}}}" style="width: auto; margin: 0; padding: 0.5em; border-collapse: collapse;overflow: hidden;">
{| style="background:#{{#switch:{{{1|blue}}}||blue=EEEEFF|red=FFE7DD|yellow=FFFFDD|grey=EEEEEE}}; width:90%; margin: auto; border:1px dashed #{{#switch:{{{1|blue}}}||blue=4444AA|red=884444|yellow=888822|grey=444444}}; text-align:left"
| rowspan="2"| {{{image}}}
! {{{title}}}
|-
| {{{text}}}
|}
</div><noinclude>{{documentation}}
q414fnky5j5wobjn21ewb7k63vmfzvj
36221
36220
2013-07-31T16:31:11Z
Rua
1351
36221
wikitext
text/x-wiki
<div class="noprint maintenance-box maintenance-box-{{{1|blue}}}" style="width: auto; margin: 0; padding: 0.5em; border-collapse: collapse;overflow: hidden;">
{| style="background:#{{#switch:{{{1|blue}}}||blue=EEEEFF|red=FFE7DD|yellow=FFFFDD|grey=F0F0F0}}; width:90%; margin: auto; border:1px dashed #{{#switch:{{{1|blue}}}||blue=4444AA|red=884444|yellow=888822|grey=444444}}; text-align:left"
| rowspan="2"| {{{image}}}
! {{{title}}}
|-
| {{{text}}}
|}
</div><noinclude>{{documentation}}
ghnprzreljj299ndzhqprwo38yvz413
36222
36221
2014-08-01T12:43:33Z
Kephir
1378
move styles into the div
36222
wikitext
text/x-wiki
<div class="noprint maintenance-box maintenance-box-{{{1|blue}}}" style="background:#{{#switch:{{{1|blue}}}||blue=EEEEFF|red=FFE7DD|yellow=FFFFDD|grey=F0F0F0}}; width:90%; margin: auto; border:1px dashed #{{#switch:{{{1|blue}}}||blue=4444AA|red=884444|yellow=888822|grey=444444}}; padding: 0.5em; ">
{|
| rowspan="2"| {{{image}}}
! {{{title}}}
|-
| {{{text}}}
|}</div><noinclude>{{documentation}}
kzgzniv73w32eab0l1fm6aves7sawed
36223
36222
2014-08-01T12:44:23Z
Kephir
1378
style fix
36223
wikitext
text/x-wiki
<div class="noprint maintenance-box maintenance-box-{{{1|blue}}}" style="background:#{{#switch:{{{1|blue}}}||blue=EEEEFF|red=FFE7DD|yellow=FFFFDD|grey=F0F0F0}}; width:90%; margin: auto; border:1px dashed #{{#switch:{{{1|blue}}}||blue=4444AA|red=884444|yellow=888822|grey=444444}}; padding: 0.5em; ">
{|
| rowspan="2" | {{{image}}}
! style="text-align: left;" | {{{title}}}
|-
| {{{text}}}
|}</div><noinclude>{{documentation}}
ib2mypowksurvfufu73wx3zzbci2poi
36224
36223
2014-08-01T17:49:53Z
Kephir
1378
hmm
36224
wikitext
text/x-wiki
<div class="noprint maintenance-box maintenance-box-{{{1|blue}}}" style="background:#{{#switch:{{{1|blue}}}||blue=EEEEFF|red=FFE7DD|yellow=FFFFDD|grey=F0F0F0}}; width:90%; margin: auto; border:1px dashed #{{#switch:{{{1|blue}}}||blue=4444AA|red=884444|yellow=888822|grey=444444}}; padding: 0.25em; ">
{|
| rowspan="2" | {{{image}}}
! style="text-align: left;" | {{{title}}}
|-
| {{{text}}}
|}</div><noinclude>{{documentation}}
1tqko6skqv0f0pfklvdugonoe1bdypb
36225
36224
2014-08-15T11:20:50Z
Kephir
1378
margin
36225
wikitext
text/x-wiki
<div class="noprint maintenance-box maintenance-box-{{{1|blue}}}" style="background:#{{#switch:{{{1|blue}}}||blue=EEEEFF|red=FFE7DD|yellow=FFFFDD|grey=F0F0F0}}; width:90%; margin: 0.5em auto; border:1px dashed #{{#switch:{{{1|blue}}}||blue=4444AA|red=884444|yellow=888822|grey=444444}}; padding: 0.25em; ">
{|
| rowspan="2" | {{{image}}}
! style="text-align: left;" | {{{title}}}
|-
| {{{text}}}
|}</div><noinclude>{{documentation}}
6v3gqwnvomhybcqq9z480ebp715xo3t
36226
36225
2014-08-15T11:39:29Z
Kephir
1378
0.75em
36226
wikitext
text/x-wiki
<div class="noprint maintenance-box maintenance-box-{{{1|blue}}}" style="background:#{{#switch:{{{1|blue}}}||blue=EEEEFF|red=FFE7DD|yellow=FFFFDD|grey=F0F0F0}}; width:90%; margin: 0.75em auto; border:1px dashed #{{#switch:{{{1|blue}}}||blue=4444AA|red=884444|yellow=888822|grey=444444}}; padding: 0.25em; ">
{|
| rowspan="2" | {{{image}}}
! style="text-align: left;" | {{{title}}}
|-
| {{{text}}}
|}</div><noinclude>{{documentation}}
tm6qiz17jnwoivowlgdgcbackjle96j
36227
36226
2014-11-18T20:13:20Z
Kephir
1378
orange
36227
wikitext
text/x-wiki
<div class="noprint maintenance-box maintenance-box-{{{1|blue}}}" style="background:#{{#switch:{{{1|blue}}}||blue=EEEEFF|red=FFE7DD|yellow=FFFFDD|grey=F0F0F0|orange=FFDD44}}; width:90%; margin: 0.75em auto; border:1px dashed #{{#switch:{{{1|blue}}}||blue=4444AA|red=884444|yellow=888822|grey=444444|orange=DDAA00}}; padding: 0.25em; ">
{|
| rowspan="2" | {{{image}}}
! style="text-align: left;" | {{{title}}}
|-
| {{{text}}}
|}</div><noinclude>{{documentation}}
2dk0qvz6nlbsbhe68q2lcueiscf2ng0
36228
36227
2016-02-05T20:08:47Z
TheDaveRoss
1305
Adding closing noinclude tag.
36228
wikitext
text/x-wiki
<div class="noprint maintenance-box maintenance-box-{{{1|blue}}}" style="background:#{{#switch:{{{1|blue}}}||blue=EEEEFF|red=FFE7DD|yellow=FFFFDD|grey=F0F0F0|orange=FFDD44}}; width:90%; margin: 0.75em auto; border:1px dashed #{{#switch:{{{1|blue}}}||blue=4444AA|red=884444|yellow=888822|grey=444444|orange=DDAA00}}; padding: 0.25em; ">
{|
| rowspan="2" | {{{image}}}
! style="text-align: left;" | {{{title}}}
|-
| {{{text}}}
|}</div><noinclude>{{documentation}}</noinclude>
n8lldvtjper0ph2s663yda8kyuifv9z
36229
36228
2016-10-25T19:19:11Z
TheDaveRoss
1305
Changed protection level for "[[Template:maintenance box]]": Adjusting the protection level from 'sysop' to 'template editor'. ([Edit=Allow only template editors and administrators] (indefinite) [Move=Allow only template editors and administrators] (in...
36228
wikitext
text/x-wiki
<div class="noprint maintenance-box maintenance-box-{{{1|blue}}}" style="background:#{{#switch:{{{1|blue}}}||blue=EEEEFF|red=FFE7DD|yellow=FFFFDD|grey=F0F0F0|orange=FFDD44}}; width:90%; margin: 0.75em auto; border:1px dashed #{{#switch:{{{1|blue}}}||blue=4444AA|red=884444|yellow=888822|grey=444444|orange=DDAA00}}; padding: 0.25em; ">
{|
| rowspan="2" | {{{image}}}
! style="text-align: left;" | {{{title}}}
|-
| {{{text}}}
|}</div><noinclude>{{documentation}}</noinclude>
n8lldvtjper0ph2s663yda8kyuifv9z
36230
36229
2022-08-27T12:23:41Z
WingerBot
1359
remove extraneous spaces at end of line
36230
wikitext
text/x-wiki
<div class="noprint maintenance-box maintenance-box-{{{1|blue}}}" style="background:#{{#switch:{{{1|blue}}}||blue=EEEEFF|red=FFE7DD|yellow=FFFFDD|grey=F0F0F0|orange=FFDD44}}; width:90%; margin: 0.75em auto; border:1px dashed #{{#switch:{{{1|blue}}}||blue=4444AA|red=884444|yellow=888822|grey=444444|orange=DDAA00}}; padding: 0.25em; ">
{|
| rowspan="2" | {{{image}}}
! style="text-align: left;" | {{{title}}}
|-
| {{{text}}}
|}</div><noinclude>{{documentation}}</noinclude>
6yazvx4esdwp4k9il2jp13vl6amf9b1
36231
36230
2024-09-10T18:53:06Z
Surjection
380
use TemplateStyles
36231
wikitext
text/x-wiki
<templatestyles src="Template:maintenance box/styles.css" /><div class="noprint maintenance-box maintenance-box-{{{1|blue}}}">
{|
| rowspan="2" | {{{image}}}
! style="text-align: left;" | {{{title}}}
|-
| {{{text}}}
|}</div><noinclude>{{documentation}}</noinclude>
tbevs2b3q1wg1g0axe388zrb6tdxwo0
36232
36231
2024-09-13T01:01:21Z
Theknightwho
1347
Use unified stylesheet.
36232
wikitext
text/x-wiki
<templatestyles src="Module:message box/styles.css" /><div class="noprint maintenance-box maintenance-box-{{{1|blue}}}">
{|
| rowspan="2" | {{{image}}}
! style="text-align: left;" | {{{title}}}
|-
| {{{text}}}
|}</div><noinclude>{{documentation}}</noinclude>
dsiunqyag7fwwxqu7dwzqjbaslgmzud
36233
36232
2025-10-02T18:21:14Z
Ioaxxere
1384
add class
36233
wikitext
text/x-wiki
<templatestyles src="Module:message box/styles.css" /><div class="noprint maintenance-box maintenance-box-{{{1|blue}}}">
{|
| rowspan="2" class="maintenance-box-image-cell" | {{{image}}}
! style="text-align: left;" | {{{title}}}
|-
| {{{text}}}
|}</div><noinclude>{{documentation}}</noinclude>
koy60auofsod2m9m4z9s09fscwzic84
36234
36233
2025-10-09T09:07:54Z
Juwan
804
36234
wikitext
text/x-wiki
<templatestyles src="Module:message box/styles.css" /><div class="noprint maintenance-box maintenance-box-{{{1|blue}}}">
{|
| rowspan="2" class="maintenance-box-image-cell" | {{{image|[[File:Codex icon Notice blue.svg|40px|alt=Notice]]}}}
! style="text-align: left;" | {{{title|}}}
|-
| {{{text|}}}
|}</div><noinclude>{{documentation}}</noinclude>
pn4fc374opf897cbzurxrblzw75otms
36235
36234
2026-05-26T08:24:32Z
King ChristLike
964
25 revisions imported from [[:en:Template:maintenance_box]]
36234
wikitext
text/x-wiki
<templatestyles src="Module:message box/styles.css" /><div class="noprint maintenance-box maintenance-box-{{{1|blue}}}">
{|
| rowspan="2" class="maintenance-box-image-cell" | {{{image|[[File:Codex icon Notice blue.svg|40px|alt=Notice]]}}}
! style="text-align: left;" | {{{title|}}}
|-
| {{{text|}}}
|}</div><noinclude>{{documentation}}</noinclude>
pn4fc374opf897cbzurxrblzw75otms
Module:documentation needed
828
6628
36239
2013-07-31T14:20:44Z
Rua
1351
Created page with "<includeonly>[[Category:Templates and modules needing documentation]]</includeonly><!-- --><noinclude>{{documentation}}</noinclude>"
36239
wikitext
text/x-wiki
<includeonly>[[Category:Templates and modules needing documentation]]</includeonly><!--
--><noinclude>{{documentation}}</noinclude>
qpr8sea9bkqegtymg38wrsffya343lc
36240
36239
2013-07-31T14:24:25Z
Rua
1351
36240
wikitext
text/x-wiki
<includeonly><!--
if not on a /documentation subpage, do nothing
-->{{#switch:{{lc:{{SUBPAGENAME}}}}|documentation|doc=<!--
-->[[Category:Templates and modules needing documentation]]<!--
-->}}<!--
--></includeonly><!--
--><noinclude>{{documentation}}</noinclude>
nq0jq69zniq916g0as5dkw9m9ekiiha
36241
36240
2013-07-31T14:40:25Z
Rua
1351
36241
wikitext
text/x-wiki
<includeonly><!--
-->[[Category:Templates and modules needing documentation]]<!--
--></includeonly><!--
--><noinclude>{{documentation}}</noinclude>
5ggxw9usnft6zz3vsdi5krl8ki1sg8x
36242
36241
2013-07-31T14:41:22Z
Rua
1351
36242
wikitext
text/x-wiki
<includeonly><!--
-->{{#switch:{{lc:{{SUBPAGENAME}}}}<!--
-->|documentation|doc=<!-- Don't categorize the documentation page itself
-->|#default=[[Category:Templates and modules needing documentation]]<!--
-->}}<!--
--></includeonly><!--
--><noinclude>{{documentation}}</noinclude>
f29tdbii4zze6jfg0n3p6qwddwj050j
36243
36242
2013-07-31T16:48:21Z
Rua
1351
36243
wikitext
text/x-wiki
<!--
-->{{maintenance box|blue<!--
-->| title = This {{#switch:{{NAMESPACE}}|Module=module|#default=template}} needs documentation.<!--
-->| image = [[File:Text-x-generic with pencil.svg|40px]]<!--
-->| text = Please [[Help:Documenting templates and modules|document]] this {{#switch:{{NAMESPACE}}|Module=module|#default=template}} by describing its purpose and usage on the [[{{FULLPAGENAME}}/documentation|documentation page]].<!--
-->}}<!--
--><includeonly><!--
-->{{#switch:{{lc:{{SUBPAGENAME}}}}<!--
-->|documentation|doc=<!-- Don't categorize the documentation page itself
-->|#default=[[Category:Templates and modules needing documentation]]<!--
-->}}<!--
--></includeonly><!--
--><noinclude>{{documentation}}</noinclude>
g42d5glltwp24nuk03j64zcccfcgtz1
36244
36243
2013-07-31T16:51:46Z
Rua
1351
36244
wikitext
text/x-wiki
<!--
-->{{maintenance box|blue<!--
-->| title = This {{#switch:{{NAMESPACE}}|Module=module|#default=template}} needs documentation.<!--
-->| image = [[File:Text-x-generic with pencil.svg|40px]]<!--
-->| text = Please [[Help:Documenting templates and modules|document]] this {{#switch:{{NAMESPACE}}|Module=module|#default=template}} by describing its purpose and usage on {{#switch:{{SUBPAGENAME}}|documentation|doc=this page|the [[{{FULLPAGENAME}}/documentation|documentation page]]}}.<!--
-->}}<!--
--><includeonly><!--
-->{{#switch:{{SUBPAGENAME}}<!--
-->|documentation|doc=<!-- Don't categorize the documentation page itself
-->|#default=[[Category:Templates and modules needing documentation]]<!--
-->}}<!--
--></includeonly><!--
--><noinclude>{{documentation}}</noinclude>
53j474l4yyexif6q7vebaxfqmu4b07e
36245
36244
2024-04-27T12:46:51Z
SurjectionBot
1386
Protected "[[Template:documentation needed]]": (bot) automatically protect highly visible templates/modules (reference score: 1000+ >= 1000) ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))
36244
wikitext
text/x-wiki
<!--
-->{{maintenance box|blue<!--
-->| title = This {{#switch:{{NAMESPACE}}|Module=module|#default=template}} needs documentation.<!--
-->| image = [[File:Text-x-generic with pencil.svg|40px]]<!--
-->| text = Please [[Help:Documenting templates and modules|document]] this {{#switch:{{NAMESPACE}}|Module=module|#default=template}} by describing its purpose and usage on {{#switch:{{SUBPAGENAME}}|documentation|doc=this page|the [[{{FULLPAGENAME}}/documentation|documentation page]]}}.<!--
-->}}<!--
--><includeonly><!--
-->{{#switch:{{SUBPAGENAME}}<!--
-->|documentation|doc=<!-- Don't categorize the documentation page itself
-->|#default=[[Category:Templates and modules needing documentation]]<!--
-->}}<!--
--></includeonly><!--
--><noinclude>{{documentation}}</noinclude>
53j474l4yyexif6q7vebaxfqmu4b07e
36246
36245
2025-10-08T15:29:39Z
Surjection
380
36246
wikitext
text/x-wiki
<!--
-->{{maintenance box|blue<!--
-->| title = This {{#switch:{{NAMESPACE}}|Module=module|#default=template}} needs documentation.<!--
-->| image = [[File:Text-x-generic with pencil.svg|40px|link=]]<!--
-->| text = Please [[Help:Documenting templates and modules|document]] this {{#switch:{{NAMESPACE}}|Module=module|#default=template}} by describing its purpose and usage on {{#switch:{{SUBPAGENAME}}|documentation|doc=this page|the [[{{FULLPAGENAME}}/documentation|documentation page]]}}.<!--
-->}}<!--
--><includeonly><!--
-->{{#switch:{{SUBPAGENAME}}<!--
-->|documentation|doc=<!-- Don't categorize the documentation page itself
-->|#default=[[Category:Templates and modules needing documentation]]<!--
-->}}<!--
--></includeonly><!--
--><noinclude>{{documentation}}</noinclude>
1q8cnz4z0597utgp5ip0rsw54a9nf00
36247
36246
2025-10-10T16:29:44Z
Juwan
804
36247
wikitext
text/x-wiki
{{notice
| title = This {{#switch:{{NAMESPACE}}|Module=module|#default=template}} needs documentation.
| text = Please [[Help:Documenting templates and modules|document]] this {{#switch:{{NAMESPACE}}|Module=module|#default=template}} by describing its purpose and usage on {{#switch:{{SUBPAGENAME}}|documentation|doc=this page|the [[{{FULLPAGENAME}}/documentation|documentation page]]}}.
}}<!--
--><includeonly><!--
-->{{#switch:{{SUBPAGENAME}}<!--
-->|documentation|doc=<!-- Don't categorize the documentation page itself
-->|#default=[[Category:Templates and modules needing documentation]]<!--
-->}}<!--
--></includeonly><!--
--><noinclude>{{documentation}}</noinclude>
au4b7g740p3khh3eh0zc88aoo5lsqx5
36248
36247
2026-04-15T18:03:49Z
Surjection
380
Changed protection settings for "[[Template:documentation needed]]": Highly visible template/module ([Edit=Allow only autopatrollers] (indefinite) [Move=Allow only autopatrollers] (indefinite))
36247
wikitext
text/x-wiki
{{notice
| title = This {{#switch:{{NAMESPACE}}|Module=module|#default=template}} needs documentation.
| text = Please [[Help:Documenting templates and modules|document]] this {{#switch:{{NAMESPACE}}|Module=module|#default=template}} by describing its purpose and usage on {{#switch:{{SUBPAGENAME}}|documentation|doc=this page|the [[{{FULLPAGENAME}}/documentation|documentation page]]}}.
}}<!--
--><includeonly><!--
-->{{#switch:{{SUBPAGENAME}}<!--
-->|documentation|doc=<!-- Don't categorize the documentation page itself
-->|#default=[[Category:Templates and modules needing documentation]]<!--
-->}}<!--
--></includeonly><!--
--><noinclude>{{documentation}}</noinclude>
au4b7g740p3khh3eh0zc88aoo5lsqx5
36249
36248
2026-05-26T08:24:36Z
King ChristLike
964
10 revisions imported from [[:en:Template:documentation_needed]]
36247
wikitext
text/x-wiki
{{notice
| title = This {{#switch:{{NAMESPACE}}|Module=module|#default=template}} needs documentation.
| text = Please [[Help:Documenting templates and modules|document]] this {{#switch:{{NAMESPACE}}|Module=module|#default=template}} by describing its purpose and usage on {{#switch:{{SUBPAGENAME}}|documentation|doc=this page|the [[{{FULLPAGENAME}}/documentation|documentation page]]}}.
}}<!--
--><includeonly><!--
-->{{#switch:{{SUBPAGENAME}}<!--
-->|documentation|doc=<!-- Don't categorize the documentation page itself
-->|#default=[[Category:Templates and modules needing documentation]]<!--
-->}}<!--
--></includeonly><!--
--><noinclude>{{documentation}}</noinclude>
au4b7g740p3khh3eh0zc88aoo5lsqx5
Module:notice
828
6629
36250
2005-11-17T19:53:26Z
Hydrargyrum
1482
Template copied from Wikipedia
36250
wikitext
text/x-wiki
{| class="messagebox standard-talk"
|-
|align="center"|[[Image:Info-icon.png|Comment]]
|align="left" width="100%"|{{{1}}}
|}
3e6lzwjud0a95g85yvlk4lgvl755u18
36251
36250
2006-04-26T10:04:31Z
Vildricianus
1301
[[Template:Notice]] moved to [[Template:notice]]
36250
wikitext
text/x-wiki
{| class="messagebox standard-talk"
|-
|align="center"|[[Image:Info-icon.png|Comment]]
|align="left" width="100%"|{{{1}}}
|}
3e6lzwjud0a95g85yvlk4lgvl755u18
36252
36251
2009-12-07T07:07:08Z
This, that and the other
894
style fix- will finish
36252
wikitext
text/x-wiki
{| class="messagebox standard-talk"
|-
|align="center"|[[Image:Information-icon.svg|width=60px|link=|Notice]]
|align="left" width="100%"|{{{1}}}
|}
05ijzy4uynms5a5u4h8xnurfp0oyi8w
36253
36252
2009-12-07T07:07:26Z
This, that and the other
894
wrong icon
36253
wikitext
text/x-wiki
{| class="messagebox standard-talk"
|-
|align="center"|[[Image:Information icon.svg|width=60px|link=|Notice]]
|align="left" width="100%"|{{{1}}}
|}
ixvvq5xe7zn6feiof50uw8pyuhbwxdr
36254
36253
2009-12-07T08:56:14Z
This, that and the other
894
there, that's better - now it looks like a WP {{ombox}}
36254
wikitext
text/x-wiki
{| class="wikitable" style="margin: 4px 10%;"
|-
|align="center" style="border-right:0px;padding:2px 0px 2px 0.9em;"|[[Image:Information icon.svg|60px|link=|Notice]]
|align="left" style="border-left:0px;width:100%;padding:0.25em 0.9em;"|{{{1}}}
|}
ar3zei9c451l1e62wevcxrzxcg4xcu8
36255
36254
2009-12-07T08:59:50Z
This, that and the other
894
add parameters
36255
wikitext
text/x-wiki
{| class="wikitable" style="margin: 4px 10%;"
|-
|align="center" style="border-right:0px;padding:2px 0px 2px 0.9em;"|[[File:{{{image|{{{icon|Information icon.svg}}}}}}|60px|link=|information]]
|align="left" style="border-left:0px;width:100%;padding:0.25em 0.9em;"|{{{text|{{{1}}}}}}
|}
9vsf9w8urw9h1io0twru9nbrib593pn
36256
36255
2011-09-26T18:07:15Z
Internoob
1389
documentation
36256
wikitext
text/x-wiki
{| class="wikitable" style="margin: 4px 10%;"
|-
|align="center" style="border-right:0px;padding:2px 0px 2px 0.9em;"|[[File:{{{image|{{{icon|Information icon.svg}}}}}}|60px|link=|information]]
|align="left" style="border-left:0px;width:100%;padding:0.25em 0.9em;"|{{{text|{{{1}}}}}}
|}<noinclude>{{documentation}}</noinclude>
dn0vj7fskgn8ynff4p7l6gel9te1rdw
36257
36256
2018-10-22T19:41:05Z
WOSlinker
1483
bgcolor update to style
36257
wikitext
text/x-wiki
{| class="wikitable" style="margin: 4px 10%;"
|-
|style="text-align:center;border-right:0px;padding:2px 0px 2px 0.9em;"|[[File:{{{image|{{{icon|Information icon.svg}}}}}}|60px|link=|information]]
|style="text-align:left;border-left:0px;width:100%;padding:0.25em 0.9em;"|{{{text|{{{1}}}}}}
|}<noinclude>{{documentation}}</noinclude>
m01o3e0fyy4dq8u9nx9h677cxu355zy
36258
36257
2018-11-17T16:39:27Z
90.224.200.175
LOLOOLOLOLOLOLOLOOLOLOLOLOLOLOLOLOLOLOLOLOL
36258
wikitext
text/x-wiki
{| class="wikitable" style="margin: 4px 10%;"
|-
|style="text-align:center;border-right:0px;padding:2px 0px 2px 0.9em;"|[[File:{{{image|{{{icon|Information icon.svg}}}}}}|60px|information]]
|style="text-align:left;border-left:0px;width:100%;padding:0.25em 0.9em;"|{{{text|{{{1}}}}}}
|}<noinclude>{{documentation}}</noinclude>
13afkdq6ll2ovuk0giim0yjv1vstqcj
36259
36258
2018-11-17T16:58:33Z
PUC
1484
Reverted edits by [[Special:Contributions/90.224.200.175|90.224.200.175]]. If you think this rollback is in error, please leave a message on my talk page.
36259
wikitext
text/x-wiki
{| class="wikitable" style="margin: 4px 10%;"
|-
|style="text-align:center;border-right:0px;padding:2px 0px 2px 0.9em;"|[[File:{{{image|{{{icon|Information icon.svg}}}}}}|60px|link=|information]]
|style="text-align:left;border-left:0px;width:100%;padding:0.25em 0.9em;"|{{{text|{{{1}}}}}}
|}<noinclude>{{documentation}}</noinclude>
m01o3e0fyy4dq8u9nx9h677cxu355zy
36260
36259
2018-11-26T18:37:30Z
213.66.94.143
36260
wikitext
text/x-wiki
{| class="wikitable" style="margin: 4px 10%;"
|-
|style="text-align:center;border-right:0px;padding:2px 0px 2px 0.9em;"|[[File:{{{image|{{{icon|Information icon.svg}}}}}}|60px{{!}}{{#ifeq:{{{link|}}}|none|link=|link={{{link}}}}}|information]]
|style="text-align:left;border-left:0px;width:100%;padding:0.25em 0.9em;"|{{{text|{{{1}}}}}}
|}<noinclude>{{documentation}}</noinclude>
pqjunm05ca67vk3cvbgcpwwiyfol5gt
36261
36260
2019-02-02T23:07:34Z
WOSlinker
1483
update link param
36261
wikitext
text/x-wiki
{| class="wikitable" style="margin: 4px 10%;"
|style="text-align:center;border-right:0px;padding:2px 0px 2px 0.9em;"|[[File:{{{image|{{{icon|Information icon.svg}}}}}}|60px|link={{#ifeq:{{{link|}}}|none||{{{link|}}}}}|information]]
|style="text-align:left;border-left:0px;width:100%;padding:0.25em 0.9em;"|{{{text|{{{1}}}}}}
|}<noinclude>{{documentation}}</noinclude>
tipqrq3ybki2yqvpuv7n4c5jw8mbqg3
36262
36261
2025-04-13T10:26:33Z
Surjection
380
Protected "[[Template:notice]]" ([Edit=Allow only template editors and administrators] (indefinite) [Move=Allow only template editors and administrators] (indefinite))
36261
wikitext
text/x-wiki
{| class="wikitable" style="margin: 4px 10%;"
|style="text-align:center;border-right:0px;padding:2px 0px 2px 0.9em;"|[[File:{{{image|{{{icon|Information icon.svg}}}}}}|60px|link={{#ifeq:{{{link|}}}|none||{{{link|}}}}}|information]]
|style="text-align:left;border-left:0px;width:100%;padding:0.25em 0.9em;"|{{{text|{{{1}}}}}}
|}<noinclude>{{documentation}}</noinclude>
tipqrq3ybki2yqvpuv7n4c5jw8mbqg3
36263
36262
2025-04-13T10:27:25Z
Surjection
380
36263
wikitext
text/x-wiki
{| class="wikitable" style="margin: 4px 10%; {{{style|}}}"
|style="text-align:center;border-right:0px;padding:2px 0px 2px 0.9em;"|[[File:{{{image|{{{icon|Information icon.svg}}}}}}|60px|link={{#ifeq:{{{link|}}}|none||{{{link|}}}}}|information]]
|style="text-align:left;border-left:0px;width:100%;padding:0.25em 0.9em;"|{{{text|{{{1}}}}}}
|}<noinclude>{{documentation}}</noinclude>
smvv70rmgeye1lu5h4f80aixeozewv5
36264
36263
2025-04-13T13:08:50Z
Koavf
8
Using a table for layout in 2025, really? Previewed and it works, if a bit wonky.
36264
wikitext
text/x-wiki
<div class="wikitable" style="margin: 4px 10%; {{{style|}}}">[[File:{{{image|{{{icon|Information icon.svg}}}}}}|60px|link={{#ifeq:{{{link|}}}|none||{{{link|}}}}}|information]]
{{{text|{{{1}}}}}}<noinclude>{{documentation}}</noinclude>
t3qb61kq0a7hozb9y9fsdzwlaos62ig
36265
36264
2025-04-13T20:45:01Z
Surjection
380
it does not, the image shows up in the complete wrong place for one
36265
wikitext
text/x-wiki
{| class="wikitable" style="margin: 4px 10%; {{{style|}}}"
|style="text-align:center;border-right:0px;padding:2px 0px 2px 0.9em;"|[[File:{{{image|{{{icon|Information icon.svg}}}}}}|60px|link={{#ifeq:{{{link|}}}|none||{{{link|}}}}}|information]]
|style="text-align:left;border-left:0px;width:100%;padding:0.25em 0.9em;"|{{{text|{{{1}}}}}}
|}<noinclude>{{documentation}}</noinclude>
smvv70rmgeye1lu5h4f80aixeozewv5
36266
36265
2025-04-15T13:17:41Z
Surjection
380
36266
wikitext
text/x-wiki
{| class="wikitable" style="margin: 4px 10%; {{{style|}}}"
|style="text-align:center;border-right:0px;padding:2px 0px 2px 0.9em;"|[[File:{{{image|{{{icon|Information icon.svg}}}}}}|60px|alt=Information: |link={{#ifeq:{{{link|}}}|none||{{{link|}}}}}]]
|style="text-align:left;border-left:0px;width:100%;padding:0.25em 0.9em;"|{{{text|{{{1}}}}}}
|}<noinclude>{{documentation}}</noinclude>
i3fabb1n7oqdzoypv2s6ka512b9potd
36267
36266
2025-08-21T13:06:10Z
Catonif
1360
Changed protection settings for "[[Template:notice]]": for User:JnpoJuwan to edit ([Edit=Allow only autopatrollers] (indefinite) [Move=Allow only autopatrollers] (indefinite))
36266
wikitext
text/x-wiki
{| class="wikitable" style="margin: 4px 10%; {{{style|}}}"
|style="text-align:center;border-right:0px;padding:2px 0px 2px 0.9em;"|[[File:{{{image|{{{icon|Information icon.svg}}}}}}|60px|alt=Information: |link={{#ifeq:{{{link|}}}|none||{{{link|}}}}}]]
|style="text-align:left;border-left:0px;width:100%;padding:0.25em 0.9em;"|{{{text|{{{1}}}}}}
|}<noinclude>{{documentation}}</noinclude>
i3fabb1n7oqdzoypv2s6ka512b9potd
36268
36267
2025-08-21T13:15:57Z
Juwan
804
36268
wikitext
text/x-wiki
{{maintenance box|blue
| image = [[File:Codex icon Notice blue.svg|40px]]
| title = {{{title|Note}}}
| text = {{{text|{{{1}}}}}}
}}<noinclude>{{documentation}}</noinclude>
pbs21xu7kzmsndtdrkhobb63ca9eokb
36269
36268
2025-08-21T19:14:50Z
Juwan
804
[[w:MOS:EMPTYALT]]
36269
wikitext
text/x-wiki
{{maintenance box|blue
| image = [[File:Codex icon Notice blue.svg|40px|alt=]]
| title = {{{title|Note}}}
| text = {{{text|{{{1}}}}}}
}}<noinclude>{{documentation}}</noinclude>
sfjsqgt3ea7r0igybirkcdzndftzmtj
36270
36269
2025-09-05T20:23:29Z
AutoDooz
1452
Added parameter checking
36270
wikitext
text/x-wiki
{{#invoke:checkparams|error}}<!-- Validate template parameters
-->{{maintenance box|blue
| image = [[File:Codex icon Notice blue.svg|40px|alt=]]
| title = {{{title|Note}}}
| text = {{{text|{{{1}}}}}}
}}<noinclude>{{documentation}}</noinclude>
4t04bgop5qida3o12dp968thvrrn3m6
36271
36270
2025-09-05T20:48:55Z
JeffDoozan
1464
36271
wikitext
text/x-wiki
{{#invoke:checkparams|warn}}<!-- Validate template parameters
-->{{maintenance box|blue
| image = [[File:Codex icon Notice blue.svg|40px|alt=]]
| title = {{{title|Note}}}
| text = {{{text|{{{1}}}}}}
}}<noinclude>{{documentation}}</noinclude>
qtz5lxp0p13mip51gi9lks0595lvylv
36272
36271
2025-09-05T20:51:06Z
JeffDoozan
1464
36272
wikitext
text/x-wiki
{{maintenance box|blue
| image = [[File:Codex icon Notice blue.svg|40px|alt=]]
| title = {{{title|Note}}}
| text = {{{text|{{{1}}}}}}
}}<noinclude>{{documentation}}</noinclude>
sfjsqgt3ea7r0igybirkcdzndftzmtj
36273
36272
2025-09-12T12:39:41Z
Surjection
380
36273
wikitext
text/x-wiki
{{maintenance box|blue
| image = [[File:{{{image|{{{icon|Codex icon Notice blue.svg}}}}}}|40px|alt=]]
| title = {{{title|Note}}}
| text = {{{text|{{{1}}}}}}
}}<noinclude>{{documentation}}</noinclude>
ie6tn8nyfsalquvelv70216l8xg3cg7
36274
36273
2025-09-12T12:49:31Z
Surjection
380
36274
wikitext
text/x-wiki
{{maintenance box|blue
| image = [[File:{{{image|{{{icon|Codex icon Notice blue.svg}}}}}}|40px|alt=|link=]]
| title = {{{title|Note}}}
| text = {{{text|{{{1}}}}}}
}}<noinclude>{{documentation}}</noinclude>
5i2kr0c7226yqt0ifkcfkfxzu5b53l1
36275
36274
2025-09-21T15:46:40Z
Juwan
804
[[w:MOS:EMPTYALT]]
36275
wikitext
text/x-wiki
{{maintenance box|blue
| image = [[File:{{{image|{{{icon|Codex icon Notice blue.svg}}}}}}|40px|alt=Notice]]
| title = {{{title|Note}}}
| text = {{{text|{{{1}}}}}}
}}<noinclude>{{documentation}}</noinclude>
062tbzhgr0w5tq59k6o4rszstl6g7pn
36276
36275
2025-10-10T18:27:04Z
Surjection
380
36276
wikitext
text/x-wiki
{{maintenance box|blue
| image = [[File:{{{image|{{{icon|Codex icon Notice blue.svg}}}}}}|40px|alt=Notice|link=]]
| title = {{{title|Note}}}
| text = {{{text|{{{1}}}}}}
}}<noinclude>{{documentation}}</noinclude>
qx8xywb7hpaz41fn59usxjy6coydahp
36277
36276
2026-05-26T08:24:38Z
King ChristLike
964
27 revisions imported from [[:en:Template:notice]]
36276
wikitext
text/x-wiki
{{maintenance box|blue
| image = [[File:{{{image|{{{icon|Codex icon Notice blue.svg}}}}}}|40px|alt=Notice|link=]]
| title = {{{title|Note}}}
| text = {{{text|{{{1}}}}}}
}}<noinclude>{{documentation}}</noinclude>
qx8xywb7hpaz41fn59usxjy6coydahp
Module:names
828
6630
36278
2025-11-14T18:25:52Z
Juwan
804
Juwan moved page [[Template:names]] to [[Template:template redirect]]: Standardize name: used on other wikis
36278
wikitext
text/x-wiki
#REDIRECT [[Template:template redirect]]
5hzxpkbug9k2yybnsbbu6hmdasklewv
36279
36278
2026-05-26T08:24:38Z
King ChristLike
964
1 revision imported from [[:en:Template:names]]
36278
wikitext
text/x-wiki
#REDIRECT [[Template:template redirect]]
5hzxpkbug9k2yybnsbbu6hmdasklewv
Module:module cat
828
6631
36280
2017-06-15T18:33:18Z
Erutuon
1339
invoke [[Module:module categorization]]
36280
wikitext
text/x-wiki
<includeonly>{{#invoke:module categorization|catboiler}}</includeonly><noinclude>
{{documentation}}
</noinclude>
0ypgg0u7veosc8prn4zkl7rsxkh286z
36281
36280
2017-07-24T00:49:11Z
Erutuon
1339
incorrect function name
36281
wikitext
text/x-wiki
<includeonly>{{#invoke:module categorization|categorize}}</includeonly><noinclude>
{{documentation}}
</noinclude>
qcmgkldyl43gqlqt4rzzqnsgh41llu4
36282
36281
2021-04-15T22:59:49Z
Erutuon
1339
set is_template to differentiate from [[Module:documentation]]'s use of this function
36282
wikitext
text/x-wiki
<includeonly>{{#invoke:module categorization|categorize|is_template=1}}</includeonly><noinclude>
{{documentation}}
</noinclude>
43tc6gtqqbhiu31zsd6sq7liy6z0tz0
36283
36282
2026-05-26T08:24:38Z
King ChristLike
964
3 revisions imported from [[:en:Template:module_cat]]
36282
wikitext
text/x-wiki
<includeonly>{{#invoke:module categorization|categorize|is_template=1}}</includeonly><noinclude>
{{documentation}}
</noinclude>
43tc6gtqqbhiu31zsd6sq7liy6z0tz0
Module:shortcut box/documentation
828
6632
36284
2017-01-24T08:11:04Z
Erutuon
1339
categorizing as general utility
36284
wikitext
text/x-wiki
{{documentation needed}}<!-- Replace this with a short description of the purpose of the module, and how to use it. -->
<includeonly>
[[Category:General utility modules]]
</includeonly>
1jg9ot11sf4wniuse6gz6wln3cpn1ua
36285
36284
2017-12-22T07:03:21Z
Fish bowl
1382
[[Category:Modules that parse wikitext]]
36285
wikitext
text/x-wiki
{{documentation needed}}<!-- Replace this with a short description of the purpose of the module, and how to use it. -->
<includeonly>
[[Category:General utility modules]]
[[Category:Modules that parse wikitext]]
</includeonly>
jrvex6807xriag0v4spn49kswqdiksv
36286
36285
2019-04-12T18:47:28Z
45.126.99.129
Replaced content with "gfh"
36286
wikitext
text/x-wiki
gfh
rex2onvrewfdiexzcnf9gjoxplsm2lr
36287
36286
2019-04-12T18:53:22Z
Surjection
380
Reverted edits by [[Special:Contributions/45.126.99.129|45.126.99.129]]. If you think this rollback is in error, please leave a message on my [[User talk:Surjection|talk page]].
36287
wikitext
text/x-wiki
{{documentation needed}}<!-- Replace this with a short description of the purpose of the module, and how to use it. -->
<includeonly>
[[Category:General utility modules]]
[[Category:Modules that parse wikitext]]
</includeonly>
jrvex6807xriag0v4spn49kswqdiksv
36288
36287
2021-12-15T05:57:04Z
WingerBot
1359
[[:Category:Modules that parse wikitext]] -> [[:Category:Wikitext parsing modules]] (manually assisted)
36288
wikitext
text/x-wiki
{{documentation needed}}<!-- Replace this with a short description of the purpose of the module, and how to use it. -->
<includeonly>
[[Category:General utility modules]]
[[Category:Wikitext parsing modules]]
</includeonly>
qgjgy61rogspdau16zrod9jsne08xnb
36289
36288
2022-09-26T10:43:20Z
2603:8081:5902:76CF:28CD:5F3C:3959:78CF
Blanked the page
36289
wikitext
text/x-wiki
phoiac9h4m842xq45sp7s6u21eteeq1
36290
36289
2022-09-26T11:33:36Z
Surjection
380
Reverted edits by [[Special:Contributions/2603:8081:5902:76CF:28CD:5F3C:3959:78CF|2603:8081:5902:76CF:28CD:5F3C:3959:78CF]]. If you think this rollback is in error, please leave a message on my [[User talk:Surjection|talk page]].
36290
wikitext
text/x-wiki
{{documentation needed}}<!-- Replace this with a short description of the purpose of the module, and how to use it. -->
<includeonly>
[[Category:General utility modules]]
[[Category:Wikitext parsing modules]]
</includeonly>
qgjgy61rogspdau16zrod9jsne08xnb
36291
36290
2023-12-18T11:03:25Z
JWBTH
1472
+
36291
wikitext
text/x-wiki
{{documentation needed}}<!-- Replace this with a short description of the purpose of the module, and how to use it. -->
Implementation of {{temp|shortcut}}.
<includeonly>
[[Category:General utility modules]]
[[Category:Wikitext parsing modules]]
</includeonly>
ngsvjpbgl5ymepywnrp1ykht1mwy451
36292
36291
2024-03-08T07:18:09Z
WingerBot
1359
'General utility modules' -> 'Utility modules' and remove user modules from categories (manually assisted)
36292
wikitext
text/x-wiki
{{documentation needed}}<!-- Replace this with a short description of the purpose of the module, and how to use it. -->
Implementation of {{temp|shortcut}}.
<includeonly>
[[Category:Utility modules]]
[[Category:Wikitext parsing modules]]
</includeonly>
e4idm7q1uj1ptbdgw8tr3two6gaw16h
36293
36292
2024-03-09T06:38:01Z
WingerBot
1359
fix module categorization using {{module cat}} (manually assisted)
36293
wikitext
text/x-wiki
{{documentation needed}}<!-- Replace this with a short description of the purpose of the module, and how to use it. -->
Implementation of {{temp|shortcut}}.
{{module cat|-|Page generation}}
0ckxit2kxiqoptnb2a7cp8s6n4j9shp
36294
36293
2025-08-11T16:55:53Z
J3133
1340
36294
wikitext
text/x-wiki
{{documentation needed}}<!-- Replace this with a short description of the purpose of the module, and how to use it. -->
Implementation of {{temp|shortcut}} and {{temp|names}}.
{{module cat|-|Page generation}}
ohgkn39p3b70b4veqjnxv60sie7v5ml
36295
36294
2026-05-26T08:24:38Z
King ChristLike
964
11 revisions imported from [[:en:Module:shortcut_box/documentation]]
36294
wikitext
text/x-wiki
{{documentation needed}}<!-- Replace this with a short description of the purpose of the module, and how to use it. -->
Implementation of {{temp|shortcut}} and {{temp|names}}.
{{module cat|-|Page generation}}
ohgkn39p3b70b4veqjnxv60sie7v5ml
Templeeti:user group
10
6664
39212
2022-09-08T16:02:02Z
Useigor
1343
Created page with "{| class="wikitable" style="float:right;" |- ! Name | <code>{{{1}}}</code><br>[[:Category:Wiktionary users|{{{2}}}]] |- ! [[mw:Manual:User rights|Rights]] | [[Special:ListGroupRights#{{{1}}}|Special:ListGroupRights]] |- ! Members | [[Special:ListUsers/{{{1}}}|Special:ListUsers]] |- ! Change log | [[Special:Log/rights]] |- | colspan="2" style="text-align: center;" | {{#switch:{{{1}}}<!-- -->|flood=<!-- -->[[Wiktionary:Requests for flood flag|Nomination page]]<!-- -->|pa..."
39212
wikitext
text/x-wiki
{| class="wikitable" style="float:right;"
|-
! Name
| <code>{{{1}}}</code><br>[[:Category:Wiktionary users|{{{2}}}]]
|-
! [[mw:Manual:User rights|Rights]]
| [[Special:ListGroupRights#{{{1}}}|Special:ListGroupRights]]
|-
! Members
| [[Special:ListUsers/{{{1}}}|Special:ListUsers]]
|-
! Change log
| [[Special:Log/rights]]
|-
| colspan="2" style="text-align: center;" | {{#switch:{{{1}}}<!--
-->|flood=<!--
-->[[Wiktionary:Requests for flood flag|Nomination page]]<!--
-->|patroller|autopatrolled=<!--
-->[[Wiktionary:Whitelist|Nomination page]]<!--
-->|steward=<!--
-->[[meta:Stewards/Elections|Nomination page]]<!--
-->|ipblock-exempt=<!-- redirect, Wiktionary:Beer_parlour/2019/April#Blocked_on_the_Russian_Wikipedia
-->ask [[Special:ListUsers/steward|local]]/[[meta:Steward requests/Global permissions#Requests_for_global_IP_block_exemption|global]] steward<!--
-->|no-ipinfo<!--
-->|transwiki<!-- meta:Help:Import#Assignation_of_transwiki_import_rights
-->|push-subscription-manager=<!-- undescribed
-->ask [[Special:ListUsers/steward|local]]/[[meta:Steward requests/Global permissions|global]] steward<!--
-->|sysop|bureaucrat|checkuser|bot=<!--
--><inputbox>
type=create
default=User:USERNAME for {{#switch:{{{1}}}|sysop=admin|bot=bot status|#default={{{1}}}}}
editintro=Template:vote-{{{1}}}-intro
preload=Template:vote-{{{1}}}
prefix=Wiktionary:Votes/{{#switch:{{{1}}}|sysop=sy|bureaucrat=bc|checkuser=cu|bot=bt}}-{{CURRENTYEAR}}-{{CURRENTMONTH}}
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|#default=<!--
// specified
|rollbacker|extendedmover|templateeditor
// unspecified
|confirmed|interface-admin|suppress
|accountcreator // redirect
// redirect
|import // Wiktionary:Beer_parlour/2009/March#Request_for_importer_flag
// empty
|push-subscription-manager
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour
default=User:USERNAME for {{{1}}}
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->}}
|-
! Your groups
| [[Special:UserRights/USERNAME|Special:UserRights]] / [[Special:Preferences|Preferences]]
|-
! Group list
| [[Special:ListGroupRights|Local]], [[meta:Special:GlobalGroupPermissions|Global]]
|}<!--
--><includeonly>[[Category:Wiktionary users|{{{2}}}]]</includeonly><!--
--><noinclude>[[Category:Navigation templates]]</noinclude>
8xdstkrk282536tmzq7idav4k670m25
39213
39212
2022-09-08T16:10:43Z
Useigor
1343
Wiktionary:Beer parlour: +{{CURRENTYEAR}} +{{CURRENTMONTHNAME}}
39213
wikitext
text/x-wiki
{| class="wikitable" style="float:right;"
|-
! Name
| <code>{{{1}}}</code><br>[[:Category:Wiktionary users|{{{2}}}]]
|-
! [[mw:Manual:User rights|Rights]]
| [[Special:ListGroupRights#{{{1}}}|Special:ListGroupRights]]
|-
! Members
| [[Special:ListUsers/{{{1}}}|Special:ListUsers]]
|-
! Change log
| [[Special:Log/rights]]
|-
| colspan="2" style="text-align: center;" | {{#switch:{{{1}}}<!--
-->|flood=<!--
-->[[Wiktionary:Requests for flood flag|Nomination page]]<!--
-->|patroller|autopatrolled=<!--
-->[[Wiktionary:Whitelist|Nomination page]]<!--
-->|steward=<!--
-->[[meta:Stewards/Elections|Nomination page]]<!--
-->|ipblock-exempt=<!-- redirect, Wiktionary:Beer_parlour/2019/April#Blocked_on_the_Russian_Wikipedia
-->ask [[Special:ListUsers/steward|local]]/[[meta:Steward requests/Global permissions#Requests_for_global_IP_block_exemption|global]] steward<!--
-->|no-ipinfo<!--
-->|transwiki<!-- meta:Help:Import#Assignation_of_transwiki_import_rights
-->|push-subscription-manager=<!-- undescribed
-->ask [[Special:ListUsers/steward|local]]/[[meta:Steward requests/Global permissions|global]] steward<!--
-->|sysop|bureaucrat|checkuser|bot=<!--
--><inputbox>
type=create
default=User:USERNAME for {{#switch:{{{1}}}|sysop=admin|bot=bot status|#default={{{1}}}}}
editintro=Template:vote-{{{1}}}-intro
preload=Template:vote-{{{1}}}
prefix=Wiktionary:Votes/{{#switch:{{{1}}}|sysop=sy|bureaucrat=bc|checkuser=cu|bot=bt}}-{{CURRENTYEAR}}-{{CURRENTMONTH}}
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|#default=<!--
// specified
|rollbacker|extendedmover|templateeditor
// unspecified
|confirmed|interface-admin|suppress
|accountcreator // redirect
// redirect
|import // Wiktionary:Beer_parlour/2009/March#Request_for_importer_flag
// empty
|push-subscription-manager
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for {{{1}}}
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->}}
|-
! Your groups
| [[Special:UserRights/USERNAME|Special:UserRights]] / [[Special:Preferences|Preferences]]
|-
! Group list
| [[Special:ListGroupRights|Local]], [[meta:Special:GlobalGroupPermissions|Global]]
|}<!--
--><includeonly>[[Category:Wiktionary users|{{{2}}}]]</includeonly><!--
--><noinclude>[[Category:Navigation templates]]</noinclude>
l1c93oa3mi1m2fugls96w13hs5cm4v6
39214
39213
2022-09-08T16:30:43Z
Useigor
1343
{{{1}}} does not work in <inputbox>default={{{1}}}</inputbox>
39214
wikitext
text/x-wiki
{| class="wikitable" style="float:right;"
|-
! Name
| <code>{{{1}}}</code><br>[[:Category:Wiktionary users|{{{2}}}]]
|-
! [[mw:Manual:User rights|Rights]]
| [[Special:ListGroupRights#{{{1}}}|Special:ListGroupRights]]
|-
! Members
| [[Special:ListUsers/{{{1}}}|Special:ListUsers]]
|-
! Change log
| [[Special:Log/rights]]
|-
| colspan="2" style="text-align: center;" | {{#switch:{{{1}}}<!--
-->|flood=<!--
-->[[Wiktionary:Requests for flood flag|Nomination page]]<!--
-->|patroller|autopatrolled=<!--
-->[[Wiktionary:Whitelist|Nomination page]]<!--
-->|steward=<!--
-->[[meta:Stewards/Elections|Nomination page]]<!--
-->|ipblock-exempt=<!-- redirect, Wiktionary:Beer_parlour/2019/April#Blocked_on_the_Russian_Wikipedia
-->ask [[Special:ListUsers/steward|local]]/[[meta:Steward requests/Global permissions#Requests_for_global_IP_block_exemption|global]] steward<!--
-->|no-ipinfo<!--
-->|transwiki<!-- meta:Help:Import#Assignation_of_transwiki_import_rights
-->|push-subscription-manager=<!-- undescribed
-->ask [[Special:ListUsers/steward|local]]/[[meta:Steward requests/Global permissions|global]] steward<!--
-->|sysop|bureaucrat|checkuser|bot=<!--
--><inputbox>
type=create
default=User:USERNAME for {{#switch:{{{1}}}|sysop=admin|bot=bot status|#default={{{1}}}}}
editintro=Template:vote-{{{1}}}-intro
preload=Template:vote-{{{1}}}
prefix=Wiktionary:Votes/{{#switch:{{{1}}}|sysop=sy|bureaucrat=bc|checkuser=cu|bot=bt}}-{{CURRENTYEAR}}-{{CURRENTMONTH}}
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
--// DEFAULT //----------------------------------------------------
-->|rollbacker=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for rollbacker group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|extendedmover=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for extendedmover group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|templateeditor=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for templateeditor group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|confirmed=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for confirmed group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|interface-admin=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for interface-admin group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|suppress=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for suppress group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|accountcreator=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for accountcreator group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|import=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for import group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|push-subscription-manager=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for push-subscription-manager group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|#default=<!--
// specified
|rollbacker|extendedmover|templateeditor
// unspecified
|confirmed|interface-admin|suppress
|accountcreator // redirect
// redirect
|import // Wiktionary:Beer_parlour/2009/March#Request_for_importer_flag
// empty
|push-subscription-manager
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for {{{1|GROUPNAME}}}
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->}}
|-
! Your groups
| [[Special:UserRights/USERNAME|Special:UserRights]] / [[Special:Preferences|Preferences]]
|-
! Group list
| [[Special:ListGroupRights|Local]], [[meta:Special:GlobalGroupPermissions|Global]]
|}<!--
--><includeonly>[[Category:Wiktionary users|{{{2}}}]]</includeonly><!--
--><noinclude>[[Category:Navigation templates]]</noinclude>
n14yrnfwagupc84rzpjpey9bte3cu8s
39215
39214
2022-09-08T16:39:38Z
Useigor
1343
-Category:Wiktionary users (redundant)
39215
wikitext
text/x-wiki
{| class="wikitable" style="float:right;"
|-
! Name
| <code>{{{1}}}</code><br>{{{2}}}
|-
! [[mw:Manual:User rights|Rights]]
| [[Special:ListGroupRights#{{{1}}}|Special:ListGroupRights]]
|-
! Members
| [[Special:ListUsers/{{{1}}}|Special:ListUsers]]
|-
! Change log
| [[Special:Log/rights]]
|-
| colspan="2" style="text-align: center;" | {{#switch:{{{1}}}<!--
-->|flood=<!--
-->[[Wiktionary:Requests for flood flag|Nomination page]]<!--
-->|patroller|autopatrolled=<!--
-->[[Wiktionary:Whitelist|Nomination page]]<!--
-->|steward=<!--
-->[[meta:Stewards/Elections|Nomination page]]<!--
-->|ipblock-exempt=<!-- redirect, Wiktionary:Beer_parlour/2019/April#Blocked_on_the_Russian_Wikipedia
-->ask [[Special:ListUsers/steward|local]]/[[meta:Steward requests/Global permissions#Requests_for_global_IP_block_exemption|global]] steward<!--
-->|no-ipinfo<!--
-->|transwiki<!-- meta:Help:Import#Assignation_of_transwiki_import_rights
-->|push-subscription-manager=<!-- undescribed
-->ask [[Special:ListUsers/steward|local]]/[[meta:Steward requests/Global permissions|global]] steward<!--
-->|sysop|bureaucrat|checkuser|bot=<!--
--><inputbox>
type=create
default=User:USERNAME for {{#switch:{{{1}}}|sysop=admin|bot=bot status|#default={{{1}}}}}
editintro=Template:vote-{{{1}}}-intro
preload=Template:vote-{{{1}}}
prefix=Wiktionary:Votes/{{#switch:{{{1}}}|sysop=sy|bureaucrat=bc|checkuser=cu|bot=bt}}-{{CURRENTYEAR}}-{{CURRENTMONTH}}
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
--// DEFAULT //----------------------------------------------------
-->|rollbacker=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for rollbacker group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|extendedmover=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for extendedmover group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|templateeditor=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for templateeditor group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|confirmed=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for confirmed group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|interface-admin=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for interface-admin group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|suppress=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for suppress group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|accountcreator=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for accountcreator group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|import=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for import group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|push-subscription-manager=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for push-subscription-manager group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|#default=<!--
// specified
|rollbacker|extendedmover|templateeditor
// unspecified
|confirmed|interface-admin|suppress
|accountcreator // redirect
// redirect
|import // Wiktionary:Beer_parlour/2009/March#Request_for_importer_flag
// empty
|push-subscription-manager
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for {{{1|GROUPNAME}}}
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->}}
|-
! Your groups
| [[Special:UserRights/USERNAME|Special:UserRights]] / [[Special:Preferences|Preferences]]
|-
! Group list
| [[Special:ListGroupRights|Local]], [[meta:Special:GlobalGroupPermissions|Global]]
|}<!--
--><includeonly>[[Category:Wiktionary users|{{{2}}}]]</includeonly><!--
--><noinclude>[[Category:Navigation templates]]</noinclude>
4zjjssro4e08s6a33c9ay2lfc0bi8kj
39216
39215
2022-09-08T16:41:19Z
Useigor
1343
39216
wikitext
text/x-wiki
{| class="wikitable" style="float:right;"
|-
|+ User group
|-
! Name
| <code>{{{1}}}</code><br>{{{2}}}
|-
! [[mw:Manual:User rights|Rights]]
| [[Special:ListGroupRights#{{{1}}}|Special:ListGroupRights]]
|-
! Members
| [[Special:ListUsers/{{{1}}}|Special:ListUsers]]
|-
! Change log
| [[Special:Log/rights]]
|-
| colspan="2" style="text-align: center;" | {{#switch:{{{1}}}<!--
-->|flood=<!--
-->[[Wiktionary:Requests for flood flag|Nomination page]]<!--
-->|patroller|autopatrolled=<!--
-->[[Wiktionary:Whitelist|Nomination page]]<!--
-->|steward=<!--
-->[[meta:Stewards/Elections|Nomination page]]<!--
-->|ipblock-exempt=<!-- redirect, Wiktionary:Beer_parlour/2019/April#Blocked_on_the_Russian_Wikipedia
-->ask [[Special:ListUsers/steward|local]]/[[meta:Steward requests/Global permissions#Requests_for_global_IP_block_exemption|global]] steward<!--
-->|no-ipinfo<!--
-->|transwiki<!-- meta:Help:Import#Assignation_of_transwiki_import_rights
-->|push-subscription-manager=<!-- undescribed
-->ask [[Special:ListUsers/steward|local]]/[[meta:Steward requests/Global permissions|global]] steward<!--
-->|sysop|bureaucrat|checkuser|bot=<!--
--><inputbox>
type=create
default=User:USERNAME for {{#switch:{{{1}}}|sysop=admin|bot=bot status|#default={{{1}}}}}
editintro=Template:vote-{{{1}}}-intro
preload=Template:vote-{{{1}}}
prefix=Wiktionary:Votes/{{#switch:{{{1}}}|sysop=sy|bureaucrat=bc|checkuser=cu|bot=bt}}-{{CURRENTYEAR}}-{{CURRENTMONTH}}
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
--// DEFAULT //----------------------------------------------------
-->|rollbacker=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for rollbacker group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|extendedmover=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for extendedmover group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|templateeditor=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for templateeditor group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|confirmed=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for confirmed group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|interface-admin=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for interface-admin group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|suppress=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for suppress group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|accountcreator=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for accountcreator group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|import=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for import group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|push-subscription-manager=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for push-subscription-manager group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|#default=<!--
// specified
|rollbacker|extendedmover|templateeditor
// unspecified
|confirmed|interface-admin|suppress
|accountcreator // redirect
// redirect
|import // Wiktionary:Beer_parlour/2009/March#Request_for_importer_flag
// empty
|push-subscription-manager
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for {{{1|GROUPNAME}}}
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->}}
|-
! Your groups
| [[Special:UserRights/USERNAME|Special:UserRights]] / [[Special:Preferences|Preferences]]
|-
! Group list
| [[Special:ListGroupRights|Local]], [[meta:Special:GlobalGroupPermissions|Global]]
|}<!--
--><includeonly>[[Category:Wiktionary users|{{{2}}}]]</includeonly><!--
--><noinclude>[[Category:Navigation templates]]</noinclude>
47w2tnooc4kdave44o41wzcr8b8i6ml
39217
39216
2022-09-08T16:47:37Z
Useigor
1343
++CSS (clear:right;)
39217
wikitext
text/x-wiki
{| class="wikitable" style="clear: right; float:right;"
|-
|+ User group
|-
! Name
| <code>{{{1}}}</code><br>{{{2}}}
|-
! [[mw:Manual:User rights|Rights]]
| [[Special:ListGroupRights#{{{1}}}|Special:ListGroupRights]]
|-
! Members
| [[Special:ListUsers/{{{1}}}|Special:ListUsers]]
|-
! Change log
| [[Special:Log/rights]]
|-
| colspan="2" style="text-align: center;" | {{#switch:{{{1}}}<!--
-->|flood=<!--
-->[[Wiktionary:Requests for flood flag|Nomination page]]<!--
-->|patroller|autopatrolled=<!--
-->[[Wiktionary:Whitelist|Nomination page]]<!--
-->|steward=<!--
-->[[meta:Stewards/Elections|Nomination page]]<!--
-->|ipblock-exempt=<!-- redirect, Wiktionary:Beer_parlour/2019/April#Blocked_on_the_Russian_Wikipedia
-->ask [[Special:ListUsers/steward|local]]/[[meta:Steward requests/Global permissions#Requests_for_global_IP_block_exemption|global]] steward<!--
-->|no-ipinfo<!--
-->|transwiki<!-- meta:Help:Import#Assignation_of_transwiki_import_rights
-->|push-subscription-manager=<!-- undescribed
-->ask [[Special:ListUsers/steward|local]]/[[meta:Steward requests/Global permissions|global]] steward<!--
-->|sysop|bureaucrat|checkuser|bot=<!--
--><inputbox>
type=create
default=User:USERNAME for {{#switch:{{{1}}}|sysop=admin|bot=bot status|#default={{{1}}}}}
editintro=Template:vote-{{{1}}}-intro
preload=Template:vote-{{{1}}}
prefix=Wiktionary:Votes/{{#switch:{{{1}}}|sysop=sy|bureaucrat=bc|checkuser=cu|bot=bt}}-{{CURRENTYEAR}}-{{CURRENTMONTH}}
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
--// DEFAULT //----------------------------------------------------
-->|rollbacker=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for rollbacker group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|extendedmover=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for extendedmover group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|templateeditor=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for templateeditor group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|confirmed=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for confirmed group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|interface-admin=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for interface-admin group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|suppress=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for suppress group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|accountcreator=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for accountcreator group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|import=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for import group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|push-subscription-manager=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for push-subscription-manager group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|#default=<!--
// specified
|rollbacker|extendedmover|templateeditor
// unspecified
|confirmed|interface-admin|suppress
|accountcreator // redirect
// redirect
|import // Wiktionary:Beer_parlour/2009/March#Request_for_importer_flag
// empty
|push-subscription-manager
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for {{{1|GROUPNAME}}}
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->}}
|-
! Your groups
| [[Special:UserRights/USERNAME|Special:UserRights]] / [[Special:Preferences|Preferences]]
|-
! Group list
| [[Special:ListGroupRights|Local]], [[meta:Special:GlobalGroupPermissions|Global]]
|}<!--
--><includeonly>[[Category:Wiktionary users|{{{2}}}]]</includeonly><!--
--><noinclude>[[Category:Navigation templates]]</noinclude>
t0l9cg6aocmp0hhadt0vxnz6zeo55fg
39218
39217
2022-09-08T16:56:06Z
Useigor
1343
+[[mw:Help:Magic words|NUMBERINGROUP]]
39218
wikitext
text/x-wiki
{| class="wikitable" style="clear: right; float:right;"
|-
|+ User group
|-
! Name
| <code>{{{1}}}</code><br>{{{2}}}
|-
! [[mw:Manual:User rights|Rights]]
| [[Special:ListGroupRights#{{{1}}}|Special:ListGroupRights]]
|-
! Members ({{NUMBERINGROUP:{{{1}}}}})
| [[Special:ListUsers/{{{1}}}|Special:ListUsers]]
|-
! Change log
| [[Special:Log/rights]]
|-
| colspan="2" style="text-align: center;" | {{#switch:{{{1}}}<!--
-->|flood=<!--
-->[[Wiktionary:Requests for flood flag|Nomination page]]<!--
-->|patroller|autopatrolled=<!--
-->[[Wiktionary:Whitelist|Nomination page]]<!--
-->|steward=<!--
-->[[meta:Stewards/Elections|Nomination page]]<!--
-->|ipblock-exempt=<!-- redirect, Wiktionary:Beer_parlour/2019/April#Blocked_on_the_Russian_Wikipedia
-->ask [[Special:ListUsers/steward|local]]/[[meta:Steward requests/Global permissions#Requests_for_global_IP_block_exemption|global]] steward<!--
-->|no-ipinfo<!--
-->|transwiki<!-- meta:Help:Import#Assignation_of_transwiki_import_rights
-->|push-subscription-manager=<!-- undescribed
-->ask [[Special:ListUsers/steward|local]]/[[meta:Steward requests/Global permissions|global]] steward<!--
-->|sysop|bureaucrat|checkuser|bot=<!--
--><inputbox>
type=create
default=User:USERNAME for {{#switch:{{{1}}}|sysop=admin|bot=bot status|#default={{{1}}}}}
editintro=Template:vote-{{{1}}}-intro
preload=Template:vote-{{{1}}}
prefix=Wiktionary:Votes/{{#switch:{{{1}}}|sysop=sy|bureaucrat=bc|checkuser=cu|bot=bt}}-{{CURRENTYEAR}}-{{CURRENTMONTH}}
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
--// DEFAULT //----------------------------------------------------
-->|rollbacker=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for rollbacker group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|extendedmover=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for extendedmover group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|templateeditor=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for templateeditor group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|confirmed=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for confirmed group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|interface-admin=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for interface-admin group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|suppress=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for suppress group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|accountcreator=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for accountcreator group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|import=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for import group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|push-subscription-manager=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for push-subscription-manager group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|#default=<!--
// specified
|rollbacker|extendedmover|templateeditor
// unspecified
|confirmed|interface-admin|suppress
|accountcreator // redirect
// redirect
|import // Wiktionary:Beer_parlour/2009/March#Request_for_importer_flag
// empty
|push-subscription-manager
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for {{{1|GROUPNAME}}}
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->}}
|-
! Your groups
| [[Special:UserRights/USERNAME|Special:UserRights]] / [[Special:Preferences|Preferences]]
|-
! Group list
| [[Special:ListGroupRights|Local]], [[meta:Special:GlobalGroupPermissions|Global]]
|}<!--
--><includeonly>[[Category:Wiktionary users|{{{2}}}]]</includeonly><!--
--><noinclude>[[Category:Navigation templates]]</noinclude>
qtgm54w3xpkl0b4rb2x9bibaeivechd
39219
39218
2022-09-08T18:07:55Z
Useigor
1343
{{{1}}} in sysop, bureaucrat, checkuser, bot
39219
wikitext
text/x-wiki
{| class="wikitable" style="clear: right; float:right;"
|-
|+ User group
|-
! Name
| <code>{{{1}}}</code><br>{{{2}}}
|-
! [[mw:Manual:User rights|Rights]]
| [[Special:ListGroupRights#{{{1}}}|Special:ListGroupRights]]
|-
! Members ({{NUMBERINGROUP:{{{1}}}}})
| [[Special:ListUsers/{{{1}}}|Special:ListUsers]]
|-
! Change log
| [[Special:Log/rights]]
|-
| colspan="2" style="text-align: center;" | {{#switch:{{{1}}}<!--
-->|flood=<!--
-->[[Wiktionary:Requests for flood flag|Nomination page]]<!--
-->|patroller|autopatrolled=<!--
-->[[Wiktionary:Whitelist|Nomination page]]<!--
-->|steward=<!--
-->[[meta:Stewards/Elections|Nomination page]]<!--
-->|ipblock-exempt=<!-- redirect, Wiktionary:Beer_parlour/2019/April#Blocked_on_the_Russian_Wikipedia
-->ask [[Special:ListUsers/steward|local]]/[[meta:Steward requests/Global permissions#Requests_for_global_IP_block_exemption|global]] steward<!--
-->|no-ipinfo<!--
-->|transwiki<!-- meta:Help:Import#Assignation_of_transwiki_import_rights
-->|push-subscription-manager=<!-- undescribed
-->ask [[Special:ListUsers/steward|local]]/[[meta:Steward requests/Global permissions|global]] steward<!--
-->|sysop=<!--
--><inputbox>
type=create
default=User:USERNAME for admin
editintro=Template:vote-sysop-intro
preload=Template:vote-sysop
prefix=Wiktionary:Votes/sy-{{CURRENTYEAR}}-{{CURRENTMONTH}}
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|bureaucrat=<!--
--><inputbox>
type=create
default=User:USERNAME for bureaucrat
editintro=Template:vote-bureaucrat-intro
preload=Template:vote-bureaucrat
prefix=Wiktionary:Votes/bc-{{CURRENTYEAR}}-{{CURRENTMONTH}}
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|checkuser=<!--
--><inputbox>
type=create
default=User:USERNAME for checkuser
editintro=Template:vote-checkuser-intro
preload=Template:vote-checkuser
prefix=Wiktionary:Votes/cu-{{CURRENTYEAR}}-{{CURRENTMONTH}}
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|bot=<!--
--><inputbox>
type=create
default=User:USERNAME for bot status
editintro=Template:vote-bot-intro
preload=Template:vote-bot
prefix=Wiktionary:Votes/bt-{{CURRENTYEAR}}-{{CURRENTMONTH}}
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
--// DEFAULT //----------------------------------------------------
-->|rollbacker=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for rollbacker group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|extendedmover=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for extendedmover group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|templateeditor=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for templateeditor group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|confirmed=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for confirmed group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|interface-admin=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for interface-admin group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|suppress=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for suppress group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|accountcreator=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for accountcreator group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|import=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for import group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|push-subscription-manager=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for push-subscription-manager group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|#default=<!--
// specified
|rollbacker|extendedmover|templateeditor
// unspecified
|confirmed|interface-admin|suppress
|accountcreator // redirect
// redirect
|import // Wiktionary:Beer_parlour/2009/March#Request_for_importer_flag
// empty
|push-subscription-manager
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for {{{1|GROUPNAME}}}
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->}}
|-
! Your groups
| [[Special:UserRights/USERNAME|Special:UserRights]] / [[Special:Preferences|Preferences]]
|-
! Group list
| [[Special:ListGroupRights|Local]], [[meta:Special:GlobalGroupPermissions|Global]]
|}<!--
--><includeonly>[[Category:Wiktionary users|{{{2}}}]]</includeonly><!--
--><noinclude>[[Category:Navigation templates]]</noinclude>
gvfdpp6k9out2gynl9xuetz4346tlgi
39220
39219
2022-09-08T18:09:51Z
Useigor
1343
"/" to preifx
39220
wikitext
text/x-wiki
{| class="wikitable" style="clear: right; float:right;"
|-
|+ User group
|-
! Name
| <code>{{{1}}}</code><br>{{{2}}}
|-
! [[mw:Manual:User rights|Rights]]
| [[Special:ListGroupRights#{{{1}}}|Special:ListGroupRights]]
|-
! Members ({{NUMBERINGROUP:{{{1}}}}})
| [[Special:ListUsers/{{{1}}}|Special:ListUsers]]
|-
! Change log
| [[Special:Log/rights]]
|-
| colspan="2" style="text-align: center;" | {{#switch:{{{1}}}<!--
-->|flood=<!--
-->[[Wiktionary:Requests for flood flag|Nomination page]]<!--
-->|patroller|autopatrolled=<!--
-->[[Wiktionary:Whitelist|Nomination page]]<!--
-->|steward=<!--
-->[[meta:Stewards/Elections|Nomination page]]<!--
-->|ipblock-exempt=<!-- redirect, Wiktionary:Beer_parlour/2019/April#Blocked_on_the_Russian_Wikipedia
-->ask [[Special:ListUsers/steward|local]]/[[meta:Steward requests/Global permissions#Requests_for_global_IP_block_exemption|global]] steward<!--
-->|no-ipinfo<!--
-->|transwiki<!-- meta:Help:Import#Assignation_of_transwiki_import_rights
-->|push-subscription-manager=<!-- undescribed
-->ask [[Special:ListUsers/steward|local]]/[[meta:Steward requests/Global permissions|global]] steward<!--
-->|sysop=<!--
--><inputbox>
type=create
default=User:USERNAME for admin
editintro=Template:vote-sysop-intro
preload=Template:vote-sysop
prefix=Wiktionary:Votes/sy-{{CURRENTYEAR}}-{{CURRENTMONTH}}/
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|bureaucrat=<!--
--><inputbox>
type=create
default=User:USERNAME for bureaucrat
editintro=Template:vote-bureaucrat-intro
preload=Template:vote-bureaucrat
prefix=Wiktionary:Votes/bc-{{CURRENTYEAR}}-{{CURRENTMONTH}}/
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|checkuser=<!--
--><inputbox>
type=create
default=User:USERNAME for checkuser
editintro=Template:vote-checkuser-intro
preload=Template:vote-checkuser
prefix=Wiktionary:Votes/cu-{{CURRENTYEAR}}-{{CURRENTMONTH}}/
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|bot=<!--
--><inputbox>
type=create
default=User:USERNAME for bot status
editintro=Template:vote-bot-intro
preload=Template:vote-bot
prefix=Wiktionary:Votes/bt-{{CURRENTYEAR}}-{{CURRENTMONTH}}/
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
--// DEFAULT //----------------------------------------------------
-->|rollbacker=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for rollbacker group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|extendedmover=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for extendedmover group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|templateeditor=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for templateeditor group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|confirmed=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for confirmed group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|interface-admin=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for interface-admin group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|suppress=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for suppress group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|accountcreator=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for accountcreator group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|import=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for import group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|push-subscription-manager=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for push-subscription-manager group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|#default=<!--
// specified
|rollbacker|extendedmover|templateeditor
// unspecified
|confirmed|interface-admin|suppress
|accountcreator // redirect
// redirect
|import // Wiktionary:Beer_parlour/2009/March#Request_for_importer_flag
// empty
|push-subscription-manager
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for {{{1|GROUPNAME}}}
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->}}
|-
! Your groups
| [[Special:UserRights/USERNAME|Special:UserRights]] / [[Special:Preferences|Preferences]]
|-
! Group list
| [[Special:ListGroupRights|Local]], [[meta:Special:GlobalGroupPermissions|Global]]
|}<!--
--><includeonly>[[Category:Wiktionary users|{{{2}}}]]</includeonly><!--
--><noinclude>[[Category:Navigation templates]]</noinclude>
q5hppwdvsxbefr8gqu8q72h8ekjwqcx
39221
39220
2022-09-08T18:27:58Z
Useigor
1343
+autoconfirmed
39221
wikitext
text/x-wiki
{| class="wikitable" style="clear: right; float:right;"
|-
|+ User group
|-
! Name
| <code>{{{1}}}</code><br>{{{2}}}
|-
! [[mw:Manual:User rights|Rights]]
| [[Special:ListGroupRights#{{{1}}}|Special:ListGroupRights]]
|-
! Members ({{NUMBERINGROUP:{{{1}}}}})
| [[Special:ListUsers/{{{1}}}|Special:ListUsers]]
|-
! Change log
| [[Special:Log/rights]]
|-
| colspan="2" style="text-align: center;" | {{#switch:{{{1}}}<!--
-->|autoconfirmed=<!--
-->[[Wikipedia:User_access_levels#Autoconfirmed_and_confirmed_users|Granted automatically]]<!--
-->|flood=<!--
-->[[Wiktionary:Requests for flood flag|Nomination page]]<!--
-->|patroller|autopatrolled=<!--
-->[[Wiktionary:Whitelist|Nomination page]]<!--
-->|steward=<!--
-->[[meta:Stewards/Elections|Nomination page]]<!--
-->|ipblock-exempt=<!-- redirect, Wiktionary:Beer_parlour/2019/April#Blocked_on_the_Russian_Wikipedia
-->ask [[Special:ListUsers/steward|local]]/[[meta:Steward requests/Global permissions#Requests_for_global_IP_block_exemption|global]] steward<!--
-->|no-ipinfo<!--
-->|transwiki<!-- meta:Help:Import#Assignation_of_transwiki_import_rights
-->|push-subscription-manager=<!-- undescribed
-->ask [[Special:ListUsers/steward|local]]/[[meta:Steward requests/Global permissions|global]] steward<!--
-->|sysop=<!--
--><inputbox>
type=create
default=User:USERNAME for admin
editintro=Template:vote-sysop-intro
preload=Template:vote-sysop
prefix=Wiktionary:Votes/sy-{{CURRENTYEAR}}-{{CURRENTMONTH}}/
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|bureaucrat=<!--
--><inputbox>
type=create
default=User:USERNAME for bureaucrat
editintro=Template:vote-bureaucrat-intro
preload=Template:vote-bureaucrat
prefix=Wiktionary:Votes/bc-{{CURRENTYEAR}}-{{CURRENTMONTH}}/
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|checkuser=<!--
--><inputbox>
type=create
default=User:USERNAME for checkuser
editintro=Template:vote-checkuser-intro
preload=Template:vote-checkuser
prefix=Wiktionary:Votes/cu-{{CURRENTYEAR}}-{{CURRENTMONTH}}/
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|bot=<!--
--><inputbox>
type=create
default=User:USERNAME for bot status
editintro=Template:vote-bot-intro
preload=Template:vote-bot
prefix=Wiktionary:Votes/bt-{{CURRENTYEAR}}-{{CURRENTMONTH}}/
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
--// DEFAULT //----------------------------------------------------
-->|rollbacker=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for rollbacker group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|extendedmover=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for extendedmover group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|templateeditor=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for templateeditor group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|confirmed=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for confirmed group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|interface-admin=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for interface-admin group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|suppress=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for suppress group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|accountcreator=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for accountcreator group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|import=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for import group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|push-subscription-manager=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for push-subscription-manager group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|#default=<!--
// specified
|rollbacker|extendedmover|templateeditor
// unspecified
|confirmed|interface-admin|suppress
|accountcreator // redirect
// redirect
|import // Wiktionary:Beer_parlour/2009/March#Request_for_importer_flag
// empty
|push-subscription-manager
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for {{{1|GROUPNAME}}}
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->}}
|-
! Your groups
| [[Special:UserRights/USERNAME|Special:UserRights]] / [[Special:Preferences|Preferences]]
|-
! Group list
| [[Special:ListGroupRights|Local]], [[meta:Special:GlobalGroupPermissions|Global]]
|}<!--
--><includeonly>[[Category:Wiktionary users|{{{2}}}]]</includeonly><!--
--><noinclude>[[Category:Navigation templates]]</noinclude>
niauqm640krwmbuy1n035lo4lxsh2o6
39222
39221
2022-09-09T17:01:12Z
Useigor
1343
++link
39222
wikitext
text/x-wiki
{| class="wikitable" style="clear: right; float:right;"
|-
|+ [[phabricator:source/mediawiki-config/browse/master/wmf-config/InitialiseSettings.php|User group]] <!--
https://gerrit.wikimedia.org/r/plugins/gitiles/operations/mediawiki-config/+log/refs/heads/master/wmf-config/InitialiseSettings.php
https://gerrit.wikimedia.org/r/q/project:operations%252Fmediawiki-config
https://codesearch.wmcloud.org/search/?q=user%20group&files=wmf-config%2FInitialiseSettings.php
https://www.mediawiki.org/wiki/Help:User_rights_and_groups
-->
|-
! Name
| <code>{{{1}}}</code><br>{{{2}}}
|-
! [[mw:Manual:User rights|Rights]]
| [[Special:ListGroupRights#{{{1}}}|Special:ListGroupRights]]
|-
! [[Special:Statistics|Members ({{NUMBERINGROUP:{{{1}}}}})]]
| [[Special:ListUsers/{{{1}}}|All]], [https://en.wiktionary.org/wiki/Special:ActiveUsers?groups={{{1}}} Active]
|-
! Change log
| [[Special:Log/rights]]
|-
| colspan="2" style="text-align: center;" | {{#switch:{{{1}}}<!--
-->|autoconfirmed=<!--
-->[[Wikipedia:User_access_levels#Autoconfirmed_and_confirmed_users|Granted automatically]]<!--
-->|flood=<!--
-->[[Wiktionary:Requests for flood flag|Nomination page]]<!--
-->|patroller|autopatrolled=<!--
-->[[Wiktionary:Whitelist|Nomination page]]<!--
-->|steward=<!--
-->[[meta:Stewards/Elections|Nomination page]]<!--
-->|ipblock-exempt=<!-- redirect, Wiktionary:Beer_parlour/2019/April#Blocked_on_the_Russian_Wikipedia
-->ask [[Special:ListUsers/steward|local]]/[[meta:Steward requests/Global permissions#Requests_for_global_IP_block_exemption|global]] steward<!--
-->|no-ipinfo<!--
-->|transwiki<!-- meta:Help:Import#Assignation_of_transwiki_import_rights
-->|push-subscription-manager=<!-- undescribed
-->ask [[Special:ListUsers/steward|local]]/[[meta:Steward requests/Global permissions|global]] steward<!--
// Wiktionary:Votes //
-->|sysop=<!--
--><inputbox>
type=create
default=User:USERNAME for admin
editintro=Template:vote-sysop-intro
preload=Template:vote-sysop
prefix=Wiktionary:Votes/sy-{{CURRENTYEAR}}-{{CURRENTMONTH}}/
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|bureaucrat=<!--
--><inputbox>
type=create
default=User:USERNAME for bureaucrat
editintro=Template:vote-bureaucrat-intro
preload=Template:vote-bureaucrat
prefix=Wiktionary:Votes/bc-{{CURRENTYEAR}}-{{CURRENTMONTH}}/
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|checkuser=<!--
--><inputbox>
type=create
default=User:USERNAME for checkuser
editintro=Template:vote-checkuser-intro
preload=Template:vote-checkuser
prefix=Wiktionary:Votes/cu-{{CURRENTYEAR}}-{{CURRENTMONTH}}/
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|bot=<!--
--><inputbox>
type=create
default=User:USERNAME for bot status
editintro=Template:vote-bot-intro
preload=Template:vote-bot
prefix=Wiktionary:Votes/bt-{{CURRENTYEAR}}-{{CURRENTMONTH}}/
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
--// DEFAULT (could be) //----------------------------------------------------
// specified nomination page //
-->|rollbacker=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for rollbacker group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|extendedmover=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for extendedmover group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|templateeditor=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for templateeditor group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
// unspecified nomination page //
-->|confirmed=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for confirmed group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|interface-admin=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for interface-admin group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|suppress=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for suppress group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
// redirect page //
-->|accountcreator=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for accountcreator group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|import=<!-- Wiktionary:Beer_parlour/2009/March#Request_for_importer_flag
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for import group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
// empty page //
-->|push-subscription-manager=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for push-subscription-manager group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|#default=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for {{{1|GROUPNAME}}}
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->}}
|-
! [[Special:Preferences|Your groups]]
| [[Special:UserRights/USERNAME|Local]], [[Special:GlobalUserRights/USERNAME|Global]]
|-
! Group list
| [[Special:ListGroupRights|Local]], [[toolforge:meta/globalgroups|Global]]
|}<!--
--><includeonly>[[Category:Wiktionary users|{{{2}}}]]</includeonly><!--
--><noinclude>[[Category:Navigation templates]]</noinclude>
kikxq4739jhn3ppazn7u0v18jkhidy4
39223
39222
2022-09-10T11:19:16Z
Useigor
1343
39223
wikitext
text/x-wiki
{| class="wikitable" style="clear: right; float:right;"
|-
|+ [https://noc.wikimedia.org/conf/highlight.php?file=InitialiseSettings.php User group] <!--
https://noc.wikimedia.org/conf/highlight.php?file=interwiki.php
https://www.mediawiki.org/wiki/Help:User_rights_and_groups
-->
|-
! Name
| <code>{{{1}}}</code><br>{{{2}}}
|-
! [[mw:Manual:User rights|Rights]]
| [[Special:ListGroupRights#{{{1}}}|Special:ListGroupRights]]
|-
! [[Special:Statistics|Members ({{NUMBERINGROUP:{{{1}}}}})]]
| [[Special:ListUsers/{{{1}}}|All]], [{{fullurl:Special:ActiveUsers|groups={{{1}}}}} Active]
|-
! Change log
| [[Special:Log/rights]]
|-
| colspan="2" style="text-align: center;" | {{#switch:{{{1}}}<!--
-->|autoconfirmed=<!--
-->[[Wikipedia:User_access_levels#Autoconfirmed_and_confirmed_users|Granted automatically]]<!--
-->|flood=<!--
-->[[Wiktionary:Requests for flood flag|Nomination page]]<!--
-->|patroller|autopatrolled=<!--
-->[[Wiktionary:Whitelist|Nomination page]]<!--
-->|steward=<!--
-->[[meta:Stewards/Elections|Nomination page]]<!--
-->|ipblock-exempt=<!-- redirect, Wiktionary:Beer_parlour/2019/April#Blocked_on_the_Russian_Wikipedia
-->ask [[Special:ListUsers/steward|local]]/[[meta:Steward requests/Global permissions#Requests_for_global_IP_block_exemption|global]] steward<!--
-->|no-ipinfo<!--
-->|transwiki<!-- meta:Help:Import#Assignation_of_transwiki_import_rights
-->|push-subscription-manager=<!-- undescribed
-->ask [[Special:ListUsers/steward|local]]/[[meta:Steward requests/Global permissions|global]] steward<!--
// Wiktionary:Votes //
-->|sysop=<!--
--><inputbox>
type=create
default=User:USERNAME for admin
editintro=Template:vote-sysop-intro
preload=Template:vote-sysop
prefix=Wiktionary:Votes/sy-{{CURRENTYEAR}}-{{CURRENTMONTH}}/
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|bureaucrat=<!--
--><inputbox>
type=create
default=User:USERNAME for bureaucrat
editintro=Template:vote-bureaucrat-intro
preload=Template:vote-bureaucrat
prefix=Wiktionary:Votes/bc-{{CURRENTYEAR}}-{{CURRENTMONTH}}/
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|checkuser=<!--
--><inputbox>
type=create
default=User:USERNAME for checkuser
editintro=Template:vote-checkuser-intro
preload=Template:vote-checkuser
prefix=Wiktionary:Votes/cu-{{CURRENTYEAR}}-{{CURRENTMONTH}}/
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|bot=<!--
--><inputbox>
type=create
default=User:USERNAME for bot status
editintro=Template:vote-bot-intro
preload=Template:vote-bot
prefix=Wiktionary:Votes/bt-{{CURRENTYEAR}}-{{CURRENTMONTH}}/
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
--// DEFAULT (could be) //----------------------------------------------------
// specified nomination page //
-->|rollbacker=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for rollbacker group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|extendedmover=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for extendedmover group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|templateeditor=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for templateeditor group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
// unspecified nomination page //
-->|confirmed=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for confirmed group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|interface-admin=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for interface-admin group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|suppress=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for suppress group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
// redirect page //
-->|accountcreator=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for accountcreator group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|import=<!-- Wiktionary:Beer_parlour/2009/March#Request_for_importer_flag
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for import group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
// empty page //
-->|push-subscription-manager=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for push-subscription-manager group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|#default=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for {{{1|GROUPNAME}}}
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->}}
|-
! [[Special:Preferences|Your groups]]
| [[Special:UserRights/USERNAME|Local]], [[Special:GlobalUserRights/USERNAME|Global]]
|-
! Group list
| [[Special:ListGroupRights|Local]], [[toolforge:meta/globalgroups|Global]]
|}<!--
--><includeonly>[[Category:Wiktionary users|{{{2}}}]]</includeonly><!--
--><noinclude>[[Category:Navigation templates]]</noinclude>
hdmcnk1sd8vxzmcvmf5spux27qvguwk
39224
39223
2024-01-22T03:03:36Z
78.177.250.81
39224
wikitext
text/x-wiki
{| class="wikitable" style="clear: right; float:right;"
|-
|+ [https://noc.wikimedia.org/conf/highlight.php?file=InitialiseSettings.php User group] <!--
https://noc.wikimedia.org/conf/highlight.php?file=interwiki.php
https://www.mediawiki.org/wiki/Help:User_rights_and_groups
-->
|-
! Name
| <code>{{{1}}}</code><br>{{{2}}}
|-
! [[mw:Manual:User rights|Rights]]
| [[Special:ListGroupRights#{{{1}}}|Special:ListGroupRights]]
|-
! [[Special:Statistics|Members ({{NUMBERINGROUP:{{{1}}}}})]]
| [[Special:ListUsers/{{{1}}}|All]], [{{fullurl:Special:ActiveUsers|groups={{{1}}}}} Active]
|-
! Change log
| [[Special:Log/rights]]
|-
| colspan="2" style="text-align: center;" | {{#switch:{{{1}}}<!--
-->|autoconfirmed=<!--
-->[[Wikipedia:User_access_levels#Autoconfirmed_and_confirmed_users|Granted automatically]]<!--
-->|flood=<!--
-->[[Wiktionary:Requests for flood flag|Nomination page]]<!--
-->|patroller|autopatrolled=<!--
-->[[Wiktionary:Whitelist|Nomination page]]<!--
-->|steward=<!--
-->[[meta:Stewards/Elections|Nomination page]]<!--
-->|ipblock-exempt=<!-- redirect, Wiktionary:Beer_parlour/2019/April#Blocked_on_the_Russian_Wikipedia
-->ask [[Special:ListUsers/steward|local]]/[[meta:Steward requests/Global permissions#Requests_for_global_IP_block_exemption|global]] steward<!--
-->|no-ipinfo<!--
-->|transwiki<!-- meta:Help:Import#Assignation_of_transwiki_import_rights
-->|push-subscription-manager=<!-- undescribed
-->ask [[Special:ListUsers/steward|local]]/[[meta:Steward requests/Global permissions|global]] steward<!--
// Wiktionary:Votes //
-->|sysop=<!--
--><inputbox>
type=create
default=User:USERNAME for admin
editintro=Template:vote-sysop-intro
preload=Template:vote-sysop
prefix=Wiktionary:Votes/sy-{{CURRENTYEAR}}-{{CURRENTMONTH}}/
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|bureaucrat=<!--
--><inputbox>
type=create
default=User:USERNAME for bureaucrat
editintro=Template:vote-bureaucrat-intro
preload=Template:vote-bureaucrat
prefix=Wiktionary:Votes/bc-{{CURRENTYEAR}}-{{CURRENTMONTH}}/
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|checkuser=<!--
--><inputbox>
type=create
default=User:USERNAME for checkuser
editintro=Template:vote-checkuser-intro
preload=Template:vote-checkuser
prefix=Wiktionary:Votes/cu-{{CURRENTYEAR}}-{{CURRENTMONTH}}/
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|bot=<!--
--><inputbox>
type=create
default=User:USERNAME for bot status
editintro=Template:vote-bot-intro
preload=Template:vote-bot
prefix=Wiktionary:Votes/bt-{{CURRENTYEAR}}-{{CURRENTMONTH}}/
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
--// DEFAULT (could be) //----------------------------------------------------
// specified nomination page //
-->|rollbacker=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for rollbacker group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|extendedmover=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for extendedmover group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|templateeditor=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for templateeditor group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
// unspecified nomination page //
-->|confirmed=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for confirmed group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|interface-admin=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for interface-admin group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|suppress=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for suppress group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
// redirect page //
-->|accountcreator=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for accountcreator group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|import=<!-- Wiktionary:Beer_parlour/2009/March#Request_for_importer_flag
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for import group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
// empty page //
-->|push-subscription-manager=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for push-subscription-manager group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|#default=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for {{{1|GROUPNAME}}}
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->}}
|-
! [[Special:Preferences|Your groups]]
| [[Special:UserRights/USERNAME|Local]], [[Special:GlobalUserRights/USERNAME|Global]]
|-
! Group list
| [[Special:ListGroupRights|Local]], [[toolforge:meta/globalgroups|Global]]
|}<!--
--><includeonly>[[Category:Wiktionary usetoolforge:meta/globalgroups|Globalrs|{{{2}}}]]</includeonly><!--
--><noinclude>[[Category:Navigation templates]]</noinclude>
f2hqfolma53j4ppfuksat38bq51xhxu
39225
39224
2024-01-22T05:44:28Z
Svartava
428
Reverted edits by [[Special:Contributions/78.177.250.81|78.177.250.81]]; if you disagree with this rollback, please [[Special:NewSection/User talk:Svartava|leave a message]] on my talk-page.
39225
wikitext
text/x-wiki
{| class="wikitable" style="clear: right; float:right;"
|-
|+ [https://noc.wikimedia.org/conf/highlight.php?file=InitialiseSettings.php User group] <!--
https://noc.wikimedia.org/conf/highlight.php?file=interwiki.php
https://www.mediawiki.org/wiki/Help:User_rights_and_groups
-->
|-
! Name
| <code>{{{1}}}</code><br>{{{2}}}
|-
! [[mw:Manual:User rights|Rights]]
| [[Special:ListGroupRights#{{{1}}}|Special:ListGroupRights]]
|-
! [[Special:Statistics|Members ({{NUMBERINGROUP:{{{1}}}}})]]
| [[Special:ListUsers/{{{1}}}|All]], [{{fullurl:Special:ActiveUsers|groups={{{1}}}}} Active]
|-
! Change log
| [[Special:Log/rights]]
|-
| colspan="2" style="text-align: center;" | {{#switch:{{{1}}}<!--
-->|autoconfirmed=<!--
-->[[Wikipedia:User_access_levels#Autoconfirmed_and_confirmed_users|Granted automatically]]<!--
-->|flood=<!--
-->[[Wiktionary:Requests for flood flag|Nomination page]]<!--
-->|patroller|autopatrolled=<!--
-->[[Wiktionary:Whitelist|Nomination page]]<!--
-->|steward=<!--
-->[[meta:Stewards/Elections|Nomination page]]<!--
-->|ipblock-exempt=<!-- redirect, Wiktionary:Beer_parlour/2019/April#Blocked_on_the_Russian_Wikipedia
-->ask [[Special:ListUsers/steward|local]]/[[meta:Steward requests/Global permissions#Requests_for_global_IP_block_exemption|global]] steward<!--
-->|no-ipinfo<!--
-->|transwiki<!-- meta:Help:Import#Assignation_of_transwiki_import_rights
-->|push-subscription-manager=<!-- undescribed
-->ask [[Special:ListUsers/steward|local]]/[[meta:Steward requests/Global permissions|global]] steward<!--
// Wiktionary:Votes //
-->|sysop=<!--
--><inputbox>
type=create
default=User:USERNAME for admin
editintro=Template:vote-sysop-intro
preload=Template:vote-sysop
prefix=Wiktionary:Votes/sy-{{CURRENTYEAR}}-{{CURRENTMONTH}}/
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|bureaucrat=<!--
--><inputbox>
type=create
default=User:USERNAME for bureaucrat
editintro=Template:vote-bureaucrat-intro
preload=Template:vote-bureaucrat
prefix=Wiktionary:Votes/bc-{{CURRENTYEAR}}-{{CURRENTMONTH}}/
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|checkuser=<!--
--><inputbox>
type=create
default=User:USERNAME for checkuser
editintro=Template:vote-checkuser-intro
preload=Template:vote-checkuser
prefix=Wiktionary:Votes/cu-{{CURRENTYEAR}}-{{CURRENTMONTH}}/
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|bot=<!--
--><inputbox>
type=create
default=User:USERNAME for bot status
editintro=Template:vote-bot-intro
preload=Template:vote-bot
prefix=Wiktionary:Votes/bt-{{CURRENTYEAR}}-{{CURRENTMONTH}}/
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
--// DEFAULT (could be) //----------------------------------------------------
// specified nomination page //
-->|rollbacker=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for rollbacker group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|extendedmover=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for extendedmover group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|templateeditor=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for templateeditor group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
// unspecified nomination page //
-->|confirmed=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for confirmed group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|interface-admin=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for interface-admin group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|suppress=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for suppress group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
// redirect page //
-->|accountcreator=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for accountcreator group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|import=<!-- Wiktionary:Beer_parlour/2009/March#Request_for_importer_flag
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for import group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
// empty page //
-->|push-subscription-manager=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for push-subscription-manager group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|#default=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for {{{1|GROUPNAME}}}
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->}}
|-
! [[Special:Preferences|Your groups]]
| [[Special:UserRights/USERNAME|Local]], [[Special:GlobalUserRights/USERNAME|Global]]
|-
! Group list
| [[Special:ListGroupRights|Local]], [[toolforge:meta/globalgroups|Global]]
|}<!--
--><includeonly>[[Category:Wiktionary users|{{{2}}}]]</includeonly><!--
--><noinclude>[[Category:Navigation templates]]</noinclude>
hdmcnk1sd8vxzmcvmf5spux27qvguwk
39226
39225
2025-09-21T13:00:03Z
Emanuele6
1416
fix link to wikipedia
39226
wikitext
text/x-wiki
{| class="wikitable" style="clear: right; float:right;"
|-
|+ [https://noc.wikimedia.org/conf/highlight.php?file=InitialiseSettings.php User group] <!--
https://noc.wikimedia.org/conf/highlight.php?file=interwiki.php
https://www.mediawiki.org/wiki/Help:User_rights_and_groups
-->
|-
! Name
| <code>{{{1}}}</code><br>{{{2}}}
|-
! [[mw:Manual:User rights|Rights]]
| [[Special:ListGroupRights#{{{1}}}|Special:ListGroupRights]]
|-
! [[Special:Statistics|Members ({{NUMBERINGROUP:{{{1}}}}})]]
| [[Special:ListUsers/{{{1}}}|All]], [{{fullurl:Special:ActiveUsers|groups={{{1}}}}} Active]
|-
! Change log
| [[Special:Log/rights]]
|-
| colspan="2" style="text-align: center;" | {{#switch:{{{1}}}<!--
-->|autoconfirmed=<!--
-->[[w:Wikipedia:User_access_levels#Autoconfirmed_and_confirmed_users|Granted automatically]]<!--
-->|flood=<!--
-->[[Wiktionary:Requests for flood flag|Nomination page]]<!--
-->|patroller|autopatrolled=<!--
-->[[Wiktionary:Whitelist|Nomination page]]<!--
-->|steward=<!--
-->[[meta:Stewards/Elections|Nomination page]]<!--
-->|ipblock-exempt=<!-- redirect, Wiktionary:Beer_parlour/2019/April#Blocked_on_the_Russian_Wikipedia
-->ask [[Special:ListUsers/steward|local]]/[[meta:Steward requests/Global permissions#Requests_for_global_IP_block_exemption|global]] steward<!--
-->|no-ipinfo<!--
-->|transwiki<!-- meta:Help:Import#Assignation_of_transwiki_import_rights
-->|push-subscription-manager=<!-- undescribed
-->ask [[Special:ListUsers/steward|local]]/[[meta:Steward requests/Global permissions|global]] steward<!--
// Wiktionary:Votes //
-->|sysop=<!--
--><inputbox>
type=create
default=User:USERNAME for admin
editintro=Template:vote-sysop-intro
preload=Template:vote-sysop
prefix=Wiktionary:Votes/sy-{{CURRENTYEAR}}-{{CURRENTMONTH}}/
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|bureaucrat=<!--
--><inputbox>
type=create
default=User:USERNAME for bureaucrat
editintro=Template:vote-bureaucrat-intro
preload=Template:vote-bureaucrat
prefix=Wiktionary:Votes/bc-{{CURRENTYEAR}}-{{CURRENTMONTH}}/
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|checkuser=<!--
--><inputbox>
type=create
default=User:USERNAME for checkuser
editintro=Template:vote-checkuser-intro
preload=Template:vote-checkuser
prefix=Wiktionary:Votes/cu-{{CURRENTYEAR}}-{{CURRENTMONTH}}/
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|bot=<!--
--><inputbox>
type=create
default=User:USERNAME for bot status
editintro=Template:vote-bot-intro
preload=Template:vote-bot
prefix=Wiktionary:Votes/bt-{{CURRENTYEAR}}-{{CURRENTMONTH}}/
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
--// DEFAULT (could be) //----------------------------------------------------
// specified nomination page //
-->|rollbacker=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for rollbacker group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|extendedmover=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for extendedmover group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|templateeditor=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for templateeditor group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
// unspecified nomination page //
-->|confirmed=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for confirmed group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|interface-admin=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for interface-admin group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|suppress=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for suppress group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
// redirect page //
-->|accountcreator=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for accountcreator group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|import=<!-- Wiktionary:Beer_parlour/2009/March#Request_for_importer_flag
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for import group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
// empty page //
-->|push-subscription-manager=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for push-subscription-manager group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|#default=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for {{{1|GROUPNAME}}}
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->}}
|-
! [[Special:Preferences|Your groups]]
| [[Special:UserRights/USERNAME|Local]], [[Special:GlobalUserRights/USERNAME|Global]]
|-
! Group list
| [[Special:ListGroupRights|Local]], [[toolforge:meta/globalgroups|Global]]
|}<!--
--><includeonly>[[Category:Wiktionary users|{{{2}}}]]</includeonly><!--
--><noinclude>[[Category:Navigation templates]]</noinclude>
fiwfcr510rl466jhdhgrmnyojccoro0
39227
39226
2026-05-26T10:44:55Z
King ChristLike
964
15 revisions imported from [[:en:Template:user_group]]
39226
wikitext
text/x-wiki
{| class="wikitable" style="clear: right; float:right;"
|-
|+ [https://noc.wikimedia.org/conf/highlight.php?file=InitialiseSettings.php User group] <!--
https://noc.wikimedia.org/conf/highlight.php?file=interwiki.php
https://www.mediawiki.org/wiki/Help:User_rights_and_groups
-->
|-
! Name
| <code>{{{1}}}</code><br>{{{2}}}
|-
! [[mw:Manual:User rights|Rights]]
| [[Special:ListGroupRights#{{{1}}}|Special:ListGroupRights]]
|-
! [[Special:Statistics|Members ({{NUMBERINGROUP:{{{1}}}}})]]
| [[Special:ListUsers/{{{1}}}|All]], [{{fullurl:Special:ActiveUsers|groups={{{1}}}}} Active]
|-
! Change log
| [[Special:Log/rights]]
|-
| colspan="2" style="text-align: center;" | {{#switch:{{{1}}}<!--
-->|autoconfirmed=<!--
-->[[w:Wikipedia:User_access_levels#Autoconfirmed_and_confirmed_users|Granted automatically]]<!--
-->|flood=<!--
-->[[Wiktionary:Requests for flood flag|Nomination page]]<!--
-->|patroller|autopatrolled=<!--
-->[[Wiktionary:Whitelist|Nomination page]]<!--
-->|steward=<!--
-->[[meta:Stewards/Elections|Nomination page]]<!--
-->|ipblock-exempt=<!-- redirect, Wiktionary:Beer_parlour/2019/April#Blocked_on_the_Russian_Wikipedia
-->ask [[Special:ListUsers/steward|local]]/[[meta:Steward requests/Global permissions#Requests_for_global_IP_block_exemption|global]] steward<!--
-->|no-ipinfo<!--
-->|transwiki<!-- meta:Help:Import#Assignation_of_transwiki_import_rights
-->|push-subscription-manager=<!-- undescribed
-->ask [[Special:ListUsers/steward|local]]/[[meta:Steward requests/Global permissions|global]] steward<!--
// Wiktionary:Votes //
-->|sysop=<!--
--><inputbox>
type=create
default=User:USERNAME for admin
editintro=Template:vote-sysop-intro
preload=Template:vote-sysop
prefix=Wiktionary:Votes/sy-{{CURRENTYEAR}}-{{CURRENTMONTH}}/
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|bureaucrat=<!--
--><inputbox>
type=create
default=User:USERNAME for bureaucrat
editintro=Template:vote-bureaucrat-intro
preload=Template:vote-bureaucrat
prefix=Wiktionary:Votes/bc-{{CURRENTYEAR}}-{{CURRENTMONTH}}/
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|checkuser=<!--
--><inputbox>
type=create
default=User:USERNAME for checkuser
editintro=Template:vote-checkuser-intro
preload=Template:vote-checkuser
prefix=Wiktionary:Votes/cu-{{CURRENTYEAR}}-{{CURRENTMONTH}}/
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|bot=<!--
--><inputbox>
type=create
default=User:USERNAME for bot status
editintro=Template:vote-bot-intro
preload=Template:vote-bot
prefix=Wiktionary:Votes/bt-{{CURRENTYEAR}}-{{CURRENTMONTH}}/
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
--// DEFAULT (could be) //----------------------------------------------------
// specified nomination page //
-->|rollbacker=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for rollbacker group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|extendedmover=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for extendedmover group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|templateeditor=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for templateeditor group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
// unspecified nomination page //
-->|confirmed=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for confirmed group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|interface-admin=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for interface-admin group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|suppress=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for suppress group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
// redirect page //
-->|accountcreator=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for accountcreator group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|import=<!-- Wiktionary:Beer_parlour/2009/March#Request_for_importer_flag
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for import group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
// empty page //
-->|push-subscription-manager=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for push-subscription-manager group
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->|#default=<!--
--><inputbox>
type=commenttitle
page=Wiktionary:Beer parlour/{{CURRENTYEAR}}/{{CURRENTMONTHNAME}}
default=User:USERNAME for {{{1|GROUPNAME}}}
break=no
buttonlabel=Nominate
width=32
</inputbox><!--
-->}}
|-
! [[Special:Preferences|Your groups]]
| [[Special:UserRights/USERNAME|Local]], [[Special:GlobalUserRights/USERNAME|Global]]
|-
! Group list
| [[Special:ListGroupRights|Local]], [[toolforge:meta/globalgroups|Global]]
|}<!--
--><includeonly>[[Category:Wiktionary users|{{{2}}}]]</includeonly><!--
--><noinclude>[[Category:Navigation templates]]</noinclude>
fiwfcr510rl466jhdhgrmnyojccoro0
Wiktionary:Votes
4
6665
39228
2026-05-26T11:12:19Z
King ChristLike
964
created page
39228
wikitext
text/x-wiki
{{information page}}
{{shortcut|WT:VOTE|WT:VOTES|WT:V}}
'''Votes''' formalize and document the consensus-building process and the decisions that the community makes. This page displays the full contents of recent, current and planned votes.
See '''[[Wiktionary:Votes/Active]]''' to add new votes to the “active” list and remove old ones. Finished votes are added to '''[[Wiktionary:Votes/Timeline]]''', an organized archive of previous votes and their results, sorted by the vote end date.
<inputbox>
bgcolor = transparent
type = fulltext
prefix = Wiktionary:Votes
break = no
width = 50
searchbuttonlabel = Search past votes
</inputbox>
==Creating a new vote==
{{hatnote|For the policy, see [[Wiktionary:Voting policy]].}}
{{hatnote|For a tutorial for creating a vote, see [[Help:Creating a vote]].}}
{{warning
| title = Before starting a new vote
| text = Change “Title of vote” in associated the field to add a short description, or add the user to after “User:”. Once the vote is created, add it to the [[Wiktionary:Votes/Active|list of active votes]].
}}
<div class="center">
{| border=1 style="border: solid 1px gray; border-collapse: collapse;"
| colspan=2 style="vertical-align: top; padding-top: 0.5em" |
<div class="center" style="padding-bottom: 0.5em">
<inputbox>
type = create
editintro = Template:vote-generic-intro
preload = Template:vote-generic
default = Wiktionary:Votes/{{CURRENTYEAR}}-{{CURRENTMONTH}}/Title of vote
buttonlabel = Start a new vote!
width = 60
</inputbox>
</div>
|-
| style="vertical-align: top; padding-top: 0.5em" | <div class="center">
<inputbox>
type = create
editintro = Template:vote-sysop-intro
preload = Template:vote-sysop
default = Wiktionary:Votes/sy-{{CURRENTYEAR}}-{{CURRENTMONTH}}/User: for admin
buttonlabel = Start a new Administrator vote!
width = 50
</inputbox>
Note: Update the vote list at [[WT:A]].
</div>
| style="vertical-align: top; padding-top: 0.5em" |
<div class="center">
<inputbox>
type = create
editintro = Template:vote-bureaucrat-intro
preload = Template:vote-bureaucrat
default = Wiktionary:Votes/bc-{{CURRENTYEAR}}-{{CURRENTMONTH}}/User: for bureaucrat
buttonlabel = Start a new Bureaucrat vote!
width = 50
</inputbox>
Note: Update the vote list at [[WT:B]].
</div>
|-
| style="vertical-align: top; padding-top: 0.5em" |
<div class="center">
<inputbox>
type = create
editintro = Template:vote-checkuser-intro
preload = Template:vote-checkuser
default = Wiktionary:Votes/cu-{{CURRENTYEAR}}-{{CURRENTMONTH}}/User: for checkuser
buttonlabel = Start a new CheckUser vote!
width = 50
</inputbox>
Note: Update the vote list at [[WT:C]].
</div>
| style="vertical-align: top; padding-top: 0.5em" |
<div class="center">
<inputbox>
type = create
editintro = Template:vote-bot-intro
preload = Template:vote-bot
default = Wiktionary:Votes/bt-{{CURRENTYEAR}}-{{CURRENTMONTH}}/User: for bot status
buttonlabel = Start a new Bot vote!
width = 50
</inputbox>
</div>
|}
</div>
===Routine clean-up===
For admins, periodically check for orphan votes at [[Wiktionary:Votes/]] for votes and voting templates, including templates for creation of new votes:
* [[Special:PrefixIndex/Wiktionary:Votes|Pages starting with "Wiktionary:Votes"]].
* [[Special:PrefixIndex/Template:vote-|Pages starting with "Template:vote-"]].
==Current and new votes==
{{votes}}
==Proposed votes==
The following are proposals for new votes, excluding nominations, in cases where the proposer of the vote prefers that the vote is written collaboratively, or where the vote appears to require substantial revision. If you have not created a passing vote yet, it is recommended that you use this section and actively solicit feedback by linking to your proposal in discussion; your vote may have a better chance of passing if it is first reviewed.
Votes may linger here indefinitely. If changes in policy make a proposal irrelevant, the voting page will be requested for deletion. On the other hand, you do not have to be the creator to initiate one of the votes below. Place any votes with a live start date in the section above at least a few days before that start date arrives.
===Forthcoming votes===
{{#categorytree:Votes that have not been opened|mode=pages|hideroot=on}}
[[Category:Wiktionary votes| ]]
gmfl03cx0k9lax9tjhya5ick1aw3r7c