CINXE.COM
မေႃႇၵျူး:Message box - ဝီႇၶီႇပပ်ႉ
<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-disabled skin-theme-clientpref-day vector-toc-available" lang="shn" dir="ltr"> <head> <meta charset="UTF-8"> <title>မေႃႇၵျူး:Message box - ဝီႇၶီႇပပ်ႉ</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-disabled skin-theme-clientpref-day vector-toc-available";var cookie=document.cookie.match(/(?:^|; )shnwikibooksmwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat" :"dmy","wgMonthNames":["","ၸၼ်ႇဝႃႇရီႇ","ၾႅပ်ႇဝႃႇရီႇ","မၢတ်ႉၶျ်","ဢေႇပရႄႇ","မေႇ","ၸုၼ်ႇ","ၸူႇလၢႆႇ","ဢေႃးၵၢတ်ႉ","သႅပ်ႇထႅမ်ႇပႃႇ","ဢွၵ်ႇထူဝ်ႇပႃႇ","ၼူဝ်ႇဝႅမ်ႇပႃႇ","တီႇသႅမ်ႇပႃႇ"],"wgRequestId":"8673db78-71bc-4d67-ae3a-2aa444ca684f","wgCanonicalNamespace":"Module","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":828,"wgPageName":"မေႃႇၵျူး:Message_box","wgTitle":"Message box","wgCurRevisionId":10099,"wgRevisionId":10099,"wgArticleId":1938,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Pages using the JsonConfig extension","Pages with script errors","Modules subject to page protection","Templates using TemplateStyles"],"wgPageViewLanguage":"shn","wgPageContentLanguage":"shn", "wgPageContentModel":"Scribunto","wgRelevantPageName":"မေႃႇၵျူး:Message_box","wgRelevantArticleId":1938,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"wikibooks","wgCiteReferencePreviewsActive":true,"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":20000,"ScribuntoErrors":{"f76d74c6":true,"7028dfd0":true},"ScribuntoErrors-f76d74c6":"\u003Cp\u003EScript error: The function \"sublength\" does not exist.\u003C/p\u003E\u003Cp\u003ENo further details are available.\u003C/p\u003E","ScribuntoErrors-7028dfd0": "\u003Cp\u003EScript error: The function \"match\" does not exist.\u003C/p\u003E\u003Cp\u003ENo further details are available.\u003C/p\u003E","wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q15116966","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"]};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.pygments":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=[ "ext.scribunto.errors","ext.pygments.view","site","mediawiki.page.ready","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.wikidialog","ext.gadget.commons-file","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","wikibase.client.vector-2022","ext.checkUser.clientHints","wikibase.sidebar.tracking"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=shn&modules=ext.pygments%2CwikimediaBadges%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediamessages.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&only=styles&skin=vector-2022"> <script async="" src="/w/load.php?lang=shn&modules=startup&only=scripts&raw=1&skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=shn&modules=site.styles&only=styles&skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.5"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="မေႃႇၵျူး:Message box - ဝီႇၶီႇပပ်ႉ"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//shn.m.wikibooks.org/wiki/%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8:Message_box"> <link rel="alternate" type="application/x-wiki" title="မႄးထတ်း" href="/w/index.php?title=%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8:Message_box&action=edit"> <link rel="icon" href="/static/favicon/wikibooks.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="ဝီႇၶီႇပပ်ႉ (shn)"> <link rel="EditURI" type="application/rsd+xml" href="//shn.wikibooks.org/w/api.php?action=rsd"> <link rel="canonical" href="https://shn.wikibooks.org/wiki/%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8:Message_box"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.shn"> <link rel="alternate" type="application/atom+xml" title="ၾိတ်ႉဢတွမ်ႊ ဝီႇၶီႇပပ်ႉ ဢၼ်" href="/w/index.php?title=%E1%81%B6%E1%80%AD%E1%80%AF%E1%81%B5%E1%80%BA%E1%82%89%E1%80%90%E1%80%BD%E1%81%BC%E1%80%BA%E1%80%B8:%E1%80%9C%E1%80%BD%E1%80%84%E1%80%BA%E1%82%88%E1%80%9C%E1%82%85%E1%81%B5%E1%80%BA%E1%82%88%E1%80%9C%E1%81%A2%E1%82%86%E1%82%88%E1%80%99%E1%82%82%E1%80%BA%E1%82%87%E1%80%99%E1%82%82%E1%80%BA%E1%82%87&feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-828 ns-subject mw-editable page-မေႃႇၵျူး_Message_box rootpage-မေႃႇၵျူး_Message_box skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="မႄးၼူး ပိူင်လူင်" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">မႄးၼူး ပိူင်လူင်</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">မႄးၼူး ပိူင်လူင်</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">သိူင်ႇ</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> ၼႄတၢင်း </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage" class="mw-list-item"><a href="/wiki/%E1%81%BC%E1%82%83%E1%82%88%E1%82%81%E1%80%B0%E1%80%9D%E1%80%BA%E1%82%81%E1%82%85%E1%81%B5%E1%80%BA%E1%82%88" title="ၶဝ်ႈလႄႇ ၼႃႈႁူဝ်ႁႅၵ်ႈ [z]" accesskey="z"><span>ၼႃႈႁူဝ်ႁႅၵ်ႈ</span></a></li><li id="n-help" class="mw-list-item"><a href="https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents" title="ဢွင်ႈတီႈ တႃႇသွၵ်ႈႁႃ"><span>ၸွႆႈထႅမ်</span></a></li><li id="n-ၸွမ်းတူၺ်း" class="mw-list-item"><a href="/wiki/%E1%80%9D%E1%80%AE%E1%82%87%E1%81%B6%E1%80%AE%E1%82%87%E1%80%95%E1%80%95%E1%80%BA%E1%82%89:Card_Catalog_Office"><span>ၸွမ်းတူၺ်း</span></a></li><li id="n-ပပ်ႉတူမ်ႈႁုင်" class="mw-list-item"><a href="/wiki/%E1%80%95%E1%80%95%E1%80%BA%E1%82%89%E1%80%90%E1%80%B0%E1%80%99%E1%80%BA%E1%82%88%E1%82%81%E1%80%AF%E1%80%84%E1%80%BA:%E1%80%9C%E1%80%99%E1%80%BA%E1%80%B8%E1%81%BC%E1%82%82%E1%80%BA%E1%80%B8"><span>ပပ်ႉတူမ်ႈႁုင်</span></a></li><li id="n-ဝီႇၶီႇလုၵ်ႈဢွၼ်ႇ" class="mw-list-item"><a href="/wiki/%E1%80%9D%E1%80%AE%E1%82%87%E1%81%B6%E1%80%AE%E1%82%87%E1%80%9C%E1%80%AF%E1%81%B5%E1%80%BA%E1%82%88%E1%80%A2%E1%80%BD%E1%81%BC%E1%80%BA%E1%82%87"><span>ဝီႇၶီႇလုၵ်ႈဢွၼ်ႇ</span></a></li><li id="n-ပပ်ႉၼႄႉၼမ်း" class="mw-list-item"><a href="/wiki/%E1%80%9D%E1%80%AE%E1%82%87%E1%81%B6%E1%80%AE%E1%82%87%E1%80%95%E1%80%95%E1%80%BA%E1%82%89:Featured_books"><span>ပပ်ႉၼႄႉၼမ်း</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/%E1%81%B6%E1%80%AD%E1%80%AF%E1%81%B5%E1%80%BA%E1%82%89%E1%80%90%E1%80%BD%E1%81%BC%E1%80%BA%E1%80%B8:%E1%80%9C%E1%80%BD%E1%80%84%E1%80%BA%E1%82%88%E1%80%9C%E1%82%85%E1%81%B5%E1%80%BA%E1%82%88%E1%80%9C%E1%81%A2%E1%82%86%E1%82%88%E1%80%99%E1%82%82%E1%80%BA%E1%82%87%E1%80%99%E1%82%82%E1%80%BA%E1%82%87" title="သဵၼ်ႈမၢႆမူၼ်ႉမႄးၼႂ်းဝီႇၶီႇ ဢၼ်ပႆႇႁိုင် [r]" accesskey="r"><span>လွင်ႈလႅၵ်ႈလၢႆႈလႃႈသုတ်း</span></a></li><li id="n-randomrootpage" class="mw-list-item"><a href="/wiki/Randomrootpage-url"><span>ၼႃႈလိၵ်ႈငဝ်ႈႁၢၵ်ႈ ၵမ်ႉသၢင်ႇတေႃႇ</span></a></li><li id="n-လွင်ႈၸႂ်ႉတိုဝ်း-ဝီႇၶီႇပပ်ႉ" class="mw-list-item"><a href="/wiki/Using_Wikibooks"><span>လွင်ႈၸႂ်ႉတိုဝ်း ဝီႇၶီႇပပ်ႉ</span></a></li> </ul> </div> </div> <div id="p-တူင်ႇဝိူင်း" class="vector-menu mw-portlet mw-portlet-တူင်ႇဝိူင်း" > <div class="vector-menu-heading"> တူင်ႇဝိူင်း </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-ၾူဝ်ႇရမ်ႇ-ဢွင်ႈဢၢၼ်ႇလိၵ်ႈ" class="mw-list-item"><a href="/wiki/%E1%80%9D%E1%80%AE%E1%82%87%E1%81%B6%E1%80%AE%E1%82%87%E1%80%95%E1%80%95%E1%80%BA%E1%82%89:%E1%80%A2%E1%80%BD%E1%80%84%E1%80%BA%E1%82%88%E1%80%A2%E1%81%A2%E1%81%BC%E1%80%BA%E1%82%87%E1%80%9C%E1%80%AD%E1%81%B5%E1%80%BA%E1%82%88"><span>ၾူဝ်ႇရမ်ႇ ဢွင်ႈဢၢၼ်ႇလိၵ်ႈ</span></a></li><li id="n-ၵိူၼ်ႇတူ" class="mw-list-item"><a href="/wiki/%E1%80%9D%E1%80%AE%E1%82%87%E1%81%B6%E1%80%AE%E1%82%87%E1%80%95%E1%80%95%E1%80%BA%E1%82%89:%E1%81%BD%E1%80%BD%E1%80%90%E1%80%BA%E1%82%87%E1%80%90%E1%80%AD%E1%80%B0%E1%80%9D%E1%80%BA%E1%82%87_%E1%80%90%E1%80%B0%E1%80%84%E1%80%BA%E1%82%87%E1%80%9D%E1%80%AD%E1%80%B0%E1%80%84%E1%80%BA%E1%80%B8"><span>ၵိူၼ်ႇတူ</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/%E1%80%9D%E1%80%AE%E1%82%87%E1%81%B6%E1%80%AE%E1%82%87%E1%80%95%E1%80%95%E1%80%BA%E1%82%89:%E1%81%B5%E1%81%A2%E1%81%BC%E1%80%BA%E1%82%81%E1%80%B5%E1%80%90%E1%80%BA%E1%80%B8%E1%80%9E%E1%81%A2%E1%80%84%E1%80%BA%E1%82%88%E1%80%9A%E1%81%A2%E1%80%99%E1%80%BA%E1%80%B8%E1%80%9C%E1%80%B5%E1%80%9D%E1%80%BA" title="သွၵ်ႈႁႃ လွၼ်ႉၶၢဝ်ႇ ပိုၼ်ႉလင်တွၼ်ႈတႃႇ လွင်ႈႁဵတ်းသၢင်ႈယၢမ်းလဵဝ်ၼႆႉ"><span>ၵၢၼ်ႁဵတ်းယၢမ်းလဵဝ်</span></a></li><li id="n-လွင်ႈမႄးၵုမ်း" class="mw-list-item"><a href="/wiki/%E1%80%9D%E1%80%AE%E1%82%87%E1%81%B6%E1%80%AE%E1%82%87%E1%80%95%E1%80%95%E1%80%BA%E1%82%89:Maintenance"><span>လွင်ႈမႄးၵုမ်း</span></a></li><li id="n-ပေႃႇလသီႇ-လႄႈ-ၼမ်းတၢင်း" class="mw-list-item"><a href="/wiki/%E1%80%9D%E1%80%AE%E1%82%87%E1%81%B6%E1%80%AE%E1%82%87%E1%80%95%E1%80%95%E1%80%BA%E1%82%89:Policies_and_guidelines"><span>ပေႃႇလသီႇ လႄႈ ၼမ်းတၢင်း</span></a></li><li id="n-ၵပ်းသိုပ်ႇ" class="mw-list-item"><a href="/wiki/Contact-url"><span>ၵပ်းသိုပ်ႇ</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/%E1%81%BC%E1%82%83%E1%82%88%E1%82%81%E1%80%B0%E1%80%9D%E1%80%BA%E1%82%81%E1%82%85%E1%81%B5%E1%80%BA%E1%82%88" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikibooks.svg" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="ဝီႇၶီႇပပ်ႉ" src="/static/images/mobile/copyright/wikibooks-wordmark-vi.svg" style="width: 7.5em; height: 0.9375em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/%E1%81%B6%E1%80%AD%E1%80%AF%E1%81%B5%E1%80%BA%E1%82%89%E1%80%90%E1%80%BD%E1%81%BC%E1%80%BA%E1%80%B8:%E1%80%9E%E1%80%BD%E1%81%B5%E1%80%BA%E1%82%88%E1%82%81%E1%82%83" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="ၶူၼ်ႉႁႃ ဝီႇၶီႇပပ်ႉ [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>ၶူၼ်ႉႁႃ</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="ၶူၼ်ႉႁႃ ဝီႇၶီႇပပ်ႉ" aria-label="ၶူၼ်ႉႁႃ ဝီႇၶီႇပပ်ႉ" autocapitalize="sentences" title="ၶူၼ်ႉႁႃ ဝီႇၶီႇပပ်ႉ [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="ၶိုၵ်ႉတွၼ်း:သွၵ်ႈႁႃ"> </div> <button class="cdx-button cdx-search-input__end-button">ၶူၼ်ႉႁႃ</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="ၶိူင်ႈသုၼ်ႇလဵဝ်"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page's font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/?utm_source=donate&utm_medium=sidebar&utm_campaign=shn.wikibooks.org&uselang=shn" class=""><span>လူႇတၢၼ်း</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=%E1%81%B6%E1%80%AD%E1%80%AF%E1%81%B5%E1%80%BA%E1%82%89%E1%80%90%E1%80%BD%E1%81%BC%E1%80%BA%E1%80%B8:%E1%81%B5%E1%80%B1%E1%82%83%E1%82%87%E1%80%9E%E1%81%A2%E1%80%84%E1%80%BA%E1%82%88%E1%80%A2%E1%81%B6%E1%80%BD%E1%80%84%E1%80%BA%E1%82%89&returnto=%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8%3AMessage+box" title="ၸဝ်ႈၵဝ်ႇထုၵ်ႇပၼ်ႁႅင်း တွၼ်ႈတႃႇၵေႃႇသၢင်ႈ ဢၶွင်ႉလႄႈ လွၵ်ႉၶဝ်ႈ။ ႁူမ်ႈဝႃႈၼၼ်သေတႃႉ ဢမ်ႇၸႂ်ႈဝႃႈ ဢမ်ႇႁဵတ်းဢမ်ႇလႆႈၼင်ႇၵဝ်ႇ။" class=""><span>ၵေႃႇသၢင်ႈဢၶွင်ႉ</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=%E1%81%B6%E1%80%AD%E1%80%AF%E1%81%B5%E1%80%BA%E1%82%89%E1%80%90%E1%80%BD%E1%81%BC%E1%80%BA%E1%80%B8:%E1%80%9C%E1%80%BD%E1%81%B5%E1%80%BA%E1%82%89%E1%80%A2%E1%80%AD%E1%81%BC%E1%80%BA%E1%82%87%E1%81%BD%E1%80%B0%E1%82%88%E1%81%B8%E1%82%82%E1%80%BA%E1%82%89%E1%80%90%E1%80%AD%E1%80%AF%E1%80%9D%E1%80%BA%E1%80%B8&returnto=%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8%3AMessage+box" title="ဢမ်ႇလွၵ်ႉဢိၼ်ႇၵေႃႈမူၼ်ႉမႄးလႆႈ ၵူၺ်း တိုၵ်းသူၼ်းႁႂ်ႈလွၵ်ႉဢိၼ်ႇ [o]" accesskey="o" class=""><span>လွၵ်ႉၶဝ်ႈ</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="More options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="ၶိူင်ႈသုၼ်ႇလဵဝ်" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">ၶိူင်ႈသုၼ်ႇလဵဝ်</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/?utm_source=donate&utm_medium=sidebar&utm_campaign=shn.wikibooks.org&uselang=shn"><span>လူႇတၢၼ်း</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=%E1%81%B6%E1%80%AD%E1%80%AF%E1%81%B5%E1%80%BA%E1%82%89%E1%80%90%E1%80%BD%E1%81%BC%E1%80%BA%E1%80%B8:%E1%81%B5%E1%80%B1%E1%82%83%E1%82%87%E1%80%9E%E1%81%A2%E1%80%84%E1%80%BA%E1%82%88%E1%80%A2%E1%81%B6%E1%80%BD%E1%80%84%E1%80%BA%E1%82%89&returnto=%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8%3AMessage+box" title="ၸဝ်ႈၵဝ်ႇထုၵ်ႇပၼ်ႁႅင်း တွၼ်ႈတႃႇၵေႃႇသၢင်ႈ ဢၶွင်ႉလႄႈ လွၵ်ႉၶဝ်ႈ။ ႁူမ်ႈဝႃႈၼၼ်သေတႃႉ ဢမ်ႇၸႂ်ႈဝႃႈ ဢမ်ႇႁဵတ်းဢမ်ႇလႆႈၼင်ႇၵဝ်ႇ။"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>ၵေႃႇသၢင်ႈဢၶွင်ႉ</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=%E1%81%B6%E1%80%AD%E1%80%AF%E1%81%B5%E1%80%BA%E1%82%89%E1%80%90%E1%80%BD%E1%81%BC%E1%80%BA%E1%80%B8:%E1%80%9C%E1%80%BD%E1%81%B5%E1%80%BA%E1%82%89%E1%80%A2%E1%80%AD%E1%81%BC%E1%80%BA%E1%82%87%E1%81%BD%E1%80%B0%E1%82%88%E1%81%B8%E1%82%82%E1%80%BA%E1%82%89%E1%80%90%E1%80%AD%E1%80%AF%E1%80%9D%E1%80%BA%E1%80%B8&returnto=%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8%3AMessage+box" title="ဢမ်ႇလွၵ်ႉဢိၼ်ႇၵေႃႈမူၼ်ႉမႄးလႆႈ ၵူၺ်း တိုၵ်းသူၼ်းႁႂ်ႈလွၵ်ႉဢိၼ်ႇ [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>လွၵ်ႉၶဝ်ႈ</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/%E1%80%9C%E1%80%BD%E1%80%84%E1%80%BA%E1%82%88%E1%81%B8%E1%80%BD%E1%82%86%E1%82%88%E1%80%91%E1%82%85%E1%80%99%E1%80%BA:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/%E1%81%B6%E1%80%AD%E1%80%AF%E1%81%B5%E1%80%BA%E1%82%89%E1%80%90%E1%80%BD%E1%81%BC%E1%80%BA%E1%80%B8:%E1%80%9C%E1%80%BD%E1%80%84%E1%80%BA%E1%82%88%E1%81%B6%E1%80%9D%E1%80%BA%E1%82%88%E1%82%81%E1%80%B0%E1%80%99%E1%80%BA%E1%82%88%E1%81%B5%E1%80%9D%E1%80%BA%E1%81%B6%E1%82%83%E1%82%88" title="သဵၼ်ႈမၢႆ လွင်ႈမႄးထတ်း ၸိူဝ်းႁဵတ်းဝႆႉ ၵႃႈတီႈ ႁဵင်းလိၵ်ႈ ဢၢႆႇၽီႇဢၼ်ၼႆႉ [y]" accesskey="y"><span>လွင်ႈၸွႆႈသၢင်ႈ</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/%E1%81%B6%E1%80%AD%E1%80%AF%E1%81%B5%E1%80%BA%E1%82%89%E1%80%90%E1%80%BD%E1%81%BC%E1%80%BA%E1%80%B8:%E1%80%9C%E1%80%BD%E1%80%84%E1%80%BA%E1%82%88%E1%80%A2%E1%80%AF%E1%80%95%E1%80%BA%E1%82%87%E1%81%B5%E1%80%AF%E1%80%99%E1%80%BA%E1%81%B5%E1%80%9D%E1%80%BA%E1%81%B6%E1%82%83%E1%82%88" title="လွင်ႈဢုပ်ႇဢူဝ်း ၵပ်းၵၢႆႇလွင်ႈမႄးထတ်း ၵႃႈတီႈ ႁဵင်းလိၵ်ႈဢၢႆႇၽီႇဢၼ်ၼႆႉ [n]" accesskey="n"><span>ဢုပ်ႇ</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="လမ်းၼႂ်း" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">လမ်းၼႂ်း</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">သိူင်ႇ</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">မိူဝ်ႈတႄႇမၼ်း</div> </a> </li> <li id="toc-Usage" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Usage"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Usage</span> </div> </a> <ul id="toc-Usage-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Usage_from_#invoke" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Usage_from_#invoke"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Usage from #invoke</span> </div> </a> <ul id="toc-Usage_from_#invoke-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Technical_details" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Technical_details"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Technical details</span> </div> </a> <ul id="toc-Technical_details-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="လမ်းၼႂ်း" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-namespace">မေႃႇၵျူး</span><span class="mw-page-title-separator">:</span><span class="mw-page-title-main">Message box</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="Go to an article in another language. Available in 18 languages" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-18" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">18 ၽႃႇသႃႇ</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-af mw-list-item"><a href="https://af.wikibooks.org/wiki/Module:Message_box" title="Module:Message box – Afrikaans" lang="af" hreflang="af" data-title="Module:Message box" data-language-autonym="Afrikaans" data-language-local-name="Afrikaans" class="interlanguage-link-target"><span>Afrikaans</span></a></li><li class="interlanguage-link interwiki-ar mw-list-item"><a href="https://ar.wikibooks.org/wiki/%D9%88%D8%AD%D8%AF%D8%A9:Message_box" title="وحدة:Message box – Arabic" lang="ar" hreflang="ar" data-title="وحدة:Message box" data-language-autonym="العربية" data-language-local-name="Arabic" class="interlanguage-link-target"><span>العربية</span></a></li><li class="interlanguage-link interwiki-bn mw-list-item"><a href="https://bn.wikibooks.org/wiki/%E0%A6%AE%E0%A6%A1%E0%A6%BF%E0%A6%89%E0%A6%B2:Message_box" title="মডিউল:Message box – Bangla" lang="bn" hreflang="bn" data-title="মডিউল:Message box" data-language-autonym="বাংলা" data-language-local-name="Bangla" class="interlanguage-link-target"><span>বাংলা</span></a></li><li class="interlanguage-link interwiki-en mw-list-item"><a href="https://en.wikibooks.org/wiki/Module:Message_box" title="Module:Message box – English" lang="en" hreflang="en" data-title="Module:Message box" data-language-autonym="English" data-language-local-name="English" class="interlanguage-link-target"><span>English</span></a></li><li class="interlanguage-link interwiki-fa mw-list-item"><a href="https://fa.wikibooks.org/wiki/%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86:Message_box" title="پودمان:Message box – Persian" lang="fa" hreflang="fa" data-title="پودمان:Message box" data-language-autonym="فارسی" data-language-local-name="Persian" class="interlanguage-link-target"><span>فارسی</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikibooks.org/wiki/Module:Bandeau" title="Module:Bandeau – French" lang="fr" hreflang="fr" data-title="Module:Bandeau" data-language-autonym="Français" data-language-local-name="French" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-hi mw-list-item"><a href="https://hi.wikibooks.org/wiki/%E0%A4%AE%E0%A5%89%E0%A4%A1%E0%A5%8D%E0%A4%AF%E0%A5%82%E0%A4%B2:Message_box" title="मॉड्यूल:Message box – Hindi" lang="hi" hreflang="hi" data-title="मॉड्यूल:Message box" data-language-autonym="हिन्दी" data-language-local-name="Hindi" class="interlanguage-link-target"><span>हिन्दी</span></a></li><li class="interlanguage-link interwiki-hr mw-list-item"><a href="https://hr.wikibooks.org/wiki/Modul:Message_box" title="Modul:Message box – Croatian" lang="hr" hreflang="hr" data-title="Modul:Message box" data-language-autonym="Hrvatski" data-language-local-name="Croatian" class="interlanguage-link-target"><span>Hrvatski</span></a></li><li class="interlanguage-link interwiki-hu mw-list-item"><a href="https://hu.wikibooks.org/wiki/Modul:Message_box" title="Modul:Message box – Hungarian" lang="hu" hreflang="hu" data-title="Modul:Message box" data-language-autonym="Magyar" data-language-local-name="Hungarian" class="interlanguage-link-target"><span>Magyar</span></a></li><li class="interlanguage-link interwiki-id mw-list-item"><a href="https://id.wikibooks.org/wiki/Modul:Message_box" title="Modul:Message box – Indonesian" lang="id" hreflang="id" data-title="Modul:Message box" data-language-autonym="Bahasa Indonesia" data-language-local-name="Indonesian" class="interlanguage-link-target"><span>Bahasa Indonesia</span></a></li><li class="interlanguage-link interwiki-it mw-list-item"><a href="https://it.wikibooks.org/wiki/Modulo:Message_box" title="Modulo:Message box – Italian" lang="it" hreflang="it" data-title="Modulo:Message box" data-language-autonym="Italiano" data-language-local-name="Italian" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikibooks.org/wiki/%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:Message_box" title="モジュール:Message box – Japanese" lang="ja" hreflang="ja" data-title="モジュール:Message box" data-language-autonym="日本語" data-language-local-name="Japanese" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikibooks.org/wiki/%EB%AA%A8%EB%93%88:Message_box" title="모듈:Message box – Korean" lang="ko" hreflang="ko" data-title="모듈:Message box" data-language-autonym="한국어" data-language-local-name="Korean" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-ms mw-list-item"><a href="https://ms.wikibooks.org/wiki/Modul:Message_box" title="Modul:Message box – Malay" lang="ms" hreflang="ms" data-title="Modul:Message box" data-language-autonym="Bahasa Melayu" data-language-local-name="Malay" class="interlanguage-link-target"><span>Bahasa Melayu</span></a></li><li class="interlanguage-link interwiki-pa mw-list-item"><a href="https://pa.wikibooks.org/wiki/%E0%A8%AE%E0%A9%8C%E0%A8%A1%E0%A8%BF%E0%A8%8A%E0%A8%B2:Message_box" title="ਮੌਡਿਊਲ:Message box – Punjabi" lang="pa" hreflang="pa" data-title="ਮੌਡਿਊਲ:Message box" data-language-autonym="ਪੰਜਾਬੀ" data-language-local-name="Punjabi" class="interlanguage-link-target"><span>ਪੰਜਾਬੀ</span></a></li><li class="interlanguage-link interwiki-th mw-list-item"><a href="https://th.wikibooks.org/wiki/%E0%B8%A1%E0%B8%AD%E0%B8%94%E0%B8%B9%E0%B8%A5:Message_box" title="มอดูล:Message box – Thai" lang="th" hreflang="th" data-title="มอดูล:Message box" data-language-autonym="ไทย" data-language-local-name="Thai" class="interlanguage-link-target"><span>ไทย</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikibooks.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Message_box" title="Модуль:Message box – Ukrainian" lang="uk" hreflang="uk" data-title="Модуль:Message box" data-language-autonym="Українська" data-language-local-name="Ukrainian" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikibooks.org/wiki/Module:Message_box" title="Module:Message box – Chinese" lang="zh" hreflang="zh" data-title="Module:Message box" data-language-autonym="中文" data-language-local-name="Chinese" class="interlanguage-link-target"><span>中文</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q15116966#sitelinks-wikibooks" title="မႄးထတ်းႁဵင်းၵွင်ႉ ၽႃႇသႃႇၵႂၢမ်း" class="wbc-editpage">မႄးထတ်းႁဵင်းၵွင်ႉ</a></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="ဢွင်ႈတီႈၸိုဝ်ႈ"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-module" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8:Message_box" title="View the module page [c]" accesskey="c"><span>Module</span></a></li><li id="ca-talk" class="new vector-tab-noicon mw-list-item"><a href="/w/index.php?title=%E1%80%A2%E1%80%AF%E1%80%95%E1%80%BA%E1%82%87%E1%81%B5%E1%80%AF%E1%80%99%E1%80%BA_%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8:Message_box&action=edit&redlink=1" rel="discussion" class="new" title="ၼႃႈလိၵ်ႈ ဢုပ်ႇဢူဝ်းလွင်ႈပႃးဝႆႉၼႂ်းၼႃႈလိၵ်ႈ ၼႆႉ ဢမ်ႇမီးဝႆႉ [t]" accesskey="t"><span>လွင်ႈဢုပ်ႇဢူဝ်း</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="တူၺ်း"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8:Message_box"><span>လူတူၺ်း</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8:Message_box&action=edit" title="မႄးထတ်း ၼႃးလိၵ်ႈၼႆႉ [e]" accesskey="e"><span>မႄးထတ်း</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8:Message_box&action=history" title="လွင်ႈၶူၼ်ႉၶႆႈဢၼ်ပူၼ်ႉမႃး တႃႇၼႃႈလိၵ်ႈၼႆႉ [h]" accesskey="h"><span>တူၺ်းပိုၼ်း</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="ၶိူင်ႈၵမ်ႉၵႅမ်" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">ၶိူင်ႈၵမ်ႉၵႅမ်</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">ၶိူင်ႈၵမ်ႉၵႅမ်</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">သိူင်ႇ</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8:Message_box"><span>လူတူၺ်း</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8:Message_box&action=edit" title="မႄးထတ်း ၼႃးလိၵ်ႈၼႆႉ [e]" accesskey="e"><span>မႄးထတ်း</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8:Message_box&action=history"><span>တူၺ်းပိုၼ်း</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> ၵူႈလွင်ႈလွင်ႈ </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/%E1%81%B6%E1%80%AD%E1%80%AF%E1%81%B5%E1%80%BA%E1%82%89%E1%80%90%E1%80%BD%E1%81%BC%E1%80%BA%E1%80%B8:%E1%82%81%E1%80%B5%E1%80%84%E1%80%BA%E1%80%B8%E1%81%B5%E1%80%BD%E1%80%84%E1%80%BA%E1%82%89%E1%80%9E%E1%80%84%E1%80%BA%E1%80%90%E1%80%AE%E1%82%88%E1%81%BC%E1%82%86%E1%82%88/%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8:Message_box" title="သဵၼ်ႈမၢႆ ၼႃႈလိၵ်ႈဝီႇၶီႇလိင်ႉတီႈၼႆႈ [j]" accesskey="j"><span>လိင်ႉၶ်တီႈၼႆႈ ပဵၼ်သင်</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/%E1%81%B6%E1%80%AD%E1%80%AF%E1%81%B5%E1%80%BA%E1%82%89%E1%80%90%E1%80%BD%E1%81%BC%E1%80%BA%E1%80%B8:%E1%80%9C%E1%80%BD%E1%80%84%E1%80%BA%E1%82%88%E1%80%9C%E1%82%85%E1%81%B5%E1%80%BA%E1%82%88%E1%80%9C%E1%81%A2%E1%82%86%E1%82%88%E1%80%99%E1%82%82%E1%80%BA%E1%82%87%E1%80%99%E1%82%82%E1%80%BA%E1%82%87%E1%81%B8%E1%80%AD%E1%80%B0%E1%80%9D%E1%80%BA%E1%80%B8%E1%81%B5%E1%80%BD%E1%80%84%E1%80%BA%E1%82%89%E1%80%9D%E1%82%86%E1%82%89/%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8:Message_box" rel="nofollow" title="ၵၢၼ်လႅၵ်ႈလၢႆႈၼႂ်းၼႃႈလိၵ်ႈ ဢၼ်လုၵ်ႉတီႈၼႃႈလိၵ်ႈၼႆႉသေ လိင်ႉဝႆႉ [k]" accesskey="k"><span>လွင်ႈလႅၵ်ႈလၢႆႈ ဢၼ်ၵဵဝ်ႇၵွင်ႉ</span></a></li><li id="t-upload" class="mw-list-item"><a href="//commons.wikimedia.org/wiki/Special:UploadWizard?uselang=shn" title="လူတ်ႇၶိုၼ်ႈၾၢႆႇ [u]" accesskey="u"><span>လူတ်ႇၶိုၼ်ႈၾၢႆႇ</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/%E1%81%B6%E1%80%AD%E1%80%AF%E1%81%B5%E1%80%BA%E1%82%89%E1%80%90%E1%80%BD%E1%81%BC%E1%80%BA%E1%80%B8:%E1%81%BC%E1%82%83%E1%82%88%E1%80%9C%E1%80%AD%E1%81%B5%E1%80%BA%E1%82%88%E1%81%B6%E1%80%AD%E1%80%AF%E1%81%B5%E1%80%BA%E1%82%89%E1%80%90%E1%80%BD%E1%81%BC%E1%80%BA%E1%80%B8" title="ပိုတ်ႇၼႄသဵၼ်ႈ ၼႃႈလိၵ်ႈ ၶိုၵ်ႉတွၼ်း [q]" accesskey="q"><span>ၼႃႈလိၵ်ႈ ၶိုၵ်ႉတွၼ်း</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8:Message_box&oldid=10099" title="ႁဵင်းၵွင်ႉမၼ်ႈၵိုမ်းတႃႇၸူး ၼႃႈလိၵ်ႈၶူၼ်ႉၶႆႈဢၼ်ၼႆႉ"><span>လိင်ႉၶ် မၼ်ႈၵိုမ်း</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8:Message_box&action=info" title="လွၼ်ႉၶၢဝ်ႇတၢင်ႇၸိူဝ်း ဢၼ်ၵပ်းၵၢႆႇလူၺ်ႈ ၼႃႈလိၵ်ႈၼႆႉ"><span>လွၼ်ႉၶၢဝ်ႇၼႃႈလိၵ်ႈ</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=%E1%81%B6%E1%80%AD%E1%80%AF%E1%81%B5%E1%80%BA%E1%82%89%E1%80%90%E1%80%BD%E1%81%BC%E1%80%BA%E1%80%B8:UrlShortener&url=https%3A%2F%2Fshn.wikibooks.org%2Fwiki%2F%25E1%2580%2599%25E1%2580%25B1%25E1%2582%2583%25E1%2582%2587%25E1%2581%25B5%25E1%2580%25BB%25E1%2580%25B0%25E1%2580%25B8%3AMessage_box"><span>ဢဝ် URL ပွတ်း</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=%E1%81%B6%E1%80%AD%E1%80%AF%E1%81%B5%E1%80%BA%E1%82%89%E1%80%90%E1%80%BD%E1%81%BC%E1%80%BA%E1%80%B8:QrCode&url=https%3A%2F%2Fshn.wikibooks.org%2Fwiki%2F%25E1%2580%2599%25E1%2580%25B1%25E1%2582%2583%25E1%2582%2587%25E1%2581%25B5%25E1%2580%25BB%25E1%2580%25B0%25E1%2580%25B8%3AMessage_box"><span>လူတ်ႇလူင်း ၶူတ်ႉ QR</span></a></li> </ul> </div> </div> <div id="p-ယူင်ႉၵၢၼ်_ၼွင်ႉသၢဝ်" class="vector-menu mw-portlet mw-portlet-ယူင်ႉၵၢၼ်_ၼွင်ႉသၢဝ်" > <div class="vector-menu-heading"> ယူင်ႉၵၢၼ် ၼွင်ႉသၢဝ် </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-ဝီႇၶီႇၽီးတီးယႃး" class="mw-list-item"><a href="https://shn.wikipedia.org/wiki/Main_Page"><span>ဝီႇၶီႇၽီးတီးယႃး</span></a></li><li id="n-ဝီႇၶီႇၸၼ်ႉၸွမ်" class="mw-list-item"><a href="https://shn.wikiversity.org/wiki/Wikiversity:Main_Page"><span>ဝီႇၶီႇၸၼ်ႉၸွမ်</span></a></li><li id="n-ဝိၵ်ႇသျိၼ်ႇၼရီႇ" class="mw-list-item"><a href="https://shn.wiktionary.org/wiki/%E1%80%9D%E1%80%AD%E1%81%B5%E1%80%BA%E1%82%87%E1%80%9E%E1%80%BB%E1%80%AD%E1%81%BC%E1%80%BA%E1%82%87%E1%81%BC%E1%80%9B%E1%80%AE%E1%82%87:%E1%81%BC%E1%82%83%E1%82%88%E1%82%81%E1%80%B0%E1%80%9D%E1%80%BA%E1%82%81%E1%82%85%E1%81%B5%E1%80%BA%E1%82%88"><span>ဝိၵ်ႇသျိၼ်ႇၼရီႇ</span></a></li><li id="n-ဝီႇၶီႇဢၢင်ႈဢိင်" class="mw-list-item"><a href="https://shn.wikiquote.org/wiki/Main_Page"><span>ဝီႇၶီႇဢၢင်ႈဢိင်</span></a></li><li id="n-ဝီႇၶီႇငဝ်ႈငႃႇ" class="mw-list-item"><a href="https://shn.wikisource.org/wiki/Main_Page"><span>ဝီႇၶီႇငဝ်ႈငႃႇ</span></a></li><li id="n-ဝီႇၶီႇၶၢဝ်ႇ" class="mw-list-item"><a href="https://shn.wikinews.org/wiki/Main_Page"><span>ဝီႇၶီႇၶၢဝ်ႇ</span></a></li><li id="n-ဝီႇၶီႇဝွႆးဢဵတ်ႇꩡ်" class="mw-list-item"><a href="https://shn.wikivoyage.org/wiki/Main_Page"><span>ဝီႇၶီႇဝွႆးဢဵတ်ႇꩡ်</span></a></li><li id="n-ၶွမ်ႇမွၼ်း" class="mw-list-item"><a href="https://commons.wikimedia.org/wiki/Main_Page"><span>ၶွမ်ႇမွၼ်း</span></a></li><li id="n-ဝီႇၶီႇတေႇတႃႇ" class="mw-list-item"><a href="https://www.wikidata.org/wiki/Wikidata:Main_Page"><span>ဝီႇၶီႇတေႇတႃႇ</span></a></li><li id="n-မီႇတီႇယႃႇဝီႇၶီႇ" class="mw-list-item"><a href="https://www.mediawiki.org/wiki/Main_Page"><span>မီႇတီႇယႃႇဝီႇၶီႇ</span></a></li><li id="n-မႄႇတႃႇ-ဝီႇၶီႇ" class="mw-list-item"><a href="https://meta.wikimedia.org/wiki/Main_Page"><span>မႄႇတႃႇ-ဝီႇၶီႇ</span></a></li> </ul> </div> </div> <div id="p-electronpdfservice-sidebar-portlet-heading" class="vector-menu mw-portlet mw-portlet-electronpdfservice-sidebar-portlet-heading" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="electron-print_pdf" class="mw-list-item"><a href="/w/index.php?title=%E1%81%B6%E1%80%AD%E1%80%AF%E1%81%B5%E1%80%BA%E1%82%89%E1%80%90%E1%80%BD%E1%81%BC%E1%80%BA%E1%80%B8:DownloadAsPdf&page=%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8%3AMessage_box&action=show-download-screen"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="javascript:print();" rel="alternate" title="ၼႃႈလိၵ်ႈၼႆႉ မၼ်းပဵၼ်ပိူဝ်းသျိၼ်း ဢၼ်ဢိတ်ႇဢွၵ်ႇလႆႈ [p]" accesskey="p"><span>ဝႃးသျိၼ်းဢၼ်ၽိမ်းဢွၵ်ႇလႆႈ</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> တီႈၼႂ်းၼႃႈၵၢၼ်တၢင်ႇဢၼ် </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="wb-otherproject-link wb-otherproject-commons mw-list-item"><a href="https://commons.wikimedia.org/wiki/Module:Message_box" hreflang="en"><span>Wikimedia Commons</span></a></li><li class="wb-otherproject-link wb-otherproject-foundation mw-list-item"><a href="https://foundation.wikimedia.org/wiki/Module:Message_box" hreflang="en"><span>Wikimedia Foundation</span></a></li><li class="wb-otherproject-link wb-otherproject-mediawiki mw-list-item"><a href="https://www.mediawiki.org/wiki/Module:Message_box" hreflang="en"><span>MediaWiki</span></a></li><li class="wb-otherproject-link wb-otherproject-meta mw-list-item"><a href="https://meta.wikimedia.org/wiki/Module:Message_box" hreflang="en"><span>Meta-Wiki</span></a></li><li class="wb-otherproject-link wb-otherproject-outreach mw-list-item"><a href="https://outreach.wikimedia.org/wiki/Module:Message_box" hreflang="en"><span>Wikimedia Outreach</span></a></li><li class="wb-otherproject-link wb-otherproject-sources mw-list-item"><a href="https://wikisource.org/wiki/Module:Message_box" hreflang="en"><span>Multilingual Wikisource</span></a></li><li class="wb-otherproject-link wb-otherproject-species mw-list-item"><a href="https://species.wikimedia.org/wiki/Module:Message_box" hreflang="en"><span>Wikispecies</span></a></li><li class="wb-otherproject-link wb-otherproject-wikidata mw-list-item"><a href="https://www.wikidata.org/wiki/Module:Message_box" hreflang="en"><span>Wikidata</span></a></li><li class="wb-otherproject-link wb-otherproject-wikifunctions mw-list-item"><a href="https://www.wikifunctions.org/wiki/Module:Message_box" hreflang="en"><span>Wikifunctions</span></a></li><li class="wb-otherproject-link wb-otherproject-wikimania mw-list-item"><a href="https://wikimania.wikimedia.org/wiki/Module:Message_box" hreflang="en"><span>Wikimania</span></a></li><li class="wb-otherproject-link wb-otherproject-wikipedia mw-list-item"><a href="https://shn.wikipedia.org/wiki/%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8:Message_box" hreflang="shn"><span>Wikipedia</span></a></li><li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q15116966" title="ၵွင်ႉၸူး လၢႆးၵၢၼ် ယွင်ၶေႃႈမုၼ်း ဢၼ်သၢၼ်ၵၼ်ဝႆႉ [g]" accesskey="g"><span>လၢႆးၵၢၼ် Wikidata</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">သိူင်ႇ</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> </div> <div id="siteSub" class="noprint">လုၵ်ႉတီႈ ဝီႇၶီႇပပ်ႉ မႃး</div> </div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="shn" dir="ltr"><style data-mw-deduplicate="TemplateStyles:r9029">.mw-parser-output .ombox{margin:4px 0;border-collapse:collapse;border:1px solid #a2a9b1;background-color:#f8f9fa;box-sizing:border-box}.mw-parser-output .ombox.mbox-small{font-size:88%;line-height:1.25em}.mw-parser-output .ombox-speedy{border:2px solid #b32424;background-color:#fee7e6}.mw-parser-output .ombox-delete{border:2px solid #b32424}.mw-parser-output .ombox-content{border:1px solid #f28500}.mw-parser-output .ombox-style{border:1px solid #fc3}.mw-parser-output .ombox-move{border:1px solid #9932cc}.mw-parser-output .ombox-protection{border:2px solid #a2a9b1}.mw-parser-output .ombox .mbox-text{border:none;padding:0.25em 0.9em;width:100%}.mw-parser-output .ombox .mbox-image{border:none;padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .ombox .mbox-imageright{border:none;padding:2px 0.9em 2px 0;text-align:center}.mw-parser-output .ombox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ombox .mbox-invalid-type{text-align:center}@media(min-width:720px){.mw-parser-output .ombox{margin:4px 10%}.mw-parser-output .ombox.mbox-small{clear:right;float:right;margin:4px 0 4px 1em;width:238px}}</style><table class="plainlinks ombox ombox-content" role="presentation"><tbody><tr><td class="mbox-image"><span typeof="mw:File"><span><img alt="Warning" src="//upload.wikimedia.org/wikipedia/commons/thumb/b/b4/Ambox_important.svg/40px-Ambox_important.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/b/b4/Ambox_important.svg/60px-Ambox_important.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/b/b4/Ambox_important.svg/80px-Ambox_important.svg.png 2x" data-file-width="40" data-file-height="40" /></span></span></td><td class="mbox-text"><b>This Lua module is used in system messages</b>.<br />Changes to it can cause immediate changes to the Wikipedia user interface.<br /> To avoid major disruption, any changes should be tested in the module's <a href="/w/index.php?title=%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8:Message_box/sandbox&action=edit&redlink=1" class="new" title="ၼႃႈလိၵ်ႈ မေႃႇၵျူး:Message box/sandbox ၼႆႉ ဢမ်ႇမီးဝႆႉ">/sandbox</a> or <a href="/w/index.php?title=%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8:Message_box/testcases&action=edit&redlink=1" class="new" title="ၼႃႈလိၵ်ႈ မေႃႇၵျူး:Message box/testcases ၼႆႉ ဢမ်ႇမီးဝႆႉ">/testcases</a> subpages, or in your own <a href="/w/index.php?title=%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8:Sandbox&action=edit&redlink=1" class="new" title="ၼႃႈလိၵ်ႈ မေႃႇၵျူး:Sandbox ၼႆႉ ဢမ်ႇမီးဝႆႉ">module sandbox</a>. The tested changes can be added to this page in a single edit. Please discuss changes on the <a href="/w/index.php?title=%E1%80%A2%E1%80%AF%E1%80%95%E1%80%BA%E1%82%87%E1%81%B5%E1%80%AF%E1%80%99%E1%80%BA_%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8:Message_box&action=edit&redlink=1" class="new" title="ၼႃႈလိၵ်ႈ ဢုပ်ႇၵုမ် မေႃႇၵျူး:Message box ၼႆႉ ဢမ်ႇမီးဝႆႉ">talk page</a> before implementing them.</td></tr></tbody></table> <table class="plainlinks ombox ombox-notice" style=""> <tbody><tr> <td class="mbox-image"> <span typeof="mw:File"><span><img alt="Protected" src="//upload.wikimedia.org/wikipedia/commons/thumb/4/44/Full-protection-shackle.svg/40px-Full-protection-shackle.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/4/44/Full-protection-shackle.svg/60px-Full-protection-shackle.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/4/44/Full-protection-shackle.svg/80px-Full-protection-shackle.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span></td> <td class="mbox-text" style=""> This module is <a href="/w/index.php?title=%E1%80%95%E1%80%AD%E1%80%B0%E1%80%84%E1%80%BA%E1%80%91%E1%81%A2%E1%81%BC%E1%80%BA%E1%82%88:Modules_subject_to_page_protection&action=edit&redlink=1" class="new" title="ၼႃႈလိၵ်ႈ ပိူင်ထၢၼ်ႈ:Modules subject to page protection ၼႆႉ ဢမ်ႇမီးဝႆႉ">subject to page protection</a>. It is a <a href="https://en.wikipedia.org/wiki/High-risk_templates" class="extiw" title="wikipedia:High-risk templates">highly visible module</a> in use by a very large number of pages, or is <a href="https://en.wikipedia.org/wiki/Substitution" class="extiw" title="wikipedia:Substitution">substituted</a> very frequently. Because vandalism or mistakes would affect many pages, and even trivial editing might cause substantial load on the servers, it is <a href="https://en.wikipedia.org/wiki/Protection_policy" class="extiw" title="wikipedia:Protection policy">protected</a> from editing. </td> </tr> </tbody></table> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r9029"><table class="plainlinks ombox mbox-small ombox-notice" role="presentation"><tbody><tr><td class="mbox-image"><span typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/c/cf/Lua-Logo.svg/30px-Lua-Logo.svg.png" decoding="async" width="30" height="30" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/c/cf/Lua-Logo.svg/45px-Lua-Logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/c/cf/Lua-Logo.svg/60px-Lua-Logo.svg.png 2x" data-file-width="947" data-file-height="947" /></span></span></td><td class="mbox-text">This module depends on the following other modules:<div><ul><li><a href="/wiki/%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8:Message_box/configuration" title="မေႃႇၵျူး:Message box/configuration">Module:Message box/configuration</a></li><li><a href="/wiki/%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8:Yesno" title="မေႃႇၵျူး:Yesno">Module:Yesno</a></li><li><a href="/wiki/%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8:Arguments" title="မေႃႇၵျူး:Arguments">Module:Arguments</a></li><li><a href="/wiki/%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8:Category_handler" title="မေႃႇၵျူး:Category handler">Module:Category handler</a></li></ul></div></td></tr></tbody></table> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r9029"><table class="plainlinks ombox mbox-small ombox-notice" role="presentation"><tbody><tr><td class="mbox-image"><span typeof="mw:File"><a href="/wiki/%E1%81%BE%E1%81%A2%E1%82%86%E1%82%87:Farm-Fresh_css_add.svg" class="mw-file-description"><img alt="CSS" src="//upload.wikimedia.org/wikipedia/commons/thumb/a/a6/Farm-Fresh_css_add.svg/32px-Farm-Fresh_css_add.svg.png" decoding="async" width="32" height="27" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/a/a6/Farm-Fresh_css_add.svg/48px-Farm-Fresh_css_add.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/a/a6/Farm-Fresh_css_add.svg/64px-Farm-Fresh_css_add.svg.png 2x" data-file-width="142" data-file-height="121" /></a></span></td><td class="mbox-text">This module uses <a href="https://www.mediawiki.org/wiki/Help:TemplateStyles" class="extiw" title="mw:Help:TemplateStyles">TemplateStyles</a>: <div><ul><li><a href="/wiki/%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8:Message_box/ambox.css" title="မေႃႇၵျူး:Message box/ambox.css">Module:Message box/ambox.css</a></li><li><a href="/wiki/%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8:Message_box/cmbox.css" title="မေႃႇၵျူး:Message box/cmbox.css">Module:Message box/cmbox.css</a></li><li><a href="/w/index.php?title=%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8:Message_box/fmbox.css&action=edit&redlink=1" class="new" title="ၼႃႈလိၵ်ႈ မေႃႇၵျူး:Message box/fmbox.css ၼႆႉ ဢမ်ႇမီးဝႆႉ">Module:Message box/fmbox.css</a></li><li><a href="/wiki/%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8:Message_box/imbox.css" title="မေႃႇၵျူး:Message box/imbox.css">Module:Message box/imbox.css</a></li><li><a href="/wiki/%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8:Message_box/ombox.css" title="မေႃႇၵျူး:Message box/ombox.css">Module:Message box/ombox.css</a></li><li><a href="/wiki/%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8:Message_box/tmbox.css" title="မေႃႇၵျူး:Message box/tmbox.css">Module:Message box/tmbox.css</a></li></ul></div></td></tr></tbody></table> <p>This is a meta-module that implements the message box templates {{<a href="/wiki/%E1%80%91%E1%82%85%E1%80%99%E1%80%BA%E1%80%B8%E1%80%95%E1%80%9C%E1%80%B5%E1%80%90%E1%80%BA%E1%82%89:Mbox" title="ထႅမ်းပလဵတ်ႉ:Mbox">mbox</a>}}, {{<a href="/wiki/%E1%80%91%E1%82%85%E1%80%99%E1%80%BA%E1%80%B8%E1%80%95%E1%80%9C%E1%80%B5%E1%80%90%E1%80%BA%E1%82%89:Ambox" class="mw-redirect" title="ထႅမ်းပလဵတ်ႉ:Ambox">ambox</a>}}, {{<a href="/wiki/%E1%80%91%E1%82%85%E1%80%99%E1%80%BA%E1%80%B8%E1%80%95%E1%80%9C%E1%80%B5%E1%80%90%E1%80%BA%E1%82%89:Cmbox" title="ထႅမ်းပလဵတ်ႉ:Cmbox">cmbox</a>}}, {{<a href="/wiki/%E1%80%91%E1%82%85%E1%80%99%E1%80%BA%E1%80%B8%E1%80%95%E1%80%9C%E1%80%B5%E1%80%90%E1%80%BA%E1%82%89:Fmbox" title="ထႅမ်းပလဵတ်ႉ:Fmbox">fmbox</a>}}, {{<a href="/wiki/%E1%80%91%E1%82%85%E1%80%99%E1%80%BA%E1%80%B8%E1%80%95%E1%80%9C%E1%80%B5%E1%80%90%E1%80%BA%E1%82%89:Imbox" title="ထႅမ်းပလဵတ်ႉ:Imbox">imbox</a>}}, {{<a href="/wiki/%E1%80%91%E1%82%85%E1%80%99%E1%80%BA%E1%80%B8%E1%80%95%E1%80%9C%E1%80%B5%E1%80%90%E1%80%BA%E1%82%89:Ombox" title="ထႅမ်းပလဵတ်ႉ:Ombox">ombox</a>}}, and {{<a href="/wiki/%E1%80%91%E1%82%85%E1%80%99%E1%80%BA%E1%80%B8%E1%80%95%E1%80%9C%E1%80%B5%E1%80%90%E1%80%BA%E1%82%89:Tmbox" title="ထႅမ်းပလဵတ်ႉ:Tmbox">tmbox</a>}}. It is intended to be used from Lua modules, and should not be used directly from wiki pages. If you want to use this module's functionality from a wiki page, please use the individual message box templates instead. </p> <div class="mw-heading mw-heading2"><h2 id="Usage">Usage</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8:Message_box/doc&action=edit&section=T-1" title="မႄးထတ်း တွၼ်ႈ :Usage"><span>မႄးထတ်း</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>To use this module from another Lua module, first you need to load it. </p> <div class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><pre><span></span><span class="kd">local</span> <span class="n">messageBox</span> <span class="o">=</span> <span class="nb">require</span><span class="p">(</span><span class="s1">'Module:Message box'</span><span class="p">)</span> </pre></div> <p>To create a message box, use the <code>main</code> function. It takes two parameters: the first is the box type (as a string), and the second is a table containing the message box parameters. </p> <div class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><pre><span></span><span class="kd">local</span> <span class="n">box</span> <span class="o">=</span> <span class="n">messageBox</span><span class="p">.</span><span class="n">main</span><span class="p">(</span> <span class="n">boxType</span><span class="p">,</span> <span class="p">{</span> <span class="n">param1</span> <span class="o">=</span> <span class="n">param1</span><span class="p">,</span> <span class="n">param2</span> <span class="o">=</span> <span class="n">param2</span><span class="p">,</span> <span class="c1">-- More parameters...</span> <span class="p">})</span> </pre></div> <p>There are seven available box types: </p> <table class="wikitable"> <tbody><tr> <th>Box type</th> <th>Template</th> <th>Purpose </th></tr> <tr> <td><code>mbox</code></td> <td>{{<a href="/wiki/%E1%80%91%E1%82%85%E1%80%99%E1%80%BA%E1%80%B8%E1%80%95%E1%80%9C%E1%80%B5%E1%80%90%E1%80%BA%E1%82%89:Mbox" title="ထႅမ်းပလဵတ်ႉ:Mbox">mbox</a>}}</td> <td>For message boxes to be used in multiple namespaces </td></tr> <tr> <td><code>ambox</code></td> <td>{{<a href="/wiki/%E1%80%91%E1%82%85%E1%80%99%E1%80%BA%E1%80%B8%E1%80%95%E1%80%9C%E1%80%B5%E1%80%90%E1%80%BA%E1%82%89:Ambox" class="mw-redirect" title="ထႅမ်းပလဵတ်ႉ:Ambox">ambox</a>}}</td> <td>For article message boxes </td></tr> <tr> <td><code>cmbox</code></td> <td>{{<a href="/wiki/%E1%80%91%E1%82%85%E1%80%99%E1%80%BA%E1%80%B8%E1%80%95%E1%80%9C%E1%80%B5%E1%80%90%E1%80%BA%E1%82%89:Cmbox" title="ထႅမ်းပလဵတ်ႉ:Cmbox">cmbox</a>}}</td> <td>For category message boxes </td></tr> <tr> <td><code>fmbox</code></td> <td>{{<a href="/wiki/%E1%80%91%E1%82%85%E1%80%99%E1%80%BA%E1%80%B8%E1%80%95%E1%80%9C%E1%80%B5%E1%80%90%E1%80%BA%E1%82%89:Fmbox" title="ထႅမ်းပလဵတ်ႉ:Fmbox">fmbox</a>}}</td> <td>For interface message boxes </td></tr> <tr> <td><code>imbox</code></td> <td>{{<a href="/wiki/%E1%80%91%E1%82%85%E1%80%99%E1%80%BA%E1%80%B8%E1%80%95%E1%80%9C%E1%80%B5%E1%80%90%E1%80%BA%E1%82%89:Imbox" title="ထႅမ်းပလဵတ်ႉ:Imbox">imbox</a>}}</td> <td>For file namespace message boxes </td></tr> <tr> <td><code>tmbox</code></td> <td>{{<a href="/wiki/%E1%80%91%E1%82%85%E1%80%99%E1%80%BA%E1%80%B8%E1%80%95%E1%80%9C%E1%80%B5%E1%80%90%E1%80%BA%E1%82%89:Tmbox" title="ထႅမ်းပလဵတ်ႉ:Tmbox">tmbox</a>}}</td> <td>For talk page message boxes </td></tr> <tr> <td><code>ombox</code></td> <td>{{<a href="/wiki/%E1%80%91%E1%82%85%E1%80%99%E1%80%BA%E1%80%B8%E1%80%95%E1%80%9C%E1%80%B5%E1%80%90%E1%80%BA%E1%82%89:Ombox" title="ထႅမ်းပလဵတ်ႉ:Ombox">ombox</a>}}</td> <td>For message boxes in other namespaces </td></tr></tbody></table> <p>See the template page of each box type for the available parameters. </p> <div class="mw-heading mw-heading2"><h2 id="Usage_from_#invoke"><span id="Usage_from_.23invoke"></span>Usage from #invoke</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8:Message_box/doc&action=edit&section=T-2" title="မႄးထတ်း တွၼ်ႈ :Usage from #invoke"><span>မႄးထတ်း</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>As well as the <code>main</code> function, this module has separate functions for each box type. They are accessed using the code <code>{{#invoke:Message box|mbox|...}}</code>, <code>{{#invoke:Message box|ambox|...}}</code>, etc. These will work when called from other modules, but they access code used to process arguments passed from #invoke, and so calling them will be less efficient than calling <code>main</code>. </p> <div class="mw-heading mw-heading2"><h2 id="Technical_details">Technical details</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8:Message_box/doc&action=edit&section=T-3" title="မႄးထတ်း တွၼ်ႈ :Technical details"><span>မႄးထတ်း</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The module uses the same basic code for each of the templates listed above; the differences between each of them are configured using the data at <a href="/wiki/%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8:Message_box/configuration" title="မေႃႇၵျူး:Message box/configuration">Module:Message box/configuration</a>. Here are the various configuration options and what they mean: </p> <ul><li><code>types</code> – a table containing data used by the type parameter of the message box. The table keys are the values that can be passed to the type parameter, and the table values are tables containing the class and the image used by that type.</li> <li><code>default</code> – the type to use if no value was passed to the type parameter, or if an invalid value was specified.</li> <li><code>showInvalidTypeError</code> – whether to show an error if the value passed to the type parameter was invalid.</li> <li><code>allowBlankParams</code> – usually blank values are stripped from parameters passed to the module. However, whitespace is preserved for the parameters included in the allowBlankParams table.</li> <li><code>allowSmall</code> – whether a small version of the message box can be produced with "small=yes".</li> <li><code>smallParam</code> – a custom name for the small parameter. For example, if set to "left" you can produce a small message box using "small=left".</li> <li><code>smallClass</code> – the class to use for small message boxes.</li> <li><code>substCheck</code> – whether to perform a subst check or not.</li> <li><code>classes</code> – an array of classes to use with the message box.</li> <li><code>imageEmptyCell</code> – whether to use an empty <code style="white-space:nowrap;"><td>...</td></code></li></ul> <pre>cell if there is no image set. This is used to preserve spacing for message boxes with a width of less than 100% of the screen. </pre> <ul><li><code>imageEmptyCellStyle</code> – whether empty image cells should be styled.</li> <li><code>imageCheckBlank</code> – whether "image=blank" results in no image being displayed.</li> <li><code>imageSmallSize</code> – usually, images used in small message boxes are set to 30x30px. This sets a custom size.</li> <li><code>imageCellDiv</code> – whether to enclose the image in a div enforcing a maximum image size.</li> <li><code>useCollapsibleTextFields</code> – whether to use text fields that can be collapsed, i.e. "issue", "fix", "talk", etc. Currently only used in ambox.</li> <li><code>imageRightNone</code> – whether imageright=none results in no image being displayed on the right-hand side of the message box.</li> <li><code>sectionDefault</code> – the default name for the "section" parameter. Depends on <code>useCollapsibleTextFields</code>.</li> <li><code>allowMainspaceCategories</code> – allow categorisation in the main namespace.</li> <li><code>templateCategory</code> – the name of a category to be placed on the template page.</li> <li><code>templateCategoryRequireName</code> – whether the <code>name</code> parameter is required to display the template category.</li> <li><code>templateErrorCategory</code> – the name of the error category to be used on the template page.</li> <li><code>templateErrorParamsToCheck</code> – an array of parameter names to check. If any are absent, the <code>templateErrorCategory</code> is applied to the template page.</li></ul> <hr /><div class="mw-highlight mw-highlight-lang-lua mw-content-ltr mw-highlight-lines" dir="ltr"><pre><span></span><span id="L-1"><a href="#L-1"><span class="linenos" data-line="1"></span></a><span class="nb">require</span><span class="p">(</span><span class="s1">'strict'</span><span class="p">)</span> </span><span id="L-2"><a href="#L-2"><span class="linenos" data-line="2"></span></a><span class="kd">local</span> <span class="n">getArgs</span> </span><span id="L-3"><a href="#L-3"><span class="linenos" data-line="3"></span></a><span class="kd">local</span> <span class="n">yesno</span> <span class="o">=</span> <span class="nb">require</span><span class="p">(</span><span class="s1">'Module:Yesno'</span><span class="p">)</span> </span><span id="L-4"><a href="#L-4"><span class="linenos" data-line="4"></span></a><span class="kd">local</span> <span class="n">lang</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">language</span><span class="p">.</span><span class="n">getContentLanguage</span><span class="p">()</span> </span><span id="L-5"><a href="#L-5"><span class="linenos" data-line="5"></span></a> </span><span id="L-6"><a href="#L-6"><span class="linenos" data-line="6"></span></a><span class="kd">local</span> <span class="n">CONFIG_MODULE</span> <span class="o">=</span> <span class="s1">'Module:Message box/configuration'</span> </span><span id="L-7"><a href="#L-7"><span class="linenos" data-line="7"></span></a><span class="kd">local</span> <span class="n">DEMOSPACES</span> <span class="o">=</span> <span class="p">{</span><span class="n">talk</span> <span class="o">=</span> <span class="s1">'tmbox'</span><span class="p">,</span> <span class="n">image</span> <span class="o">=</span> <span class="s1">'imbox'</span><span class="p">,</span> <span class="n">file</span> <span class="o">=</span> <span class="s1">'imbox'</span><span class="p">,</span> <span class="n">category</span> <span class="o">=</span> <span class="s1">'cmbox'</span><span class="p">,</span> <span class="n">article</span> <span class="o">=</span> <span class="s1">'ambox'</span><span class="p">,</span> <span class="n">main</span> <span class="o">=</span> <span class="s1">'ambox'</span><span class="p">}</span> </span><span id="L-8"><a href="#L-8"><span class="linenos" data-line="8"></span></a> </span><span id="L-9"><a href="#L-9"><span class="linenos" data-line="9"></span></a><span class="c1">--------------------------------------------------------------------------------</span> </span><span id="L-10"><a href="#L-10"><span class="linenos" data-line="10"></span></a><span class="c1">-- Helper functions</span> </span><span id="L-11"><a href="#L-11"><span class="linenos" data-line="11"></span></a><span class="c1">--------------------------------------------------------------------------------</span> </span><span id="L-12"><a href="#L-12"><span class="linenos" data-line="12"></span></a> </span><span id="L-13"><a href="#L-13"><span class="linenos" data-line="13"></span></a><span class="kd">local</span> <span class="kr">function</span> <span class="nf">getTitleObject</span><span class="p">(...)</span> </span><span id="L-14"><a href="#L-14"><span class="linenos" data-line="14"></span></a> <span class="c1">-- Get the title object, passing the function through pcall</span> </span><span id="L-15"><a href="#L-15"><span class="linenos" data-line="15"></span></a> <span class="c1">-- in case we are over the expensive function count limit.</span> </span><span id="L-16"><a href="#L-16"><span class="linenos" data-line="16"></span></a> <span class="kd">local</span> <span class="n">success</span><span class="p">,</span> <span class="n">title</span> <span class="o">=</span> <span class="nb">pcall</span><span class="p">(</span><span class="n">mw</span><span class="p">.</span><span class="n">title</span><span class="p">.</span><span class="n">new</span><span class="p">,</span> <span class="p">...)</span> </span><span id="L-17"><a href="#L-17"><span class="linenos" data-line="17"></span></a> <span class="kr">if</span> <span class="n">success</span> <span class="kr">then</span> </span><span id="L-18"><a href="#L-18"><span class="linenos" data-line="18"></span></a> <span class="kr">return</span> <span class="n">title</span> </span><span id="L-19"><a href="#L-19"><span class="linenos" data-line="19"></span></a> <span class="kr">end</span> </span><span id="L-20"><a href="#L-20"><span class="linenos" data-line="20"></span></a><span class="kr">end</span> </span><span id="L-21"><a href="#L-21"><span class="linenos" data-line="21"></span></a> </span><span id="L-22"><a href="#L-22"><span class="linenos" data-line="22"></span></a><span class="kd">local</span> <span class="kr">function</span> <span class="nf">union</span><span class="p">(</span><span class="n">t1</span><span class="p">,</span> <span class="n">t2</span><span class="p">)</span> </span><span id="L-23"><a href="#L-23"><span class="linenos" data-line="23"></span></a> <span class="c1">-- Returns the union of two arrays.</span> </span><span id="L-24"><a href="#L-24"><span class="linenos" data-line="24"></span></a> <span class="kd">local</span> <span class="n">vals</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-25"><a href="#L-25"><span class="linenos" data-line="25"></span></a> <span class="kr">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">v</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">t1</span><span class="p">)</span> <span class="kr">do</span> </span><span id="L-26"><a href="#L-26"><span class="linenos" data-line="26"></span></a> <span class="n">vals</span><span class="p">[</span><span class="n">v</span><span class="p">]</span> <span class="o">=</span> <span class="kc">true</span> </span><span id="L-27"><a href="#L-27"><span class="linenos" data-line="27"></span></a> <span class="kr">end</span> </span><span id="L-28"><a href="#L-28"><span class="linenos" data-line="28"></span></a> <span class="kr">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">v</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">t2</span><span class="p">)</span> <span class="kr">do</span> </span><span id="L-29"><a href="#L-29"><span class="linenos" data-line="29"></span></a> <span class="n">vals</span><span class="p">[</span><span class="n">v</span><span class="p">]</span> <span class="o">=</span> <span class="kc">true</span> </span><span id="L-30"><a href="#L-30"><span class="linenos" data-line="30"></span></a> <span class="kr">end</span> </span><span id="L-31"><a href="#L-31"><span class="linenos" data-line="31"></span></a> <span class="kd">local</span> <span class="n">ret</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-32"><a href="#L-32"><span class="linenos" data-line="32"></span></a> <span class="kr">for</span> <span class="n">k</span> <span class="kr">in</span> <span class="nb">pairs</span><span class="p">(</span><span class="n">vals</span><span class="p">)</span> <span class="kr">do</span> </span><span id="L-33"><a href="#L-33"><span class="linenos" data-line="33"></span></a> <span class="nb">table.insert</span><span class="p">(</span><span class="n">ret</span><span class="p">,</span> <span class="n">k</span><span class="p">)</span> </span><span id="L-34"><a href="#L-34"><span class="linenos" data-line="34"></span></a> <span class="kr">end</span> </span><span id="L-35"><a href="#L-35"><span class="linenos" data-line="35"></span></a> <span class="nb">table.sort</span><span class="p">(</span><span class="n">ret</span><span class="p">)</span> </span><span id="L-36"><a href="#L-36"><span class="linenos" data-line="36"></span></a> <span class="kr">return</span> <span class="n">ret</span> </span><span id="L-37"><a href="#L-37"><span class="linenos" data-line="37"></span></a><span class="kr">end</span> </span><span id="L-38"><a href="#L-38"><span class="linenos" data-line="38"></span></a> </span><span id="L-39"><a href="#L-39"><span class="linenos" data-line="39"></span></a><span class="kd">local</span> <span class="kr">function</span> <span class="nf">getArgNums</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="n">prefix</span><span class="p">)</span> </span><span id="L-40"><a href="#L-40"><span class="linenos" data-line="40"></span></a> <span class="kd">local</span> <span class="n">nums</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-41"><a href="#L-41"><span class="linenos" data-line="41"></span></a> <span class="kr">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="kr">in</span> <span class="nb">pairs</span><span class="p">(</span><span class="n">args</span><span class="p">)</span> <span class="kr">do</span> </span><span id="L-42"><a href="#L-42"><span class="linenos" data-line="42"></span></a> <span class="kd">local</span> <span class="n">num</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">match</span><span class="p">(</span><span class="nb">tostring</span><span class="p">(</span><span class="n">k</span><span class="p">),</span> <span class="s1">'^'</span> <span class="o">..</span> <span class="n">prefix</span> <span class="o">..</span> <span class="s1">'([1-9]%d*)$'</span><span class="p">)</span> </span><span id="L-43"><a href="#L-43"><span class="linenos" data-line="43"></span></a> <span class="kr">if</span> <span class="n">num</span> <span class="kr">then</span> </span><span id="L-44"><a href="#L-44"><span class="linenos" data-line="44"></span></a> <span class="nb">table.insert</span><span class="p">(</span><span class="n">nums</span><span class="p">,</span> <span class="nb">tonumber</span><span class="p">(</span><span class="n">num</span><span class="p">))</span> </span><span id="L-45"><a href="#L-45"><span class="linenos" data-line="45"></span></a> <span class="kr">end</span> </span><span id="L-46"><a href="#L-46"><span class="linenos" data-line="46"></span></a> <span class="kr">end</span> </span><span id="L-47"><a href="#L-47"><span class="linenos" data-line="47"></span></a> <span class="nb">table.sort</span><span class="p">(</span><span class="n">nums</span><span class="p">)</span> </span><span id="L-48"><a href="#L-48"><span class="linenos" data-line="48"></span></a> <span class="kr">return</span> <span class="n">nums</span> </span><span id="L-49"><a href="#L-49"><span class="linenos" data-line="49"></span></a><span class="kr">end</span> </span><span id="L-50"><a href="#L-50"><span class="linenos" data-line="50"></span></a> </span><span id="L-51"><a href="#L-51"><span class="linenos" data-line="51"></span></a><span class="c1">--------------------------------------------------------------------------------</span> </span><span id="L-52"><a href="#L-52"><span class="linenos" data-line="52"></span></a><span class="c1">-- Box class definition</span> </span><span id="L-53"><a href="#L-53"><span class="linenos" data-line="53"></span></a><span class="c1">--------------------------------------------------------------------------------</span> </span><span id="L-54"><a href="#L-54"><span class="linenos" data-line="54"></span></a> </span><span id="L-55"><a href="#L-55"><span class="linenos" data-line="55"></span></a><span class="kd">local</span> <span class="n">MessageBox</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-56"><a href="#L-56"><span class="linenos" data-line="56"></span></a><span class="n">MessageBox</span><span class="p">.</span><span class="n">__index</span> <span class="o">=</span> <span class="n">MessageBox</span> </span><span id="L-57"><a href="#L-57"><span class="linenos" data-line="57"></span></a> </span><span id="L-58"><a href="#L-58"><span class="linenos" data-line="58"></span></a><span class="kr">function</span> <span class="nc">MessageBox</span><span class="p">.</span><span class="nf">new</span><span class="p">(</span><span class="n">boxType</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="n">cfg</span><span class="p">)</span> </span><span id="L-59"><a href="#L-59"><span class="linenos" data-line="59"></span></a> <span class="n">args</span> <span class="o">=</span> <span class="n">args</span> <span class="ow">or</span> <span class="p">{}</span> </span><span id="L-60"><a href="#L-60"><span class="linenos" data-line="60"></span></a> <span class="kd">local</span> <span class="n">obj</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-61"><a href="#L-61"><span class="linenos" data-line="61"></span></a> </span><span id="L-62"><a href="#L-62"><span class="linenos" data-line="62"></span></a> <span class="c1">-- Set the title object and the namespace.</span> </span><span id="L-63"><a href="#L-63"><span class="linenos" data-line="63"></span></a> <span class="n">obj</span><span class="p">.</span><span class="n">title</span> <span class="o">=</span> <span class="n">getTitleObject</span><span class="p">(</span><span class="n">args</span><span class="p">.</span><span class="n">page</span><span class="p">)</span> <span class="ow">or</span> <span class="n">mw</span><span class="p">.</span><span class="n">title</span><span class="p">.</span><span class="n">getCurrentTitle</span><span class="p">()</span> </span><span id="L-64"><a href="#L-64"><span class="linenos" data-line="64"></span></a> </span><span id="L-65"><a href="#L-65"><span class="linenos" data-line="65"></span></a> <span class="c1">-- Set the config for our box type.</span> </span><span id="L-66"><a href="#L-66"><span class="linenos" data-line="66"></span></a> <span class="n">obj</span><span class="p">.</span><span class="n">cfg</span> <span class="o">=</span> <span class="n">cfg</span><span class="p">[</span><span class="n">boxType</span><span class="p">]</span> </span><span id="L-67"><a href="#L-67"><span class="linenos" data-line="67"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">obj</span><span class="p">.</span><span class="n">cfg</span> <span class="kr">then</span> </span><span id="L-68"><a href="#L-68"><span class="linenos" data-line="68"></span></a> <span class="kd">local</span> <span class="n">ns</span> <span class="o">=</span> <span class="n">obj</span><span class="p">.</span><span class="n">title</span><span class="p">.</span><span class="n">namespace</span> </span><span id="L-69"><a href="#L-69"><span class="linenos" data-line="69"></span></a> <span class="c1">-- boxType is "mbox" or invalid input</span> </span><span id="L-70"><a href="#L-70"><span class="linenos" data-line="70"></span></a> <span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">demospace</span> <span class="ow">and</span> <span class="n">args</span><span class="p">.</span><span class="n">demospace</span> <span class="o">~=</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-71"><a href="#L-71"><span class="linenos" data-line="71"></span></a> <span class="c1">-- implement demospace parameter of mbox</span> </span><span id="L-72"><a href="#L-72"><span class="linenos" data-line="72"></span></a> <span class="kd">local</span> <span class="n">demospace</span> <span class="o">=</span> <span class="nb">string.lower</span><span class="p">(</span><span class="n">args</span><span class="p">.</span><span class="n">demospace</span><span class="p">)</span> </span><span id="L-73"><a href="#L-73"><span class="linenos" data-line="73"></span></a> <span class="kr">if</span> <span class="n">DEMOSPACES</span><span class="p">[</span><span class="n">demospace</span><span class="p">]</span> <span class="kr">then</span> </span><span id="L-74"><a href="#L-74"><span class="linenos" data-line="74"></span></a> <span class="c1">-- use template from DEMOSPACES</span> </span><span id="L-75"><a href="#L-75"><span class="linenos" data-line="75"></span></a> <span class="n">obj</span><span class="p">.</span><span class="n">cfg</span> <span class="o">=</span> <span class="n">cfg</span><span class="p">[</span><span class="n">DEMOSPACES</span><span class="p">[</span><span class="n">demospace</span><span class="p">]]</span> </span><span id="L-76"><a href="#L-76"><span class="linenos" data-line="76"></span></a> <span class="kr">elseif</span> <span class="nb">string.find</span><span class="p">(</span> <span class="n">demospace</span><span class="p">,</span> <span class="s1">'talk'</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-77"><a href="#L-77"><span class="linenos" data-line="77"></span></a> <span class="c1">-- demo as a talk page</span> </span><span id="L-78"><a href="#L-78"><span class="linenos" data-line="78"></span></a> <span class="n">obj</span><span class="p">.</span><span class="n">cfg</span> <span class="o">=</span> <span class="n">cfg</span><span class="p">.</span><span class="n">tmbox</span> </span><span id="L-79"><a href="#L-79"><span class="linenos" data-line="79"></span></a> <span class="kr">else</span> </span><span id="L-80"><a href="#L-80"><span class="linenos" data-line="80"></span></a> <span class="c1">-- default to ombox</span> </span><span id="L-81"><a href="#L-81"><span class="linenos" data-line="81"></span></a> <span class="n">obj</span><span class="p">.</span><span class="n">cfg</span> <span class="o">=</span> <span class="n">cfg</span><span class="p">.</span><span class="n">ombox</span> </span><span id="L-82"><a href="#L-82"><span class="linenos" data-line="82"></span></a> <span class="kr">end</span> </span><span id="L-83"><a href="#L-83"><span class="linenos" data-line="83"></span></a> <span class="kr">elseif</span> <span class="n">ns</span> <span class="o">==</span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-84"><a href="#L-84"><span class="linenos" data-line="84"></span></a> <span class="n">obj</span><span class="p">.</span><span class="n">cfg</span> <span class="o">=</span> <span class="n">cfg</span><span class="p">.</span><span class="n">ambox</span> <span class="c1">-- main namespace</span> </span><span id="L-85"><a href="#L-85"><span class="linenos" data-line="85"></span></a> <span class="kr">elseif</span> <span class="n">ns</span> <span class="o">==</span> <span class="mi">6</span> <span class="kr">then</span> </span><span id="L-86"><a href="#L-86"><span class="linenos" data-line="86"></span></a> <span class="n">obj</span><span class="p">.</span><span class="n">cfg</span> <span class="o">=</span> <span class="n">cfg</span><span class="p">.</span><span class="n">imbox</span> <span class="c1">-- file namespace</span> </span><span id="L-87"><a href="#L-87"><span class="linenos" data-line="87"></span></a> <span class="kr">elseif</span> <span class="n">ns</span> <span class="o">==</span> <span class="mi">14</span> <span class="kr">then</span> </span><span id="L-88"><a href="#L-88"><span class="linenos" data-line="88"></span></a> <span class="n">obj</span><span class="p">.</span><span class="n">cfg</span> <span class="o">=</span> <span class="n">cfg</span><span class="p">.</span><span class="n">cmbox</span> <span class="c1">-- category namespace</span> </span><span id="L-89"><a href="#L-89"><span class="linenos" data-line="89"></span></a> <span class="kr">else</span> </span><span id="L-90"><a href="#L-90"><span class="linenos" data-line="90"></span></a> <span class="kd">local</span> <span class="n">nsTable</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">site</span><span class="p">.</span><span class="n">namespaces</span><span class="p">[</span><span class="n">ns</span><span class="p">]</span> </span><span id="L-91"><a href="#L-91"><span class="linenos" data-line="91"></span></a> <span class="kr">if</span> <span class="n">nsTable</span> <span class="ow">and</span> <span class="n">nsTable</span><span class="p">.</span><span class="n">isTalk</span> <span class="kr">then</span> </span><span id="L-92"><a href="#L-92"><span class="linenos" data-line="92"></span></a> <span class="n">obj</span><span class="p">.</span><span class="n">cfg</span> <span class="o">=</span> <span class="n">cfg</span><span class="p">.</span><span class="n">tmbox</span> <span class="c1">-- any talk namespace</span> </span><span id="L-93"><a href="#L-93"><span class="linenos" data-line="93"></span></a> <span class="kr">else</span> </span><span id="L-94"><a href="#L-94"><span class="linenos" data-line="94"></span></a> <span class="n">obj</span><span class="p">.</span><span class="n">cfg</span> <span class="o">=</span> <span class="n">cfg</span><span class="p">.</span><span class="n">ombox</span> <span class="c1">-- other namespaces or invalid input</span> </span><span id="L-95"><a href="#L-95"><span class="linenos" data-line="95"></span></a> <span class="kr">end</span> </span><span id="L-96"><a href="#L-96"><span class="linenos" data-line="96"></span></a> <span class="kr">end</span> </span><span id="L-97"><a href="#L-97"><span class="linenos" data-line="97"></span></a> <span class="kr">end</span> </span><span id="L-98"><a href="#L-98"><span class="linenos" data-line="98"></span></a> </span><span id="L-99"><a href="#L-99"><span class="linenos" data-line="99"></span></a> <span class="c1">-- Set the arguments, and remove all blank arguments except for the ones</span> </span><span id="L-100"><a href="#L-100"><span class="linenos" data-line="100"></span></a> <span class="c1">-- listed in cfg.allowBlankParams.</span> </span><span id="L-101"><a href="#L-101"><span class="linenos" data-line="101"></span></a> <span class="kr">do</span> </span><span id="L-102"><a href="#L-102"><span class="linenos" data-line="102"></span></a> <span class="kd">local</span> <span class="n">newArgs</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-103"><a href="#L-103"><span class="linenos" data-line="103"></span></a> <span class="kr">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="kr">in</span> <span class="nb">pairs</span><span class="p">(</span><span class="n">args</span><span class="p">)</span> <span class="kr">do</span> </span><span id="L-104"><a href="#L-104"><span class="linenos" data-line="104"></span></a> <span class="kr">if</span> <span class="n">v</span> <span class="o">~=</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-105"><a href="#L-105"><span class="linenos" data-line="105"></span></a> <span class="n">newArgs</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> <span class="o">=</span> <span class="n">v</span> </span><span id="L-106"><a href="#L-106"><span class="linenos" data-line="106"></span></a> <span class="kr">end</span> </span><span id="L-107"><a href="#L-107"><span class="linenos" data-line="107"></span></a> <span class="kr">end</span> </span><span id="L-108"><a href="#L-108"><span class="linenos" data-line="108"></span></a> <span class="kr">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">param</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">obj</span><span class="p">.</span><span class="n">cfg</span><span class="p">.</span><span class="n">allowBlankParams</span> <span class="ow">or</span> <span class="p">{})</span> <span class="kr">do</span> </span><span id="L-109"><a href="#L-109"><span class="linenos" data-line="109"></span></a> <span class="n">newArgs</span><span class="p">[</span><span class="n">param</span><span class="p">]</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="n">param</span><span class="p">]</span> </span><span id="L-110"><a href="#L-110"><span class="linenos" data-line="110"></span></a> <span class="kr">end</span> </span><span id="L-111"><a href="#L-111"><span class="linenos" data-line="111"></span></a> <span class="n">obj</span><span class="p">.</span><span class="n">args</span> <span class="o">=</span> <span class="n">newArgs</span> </span><span id="L-112"><a href="#L-112"><span class="linenos" data-line="112"></span></a> <span class="kr">end</span> </span><span id="L-113"><a href="#L-113"><span class="linenos" data-line="113"></span></a> </span><span id="L-114"><a href="#L-114"><span class="linenos" data-line="114"></span></a> <span class="c1">-- Define internal data structure.</span> </span><span id="L-115"><a href="#L-115"><span class="linenos" data-line="115"></span></a> <span class="n">obj</span><span class="p">.</span><span class="n">categories</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-116"><a href="#L-116"><span class="linenos" data-line="116"></span></a> <span class="n">obj</span><span class="p">.</span><span class="n">classes</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-117"><a href="#L-117"><span class="linenos" data-line="117"></span></a> <span class="c1">-- For lazy loading of [[Module:Category handler]].</span> </span><span id="L-118"><a href="#L-118"><span class="linenos" data-line="118"></span></a> <span class="n">obj</span><span class="p">.</span><span class="n">hasCategories</span> <span class="o">=</span> <span class="kc">false</span> </span><span id="L-119"><a href="#L-119"><span class="linenos" data-line="119"></span></a> </span><span id="L-120"><a href="#L-120"><span class="linenos" data-line="120"></span></a> <span class="kr">return</span> <span class="nb">setmetatable</span><span class="p">(</span><span class="n">obj</span><span class="p">,</span> <span class="n">MessageBox</span><span class="p">)</span> </span><span id="L-121"><a href="#L-121"><span class="linenos" data-line="121"></span></a><span class="kr">end</span> </span><span id="L-122"><a href="#L-122"><span class="linenos" data-line="122"></span></a> </span><span id="L-123"><a href="#L-123"><span class="linenos" data-line="123"></span></a><span class="kr">function</span> <span class="nc">MessageBox</span><span class="p">:</span><span class="nf">addCat</span><span class="p">(</span><span class="n">ns</span><span class="p">,</span> <span class="n">cat</span><span class="p">,</span> <span class="n">sort</span><span class="p">)</span> </span><span id="L-124"><a href="#L-124"><span class="linenos" data-line="124"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">cat</span> <span class="kr">then</span> </span><span id="L-125"><a href="#L-125"><span class="linenos" data-line="125"></span></a> <span class="kr">return</span> <span class="kc">nil</span> </span><span id="L-126"><a href="#L-126"><span class="linenos" data-line="126"></span></a> <span class="kr">end</span> </span><span id="L-127"><a href="#L-127"><span class="linenos" data-line="127"></span></a> <span class="kr">if</span> <span class="n">sort</span> <span class="kr">then</span> </span><span id="L-128"><a href="#L-128"><span class="linenos" data-line="128"></span></a> <span class="n">cat</span> <span class="o">=</span> <span class="nb">string.format</span><span class="p">(</span><span class="s1">'[[Category:%s|%s]]'</span><span class="p">,</span> <span class="n">cat</span><span class="p">,</span> <span class="n">sort</span><span class="p">)</span> </span><span id="L-129"><a href="#L-129"><span class="linenos" data-line="129"></span></a> <span class="kr">else</span> </span><span id="L-130"><a href="#L-130"><span class="linenos" data-line="130"></span></a> <span class="n">cat</span> <span class="o">=</span> <span class="nb">string.format</span><span class="p">(</span><span class="s1">'[[Category:%s]]'</span><span class="p">,</span> <span class="n">cat</span><span class="p">)</span> </span><span id="L-131"><a href="#L-131"><span class="linenos" data-line="131"></span></a> <span class="kr">end</span> </span><span id="L-132"><a href="#L-132"><span class="linenos" data-line="132"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">hasCategories</span> <span class="o">=</span> <span class="kc">true</span> </span><span id="L-133"><a href="#L-133"><span class="linenos" data-line="133"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">categories</span><span class="p">[</span><span class="n">ns</span><span class="p">]</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">categories</span><span class="p">[</span><span class="n">ns</span><span class="p">]</span> <span class="ow">or</span> <span class="p">{}</span> </span><span id="L-134"><a href="#L-134"><span class="linenos" data-line="134"></span></a> <span class="nb">table.insert</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">categories</span><span class="p">[</span><span class="n">ns</span><span class="p">],</span> <span class="n">cat</span><span class="p">)</span> </span><span id="L-135"><a href="#L-135"><span class="linenos" data-line="135"></span></a><span class="kr">end</span> </span><span id="L-136"><a href="#L-136"><span class="linenos" data-line="136"></span></a> </span><span id="L-137"><a href="#L-137"><span class="linenos" data-line="137"></span></a><span class="kr">function</span> <span class="nc">MessageBox</span><span class="p">:</span><span class="nf">addClass</span><span class="p">(</span><span class="n">class</span><span class="p">)</span> </span><span id="L-138"><a href="#L-138"><span class="linenos" data-line="138"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">class</span> <span class="kr">then</span> </span><span id="L-139"><a href="#L-139"><span class="linenos" data-line="139"></span></a> <span class="kr">return</span> <span class="kc">nil</span> </span><span id="L-140"><a href="#L-140"><span class="linenos" data-line="140"></span></a> <span class="kr">end</span> </span><span id="L-141"><a href="#L-141"><span class="linenos" data-line="141"></span></a> <span class="nb">table.insert</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">classes</span><span class="p">,</span> <span class="n">class</span><span class="p">)</span> </span><span id="L-142"><a href="#L-142"><span class="linenos" data-line="142"></span></a><span class="kr">end</span> </span><span id="L-143"><a href="#L-143"><span class="linenos" data-line="143"></span></a> </span><span id="L-144"><a href="#L-144"><span class="linenos" data-line="144"></span></a><span class="kr">function</span> <span class="nc">MessageBox</span><span class="p">:</span><span class="nf">setParameters</span><span class="p">()</span> </span><span id="L-145"><a href="#L-145"><span class="linenos" data-line="145"></span></a> <span class="kd">local</span> <span class="n">args</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">args</span> </span><span id="L-146"><a href="#L-146"><span class="linenos" data-line="146"></span></a> <span class="kd">local</span> <span class="n">cfg</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">cfg</span> </span><span id="L-147"><a href="#L-147"><span class="linenos" data-line="147"></span></a> </span><span id="L-148"><a href="#L-148"><span class="linenos" data-line="148"></span></a> <span class="c1">-- Get type data.</span> </span><span id="L-149"><a href="#L-149"><span class="linenos" data-line="149"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">type</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">type</span> </span><span id="L-150"><a href="#L-150"><span class="linenos" data-line="150"></span></a> <span class="kd">local</span> <span class="n">typeData</span> <span class="o">=</span> <span class="n">cfg</span><span class="p">.</span><span class="n">types</span><span class="p">[</span><span class="n">self</span><span class="p">.</span><span class="n">type</span><span class="p">]</span> </span><span id="L-151"><a href="#L-151"><span class="linenos" data-line="151"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">invalidTypeError</span> <span class="o">=</span> <span class="n">cfg</span><span class="p">.</span><span class="n">showInvalidTypeError</span> </span><span id="L-152"><a href="#L-152"><span class="linenos" data-line="152"></span></a> <span class="ow">and</span> <span class="n">self</span><span class="p">.</span><span class="n">type</span> </span><span id="L-153"><a href="#L-153"><span class="linenos" data-line="153"></span></a> <span class="ow">and</span> <span class="ow">not</span> <span class="n">typeData</span> </span><span id="L-154"><a href="#L-154"><span class="linenos" data-line="154"></span></a> <span class="n">typeData</span> <span class="o">=</span> <span class="n">typeData</span> <span class="ow">or</span> <span class="n">cfg</span><span class="p">.</span><span class="n">types</span><span class="p">[</span><span class="n">cfg</span><span class="p">.</span><span class="n">default</span><span class="p">]</span> </span><span id="L-155"><a href="#L-155"><span class="linenos" data-line="155"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">typeClass</span> <span class="o">=</span> <span class="n">typeData</span><span class="p">.</span><span class="n">class</span> </span><span id="L-156"><a href="#L-156"><span class="linenos" data-line="156"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">typeImage</span> <span class="o">=</span> <span class="n">typeData</span><span class="p">.</span><span class="n">image</span> </span><span id="L-157"><a href="#L-157"><span class="linenos" data-line="157"></span></a> </span><span id="L-158"><a href="#L-158"><span class="linenos" data-line="158"></span></a> <span class="c1">-- Find if the box has been wrongly substituted.</span> </span><span id="L-159"><a href="#L-159"><span class="linenos" data-line="159"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">isSubstituted</span> <span class="o">=</span> <span class="n">cfg</span><span class="p">.</span><span class="n">substCheck</span> <span class="ow">and</span> <span class="n">args</span><span class="p">.</span><span class="n">subst</span> <span class="o">==</span> <span class="s1">'SUBST'</span> </span><span id="L-160"><a href="#L-160"><span class="linenos" data-line="160"></span></a> </span><span id="L-161"><a href="#L-161"><span class="linenos" data-line="161"></span></a> <span class="c1">-- Find whether we are using a small message box.</span> </span><span id="L-162"><a href="#L-162"><span class="linenos" data-line="162"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">isSmall</span> <span class="o">=</span> <span class="n">cfg</span><span class="p">.</span><span class="n">allowSmall</span> <span class="ow">and</span> <span class="p">(</span> </span><span id="L-163"><a href="#L-163"><span class="linenos" data-line="163"></span></a> <span class="n">cfg</span><span class="p">.</span><span class="n">smallParam</span> <span class="ow">and</span> <span class="n">args</span><span class="p">.</span><span class="n">small</span> <span class="o">==</span> <span class="n">cfg</span><span class="p">.</span><span class="n">smallParam</span> </span><span id="L-164"><a href="#L-164"><span class="linenos" data-line="164"></span></a> <span class="ow">or</span> <span class="ow">not</span> <span class="n">cfg</span><span class="p">.</span><span class="n">smallParam</span> <span class="ow">and</span> <span class="n">yesno</span><span class="p">(</span><span class="n">args</span><span class="p">.</span><span class="n">small</span><span class="p">)</span> </span><span id="L-165"><a href="#L-165"><span class="linenos" data-line="165"></span></a> <span class="p">)</span> </span><span id="L-166"><a href="#L-166"><span class="linenos" data-line="166"></span></a> </span><span id="L-167"><a href="#L-167"><span class="linenos" data-line="167"></span></a> <span class="c1">-- Add attributes, classes and styles.</span> </span><span id="L-168"><a href="#L-168"><span class="linenos" data-line="168"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">id</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">id</span> </span><span id="L-169"><a href="#L-169"><span class="linenos" data-line="169"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">name</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">name</span> </span><span id="L-170"><a href="#L-170"><span class="linenos" data-line="170"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">name</span> <span class="kr">then</span> </span><span id="L-171"><a href="#L-171"><span class="linenos" data-line="171"></span></a> <span class="n">self</span><span class="p">:</span><span class="n">addClass</span><span class="p">(</span><span class="s1">'box-'</span> <span class="o">..</span> <span class="nb">string.gsub</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">name</span><span class="p">,</span><span class="s1">' '</span><span class="p">,</span><span class="s1">'_'</span><span class="p">))</span> </span><span id="L-172"><a href="#L-172"><span class="linenos" data-line="172"></span></a> <span class="kr">end</span> </span><span id="L-173"><a href="#L-173"><span class="linenos" data-line="173"></span></a> <span class="kr">if</span> <span class="n">yesno</span><span class="p">(</span><span class="n">args</span><span class="p">.</span><span class="n">plainlinks</span><span class="p">)</span> <span class="o">~=</span> <span class="kc">false</span> <span class="kr">then</span> </span><span id="L-174"><a href="#L-174"><span class="linenos" data-line="174"></span></a> <span class="n">self</span><span class="p">:</span><span class="n">addClass</span><span class="p">(</span><span class="s1">'plainlinks'</span><span class="p">)</span> </span><span id="L-175"><a href="#L-175"><span class="linenos" data-line="175"></span></a> <span class="kr">end</span> </span><span id="L-176"><a href="#L-176"><span class="linenos" data-line="176"></span></a> <span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">class</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">cfg</span><span class="p">.</span><span class="n">classes</span> <span class="ow">or</span> <span class="p">{})</span> <span class="kr">do</span> </span><span id="L-177"><a href="#L-177"><span class="linenos" data-line="177"></span></a> <span class="n">self</span><span class="p">:</span><span class="n">addClass</span><span class="p">(</span><span class="n">class</span><span class="p">)</span> </span><span id="L-178"><a href="#L-178"><span class="linenos" data-line="178"></span></a> <span class="kr">end</span> </span><span id="L-179"><a href="#L-179"><span class="linenos" data-line="179"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">isSmall</span> <span class="kr">then</span> </span><span id="L-180"><a href="#L-180"><span class="linenos" data-line="180"></span></a> <span class="n">self</span><span class="p">:</span><span class="n">addClass</span><span class="p">(</span><span class="n">cfg</span><span class="p">.</span><span class="n">smallClass</span> <span class="ow">or</span> <span class="s1">'mbox-small'</span><span class="p">)</span> </span><span id="L-181"><a href="#L-181"><span class="linenos" data-line="181"></span></a> <span class="kr">end</span> </span><span id="L-182"><a href="#L-182"><span class="linenos" data-line="182"></span></a> <span class="n">self</span><span class="p">:</span><span class="n">addClass</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">typeClass</span><span class="p">)</span> </span><span id="L-183"><a href="#L-183"><span class="linenos" data-line="183"></span></a> <span class="n">self</span><span class="p">:</span><span class="n">addClass</span><span class="p">(</span><span class="n">args</span><span class="p">.</span><span class="n">class</span><span class="p">)</span> </span><span id="L-184"><a href="#L-184"><span class="linenos" data-line="184"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">style</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">style</span> </span><span id="L-185"><a href="#L-185"><span class="linenos" data-line="185"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">attrs</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">attrs</span> </span><span id="L-186"><a href="#L-186"><span class="linenos" data-line="186"></span></a> </span><span id="L-187"><a href="#L-187"><span class="linenos" data-line="187"></span></a> <span class="c1">-- Set text style.</span> </span><span id="L-188"><a href="#L-188"><span class="linenos" data-line="188"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">textstyle</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">textstyle</span> </span><span id="L-189"><a href="#L-189"><span class="linenos" data-line="189"></span></a> </span><span id="L-190"><a href="#L-190"><span class="linenos" data-line="190"></span></a> <span class="c1">-- Find if we are on the template page or not. This functionality is only</span> </span><span id="L-191"><a href="#L-191"><span class="linenos" data-line="191"></span></a> <span class="c1">-- used if useCollapsibleTextFields is set, or if both cfg.templateCategory</span> </span><span id="L-192"><a href="#L-192"><span class="linenos" data-line="192"></span></a> <span class="c1">-- and cfg.templateCategoryRequireName are set.</span> </span><span id="L-193"><a href="#L-193"><span class="linenos" data-line="193"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">useCollapsibleTextFields</span> <span class="o">=</span> <span class="n">cfg</span><span class="p">.</span><span class="n">useCollapsibleTextFields</span> </span><span id="L-194"><a href="#L-194"><span class="linenos" data-line="194"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">useCollapsibleTextFields</span> </span><span id="L-195"><a href="#L-195"><span class="linenos" data-line="195"></span></a> <span class="ow">or</span> <span class="n">cfg</span><span class="p">.</span><span class="n">templateCategory</span> </span><span id="L-196"><a href="#L-196"><span class="linenos" data-line="196"></span></a> <span class="ow">and</span> <span class="n">cfg</span><span class="p">.</span><span class="n">templateCategoryRequireName</span> </span><span id="L-197"><a href="#L-197"><span class="linenos" data-line="197"></span></a> <span class="kr">then</span> </span><span id="L-198"><a href="#L-198"><span class="linenos" data-line="198"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">name</span> <span class="kr">then</span> </span><span id="L-199"><a href="#L-199"><span class="linenos" data-line="199"></span></a> <span class="kd">local</span> <span class="n">templateName</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">match</span><span class="p">(</span> </span><span id="L-200"><a href="#L-200"><span class="linenos" data-line="200"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">name</span><span class="p">,</span> </span><span id="L-201"><a href="#L-201"><span class="linenos" data-line="201"></span></a> <span class="s1">'^[tT][eE][mM][pP][lL][aA][tT][eE][%s_]*:[%s_]*(.*)$'</span> </span><span id="L-202"><a href="#L-202"><span class="linenos" data-line="202"></span></a> <span class="p">)</span> <span class="ow">or</span> <span class="n">self</span><span class="p">.</span><span class="n">name</span> </span><span id="L-203"><a href="#L-203"><span class="linenos" data-line="203"></span></a> <span class="n">templateName</span> <span class="o">=</span> <span class="s1">'Template:'</span> <span class="o">..</span> <span class="n">templateName</span> </span><span id="L-204"><a href="#L-204"><span class="linenos" data-line="204"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">templateTitle</span> <span class="o">=</span> <span class="n">getTitleObject</span><span class="p">(</span><span class="n">templateName</span><span class="p">)</span> </span><span id="L-205"><a href="#L-205"><span class="linenos" data-line="205"></span></a> <span class="kr">end</span> </span><span id="L-206"><a href="#L-206"><span class="linenos" data-line="206"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">isTemplatePage</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">templateTitle</span> </span><span id="L-207"><a href="#L-207"><span class="linenos" data-line="207"></span></a> <span class="ow">and</span> <span class="n">mw</span><span class="p">.</span><span class="n">title</span><span class="p">.</span><span class="n">equals</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">title</span><span class="p">,</span> <span class="n">self</span><span class="p">.</span><span class="n">templateTitle</span><span class="p">)</span> </span><span id="L-208"><a href="#L-208"><span class="linenos" data-line="208"></span></a> <span class="kr">end</span> </span><span id="L-209"><a href="#L-209"><span class="linenos" data-line="209"></span></a> </span><span id="L-210"><a href="#L-210"><span class="linenos" data-line="210"></span></a> <span class="c1">-- Process data for collapsible text fields. At the moment these are only</span> </span><span id="L-211"><a href="#L-211"><span class="linenos" data-line="211"></span></a> <span class="c1">-- used in {{ambox}}.</span> </span><span id="L-212"><a href="#L-212"><span class="linenos" data-line="212"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">useCollapsibleTextFields</span> <span class="kr">then</span> </span><span id="L-213"><a href="#L-213"><span class="linenos" data-line="213"></span></a> <span class="c1">-- Get the self.issue value.</span> </span><span id="L-214"><a href="#L-214"><span class="linenos" data-line="214"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">isSmall</span> <span class="ow">and</span> <span class="n">args</span><span class="p">.</span><span class="n">smalltext</span> <span class="kr">then</span> </span><span id="L-215"><a href="#L-215"><span class="linenos" data-line="215"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">issue</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">smalltext</span> </span><span id="L-216"><a href="#L-216"><span class="linenos" data-line="216"></span></a> <span class="kr">else</span> </span><span id="L-217"><a href="#L-217"><span class="linenos" data-line="217"></span></a> <span class="kd">local</span> <span class="n">sect</span> </span><span id="L-218"><a href="#L-218"><span class="linenos" data-line="218"></span></a> <span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">sect</span> <span class="o">==</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-219"><a href="#L-219"><span class="linenos" data-line="219"></span></a> <span class="n">sect</span> <span class="o">=</span> <span class="s1">'This '</span> <span class="o">..</span> <span class="p">(</span><span class="n">cfg</span><span class="p">.</span><span class="n">sectionDefault</span> <span class="ow">or</span> <span class="s1">'page'</span><span class="p">)</span> </span><span id="L-220"><a href="#L-220"><span class="linenos" data-line="220"></span></a> <span class="kr">elseif</span> <span class="nb">type</span><span class="p">(</span><span class="n">args</span><span class="p">.</span><span class="n">sect</span><span class="p">)</span> <span class="o">==</span> <span class="s1">'string'</span> <span class="kr">then</span> </span><span id="L-221"><a href="#L-221"><span class="linenos" data-line="221"></span></a> <span class="n">sect</span> <span class="o">=</span> <span class="s1">'This '</span> <span class="o">..</span> <span class="n">args</span><span class="p">.</span><span class="n">sect</span> </span><span id="L-222"><a href="#L-222"><span class="linenos" data-line="222"></span></a> <span class="kr">end</span> </span><span id="L-223"><a href="#L-223"><span class="linenos" data-line="223"></span></a> <span class="kd">local</span> <span class="n">issue</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">issue</span> </span><span id="L-224"><a href="#L-224"><span class="linenos" data-line="224"></span></a> <span class="n">issue</span> <span class="o">=</span> <span class="nb">type</span><span class="p">(</span><span class="n">issue</span><span class="p">)</span> <span class="o">==</span> <span class="s1">'string'</span> <span class="ow">and</span> <span class="n">issue</span> <span class="o">~=</span> <span class="s1">''</span> <span class="ow">and</span> <span class="n">issue</span> <span class="ow">or</span> <span class="kc">nil</span> </span><span id="L-225"><a href="#L-225"><span class="linenos" data-line="225"></span></a> <span class="kd">local</span> <span class="n">text</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">text</span> </span><span id="L-226"><a href="#L-226"><span class="linenos" data-line="226"></span></a> <span class="n">text</span> <span class="o">=</span> <span class="nb">type</span><span class="p">(</span><span class="n">text</span><span class="p">)</span> <span class="o">==</span> <span class="s1">'string'</span> <span class="ow">and</span> <span class="n">text</span> <span class="ow">or</span> <span class="kc">nil</span> </span><span id="L-227"><a href="#L-227"><span class="linenos" data-line="227"></span></a> <span class="kd">local</span> <span class="n">issues</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-228"><a href="#L-228"><span class="linenos" data-line="228"></span></a> <span class="nb">table.insert</span><span class="p">(</span><span class="n">issues</span><span class="p">,</span> <span class="n">sect</span><span class="p">)</span> </span><span id="L-229"><a href="#L-229"><span class="linenos" data-line="229"></span></a> <span class="nb">table.insert</span><span class="p">(</span><span class="n">issues</span><span class="p">,</span> <span class="n">issue</span><span class="p">)</span> </span><span id="L-230"><a href="#L-230"><span class="linenos" data-line="230"></span></a> <span class="nb">table.insert</span><span class="p">(</span><span class="n">issues</span><span class="p">,</span> <span class="n">text</span><span class="p">)</span> </span><span id="L-231"><a href="#L-231"><span class="linenos" data-line="231"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">issue</span> <span class="o">=</span> <span class="nb">table.concat</span><span class="p">(</span><span class="n">issues</span><span class="p">,</span> <span class="s1">' '</span><span class="p">)</span> </span><span id="L-232"><a href="#L-232"><span class="linenos" data-line="232"></span></a> <span class="kr">end</span> </span><span id="L-233"><a href="#L-233"><span class="linenos" data-line="233"></span></a> </span><span id="L-234"><a href="#L-234"><span class="linenos" data-line="234"></span></a> <span class="c1">-- Get the self.talk value.</span> </span><span id="L-235"><a href="#L-235"><span class="linenos" data-line="235"></span></a> <span class="kd">local</span> <span class="n">talk</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">talk</span> </span><span id="L-236"><a href="#L-236"><span class="linenos" data-line="236"></span></a> <span class="c1">-- Show talk links on the template page or template subpages if the talk</span> </span><span id="L-237"><a href="#L-237"><span class="linenos" data-line="237"></span></a> <span class="c1">-- parameter is blank.</span> </span><span id="L-238"><a href="#L-238"><span class="linenos" data-line="238"></span></a> <span class="kr">if</span> <span class="n">talk</span> <span class="o">==</span> <span class="s1">''</span> </span><span id="L-239"><a href="#L-239"><span class="linenos" data-line="239"></span></a> <span class="ow">and</span> <span class="n">self</span><span class="p">.</span><span class="n">templateTitle</span> </span><span id="L-240"><a href="#L-240"><span class="linenos" data-line="240"></span></a> <span class="ow">and</span> <span class="p">(</span> </span><span id="L-241"><a href="#L-241"><span class="linenos" data-line="241"></span></a> <span class="n">mw</span><span class="p">.</span><span class="n">title</span><span class="p">.</span><span class="n">equals</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">templateTitle</span><span class="p">,</span> <span class="n">self</span><span class="p">.</span><span class="n">title</span><span class="p">)</span> </span><span id="L-242"><a href="#L-242"><span class="linenos" data-line="242"></span></a> <span class="ow">or</span> <span class="n">self</span><span class="p">.</span><span class="n">title</span><span class="p">:</span><span class="n">isSubpageOf</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">templateTitle</span><span class="p">)</span> </span><span id="L-243"><a href="#L-243"><span class="linenos" data-line="243"></span></a> <span class="p">)</span> </span><span id="L-244"><a href="#L-244"><span class="linenos" data-line="244"></span></a> <span class="kr">then</span> </span><span id="L-245"><a href="#L-245"><span class="linenos" data-line="245"></span></a> <span class="n">talk</span> <span class="o">=</span> <span class="s1">'#'</span> </span><span id="L-246"><a href="#L-246"><span class="linenos" data-line="246"></span></a> <span class="kr">elseif</span> <span class="n">talk</span> <span class="o">==</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-247"><a href="#L-247"><span class="linenos" data-line="247"></span></a> <span class="n">talk</span> <span class="o">=</span> <span class="kc">nil</span> </span><span id="L-248"><a href="#L-248"><span class="linenos" data-line="248"></span></a> <span class="kr">end</span> </span><span id="L-249"><a href="#L-249"><span class="linenos" data-line="249"></span></a> <span class="kr">if</span> <span class="n">talk</span> <span class="kr">then</span> </span><span id="L-250"><a href="#L-250"><span class="linenos" data-line="250"></span></a> <span class="c1">-- If the talk value is a talk page, make a link to that page. Else</span> </span><span id="L-251"><a href="#L-251"><span class="linenos" data-line="251"></span></a> <span class="c1">-- assume that it's a section heading, and make a link to the talk</span> </span><span id="L-252"><a href="#L-252"><span class="linenos" data-line="252"></span></a> <span class="c1">-- page of the current page with that section heading.</span> </span><span id="L-253"><a href="#L-253"><span class="linenos" data-line="253"></span></a> <span class="kd">local</span> <span class="n">talkTitle</span> <span class="o">=</span> <span class="n">getTitleObject</span><span class="p">(</span><span class="n">talk</span><span class="p">)</span> </span><span id="L-254"><a href="#L-254"><span class="linenos" data-line="254"></span></a> <span class="kd">local</span> <span class="n">talkArgIsTalkPage</span> <span class="o">=</span> <span class="kc">true</span> </span><span id="L-255"><a href="#L-255"><span class="linenos" data-line="255"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">talkTitle</span> <span class="ow">or</span> <span class="ow">not</span> <span class="n">talkTitle</span><span class="p">.</span><span class="n">isTalkPage</span> <span class="kr">then</span> </span><span id="L-256"><a href="#L-256"><span class="linenos" data-line="256"></span></a> <span class="n">talkArgIsTalkPage</span> <span class="o">=</span> <span class="kc">false</span> </span><span id="L-257"><a href="#L-257"><span class="linenos" data-line="257"></span></a> <span class="n">talkTitle</span> <span class="o">=</span> <span class="n">getTitleObject</span><span class="p">(</span> </span><span id="L-258"><a href="#L-258"><span class="linenos" data-line="258"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">title</span><span class="p">.</span><span class="n">text</span><span class="p">,</span> </span><span id="L-259"><a href="#L-259"><span class="linenos" data-line="259"></span></a> <span class="n">mw</span><span class="p">.</span><span class="n">site</span><span class="p">.</span><span class="n">namespaces</span><span class="p">[</span><span class="n">self</span><span class="p">.</span><span class="n">title</span><span class="p">.</span><span class="n">namespace</span><span class="p">].</span><span class="n">talk</span><span class="p">.</span><span class="n">id</span> </span><span id="L-260"><a href="#L-260"><span class="linenos" data-line="260"></span></a> <span class="p">)</span> </span><span id="L-261"><a href="#L-261"><span class="linenos" data-line="261"></span></a> <span class="kr">end</span> </span><span id="L-262"><a href="#L-262"><span class="linenos" data-line="262"></span></a> <span class="kr">if</span> <span class="n">talkTitle</span> <span class="ow">and</span> <span class="n">talkTitle</span><span class="p">.</span><span class="n">exists</span> <span class="kr">then</span> </span><span id="L-263"><a href="#L-263"><span class="linenos" data-line="263"></span></a> <span class="kd">local</span> <span class="n">talkText</span> </span><span id="L-264"><a href="#L-264"><span class="linenos" data-line="264"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">isSmall</span> <span class="kr">then</span> </span><span id="L-265"><a href="#L-265"><span class="linenos" data-line="265"></span></a> <span class="kd">local</span> <span class="n">talkLink</span> <span class="o">=</span> <span class="n">talkArgIsTalkPage</span> <span class="ow">and</span> <span class="n">talk</span> <span class="ow">or</span> <span class="p">(</span><span class="n">talkTitle</span><span class="p">.</span><span class="n">prefixedText</span> <span class="o">..</span> <span class="s1">'#'</span> <span class="o">..</span> <span class="n">talk</span><span class="p">)</span> </span><span id="L-266"><a href="#L-266"><span class="linenos" data-line="266"></span></a> <span class="n">talkText</span> <span class="o">=</span> <span class="nb">string.format</span><span class="p">(</span><span class="s1">'([[%s|talk]])'</span><span class="p">,</span> <span class="n">talkLink</span><span class="p">)</span> </span><span id="L-267"><a href="#L-267"><span class="linenos" data-line="267"></span></a> <span class="kr">else</span> </span><span id="L-268"><a href="#L-268"><span class="linenos" data-line="268"></span></a> <span class="n">talkText</span> <span class="o">=</span> <span class="s1">'Relevant discussion may be found on'</span> </span><span id="L-269"><a href="#L-269"><span class="linenos" data-line="269"></span></a> <span class="kr">if</span> <span class="n">talkArgIsTalkPage</span> <span class="kr">then</span> </span><span id="L-270"><a href="#L-270"><span class="linenos" data-line="270"></span></a> <span class="n">talkText</span> <span class="o">=</span> <span class="nb">string.format</span><span class="p">(</span> </span><span id="L-271"><a href="#L-271"><span class="linenos" data-line="271"></span></a> <span class="s1">'%s [[%s|%s]].'</span><span class="p">,</span> </span><span id="L-272"><a href="#L-272"><span class="linenos" data-line="272"></span></a> <span class="n">talkText</span><span class="p">,</span> </span><span id="L-273"><a href="#L-273"><span class="linenos" data-line="273"></span></a> <span class="n">talk</span><span class="p">,</span> </span><span id="L-274"><a href="#L-274"><span class="linenos" data-line="274"></span></a> <span class="n">talkTitle</span><span class="p">.</span><span class="n">prefixedText</span> </span><span id="L-275"><a href="#L-275"><span class="linenos" data-line="275"></span></a> <span class="p">)</span> </span><span id="L-276"><a href="#L-276"><span class="linenos" data-line="276"></span></a> <span class="kr">else</span> </span><span id="L-277"><a href="#L-277"><span class="linenos" data-line="277"></span></a> <span class="n">talkText</span> <span class="o">=</span> <span class="nb">string.format</span><span class="p">(</span> </span><span id="L-278"><a href="#L-278"><span class="linenos" data-line="278"></span></a> <span class="s1">'%s the [[%s#%s|talk page]].'</span><span class="p">,</span> </span><span id="L-279"><a href="#L-279"><span class="linenos" data-line="279"></span></a> <span class="n">talkText</span><span class="p">,</span> </span><span id="L-280"><a href="#L-280"><span class="linenos" data-line="280"></span></a> <span class="n">talkTitle</span><span class="p">.</span><span class="n">prefixedText</span><span class="p">,</span> </span><span id="L-281"><a href="#L-281"><span class="linenos" data-line="281"></span></a> <span class="n">talk</span> </span><span id="L-282"><a href="#L-282"><span class="linenos" data-line="282"></span></a> <span class="p">)</span> </span><span id="L-283"><a href="#L-283"><span class="linenos" data-line="283"></span></a> <span class="kr">end</span> </span><span id="L-284"><a href="#L-284"><span class="linenos" data-line="284"></span></a> <span class="kr">end</span> </span><span id="L-285"><a href="#L-285"><span class="linenos" data-line="285"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">talk</span> <span class="o">=</span> <span class="n">talkText</span> </span><span id="L-286"><a href="#L-286"><span class="linenos" data-line="286"></span></a> <span class="kr">end</span> </span><span id="L-287"><a href="#L-287"><span class="linenos" data-line="287"></span></a> <span class="kr">end</span> </span><span id="L-288"><a href="#L-288"><span class="linenos" data-line="288"></span></a> </span><span id="L-289"><a href="#L-289"><span class="linenos" data-line="289"></span></a> <span class="c1">-- Get other values.</span> </span><span id="L-290"><a href="#L-290"><span class="linenos" data-line="290"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">fix</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">fix</span> <span class="o">~=</span> <span class="s1">''</span> <span class="ow">and</span> <span class="n">args</span><span class="p">.</span><span class="n">fix</span> <span class="ow">or</span> <span class="kc">nil</span> </span><span id="L-291"><a href="#L-291"><span class="linenos" data-line="291"></span></a> <span class="kd">local</span> <span class="n">date</span> </span><span id="L-292"><a href="#L-292"><span class="linenos" data-line="292"></span></a> <span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">date</span> <span class="ow">and</span> <span class="n">args</span><span class="p">.</span><span class="n">date</span> <span class="o">~=</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-293"><a href="#L-293"><span class="linenos" data-line="293"></span></a> <span class="n">date</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">date</span> </span><span id="L-294"><a href="#L-294"><span class="linenos" data-line="294"></span></a> <span class="kr">elseif</span> <span class="n">args</span><span class="p">.</span><span class="n">date</span> <span class="o">==</span> <span class="s1">''</span> <span class="ow">and</span> <span class="n">self</span><span class="p">.</span><span class="n">isTemplatePage</span> <span class="kr">then</span> </span><span id="L-295"><a href="#L-295"><span class="linenos" data-line="295"></span></a> <span class="n">date</span> <span class="o">=</span> <span class="n">lang</span><span class="p">:</span><span class="n">formatDate</span><span class="p">(</span><span class="s1">'F Y'</span><span class="p">)</span> </span><span id="L-296"><a href="#L-296"><span class="linenos" data-line="296"></span></a> <span class="kr">end</span> </span><span id="L-297"><a href="#L-297"><span class="linenos" data-line="297"></span></a> <span class="kr">if</span> <span class="n">date</span> <span class="kr">then</span> </span><span id="L-298"><a href="#L-298"><span class="linenos" data-line="298"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">date</span> <span class="o">=</span> <span class="nb">string.format</span><span class="p">(</span><span class="s2">" <span class='date-container'><i>(<span class='date'>%s</span>)</i></span>"</span><span class="p">,</span> <span class="n">date</span><span class="p">)</span> </span><span id="L-299"><a href="#L-299"><span class="linenos" data-line="299"></span></a> <span class="kr">end</span> </span><span id="L-300"><a href="#L-300"><span class="linenos" data-line="300"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">info</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">info</span> </span><span id="L-301"><a href="#L-301"><span class="linenos" data-line="301"></span></a> <span class="kr">if</span> <span class="n">yesno</span><span class="p">(</span><span class="n">args</span><span class="p">.</span><span class="n">removalnotice</span><span class="p">)</span> <span class="kr">then</span> </span><span id="L-302"><a href="#L-302"><span class="linenos" data-line="302"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">removalNotice</span> <span class="o">=</span> <span class="n">cfg</span><span class="p">.</span><span class="n">removalNotice</span> </span><span id="L-303"><a href="#L-303"><span class="linenos" data-line="303"></span></a> <span class="kr">end</span> </span><span id="L-304"><a href="#L-304"><span class="linenos" data-line="304"></span></a> <span class="kr">end</span> </span><span id="L-305"><a href="#L-305"><span class="linenos" data-line="305"></span></a> </span><span id="L-306"><a href="#L-306"><span class="linenos" data-line="306"></span></a> <span class="c1">-- Set the non-collapsible text field. At the moment this is used by all box</span> </span><span id="L-307"><a href="#L-307"><span class="linenos" data-line="307"></span></a> <span class="c1">-- types other than ambox, and also by ambox when small=yes.</span> </span><span id="L-308"><a href="#L-308"><span class="linenos" data-line="308"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">isSmall</span> <span class="kr">then</span> </span><span id="L-309"><a href="#L-309"><span class="linenos" data-line="309"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">text</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">smalltext</span> <span class="ow">or</span> <span class="n">args</span><span class="p">.</span><span class="n">text</span> </span><span id="L-310"><a href="#L-310"><span class="linenos" data-line="310"></span></a> <span class="kr">else</span> </span><span id="L-311"><a href="#L-311"><span class="linenos" data-line="311"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">text</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">text</span> </span><span id="L-312"><a href="#L-312"><span class="linenos" data-line="312"></span></a> <span class="kr">end</span> </span><span id="L-313"><a href="#L-313"><span class="linenos" data-line="313"></span></a> </span><span id="L-314"><a href="#L-314"><span class="linenos" data-line="314"></span></a> <span class="c1">-- Set the below row.</span> </span><span id="L-315"><a href="#L-315"><span class="linenos" data-line="315"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">below</span> <span class="o">=</span> <span class="n">cfg</span><span class="p">.</span><span class="n">below</span> <span class="ow">and</span> <span class="n">args</span><span class="p">.</span><span class="n">below</span> </span><span id="L-316"><a href="#L-316"><span class="linenos" data-line="316"></span></a> </span><span id="L-317"><a href="#L-317"><span class="linenos" data-line="317"></span></a> <span class="c1">-- General image settings.</span> </span><span id="L-318"><a href="#L-318"><span class="linenos" data-line="318"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">imageCellDiv</span> <span class="o">=</span> <span class="ow">not</span> <span class="n">self</span><span class="p">.</span><span class="n">isSmall</span> <span class="ow">and</span> <span class="n">cfg</span><span class="p">.</span><span class="n">imageCellDiv</span> </span><span id="L-319"><a href="#L-319"><span class="linenos" data-line="319"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">imageEmptyCell</span> <span class="o">=</span> <span class="n">cfg</span><span class="p">.</span><span class="n">imageEmptyCell</span> </span><span id="L-320"><a href="#L-320"><span class="linenos" data-line="320"></span></a> </span><span id="L-321"><a href="#L-321"><span class="linenos" data-line="321"></span></a> <span class="c1">-- Left image settings.</span> </span><span id="L-322"><a href="#L-322"><span class="linenos" data-line="322"></span></a> <span class="kd">local</span> <span class="n">imageLeft</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">isSmall</span> <span class="ow">and</span> <span class="n">args</span><span class="p">.</span><span class="n">smallimage</span> <span class="ow">or</span> <span class="n">args</span><span class="p">.</span><span class="n">image</span> </span><span id="L-323"><a href="#L-323"><span class="linenos" data-line="323"></span></a> <span class="kr">if</span> <span class="n">cfg</span><span class="p">.</span><span class="n">imageCheckBlank</span> <span class="ow">and</span> <span class="n">imageLeft</span> <span class="o">~=</span> <span class="s1">'blank'</span> <span class="ow">and</span> <span class="n">imageLeft</span> <span class="o">~=</span> <span class="s1">'none'</span> </span><span id="L-324"><a href="#L-324"><span class="linenos" data-line="324"></span></a> <span class="ow">or</span> <span class="ow">not</span> <span class="n">cfg</span><span class="p">.</span><span class="n">imageCheckBlank</span> <span class="ow">and</span> <span class="n">imageLeft</span> <span class="o">~=</span> <span class="s1">'none'</span> </span><span id="L-325"><a href="#L-325"><span class="linenos" data-line="325"></span></a> <span class="kr">then</span> </span><span id="L-326"><a href="#L-326"><span class="linenos" data-line="326"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">imageLeft</span> <span class="o">=</span> <span class="n">imageLeft</span> </span><span id="L-327"><a href="#L-327"><span class="linenos" data-line="327"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">imageLeft</span> <span class="kr">then</span> </span><span id="L-328"><a href="#L-328"><span class="linenos" data-line="328"></span></a> <span class="kd">local</span> <span class="n">imageSize</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">isSmall</span> </span><span id="L-329"><a href="#L-329"><span class="linenos" data-line="329"></span></a> <span class="ow">and</span> <span class="p">(</span><span class="n">cfg</span><span class="p">.</span><span class="n">imageSmallSize</span> <span class="ow">or</span> <span class="s1">'30x30px'</span><span class="p">)</span> </span><span id="L-330"><a href="#L-330"><span class="linenos" data-line="330"></span></a> <span class="ow">or</span> <span class="s1">'40x40px'</span> </span><span id="L-331"><a href="#L-331"><span class="linenos" data-line="331"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">imageLeft</span> <span class="o">=</span> <span class="nb">string.format</span><span class="p">(</span><span class="s1">'[[File:%s|%s|link=|alt=]]'</span><span class="p">,</span> <span class="n">self</span><span class="p">.</span><span class="n">typeImage</span> </span><span id="L-332"><a href="#L-332"><span class="linenos" data-line="332"></span></a> <span class="ow">or</span> <span class="s1">'Imbox notice.png'</span><span class="p">,</span> <span class="n">imageSize</span><span class="p">)</span> </span><span id="L-333"><a href="#L-333"><span class="linenos" data-line="333"></span></a> <span class="kr">end</span> </span><span id="L-334"><a href="#L-334"><span class="linenos" data-line="334"></span></a> <span class="kr">end</span> </span><span id="L-335"><a href="#L-335"><span class="linenos" data-line="335"></span></a> </span><span id="L-336"><a href="#L-336"><span class="linenos" data-line="336"></span></a> <span class="c1">-- Right image settings.</span> </span><span id="L-337"><a href="#L-337"><span class="linenos" data-line="337"></span></a> <span class="kd">local</span> <span class="n">imageRight</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">isSmall</span> <span class="ow">and</span> <span class="n">args</span><span class="p">.</span><span class="n">smallimageright</span> <span class="ow">or</span> <span class="n">args</span><span class="p">.</span><span class="n">imageright</span> </span><span id="L-338"><a href="#L-338"><span class="linenos" data-line="338"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="p">(</span><span class="n">cfg</span><span class="p">.</span><span class="n">imageRightNone</span> <span class="ow">and</span> <span class="n">imageRight</span> <span class="o">==</span> <span class="s1">'none'</span><span class="p">)</span> <span class="kr">then</span> </span><span id="L-339"><a href="#L-339"><span class="linenos" data-line="339"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">imageRight</span> <span class="o">=</span> <span class="n">imageRight</span> </span><span id="L-340"><a href="#L-340"><span class="linenos" data-line="340"></span></a> <span class="kr">end</span> </span><span id="L-341"><a href="#L-341"><span class="linenos" data-line="341"></span></a> </span><span id="L-342"><a href="#L-342"><span class="linenos" data-line="342"></span></a> <span class="c1">-- set templatestyles</span> </span><span id="L-343"><a href="#L-343"><span class="linenos" data-line="343"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">base_templatestyles</span> <span class="o">=</span> <span class="n">cfg</span><span class="p">.</span><span class="n">templatestyles</span> </span><span id="L-344"><a href="#L-344"><span class="linenos" data-line="344"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">templatestyles</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">templatestyles</span> </span><span id="L-345"><a href="#L-345"><span class="linenos" data-line="345"></span></a><span class="kr">end</span> </span><span id="L-346"><a href="#L-346"><span class="linenos" data-line="346"></span></a> </span><span id="L-347"><a href="#L-347"><span class="linenos" data-line="347"></span></a><span class="kr">function</span> <span class="nc">MessageBox</span><span class="p">:</span><span class="nf">setMainspaceCategories</span><span class="p">()</span> </span><span id="L-348"><a href="#L-348"><span class="linenos" data-line="348"></span></a> <span class="kd">local</span> <span class="n">args</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">args</span> </span><span id="L-349"><a href="#L-349"><span class="linenos" data-line="349"></span></a> <span class="kd">local</span> <span class="n">cfg</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">cfg</span> </span><span id="L-350"><a href="#L-350"><span class="linenos" data-line="350"></span></a> </span><span id="L-351"><a href="#L-351"><span class="linenos" data-line="351"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">cfg</span><span class="p">.</span><span class="n">allowMainspaceCategories</span> <span class="kr">then</span> </span><span id="L-352"><a href="#L-352"><span class="linenos" data-line="352"></span></a> <span class="kr">return</span> <span class="kc">nil</span> </span><span id="L-353"><a href="#L-353"><span class="linenos" data-line="353"></span></a> <span class="kr">end</span> </span><span id="L-354"><a href="#L-354"><span class="linenos" data-line="354"></span></a> </span><span id="L-355"><a href="#L-355"><span class="linenos" data-line="355"></span></a> <span class="kd">local</span> <span class="n">nums</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-356"><a href="#L-356"><span class="linenos" data-line="356"></span></a> <span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">prefix</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">{</span><span class="s1">'cat'</span><span class="p">,</span> <span class="s1">'category'</span><span class="p">,</span> <span class="s1">'all'</span><span class="p">}</span> <span class="kr">do</span> </span><span id="L-357"><a href="#L-357"><span class="linenos" data-line="357"></span></a> <span class="n">args</span><span class="p">[</span><span class="n">prefix</span> <span class="o">..</span> <span class="s1">'1'</span><span class="p">]</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="n">prefix</span><span class="p">]</span> </span><span id="L-358"><a href="#L-358"><span class="linenos" data-line="358"></span></a> <span class="n">nums</span> <span class="o">=</span> <span class="n">union</span><span class="p">(</span><span class="n">nums</span><span class="p">,</span> <span class="n">getArgNums</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="n">prefix</span><span class="p">))</span> </span><span id="L-359"><a href="#L-359"><span class="linenos" data-line="359"></span></a> <span class="kr">end</span> </span><span id="L-360"><a href="#L-360"><span class="linenos" data-line="360"></span></a> </span><span id="L-361"><a href="#L-361"><span class="linenos" data-line="361"></span></a> <span class="c1">-- The following is roughly equivalent to the old {{Ambox/category}}.</span> </span><span id="L-362"><a href="#L-362"><span class="linenos" data-line="362"></span></a> <span class="kd">local</span> <span class="n">date</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">date</span> </span><span id="L-363"><a href="#L-363"><span class="linenos" data-line="363"></span></a> <span class="n">date</span> <span class="o">=</span> <span class="nb">type</span><span class="p">(</span><span class="n">date</span><span class="p">)</span> <span class="o">==</span> <span class="s1">'string'</span> <span class="ow">and</span> <span class="n">date</span> </span><span id="L-364"><a href="#L-364"><span class="linenos" data-line="364"></span></a> <span class="kd">local</span> <span class="n">preposition</span> <span class="o">=</span> <span class="s1">'from'</span> </span><span id="L-365"><a href="#L-365"><span class="linenos" data-line="365"></span></a> <span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">num</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">nums</span><span class="p">)</span> <span class="kr">do</span> </span><span id="L-366"><a href="#L-366"><span class="linenos" data-line="366"></span></a> <span class="kd">local</span> <span class="n">mainCat</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="s1">'cat'</span> <span class="o">..</span> <span class="nb">tostring</span><span class="p">(</span><span class="n">num</span><span class="p">)]</span> </span><span id="L-367"><a href="#L-367"><span class="linenos" data-line="367"></span></a> <span class="ow">or</span> <span class="n">args</span><span class="p">[</span><span class="s1">'category'</span> <span class="o">..</span> <span class="nb">tostring</span><span class="p">(</span><span class="n">num</span><span class="p">)]</span> </span><span id="L-368"><a href="#L-368"><span class="linenos" data-line="368"></span></a> <span class="kd">local</span> <span class="n">allCat</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="s1">'all'</span> <span class="o">..</span> <span class="nb">tostring</span><span class="p">(</span><span class="n">num</span><span class="p">)]</span> </span><span id="L-369"><a href="#L-369"><span class="linenos" data-line="369"></span></a> <span class="n">mainCat</span> <span class="o">=</span> <span class="nb">type</span><span class="p">(</span><span class="n">mainCat</span><span class="p">)</span> <span class="o">==</span> <span class="s1">'string'</span> <span class="ow">and</span> <span class="n">mainCat</span> </span><span id="L-370"><a href="#L-370"><span class="linenos" data-line="370"></span></a> <span class="n">allCat</span> <span class="o">=</span> <span class="nb">type</span><span class="p">(</span><span class="n">allCat</span><span class="p">)</span> <span class="o">==</span> <span class="s1">'string'</span> <span class="ow">and</span> <span class="n">allCat</span> </span><span id="L-371"><a href="#L-371"><span class="linenos" data-line="371"></span></a> <span class="kr">if</span> <span class="n">mainCat</span> <span class="ow">and</span> <span class="n">date</span> <span class="ow">and</span> <span class="n">date</span> <span class="o">~=</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-372"><a href="#L-372"><span class="linenos" data-line="372"></span></a> <span class="kd">local</span> <span class="n">catTitle</span> <span class="o">=</span> <span class="nb">string.format</span><span class="p">(</span><span class="s1">'%s %s %s'</span><span class="p">,</span> <span class="n">mainCat</span><span class="p">,</span> <span class="n">preposition</span><span class="p">,</span> <span class="n">date</span><span class="p">)</span> </span><span id="L-373"><a href="#L-373"><span class="linenos" data-line="373"></span></a> <span class="n">self</span><span class="p">:</span><span class="n">addCat</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">catTitle</span><span class="p">)</span> </span><span id="L-374"><a href="#L-374"><span class="linenos" data-line="374"></span></a> <span class="n">catTitle</span> <span class="o">=</span> <span class="n">getTitleObject</span><span class="p">(</span><span class="s1">'Category:'</span> <span class="o">..</span> <span class="n">catTitle</span><span class="p">)</span> </span><span id="L-375"><a href="#L-375"><span class="linenos" data-line="375"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">catTitle</span> <span class="ow">or</span> <span class="ow">not</span> <span class="n">catTitle</span><span class="p">.</span><span class="n">exists</span> <span class="kr">then</span> </span><span id="L-376"><a href="#L-376"><span class="linenos" data-line="376"></span></a> <span class="n">self</span><span class="p">:</span><span class="n">addCat</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="s1">'Articles with invalid date parameter in template'</span><span class="p">)</span> </span><span id="L-377"><a href="#L-377"><span class="linenos" data-line="377"></span></a> <span class="kr">end</span> </span><span id="L-378"><a href="#L-378"><span class="linenos" data-line="378"></span></a> <span class="kr">elseif</span> <span class="n">mainCat</span> <span class="ow">and</span> <span class="p">(</span><span class="ow">not</span> <span class="n">date</span> <span class="ow">or</span> <span class="n">date</span> <span class="o">==</span> <span class="s1">''</span><span class="p">)</span> <span class="kr">then</span> </span><span id="L-379"><a href="#L-379"><span class="linenos" data-line="379"></span></a> <span class="n">self</span><span class="p">:</span><span class="n">addCat</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">mainCat</span><span class="p">)</span> </span><span id="L-380"><a href="#L-380"><span class="linenos" data-line="380"></span></a> <span class="kr">end</span> </span><span id="L-381"><a href="#L-381"><span class="linenos" data-line="381"></span></a> <span class="kr">if</span> <span class="n">allCat</span> <span class="kr">then</span> </span><span id="L-382"><a href="#L-382"><span class="linenos" data-line="382"></span></a> <span class="n">self</span><span class="p">:</span><span class="n">addCat</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">allCat</span><span class="p">)</span> </span><span id="L-383"><a href="#L-383"><span class="linenos" data-line="383"></span></a> <span class="kr">end</span> </span><span id="L-384"><a href="#L-384"><span class="linenos" data-line="384"></span></a> <span class="kr">end</span> </span><span id="L-385"><a href="#L-385"><span class="linenos" data-line="385"></span></a><span class="kr">end</span> </span><span id="L-386"><a href="#L-386"><span class="linenos" data-line="386"></span></a> </span><span id="L-387"><a href="#L-387"><span class="linenos" data-line="387"></span></a><span class="kr">function</span> <span class="nc">MessageBox</span><span class="p">:</span><span class="nf">setTemplateCategories</span><span class="p">()</span> </span><span id="L-388"><a href="#L-388"><span class="linenos" data-line="388"></span></a> <span class="kd">local</span> <span class="n">args</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">args</span> </span><span id="L-389"><a href="#L-389"><span class="linenos" data-line="389"></span></a> <span class="kd">local</span> <span class="n">cfg</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">cfg</span> </span><span id="L-390"><a href="#L-390"><span class="linenos" data-line="390"></span></a> </span><span id="L-391"><a href="#L-391"><span class="linenos" data-line="391"></span></a> <span class="c1">-- Add template categories.</span> </span><span id="L-392"><a href="#L-392"><span class="linenos" data-line="392"></span></a> <span class="kr">if</span> <span class="n">cfg</span><span class="p">.</span><span class="n">templateCategory</span> <span class="kr">then</span> </span><span id="L-393"><a href="#L-393"><span class="linenos" data-line="393"></span></a> <span class="kr">if</span> <span class="n">cfg</span><span class="p">.</span><span class="n">templateCategoryRequireName</span> <span class="kr">then</span> </span><span id="L-394"><a href="#L-394"><span class="linenos" data-line="394"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">isTemplatePage</span> <span class="kr">then</span> </span><span id="L-395"><a href="#L-395"><span class="linenos" data-line="395"></span></a> <span class="n">self</span><span class="p">:</span><span class="n">addCat</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="n">cfg</span><span class="p">.</span><span class="n">templateCategory</span><span class="p">)</span> </span><span id="L-396"><a href="#L-396"><span class="linenos" data-line="396"></span></a> <span class="kr">end</span> </span><span id="L-397"><a href="#L-397"><span class="linenos" data-line="397"></span></a> <span class="kr">elseif</span> <span class="ow">not</span> <span class="n">self</span><span class="p">.</span><span class="n">title</span><span class="p">.</span><span class="n">isSubpage</span> <span class="kr">then</span> </span><span id="L-398"><a href="#L-398"><span class="linenos" data-line="398"></span></a> <span class="n">self</span><span class="p">:</span><span class="n">addCat</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="n">cfg</span><span class="p">.</span><span class="n">templateCategory</span><span class="p">)</span> </span><span id="L-399"><a href="#L-399"><span class="linenos" data-line="399"></span></a> <span class="kr">end</span> </span><span id="L-400"><a href="#L-400"><span class="linenos" data-line="400"></span></a> <span class="kr">end</span> </span><span id="L-401"><a href="#L-401"><span class="linenos" data-line="401"></span></a> </span><span id="L-402"><a href="#L-402"><span class="linenos" data-line="402"></span></a> <span class="c1">-- Add template error categories.</span> </span><span id="L-403"><a href="#L-403"><span class="linenos" data-line="403"></span></a> <span class="kr">if</span> <span class="n">cfg</span><span class="p">.</span><span class="n">templateErrorCategory</span> <span class="kr">then</span> </span><span id="L-404"><a href="#L-404"><span class="linenos" data-line="404"></span></a> <span class="kd">local</span> <span class="n">templateErrorCategory</span> <span class="o">=</span> <span class="n">cfg</span><span class="p">.</span><span class="n">templateErrorCategory</span> </span><span id="L-405"><a href="#L-405"><span class="linenos" data-line="405"></span></a> <span class="kd">local</span> <span class="n">templateCat</span><span class="p">,</span> <span class="n">templateSort</span> </span><span id="L-406"><a href="#L-406"><span class="linenos" data-line="406"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">self</span><span class="p">.</span><span class="n">name</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">self</span><span class="p">.</span><span class="n">title</span><span class="p">.</span><span class="n">isSubpage</span> <span class="kr">then</span> </span><span id="L-407"><a href="#L-407"><span class="linenos" data-line="407"></span></a> <span class="n">templateCat</span> <span class="o">=</span> <span class="n">templateErrorCategory</span> </span><span id="L-408"><a href="#L-408"><span class="linenos" data-line="408"></span></a> <span class="kr">elseif</span> <span class="n">self</span><span class="p">.</span><span class="n">isTemplatePage</span> <span class="kr">then</span> </span><span id="L-409"><a href="#L-409"><span class="linenos" data-line="409"></span></a> <span class="kd">local</span> <span class="n">paramsToCheck</span> <span class="o">=</span> <span class="n">cfg</span><span class="p">.</span><span class="n">templateErrorParamsToCheck</span> <span class="ow">or</span> <span class="p">{}</span> </span><span id="L-410"><a href="#L-410"><span class="linenos" data-line="410"></span></a> <span class="kd">local</span> <span class="n">count</span> <span class="o">=</span> <span class="mi">0</span> </span><span id="L-411"><a href="#L-411"><span class="linenos" data-line="411"></span></a> <span class="kr">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">param</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">paramsToCheck</span><span class="p">)</span> <span class="kr">do</span> </span><span id="L-412"><a href="#L-412"><span class="linenos" data-line="412"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">args</span><span class="p">[</span><span class="n">param</span><span class="p">]</span> <span class="kr">then</span> </span><span id="L-413"><a href="#L-413"><span class="linenos" data-line="413"></span></a> <span class="n">count</span> <span class="o">=</span> <span class="n">count</span> <span class="o">+</span> <span class="mi">1</span> </span><span id="L-414"><a href="#L-414"><span class="linenos" data-line="414"></span></a> <span class="kr">end</span> </span><span id="L-415"><a href="#L-415"><span class="linenos" data-line="415"></span></a> <span class="kr">end</span> </span><span id="L-416"><a href="#L-416"><span class="linenos" data-line="416"></span></a> <span class="kr">if</span> <span class="n">count</span> <span class="o">></span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-417"><a href="#L-417"><span class="linenos" data-line="417"></span></a> <span class="n">templateCat</span> <span class="o">=</span> <span class="n">templateErrorCategory</span> </span><span id="L-418"><a href="#L-418"><span class="linenos" data-line="418"></span></a> <span class="n">templateSort</span> <span class="o">=</span> <span class="nb">tostring</span><span class="p">(</span><span class="n">count</span><span class="p">)</span> </span><span id="L-419"><a href="#L-419"><span class="linenos" data-line="419"></span></a> <span class="kr">end</span> </span><span id="L-420"><a href="#L-420"><span class="linenos" data-line="420"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">categoryNums</span> <span class="ow">and</span> <span class="o">#</span><span class="n">self</span><span class="p">.</span><span class="n">categoryNums</span> <span class="o">></span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-421"><a href="#L-421"><span class="linenos" data-line="421"></span></a> <span class="n">templateCat</span> <span class="o">=</span> <span class="n">templateErrorCategory</span> </span><span id="L-422"><a href="#L-422"><span class="linenos" data-line="422"></span></a> <span class="n">templateSort</span> <span class="o">=</span> <span class="s1">'C'</span> </span><span id="L-423"><a href="#L-423"><span class="linenos" data-line="423"></span></a> <span class="kr">end</span> </span><span id="L-424"><a href="#L-424"><span class="linenos" data-line="424"></span></a> <span class="kr">end</span> </span><span id="L-425"><a href="#L-425"><span class="linenos" data-line="425"></span></a> <span class="n">self</span><span class="p">:</span><span class="n">addCat</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="n">templateCat</span><span class="p">,</span> <span class="n">templateSort</span><span class="p">)</span> </span><span id="L-426"><a href="#L-426"><span class="linenos" data-line="426"></span></a> <span class="kr">end</span> </span><span id="L-427"><a href="#L-427"><span class="linenos" data-line="427"></span></a><span class="kr">end</span> </span><span id="L-428"><a href="#L-428"><span class="linenos" data-line="428"></span></a> </span><span id="L-429"><a href="#L-429"><span class="linenos" data-line="429"></span></a><span class="kr">function</span> <span class="nc">MessageBox</span><span class="p">:</span><span class="nf">setAllNamespaceCategories</span><span class="p">()</span> </span><span id="L-430"><a href="#L-430"><span class="linenos" data-line="430"></span></a> <span class="c1">-- Set categories for all namespaces.</span> </span><span id="L-431"><a href="#L-431"><span class="linenos" data-line="431"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">invalidTypeError</span> <span class="kr">then</span> </span><span id="L-432"><a href="#L-432"><span class="linenos" data-line="432"></span></a> <span class="kd">local</span> <span class="n">allSort</span> <span class="o">=</span> <span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">title</span><span class="p">.</span><span class="n">namespace</span> <span class="o">==</span> <span class="mi">0</span> <span class="ow">and</span> <span class="s1">'Main:'</span> <span class="ow">or</span> <span class="s1">''</span><span class="p">)</span> <span class="o">..</span> <span class="n">self</span><span class="p">.</span><span class="n">title</span><span class="p">.</span><span class="n">prefixedText</span> </span><span id="L-433"><a href="#L-433"><span class="linenos" data-line="433"></span></a> <span class="n">self</span><span class="p">:</span><span class="n">addCat</span><span class="p">(</span><span class="s1">'all'</span><span class="p">,</span> <span class="s1">'Wikibooks message box parameter needs fixing'</span><span class="p">,</span> <span class="n">allSort</span><span class="p">)</span> </span><span id="L-434"><a href="#L-434"><span class="linenos" data-line="434"></span></a> <span class="kr">end</span> </span><span id="L-435"><a href="#L-435"><span class="linenos" data-line="435"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">isSubstituted</span> <span class="kr">then</span> </span><span id="L-436"><a href="#L-436"><span class="linenos" data-line="436"></span></a> <span class="n">self</span><span class="p">:</span><span class="n">addCat</span><span class="p">(</span><span class="s1">'all'</span><span class="p">,</span> <span class="s1">'Pages with incorrectly substituted templates'</span><span class="p">)</span> </span><span id="L-437"><a href="#L-437"><span class="linenos" data-line="437"></span></a> <span class="kr">end</span> </span><span id="L-438"><a href="#L-438"><span class="linenos" data-line="438"></span></a><span class="kr">end</span> </span><span id="L-439"><a href="#L-439"><span class="linenos" data-line="439"></span></a> </span><span id="L-440"><a href="#L-440"><span class="linenos" data-line="440"></span></a><span class="kr">function</span> <span class="nc">MessageBox</span><span class="p">:</span><span class="nf">setCategories</span><span class="p">()</span> </span><span id="L-441"><a href="#L-441"><span class="linenos" data-line="441"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">title</span><span class="p">.</span><span class="n">namespace</span> <span class="o">==</span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-442"><a href="#L-442"><span class="linenos" data-line="442"></span></a> <span class="n">self</span><span class="p">:</span><span class="n">setMainspaceCategories</span><span class="p">()</span> </span><span id="L-443"><a href="#L-443"><span class="linenos" data-line="443"></span></a> <span class="kr">elseif</span> <span class="n">self</span><span class="p">.</span><span class="n">title</span><span class="p">.</span><span class="n">namespace</span> <span class="o">==</span> <span class="mi">10</span> <span class="kr">then</span> </span><span id="L-444"><a href="#L-444"><span class="linenos" data-line="444"></span></a> <span class="n">self</span><span class="p">:</span><span class="n">setTemplateCategories</span><span class="p">()</span> </span><span id="L-445"><a href="#L-445"><span class="linenos" data-line="445"></span></a> <span class="kr">end</span> </span><span id="L-446"><a href="#L-446"><span class="linenos" data-line="446"></span></a> <span class="n">self</span><span class="p">:</span><span class="n">setAllNamespaceCategories</span><span class="p">()</span> </span><span id="L-447"><a href="#L-447"><span class="linenos" data-line="447"></span></a><span class="kr">end</span> </span><span id="L-448"><a href="#L-448"><span class="linenos" data-line="448"></span></a> </span><span id="L-449"><a href="#L-449"><span class="linenos" data-line="449"></span></a><span class="kr">function</span> <span class="nc">MessageBox</span><span class="p">:</span><span class="nf">renderCategories</span><span class="p">()</span> </span><span id="L-450"><a href="#L-450"><span class="linenos" data-line="450"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">self</span><span class="p">.</span><span class="n">hasCategories</span> <span class="kr">then</span> </span><span id="L-451"><a href="#L-451"><span class="linenos" data-line="451"></span></a> <span class="c1">-- No categories added, no need to pass them to Category handler so,</span> </span><span id="L-452"><a href="#L-452"><span class="linenos" data-line="452"></span></a> <span class="c1">-- if it was invoked, it would return the empty string.</span> </span><span id="L-453"><a href="#L-453"><span class="linenos" data-line="453"></span></a> <span class="c1">-- So we shortcut and return the empty string.</span> </span><span id="L-454"><a href="#L-454"><span class="linenos" data-line="454"></span></a> <span class="kr">return</span> <span class="s2">""</span> </span><span id="L-455"><a href="#L-455"><span class="linenos" data-line="455"></span></a> <span class="kr">end</span> </span><span id="L-456"><a href="#L-456"><span class="linenos" data-line="456"></span></a> <span class="c1">-- Convert category tables to strings and pass them through</span> </span><span id="L-457"><a href="#L-457"><span class="linenos" data-line="457"></span></a> <span class="c1">-- [[Module:Category handler]].</span> </span><span id="L-458"><a href="#L-458"><span class="linenos" data-line="458"></span></a> <span class="kr">return</span> <span class="nb">require</span><span class="p">(</span><span class="s1">'Module:Category handler'</span><span class="p">).</span><span class="n">_main</span><span class="p">{</span> </span><span id="L-459"><a href="#L-459"><span class="linenos" data-line="459"></span></a> <span class="n">main</span> <span class="o">=</span> <span class="nb">table.concat</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">categories</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="ow">or</span> <span class="p">{}),</span> </span><span id="L-460"><a href="#L-460"><span class="linenos" data-line="460"></span></a> <span class="n">template</span> <span class="o">=</span> <span class="nb">table.concat</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">categories</span><span class="p">[</span><span class="mi">10</span><span class="p">]</span> <span class="ow">or</span> <span class="p">{}),</span> </span><span id="L-461"><a href="#L-461"><span class="linenos" data-line="461"></span></a> <span class="n">all</span> <span class="o">=</span> <span class="nb">table.concat</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">categories</span><span class="p">.</span><span class="n">all</span> <span class="ow">or</span> <span class="p">{}),</span> </span><span id="L-462"><a href="#L-462"><span class="linenos" data-line="462"></span></a> <span class="n">nocat</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">args</span><span class="p">.</span><span class="n">nocat</span><span class="p">,</span> </span><span id="L-463"><a href="#L-463"><span class="linenos" data-line="463"></span></a> <span class="n">page</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">args</span><span class="p">.</span><span class="n">page</span> </span><span id="L-464"><a href="#L-464"><span class="linenos" data-line="464"></span></a> <span class="p">}</span> </span><span id="L-465"><a href="#L-465"><span class="linenos" data-line="465"></span></a><span class="kr">end</span> </span><span id="L-466"><a href="#L-466"><span class="linenos" data-line="466"></span></a> </span><span id="L-467"><a href="#L-467"><span class="linenos" data-line="467"></span></a><span class="kr">function</span> <span class="nc">MessageBox</span><span class="p">:</span><span class="nf">export</span><span class="p">()</span> </span><span id="L-468"><a href="#L-468"><span class="linenos" data-line="468"></span></a> <span class="kd">local</span> <span class="n">root</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">html</span><span class="p">.</span><span class="n">create</span><span class="p">()</span> </span><span id="L-469"><a href="#L-469"><span class="linenos" data-line="469"></span></a> </span><span id="L-470"><a href="#L-470"><span class="linenos" data-line="470"></span></a> <span class="c1">-- Add the subst check error.</span> </span><span id="L-471"><a href="#L-471"><span class="linenos" data-line="471"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">isSubstituted</span> <span class="ow">and</span> <span class="n">self</span><span class="p">.</span><span class="n">name</span> <span class="kr">then</span> </span><span id="L-472"><a href="#L-472"><span class="linenos" data-line="472"></span></a> <span class="n">root</span><span class="p">:</span><span class="n">tag</span><span class="p">(</span><span class="s1">'b'</span><span class="p">)</span> </span><span id="L-473"><a href="#L-473"><span class="linenos" data-line="473"></span></a> <span class="p">:</span><span class="n">addClass</span><span class="p">(</span><span class="s1">'error'</span><span class="p">)</span> </span><span id="L-474"><a href="#L-474"><span class="linenos" data-line="474"></span></a> <span class="p">:</span><span class="n">wikitext</span><span class="p">(</span><span class="nb">string.format</span><span class="p">(</span> </span><span id="L-475"><a href="#L-475"><span class="linenos" data-line="475"></span></a> <span class="s1">'Template <code>%s[[Template:%s|%s]]%s</code> has been incorrectly substituted.'</span><span class="p">,</span> </span><span id="L-476"><a href="#L-476"><span class="linenos" data-line="476"></span></a> <span class="n">mw</span><span class="p">.</span><span class="n">text</span><span class="p">.</span><span class="n">nowiki</span><span class="p">(</span><span class="s1">'{{'</span><span class="p">),</span> <span class="n">self</span><span class="p">.</span><span class="n">name</span><span class="p">,</span> <span class="n">self</span><span class="p">.</span><span class="n">name</span><span class="p">,</span> <span class="n">mw</span><span class="p">.</span><span class="n">text</span><span class="p">.</span><span class="n">nowiki</span><span class="p">(</span><span class="s1">'}}'</span><span class="p">)</span> </span><span id="L-477"><a href="#L-477"><span class="linenos" data-line="477"></span></a> <span class="p">))</span> </span><span id="L-478"><a href="#L-478"><span class="linenos" data-line="478"></span></a> <span class="kr">end</span> </span><span id="L-479"><a href="#L-479"><span class="linenos" data-line="479"></span></a> </span><span id="L-480"><a href="#L-480"><span class="linenos" data-line="480"></span></a> <span class="kd">local</span> <span class="n">frame</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">getCurrentFrame</span><span class="p">()</span> </span><span id="L-481"><a href="#L-481"><span class="linenos" data-line="481"></span></a> <span class="n">root</span><span class="p">:</span><span class="n">wikitext</span><span class="p">(</span><span class="n">frame</span><span class="p">:</span><span class="n">extensionTag</span><span class="p">{</span> </span><span id="L-482"><a href="#L-482"><span class="linenos" data-line="482"></span></a> <span class="n">name</span> <span class="o">=</span> <span class="s1">'templatestyles'</span><span class="p">,</span> </span><span id="L-483"><a href="#L-483"><span class="linenos" data-line="483"></span></a> <span class="n">args</span> <span class="o">=</span> <span class="p">{</span> <span class="n">src</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">base_templatestyles</span> <span class="p">},</span> </span><span id="L-484"><a href="#L-484"><span class="linenos" data-line="484"></span></a> <span class="p">})</span> </span><span id="L-485"><a href="#L-485"><span class="linenos" data-line="485"></span></a> <span class="c1">-- Add support for a single custom templatestyles sheet. Undocumented as</span> </span><span id="L-486"><a href="#L-486"><span class="linenos" data-line="486"></span></a> <span class="c1">-- need should be limited and many templates using mbox are substed; we</span> </span><span id="L-487"><a href="#L-487"><span class="linenos" data-line="487"></span></a> <span class="c1">-- don't want to spread templatestyles sheets around to arbitrary places</span> </span><span id="L-488"><a href="#L-488"><span class="linenos" data-line="488"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">templatestyles</span> <span class="kr">then</span> </span><span id="L-489"><a href="#L-489"><span class="linenos" data-line="489"></span></a> <span class="n">root</span><span class="p">:</span><span class="n">wikitext</span><span class="p">(</span><span class="n">frame</span><span class="p">:</span><span class="n">extensionTag</span><span class="p">{</span> </span><span id="L-490"><a href="#L-490"><span class="linenos" data-line="490"></span></a> <span class="n">name</span> <span class="o">=</span> <span class="s1">'templatestyles'</span><span class="p">,</span> </span><span id="L-491"><a href="#L-491"><span class="linenos" data-line="491"></span></a> <span class="n">args</span> <span class="o">=</span> <span class="p">{</span> <span class="n">src</span> <span class="o">=</span> <span class="n">self</span><span class="p">.</span><span class="n">templatestyles</span> <span class="p">},</span> </span><span id="L-492"><a href="#L-492"><span class="linenos" data-line="492"></span></a> <span class="p">})</span> </span><span id="L-493"><a href="#L-493"><span class="linenos" data-line="493"></span></a> <span class="kr">end</span> </span><span id="L-494"><a href="#L-494"><span class="linenos" data-line="494"></span></a> </span><span id="L-495"><a href="#L-495"><span class="linenos" data-line="495"></span></a> <span class="c1">-- Create the box table.</span> </span><span id="L-496"><a href="#L-496"><span class="linenos" data-line="496"></span></a> <span class="kd">local</span> <span class="n">boxTable</span> <span class="o">=</span> <span class="n">root</span><span class="p">:</span><span class="n">tag</span><span class="p">(</span><span class="s1">'table'</span><span class="p">)</span> </span><span id="L-497"><a href="#L-497"><span class="linenos" data-line="497"></span></a> <span class="n">boxTable</span><span class="p">:</span><span class="n">attr</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="n">self</span><span class="p">.</span><span class="n">id</span> <span class="ow">or</span> <span class="kc">nil</span><span class="p">)</span> </span><span id="L-498"><a href="#L-498"><span class="linenos" data-line="498"></span></a> <span class="kr">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">class</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">classes</span> <span class="ow">or</span> <span class="p">{})</span> <span class="kr">do</span> </span><span id="L-499"><a href="#L-499"><span class="linenos" data-line="499"></span></a> <span class="n">boxTable</span><span class="p">:</span><span class="n">addClass</span><span class="p">(</span><span class="n">class</span> <span class="ow">or</span> <span class="kc">nil</span><span class="p">)</span> </span><span id="L-500"><a href="#L-500"><span class="linenos" data-line="500"></span></a> <span class="kr">end</span> </span><span id="L-501"><a href="#L-501"><span class="linenos" data-line="501"></span></a> <span class="n">boxTable</span> </span><span id="L-502"><a href="#L-502"><span class="linenos" data-line="502"></span></a> <span class="p">:</span><span class="n">cssText</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">style</span> <span class="ow">or</span> <span class="kc">nil</span><span class="p">)</span> </span><span id="L-503"><a href="#L-503"><span class="linenos" data-line="503"></span></a> <span class="p">:</span><span class="n">attr</span><span class="p">(</span><span class="s1">'role'</span><span class="p">,</span> <span class="s1">'presentation'</span><span class="p">)</span> </span><span id="L-504"><a href="#L-504"><span class="linenos" data-line="504"></span></a> </span><span id="L-505"><a href="#L-505"><span class="linenos" data-line="505"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">attrs</span> <span class="kr">then</span> </span><span id="L-506"><a href="#L-506"><span class="linenos" data-line="506"></span></a> <span class="n">boxTable</span><span class="p">:</span><span class="n">attr</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">attrs</span><span class="p">)</span> </span><span id="L-507"><a href="#L-507"><span class="linenos" data-line="507"></span></a> <span class="kr">end</span> </span><span id="L-508"><a href="#L-508"><span class="linenos" data-line="508"></span></a> </span><span id="L-509"><a href="#L-509"><span class="linenos" data-line="509"></span></a> <span class="c1">-- Add the left-hand image.</span> </span><span id="L-510"><a href="#L-510"><span class="linenos" data-line="510"></span></a> <span class="kd">local</span> <span class="n">row</span> <span class="o">=</span> <span class="n">boxTable</span><span class="p">:</span><span class="n">tag</span><span class="p">(</span><span class="s1">'tr'</span><span class="p">)</span> </span><span id="L-511"><a href="#L-511"><span class="linenos" data-line="511"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">imageLeft</span> <span class="kr">then</span> </span><span id="L-512"><a href="#L-512"><span class="linenos" data-line="512"></span></a> <span class="kd">local</span> <span class="n">imageLeftCell</span> <span class="o">=</span> <span class="n">row</span><span class="p">:</span><span class="n">tag</span><span class="p">(</span><span class="s1">'td'</span><span class="p">):</span><span class="n">addClass</span><span class="p">(</span><span class="s1">'mbox-image'</span><span class="p">)</span> </span><span id="L-513"><a href="#L-513"><span class="linenos" data-line="513"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">imageCellDiv</span> <span class="kr">then</span> </span><span id="L-514"><a href="#L-514"><span class="linenos" data-line="514"></span></a> <span class="c1">-- If we are using a div, redefine imageLeftCell so that the image</span> </span><span id="L-515"><a href="#L-515"><span class="linenos" data-line="515"></span></a> <span class="c1">-- is inside it. Divs use style="width: 52px;", which limits the</span> </span><span id="L-516"><a href="#L-516"><span class="linenos" data-line="516"></span></a> <span class="c1">-- image width to 52px. If any images in a div are wider than that,</span> </span><span id="L-517"><a href="#L-517"><span class="linenos" data-line="517"></span></a> <span class="c1">-- they may overlap with the text or cause other display problems.</span> </span><span id="L-518"><a href="#L-518"><span class="linenos" data-line="518"></span></a> <span class="n">imageLeftCell</span> <span class="o">=</span> <span class="n">imageLeftCell</span><span class="p">:</span><span class="n">tag</span><span class="p">(</span><span class="s1">'div'</span><span class="p">):</span><span class="n">addClass</span><span class="p">(</span><span class="s1">'mbox-image-div'</span><span class="p">)</span> </span><span id="L-519"><a href="#L-519"><span class="linenos" data-line="519"></span></a> <span class="kr">end</span> </span><span id="L-520"><a href="#L-520"><span class="linenos" data-line="520"></span></a> <span class="n">imageLeftCell</span><span class="p">:</span><span class="n">wikitext</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">imageLeft</span> <span class="ow">or</span> <span class="kc">nil</span><span class="p">)</span> </span><span id="L-521"><a href="#L-521"><span class="linenos" data-line="521"></span></a> <span class="kr">elseif</span> <span class="n">self</span><span class="p">.</span><span class="n">imageEmptyCell</span> <span class="kr">then</span> </span><span id="L-522"><a href="#L-522"><span class="linenos" data-line="522"></span></a> <span class="c1">-- Some message boxes define an empty cell if no image is specified, and</span> </span><span id="L-523"><a href="#L-523"><span class="linenos" data-line="523"></span></a> <span class="c1">-- some don't. The old template code in templates where empty cells are</span> </span><span id="L-524"><a href="#L-524"><span class="linenos" data-line="524"></span></a> <span class="c1">-- specified gives the following hint: "No image. Cell with some width</span> </span><span id="L-525"><a href="#L-525"><span class="linenos" data-line="525"></span></a> <span class="c1">-- or padding necessary for text cell to have 100% width."</span> </span><span id="L-526"><a href="#L-526"><span class="linenos" data-line="526"></span></a> <span class="n">row</span><span class="p">:</span><span class="n">tag</span><span class="p">(</span><span class="s1">'td'</span><span class="p">)</span> </span><span id="L-527"><a href="#L-527"><span class="linenos" data-line="527"></span></a> <span class="p">:</span><span class="n">addClass</span><span class="p">(</span><span class="s1">'mbox-empty-cell'</span><span class="p">)</span> </span><span id="L-528"><a href="#L-528"><span class="linenos" data-line="528"></span></a> <span class="kr">end</span> </span><span id="L-529"><a href="#L-529"><span class="linenos" data-line="529"></span></a> </span><span id="L-530"><a href="#L-530"><span class="linenos" data-line="530"></span></a> <span class="c1">-- Add the text.</span> </span><span id="L-531"><a href="#L-531"><span class="linenos" data-line="531"></span></a> <span class="kd">local</span> <span class="n">textCell</span> <span class="o">=</span> <span class="n">row</span><span class="p">:</span><span class="n">tag</span><span class="p">(</span><span class="s1">'td'</span><span class="p">):</span><span class="n">addClass</span><span class="p">(</span><span class="s1">'mbox-text'</span><span class="p">)</span> </span><span id="L-532"><a href="#L-532"><span class="linenos" data-line="532"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">useCollapsibleTextFields</span> <span class="kr">then</span> </span><span id="L-533"><a href="#L-533"><span class="linenos" data-line="533"></span></a> <span class="c1">-- The message box uses advanced text parameters that allow things to be</span> </span><span id="L-534"><a href="#L-534"><span class="linenos" data-line="534"></span></a> <span class="c1">-- collapsible. At the moment, only ambox uses this.</span> </span><span id="L-535"><a href="#L-535"><span class="linenos" data-line="535"></span></a> <span class="n">textCell</span><span class="p">:</span><span class="n">cssText</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">textstyle</span> <span class="ow">or</span> <span class="kc">nil</span><span class="p">)</span> </span><span id="L-536"><a href="#L-536"><span class="linenos" data-line="536"></span></a> <span class="kd">local</span> <span class="n">textCellDiv</span> <span class="o">=</span> <span class="n">textCell</span><span class="p">:</span><span class="n">tag</span><span class="p">(</span><span class="s1">'div'</span><span class="p">)</span> </span><span id="L-537"><a href="#L-537"><span class="linenos" data-line="537"></span></a> <span class="n">textCellDiv</span> </span><span id="L-538"><a href="#L-538"><span class="linenos" data-line="538"></span></a> <span class="p">:</span><span class="n">addClass</span><span class="p">(</span><span class="s1">'mbox-text-span'</span><span class="p">)</span> </span><span id="L-539"><a href="#L-539"><span class="linenos" data-line="539"></span></a> <span class="p">:</span><span class="n">wikitext</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">issue</span> <span class="ow">or</span> <span class="kc">nil</span><span class="p">)</span> </span><span id="L-540"><a href="#L-540"><span class="linenos" data-line="540"></span></a> <span class="kr">if</span> <span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">talk</span> <span class="ow">or</span> <span class="n">self</span><span class="p">.</span><span class="n">fix</span><span class="p">)</span> <span class="kr">then</span> </span><span id="L-541"><a href="#L-541"><span class="linenos" data-line="541"></span></a> <span class="n">textCellDiv</span><span class="p">:</span><span class="n">tag</span><span class="p">(</span><span class="s1">'span'</span><span class="p">)</span> </span><span id="L-542"><a href="#L-542"><span class="linenos" data-line="542"></span></a> <span class="p">:</span><span class="n">addClass</span><span class="p">(</span><span class="s1">'hide-when-compact'</span><span class="p">)</span> </span><span id="L-543"><a href="#L-543"><span class="linenos" data-line="543"></span></a> <span class="p">:</span><span class="n">wikitext</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">talk</span> <span class="ow">and</span> <span class="p">(</span><span class="s1">' '</span> <span class="o">..</span> <span class="n">self</span><span class="p">.</span><span class="n">talk</span><span class="p">)</span> <span class="ow">or</span> <span class="kc">nil</span><span class="p">)</span> </span><span id="L-544"><a href="#L-544"><span class="linenos" data-line="544"></span></a> <span class="p">:</span><span class="n">wikitext</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">fix</span> <span class="ow">and</span> <span class="p">(</span><span class="s1">' '</span> <span class="o">..</span> <span class="n">self</span><span class="p">.</span><span class="n">fix</span><span class="p">)</span> <span class="ow">or</span> <span class="kc">nil</span><span class="p">)</span> </span><span id="L-545"><a href="#L-545"><span class="linenos" data-line="545"></span></a> <span class="kr">end</span> </span><span id="L-546"><a href="#L-546"><span class="linenos" data-line="546"></span></a> <span class="n">textCellDiv</span><span class="p">:</span><span class="n">wikitext</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">date</span> <span class="ow">and</span> <span class="p">(</span><span class="s1">' '</span> <span class="o">..</span> <span class="n">self</span><span class="p">.</span><span class="n">date</span><span class="p">)</span> <span class="ow">or</span> <span class="kc">nil</span><span class="p">)</span> </span><span id="L-547"><a href="#L-547"><span class="linenos" data-line="547"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">info</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">self</span><span class="p">.</span><span class="n">isSmall</span> <span class="kr">then</span> </span><span id="L-548"><a href="#L-548"><span class="linenos" data-line="548"></span></a> <span class="n">textCellDiv</span> </span><span id="L-549"><a href="#L-549"><span class="linenos" data-line="549"></span></a> <span class="p">:</span><span class="n">tag</span><span class="p">(</span><span class="s1">'span'</span><span class="p">)</span> </span><span id="L-550"><a href="#L-550"><span class="linenos" data-line="550"></span></a> <span class="p">:</span><span class="n">addClass</span><span class="p">(</span><span class="s1">'hide-when-compact'</span><span class="p">)</span> </span><span id="L-551"><a href="#L-551"><span class="linenos" data-line="551"></span></a> <span class="p">:</span><span class="n">wikitext</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">info</span> <span class="ow">and</span> <span class="p">(</span><span class="s1">' '</span> <span class="o">..</span> <span class="n">self</span><span class="p">.</span><span class="n">info</span><span class="p">)</span> <span class="ow">or</span> <span class="kc">nil</span><span class="p">)</span> </span><span id="L-552"><a href="#L-552"><span class="linenos" data-line="552"></span></a> <span class="kr">end</span> </span><span id="L-553"><a href="#L-553"><span class="linenos" data-line="553"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">removalNotice</span> <span class="kr">then</span> </span><span id="L-554"><a href="#L-554"><span class="linenos" data-line="554"></span></a> <span class="n">textCellDiv</span><span class="p">:</span><span class="n">tag</span><span class="p">(</span><span class="s1">'span'</span><span class="p">)</span> </span><span id="L-555"><a href="#L-555"><span class="linenos" data-line="555"></span></a> <span class="p">:</span><span class="n">addClass</span><span class="p">(</span><span class="s1">'hide-when-compact'</span><span class="p">)</span> </span><span id="L-556"><a href="#L-556"><span class="linenos" data-line="556"></span></a> <span class="p">:</span><span class="n">tag</span><span class="p">(</span><span class="s1">'i'</span><span class="p">)</span> </span><span id="L-557"><a href="#L-557"><span class="linenos" data-line="557"></span></a> <span class="p">:</span><span class="n">wikitext</span><span class="p">(</span><span class="nb">string.format</span><span class="p">(</span><span class="s2">" (%s)"</span><span class="p">,</span> <span class="n">self</span><span class="p">.</span><span class="n">removalNotice</span><span class="p">))</span> </span><span id="L-558"><a href="#L-558"><span class="linenos" data-line="558"></span></a> <span class="kr">end</span> </span><span id="L-559"><a href="#L-559"><span class="linenos" data-line="559"></span></a> <span class="kr">else</span> </span><span id="L-560"><a href="#L-560"><span class="linenos" data-line="560"></span></a> <span class="c1">-- Default text formatting - anything goes.</span> </span><span id="L-561"><a href="#L-561"><span class="linenos" data-line="561"></span></a> <span class="n">textCell</span> </span><span id="L-562"><a href="#L-562"><span class="linenos" data-line="562"></span></a> <span class="p">:</span><span class="n">cssText</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">textstyle</span> <span class="ow">or</span> <span class="kc">nil</span><span class="p">)</span> </span><span id="L-563"><a href="#L-563"><span class="linenos" data-line="563"></span></a> <span class="p">:</span><span class="n">wikitext</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">text</span> <span class="ow">or</span> <span class="kc">nil</span><span class="p">)</span> </span><span id="L-564"><a href="#L-564"><span class="linenos" data-line="564"></span></a> <span class="kr">end</span> </span><span id="L-565"><a href="#L-565"><span class="linenos" data-line="565"></span></a> </span><span id="L-566"><a href="#L-566"><span class="linenos" data-line="566"></span></a> <span class="c1">-- Add the right-hand image.</span> </span><span id="L-567"><a href="#L-567"><span class="linenos" data-line="567"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">imageRight</span> <span class="kr">then</span> </span><span id="L-568"><a href="#L-568"><span class="linenos" data-line="568"></span></a> <span class="kd">local</span> <span class="n">imageRightCell</span> <span class="o">=</span> <span class="n">row</span><span class="p">:</span><span class="n">tag</span><span class="p">(</span><span class="s1">'td'</span><span class="p">):</span><span class="n">addClass</span><span class="p">(</span><span class="s1">'mbox-imageright'</span><span class="p">)</span> </span><span id="L-569"><a href="#L-569"><span class="linenos" data-line="569"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">imageCellDiv</span> <span class="kr">then</span> </span><span id="L-570"><a href="#L-570"><span class="linenos" data-line="570"></span></a> <span class="c1">-- If we are using a div, redefine imageRightCell so that the image</span> </span><span id="L-571"><a href="#L-571"><span class="linenos" data-line="571"></span></a> <span class="c1">-- is inside it.</span> </span><span id="L-572"><a href="#L-572"><span class="linenos" data-line="572"></span></a> <span class="n">imageRightCell</span> <span class="o">=</span> <span class="n">imageRightCell</span><span class="p">:</span><span class="n">tag</span><span class="p">(</span><span class="s1">'div'</span><span class="p">):</span><span class="n">addClass</span><span class="p">(</span><span class="s1">'mbox-image-div'</span><span class="p">)</span> </span><span id="L-573"><a href="#L-573"><span class="linenos" data-line="573"></span></a> <span class="kr">end</span> </span><span id="L-574"><a href="#L-574"><span class="linenos" data-line="574"></span></a> <span class="n">imageRightCell</span> </span><span id="L-575"><a href="#L-575"><span class="linenos" data-line="575"></span></a> <span class="p">:</span><span class="n">wikitext</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">imageRight</span> <span class="ow">or</span> <span class="kc">nil</span><span class="p">)</span> </span><span id="L-576"><a href="#L-576"><span class="linenos" data-line="576"></span></a> <span class="kr">end</span> </span><span id="L-577"><a href="#L-577"><span class="linenos" data-line="577"></span></a> </span><span id="L-578"><a href="#L-578"><span class="linenos" data-line="578"></span></a> <span class="c1">-- Add the below row.</span> </span><span id="L-579"><a href="#L-579"><span class="linenos" data-line="579"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">below</span> <span class="kr">then</span> </span><span id="L-580"><a href="#L-580"><span class="linenos" data-line="580"></span></a> <span class="n">boxTable</span><span class="p">:</span><span class="n">tag</span><span class="p">(</span><span class="s1">'tr'</span><span class="p">)</span> </span><span id="L-581"><a href="#L-581"><span class="linenos" data-line="581"></span></a> <span class="p">:</span><span class="n">tag</span><span class="p">(</span><span class="s1">'td'</span><span class="p">)</span> </span><span id="L-582"><a href="#L-582"><span class="linenos" data-line="582"></span></a> <span class="p">:</span><span class="n">attr</span><span class="p">(</span><span class="s1">'colspan'</span><span class="p">,</span> <span class="n">self</span><span class="p">.</span><span class="n">imageRight</span> <span class="ow">and</span> <span class="s1">'3'</span> <span class="ow">or</span> <span class="s1">'2'</span><span class="p">)</span> </span><span id="L-583"><a href="#L-583"><span class="linenos" data-line="583"></span></a> <span class="p">:</span><span class="n">addClass</span><span class="p">(</span><span class="s1">'mbox-text'</span><span class="p">)</span> </span><span id="L-584"><a href="#L-584"><span class="linenos" data-line="584"></span></a> <span class="p">:</span><span class="n">cssText</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">textstyle</span> <span class="ow">or</span> <span class="kc">nil</span><span class="p">)</span> </span><span id="L-585"><a href="#L-585"><span class="linenos" data-line="585"></span></a> <span class="p">:</span><span class="n">wikitext</span><span class="p">(</span><span class="n">self</span><span class="p">.</span><span class="n">below</span> <span class="ow">or</span> <span class="kc">nil</span><span class="p">)</span> </span><span id="L-586"><a href="#L-586"><span class="linenos" data-line="586"></span></a> <span class="kr">end</span> </span><span id="L-587"><a href="#L-587"><span class="linenos" data-line="587"></span></a> </span><span id="L-588"><a href="#L-588"><span class="linenos" data-line="588"></span></a> <span class="c1">-- Add error message for invalid type parameters.</span> </span><span id="L-589"><a href="#L-589"><span class="linenos" data-line="589"></span></a> <span class="kr">if</span> <span class="n">self</span><span class="p">.</span><span class="n">invalidTypeError</span> <span class="kr">then</span> </span><span id="L-590"><a href="#L-590"><span class="linenos" data-line="590"></span></a> <span class="n">root</span><span class="p">:</span><span class="n">tag</span><span class="p">(</span><span class="s1">'div'</span><span class="p">)</span> </span><span id="L-591"><a href="#L-591"><span class="linenos" data-line="591"></span></a> <span class="p">:</span><span class="n">addClass</span><span class="p">(</span><span class="s1">'mbox-invalid-type'</span><span class="p">)</span> </span><span id="L-592"><a href="#L-592"><span class="linenos" data-line="592"></span></a> <span class="p">:</span><span class="n">wikitext</span><span class="p">(</span><span class="nb">string.format</span><span class="p">(</span> </span><span id="L-593"><a href="#L-593"><span class="linenos" data-line="593"></span></a> <span class="s1">'This message box is using an invalid "type=%s" parameter and needs fixing.'</span><span class="p">,</span> </span><span id="L-594"><a href="#L-594"><span class="linenos" data-line="594"></span></a> <span class="n">self</span><span class="p">.</span><span class="n">type</span> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-595"><a href="#L-595"><span class="linenos" data-line="595"></span></a> <span class="p">))</span> </span><span id="L-596"><a href="#L-596"><span class="linenos" data-line="596"></span></a> <span class="kr">end</span> </span><span id="L-597"><a href="#L-597"><span class="linenos" data-line="597"></span></a> </span><span id="L-598"><a href="#L-598"><span class="linenos" data-line="598"></span></a> <span class="c1">-- Add categories.</span> </span><span id="L-599"><a href="#L-599"><span class="linenos" data-line="599"></span></a> <span class="n">root</span><span class="p">:</span><span class="n">wikitext</span><span class="p">(</span><span class="n">self</span><span class="p">:</span><span class="n">renderCategories</span><span class="p">()</span> <span class="ow">or</span> <span class="kc">nil</span><span class="p">)</span> </span><span id="L-600"><a href="#L-600"><span class="linenos" data-line="600"></span></a> </span><span id="L-601"><a href="#L-601"><span class="linenos" data-line="601"></span></a> <span class="kr">return</span> <span class="nb">tostring</span><span class="p">(</span><span class="n">root</span><span class="p">)</span> </span><span id="L-602"><a href="#L-602"><span class="linenos" data-line="602"></span></a><span class="kr">end</span> </span><span id="L-603"><a href="#L-603"><span class="linenos" data-line="603"></span></a> </span><span id="L-604"><a href="#L-604"><span class="linenos" data-line="604"></span></a><span class="c1">--------------------------------------------------------------------------------</span> </span><span id="L-605"><a href="#L-605"><span class="linenos" data-line="605"></span></a><span class="c1">-- Exports</span> </span><span id="L-606"><a href="#L-606"><span class="linenos" data-line="606"></span></a><span class="c1">--------------------------------------------------------------------------------</span> </span><span id="L-607"><a href="#L-607"><span class="linenos" data-line="607"></span></a> </span><span id="L-608"><a href="#L-608"><span class="linenos" data-line="608"></span></a><span class="kd">local</span> <span class="n">p</span><span class="p">,</span> <span class="n">mt</span> <span class="o">=</span> <span class="p">{},</span> <span class="p">{}</span> </span><span id="L-609"><a href="#L-609"><span class="linenos" data-line="609"></span></a> </span><span id="L-610"><a href="#L-610"><span class="linenos" data-line="610"></span></a><span class="kr">function</span> <span class="nc">p</span><span class="p">.</span><span class="nf">_exportClasses</span><span class="p">()</span> </span><span id="L-611"><a href="#L-611"><span class="linenos" data-line="611"></span></a> <span class="c1">-- For testing.</span> </span><span id="L-612"><a href="#L-612"><span class="linenos" data-line="612"></span></a> <span class="kr">return</span> <span class="p">{</span> </span><span id="L-613"><a href="#L-613"><span class="linenos" data-line="613"></span></a> <span class="n">MessageBox</span> <span class="o">=</span> <span class="n">MessageBox</span> </span><span id="L-614"><a href="#L-614"><span class="linenos" data-line="614"></span></a> <span class="p">}</span> </span><span id="L-615"><a href="#L-615"><span class="linenos" data-line="615"></span></a><span class="kr">end</span> </span><span id="L-616"><a href="#L-616"><span class="linenos" data-line="616"></span></a> </span><span id="L-617"><a href="#L-617"><span class="linenos" data-line="617"></span></a><span class="kr">function</span> <span class="nc">p</span><span class="p">.</span><span class="nf">main</span><span class="p">(</span><span class="n">boxType</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="n">cfgTables</span><span class="p">)</span> </span><span id="L-618"><a href="#L-618"><span class="linenos" data-line="618"></span></a> <span class="kd">local</span> <span class="n">box</span> <span class="o">=</span> <span class="n">MessageBox</span><span class="p">.</span><span class="n">new</span><span class="p">(</span><span class="n">boxType</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="n">cfgTables</span> <span class="ow">or</span> <span class="n">mw</span><span class="p">.</span><span class="n">loadData</span><span class="p">(</span><span class="n">CONFIG_MODULE</span><span class="p">))</span> </span><span id="L-619"><a href="#L-619"><span class="linenos" data-line="619"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">setParameters</span><span class="p">()</span> </span><span id="L-620"><a href="#L-620"><span class="linenos" data-line="620"></span></a> <span class="n">box</span><span class="p">:</span><span class="n">setCategories</span><span class="p">()</span> </span><span id="L-621"><a href="#L-621"><span class="linenos" data-line="621"></span></a> <span class="kr">return</span> <span class="n">box</span><span class="p">:</span><span class="n">export</span><span class="p">()</span> </span><span id="L-622"><a href="#L-622"><span class="linenos" data-line="622"></span></a><span class="kr">end</span> </span><span id="L-623"><a href="#L-623"><span class="linenos" data-line="623"></span></a> </span><span id="L-624"><a href="#L-624"><span class="linenos" data-line="624"></span></a><span class="kr">function</span> <span class="nc">mt</span><span class="p">.</span><span class="nf">__index</span><span class="p">(</span><span class="n">t</span><span class="p">,</span> <span class="n">k</span><span class="p">)</span> </span><span id="L-625"><a href="#L-625"><span class="linenos" data-line="625"></span></a> <span class="kr">return</span> <span class="kr">function</span> <span class="p">(</span><span class="n">frame</span><span class="p">)</span> </span><span id="L-626"><a href="#L-626"><span class="linenos" data-line="626"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">getArgs</span> <span class="kr">then</span> </span><span id="L-627"><a href="#L-627"><span class="linenos" data-line="627"></span></a> <span class="n">getArgs</span> <span class="o">=</span> <span class="nb">require</span><span class="p">(</span><span class="s1">'Module:Arguments'</span><span class="p">).</span><span class="n">getArgs</span> </span><span id="L-628"><a href="#L-628"><span class="linenos" data-line="628"></span></a> <span class="kr">end</span> </span><span id="L-629"><a href="#L-629"><span class="linenos" data-line="629"></span></a> <span class="kr">return</span> <span class="n">t</span><span class="p">.</span><span class="n">main</span><span class="p">(</span><span class="n">k</span><span class="p">,</span> <span class="n">getArgs</span><span class="p">(</span><span class="n">frame</span><span class="p">,</span> <span class="p">{</span><span class="n">trim</span> <span class="o">=</span> <span class="kc">false</span><span class="p">,</span> <span class="n">removeBlanks</span> <span class="o">=</span> <span class="kc">false</span><span class="p">}))</span> </span><span id="L-630"><a href="#L-630"><span class="linenos" data-line="630"></span></a> <span class="kr">end</span> </span><span id="L-631"><a href="#L-631"><span class="linenos" data-line="631"></span></a><span class="kr">end</span> </span><span id="L-632"><a href="#L-632"><span class="linenos" data-line="632"></span></a> </span><span id="L-633"><a href="#L-633"><span class="linenos" data-line="633"></span></a><span class="kr">return</span> <span class="nb">setmetatable</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">mt</span><span class="p">)</span> </span></pre></div> <!-- NewPP limit report Parsed by mw‐web.codfw.main‐5c59558b9d‐85xcp Cached time: 20241129211218 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, vary‐page‐id] CPU time usage: 0.135 seconds Real time usage: 0.228 seconds Preprocessor visited node count: 660/1000000 Post‐expand include size: 21091/2097152 bytes Template argument size: 2341/2097152 bytes Highest expansion depth: 18/100 Expensive parser function count: 25/500 Unstrip recursion depth: 0/20 Unstrip post‐expand size: 4910/5000000 bytes Lua time usage: 0.071/10.000 seconds Lua memory usage: 1329077/52428800 bytes Number of Wikibase entities loaded: 0/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 202.897 1 မေႃႇၵျူး:Message_box/doc 100.00% 202.897 1 -total 28.15% 57.119 1 ထႅမ်းပလဵတ်ႉ:Used_in_system 18.13% 36.794 1 ထႅမ်းပလဵတ်ႉ:Module_rating 17.82% 36.154 1 ထႅမ်းပလဵတ်ႉ:Uses_TemplateStyles 16.39% 33.258 1 ထႅမ်းပလဵတ်ႉ:Module_other 15.50% 31.445 1 ထႅမ်းပလဵတ်ႉ:Lua 14.82% 30.071 1 ထႅမ်းပလဵတ်ႉ:Ombox 13.25% 26.886 1 ထႅမ်းပလဵတ်ႉ:Ombox/core 3.77% 7.659 1 ထႅမ်းပလဵတ်ႉ:Sandbox_other --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1&useformat=desktop" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">ဢဝ်ၶိုၼ်းမႃးတီႈ "<a dir="ltr" href="https://shn.wikibooks.org/w/index.php?title=မေႃႇၵျူး:Message_box&oldid=10099">https://shn.wikibooks.org/w/index.php?title=မေႃႇၵျူး:Message_box&oldid=10099</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/%E1%81%B6%E1%80%AD%E1%80%AF%E1%81%B5%E1%80%BA%E1%82%89%E1%80%90%E1%80%BD%E1%81%BC%E1%80%BA%E1%80%B8:%E1%80%95%E1%80%AD%E1%80%B0%E1%80%84%E1%80%BA%E1%80%91%E1%81%A2%E1%81%BC%E1%80%BA%E1%82%88" title="ၶိုၵ်ႉတွၼ်း:ပိူင်ထၢၼ်ႈ">ပိူင်ထၢၼ်ႈ</a>: <ul><li><a href="/w/index.php?title=%E1%80%95%E1%80%AD%E1%80%B0%E1%80%84%E1%80%BA%E1%80%91%E1%81%A2%E1%81%BC%E1%80%BA%E1%82%88:Pages_with_script_errors&action=edit&redlink=1" class="new" title="ၼႃႈလိၵ်ႈ ပိူင်ထၢၼ်ႈ:Pages with script errors ၼႆႉ ဢမ်ႇမီးဝႆႉ">Pages with script errors</a></li><li><a href="/w/index.php?title=%E1%80%95%E1%80%AD%E1%80%B0%E1%80%84%E1%80%BA%E1%80%91%E1%81%A2%E1%81%BC%E1%80%BA%E1%82%88:Modules_subject_to_page_protection&action=edit&redlink=1" class="new" title="ၼႃႈလိၵ်ႈ ပိူင်ထၢၼ်ႈ:Modules subject to page protection ၼႆႉ ဢမ်ႇမီးဝႆႉ">Modules subject to page protection</a></li><li><a href="/w/index.php?title=%E1%80%95%E1%80%AD%E1%80%B0%E1%80%84%E1%80%BA%E1%80%91%E1%81%A2%E1%81%BC%E1%80%BA%E1%82%88:Templates_using_TemplateStyles&action=edit&redlink=1" class="new" title="ၼႃႈလိၵ်ႈ ပိူင်ထၢၼ်ႈ:Templates using TemplateStyles ၼႆႉ ဢမ်ႇမီးဝႆႉ">Templates using TemplateStyles</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">ပိူင်ထၢၼ်ႈ ၸိူဝ်းဢၼ်လပ်ႉဝႆႉ: <ul><li><a href="/wiki/%E1%80%95%E1%80%AD%E1%80%B0%E1%80%84%E1%80%BA%E1%80%91%E1%81%A2%E1%81%BC%E1%80%BA%E1%82%88:Pages_using_the_JsonConfig_extension" title="ပိူင်ထၢၼ်ႈ:Pages using the JsonConfig extension">Pages using the JsonConfig extension</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> ၼႃႈလိၵ်ႈၼႆ့ မႄးမႃးဝႆႉ ၼင်ႇၵမ်းလိုၼ်းသုတ်း မိူဝ်ႈ ဝၼ်းတီႈ 22 တီႇသႅမ်ႇပႃႇ 2023 ၶၢဝ်းယၢမ်း 12:20</li> <li id="footer-info-copyright">လိၵ်ႈတေၸၢင်ႈၸႂ်ႉလႆႈ ပႃႈတႂ်ႈ <a rel="nofollow" class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/">Creative Commons Attribution-ShareAlike License</a>; ၶေႃႈမၼ်ႈၸႂ် ဢၼ်တေထႅမ်ႈသႂ်ႇထႅင်ႈၼႆႉ တေၸၢင်ႈမီးမႃး။ တူၺ်ႈလွင်ႈႁူဝ်ယွႆႈမၼ်း ၵႃႈတီႈ <a class="external text" href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use">ၶေႃႈမၼ်ႈၸႂ် တႃႇၸႂ်ႉ</a>။</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">လၵ်းၼမ်း လွင်ႈႁူမ်ႇလူမ်ႈ သုၼ်ႇလဵဝ်</a></li> <li id="footer-places-about"><a href="/wiki/%E1%80%9D%E1%80%AE%E1%82%87%E1%81%B6%E1%80%AE%E1%82%87%E1%80%95%E1%80%95%E1%80%BA%E1%82%89:%E1%80%9C%E1%80%BD%E1%80%84%E1%80%BA%E1%82%88%E1%80%9D%E1%82%85%E1%80%95%E1%80%BA%E1%82%89%E1%80%9E%E1%81%A2%E1%82%86%E1%82%89">ၵဵဝ်ႇၵပ်း ဝီႇၶီႇပပ်ႉ</a></li> <li id="footer-places-disclaimers"><a href="/wiki/%E1%80%9D%E1%80%AE%E1%82%87%E1%81%B6%E1%80%AE%E1%82%87%E1%80%95%E1%80%95%E1%80%BA%E1%82%89:%E1%81%B5%E1%81%A2%E1%81%BC%E1%80%BA%E1%80%91%E1%80%B5%E1%80%84%E1%80%BA%E1%81%B6%E1%80%AD%E1%80%AF%E1%81%BC%E1%80%BA%E1%80%B8%E1%81%B5%E1%80%B0%E1%82%88%E1%80%9C%E1%80%BD%E1%80%84%E1%80%BA%E1%82%88%E1%80%9C%E1%80%BD%E1%80%84%E1%80%BA%E1%82%88">ၶေႃႈထဵင်</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">ၽူႈၶူင်သၢင်ႈ</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/shn.wikibooks.org">သဵၼ်ႈသၢႆမၢႆ</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">ၶေႃႈပိုၼ်ၽၢဝ်ႇ ၶူၵ်ႉၶီး</a></li> <li id="footer-places-mobileview"><a href="//shn.m.wikibooks.org/w/index.php?title=%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8:Message_box&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">တူၺ်းၼင်ႇမူဝ်ႇပၢႆး</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-5c59558b9d-85xcp","wgBackendResponseTime":544,"wgPageParseReport":{"limitreport":{"cputime":"0.135","walltime":"0.228","ppvisitednodes":{"value":660,"limit":1000000},"postexpandincludesize":{"value":21091,"limit":2097152},"templateargumentsize":{"value":2341,"limit":2097152},"expansiondepth":{"value":18,"limit":100},"expensivefunctioncount":{"value":25,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":4910,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 202.897 1 မေႃႇၵျူး:Message_box/doc","100.00% 202.897 1 -total"," 28.15% 57.119 1 ထႅမ်းပလဵတ်ႉ:Used_in_system"," 18.13% 36.794 1 ထႅမ်းပလဵတ်ႉ:Module_rating"," 17.82% 36.154 1 ထႅမ်းပလဵတ်ႉ:Uses_TemplateStyles"," 16.39% 33.258 1 ထႅမ်းပလဵတ်ႉ:Module_other"," 15.50% 31.445 1 ထႅမ်းပလဵတ်ႉ:Lua"," 14.82% 30.071 1 ထႅမ်းပလဵတ်ႉ:Ombox"," 13.25% 26.886 1 ထႅမ်းပလဵတ်ႉ:Ombox/core"," 3.77% 7.659 1 ထႅမ်းပလဵတ်ႉ:Sandbox_other"]},"scribunto":{"limitreport-timeusage":{"value":"0.071","limit":"10.000"},"limitreport-memusage":{"value":1329077,"limit":52428800}},"cachereport":{"origin":"mw-web.codfw.main-5c59558b9d-85xcp","timestamp":"20241129211218","ttl":2592000,"transientcontent":false}}});});</script> </body> </html>