Этот модуль отображает синее поле, содержащее документацию для шаблонов , модулей Lua или других страниц. Его вызывает шаблон {{ documentation }}.
Нормальное использование
В большинстве случаев вам следует использовать шаблон {{ documentation }}; пожалуйста, обратитесь к странице этого шаблона для получения инструкций по использованию и параметров.
Использование в других модулях
Чтобы использовать этот модуль из другого модуля Lua, сначала загрузите его с помощью require
:
local documentation = require ( 'Модуль: Документация' ). основной
Затем вы можете просто вызвать его, используя таблицу аргументов.
документация { content = 'Некоторая документация' , [ 'link box' ] = 'My custom link box' }
Пожалуйста, обратитесь к документации шаблона за инструкциями по использованию и списком параметров.
Перенос на другие вики
У модуля есть файл конфигурации в Module: Documentation / config, который предназначен для облегчения перевода и переноса на другие вики. См. Инструкции в комментариях к коду на странице конфигурации. Если у вас есть какие-либо вопросы или вам нужна функция, которая в настоящее время не реализована, оставьте сообщение на Template talk: Documentation, чтобы привлечь внимание разработчика.
- Этот модуль реализует {{документацию}}.- Получить необходимые модули.local getArgs = require ( 'Модуль: аргументы' ). getArgs- Получить конфигурационную таблицу.локальный cfg = mw . loadData ( 'Модуль: Документация / config / песочница' )местный p = {}- Часто используемые функции.местный ugsub = mw . ustring . gsub-------------------------------------------------- --------------------------- Вспомогательные функции-- Они определены как локальные функции, но доступны в p- таблица для тестирования.-------------------------------------------------- -------------------------- сообщение локальной функции ( cfgKey , valArray , expectType ) - [[ - Получает сообщение из таблицы cfg и при необходимости форматирует его. - Функция выдает ошибку, если значение из таблицы cfg не совпадает с- типа expectType. Тип по умолчанию для expectType - строка. - Если таблица valArray присутствует, строки, такие как $ 1, $ 2 и т. Д., В - сообщение заменяется значениями из ключей таблицы [1], [2] и т. д. - Например, если сообщение «foo-message» имело значение «Foo $ 2 bar $ 1.», - message ('foo-message', {'baz', 'qux'}) вернет "Foo qux bar baz." -]]локальное сообщение = cfg [ cfgKey ]expectType = expectType или 'строка'если type ( msg ) ~ = expectType, тоerror ( 'message: type error in message cfg.' .. cfgKey .. '(' .. expectType .. 'ожидалось, получено ' .. type ( msg ) .. ')' , 2 )конецесли не valArray, товернуть сообщениеконецлокальная функция getMessageVal ( совпадение )матч = ToNumber ( совпадение )return valArray [ match ] или error ( 'message: не найдено значение для ключа $' .. match .. 'в сообщении cfg.' .. cfgKey , 4 )конецreturn ugsub ( msg , '$ ([1-9] [0-9] *)' , getMessageVal )конецстр . message = сообщениелокальная функция makeWikilink ( страница , отображение )если дисплей товернуть мв . ustring . формат ( '[[% s |% s]]' , страница , отображение )ещевернуть мв . ustring . формат ( '[[% s]]' , страница )конецконецстр . makeWikilink = makeWikilinkлокальная функция makeCategoryLink ( cat , sort )местные catns = mw . сайт . пространства имен [ 14 ]. названиеreturn makeWikilink ( catns .. ':' .. cat , sort )конецстр . makeCategoryLink = makeCategoryLinkлокальная функция makeUrlLink ( url , display )вернуть мв . ustring . формат ( '[% s% s]' , URL , отображение )конецстр . makeUrlLink = makeUrlLinkлокальная функция makeToolbar (...)местное ret = {}локальный lim = select ( '#' , ...)если lim < 1, товернуть нольконецдля i = 1 , lim doret [ # ret + 1 ] = select ( i , ...)конец- 'панель инструментов документации'return '.. message ( 'toolbar-class' ) .. '"> ('.. table.concat ( ret , '& # 124;' ) .. ') 'конецстр . makeToolbar = makeToolbar-------------------------------------------------- --------------------------- Обработка аргументов-------------------------------------------------- --------------------------локальная функция makeInvokeFunc ( funcName ) функция возврата ( фрейм )local args = getArgs ( frame , {valueFunc = функция ( ключ , значение )если тип ( значение ) == 'строка', тоvalue = value : match ( '^% s * (.-)% s * $' ) - удалить пробелы.если ключ == 'заголовок' или значение ~ = '', товозвращаемое значениеещевернуть нольконецещевозвращаемое значениеконецконец})return p [ funcName ] ( аргументы )конецконец-------------------------------------------------- --------------------------- Пункты въезда-------------------------------------------------- --------------------------функция p . несуществующий ( фрейм )если мв . название . getCurrentTitle (). subpageText == 'testcases', затемreturn frame : expandTemplate { title = 'примечание о тестовых примерах модуля' }ещевозврат п . основной ( фрейм )конецконецстр . main = makeInvokeFunc ( '_main' )функция p . _main ( аргументы )- [[ - Эта функция определяет логический поток для модуля. - @args - таблица аргументов, переданных пользователем -]]локальный env = p . getEnvironment ( аргументы )локальный корень = mw . html . создать ()корень: wikitext ( стр . _getModuleWikitext ( args , env )): wikitext ( стр . ProtectionTemplate ( env )): wikitext ( стр . sandboxNotice ( args , env )): tag ( 'div' )- 'документация-контейнер': addClass ( сообщение ( 'контейнер' )): новая строка (): tag ( 'div' )-- 'документация': addClass ( сообщение ( 'основные-див-классы' )): новая строка (): wikitext ( стр . _startBox ( args , env )): wikitext ( стр . _content ( args , env )): tag ( 'div' )- 'документация-ясно': addClass ( сообщение ( 'очистить' )): сделано (): новая строка (): сделано (): wikitext ( стр . _endBox ( args , env )): сделано (): wikitext ( стр . addTrackingCategories ( env ))- 'Модуль: Documentation / styles.css'вернуть мв . getCurrentFrame (): extensionTag ('templatestyles' , '' , { src = cfg [ 'templatestyles' ]}) .. tostring ( корень )конец-------------------------------------------------- --------------------------- Настройки среды-------------------------------------------------- --------------------------функция p . getEnvironment ( аргументы )- [[ - Возвращает таблицу с информацией о среде, включая заголовок - объекты и другие данные, относящиеся к пространству имен или пути. - @args - таблица аргументов, переданных пользователем - - Титульные объекты включают: - env.title - страница, для которой мы делаем документацию (обычно текущий заголовок) - env.templateTitle - шаблон (или модуль, файл и т. д.) - env.docTitle - подстраница / doc. - env.sandboxTitle - подстраница / sandbox. - env.testcasesTitle - подстраница / testcases. - env.printTitle - версия шаблона для печати, расположенная на подстранице / Print. - - Данные включают: - env.protectionLevels - таблица уровней защиты титровального объекта. - env.subjectSpace - номер пространства имён темы заголовка. - env.docSpace - номер пространства имен, в которое заголовок помещает свою документацию. - env.docpageBase - текст базовой страницы страниц / doc, / sandbox и / testcases с пространством имен. - env.compareUrl - URL страницы Special: ComparePages, сравнивающей песочницу с шаблоном. - - Все просмотры таблиц проходят через pcall, поэтому ошибки обнаруживаются. В случае ошибки значение - возвращается будет ноль. -]]локальный env , envFuncs = {}, {}- Настроить метатаблицу. В случае срабатывания мы вызываем соответствующую функцию в таблице envFuncs. Значение- возвращаемый этой функцией запоминается в таблице env, чтобы мы не вызывали ни одну из функций-- больше чем единожды. (Нильс не запомнился.)setmetatable ( env , {__index = функция ( t , ключ )локальный envFunc = envFuncs [ ключ ]если envFunc, толокальный успех , val = pcall ( envFunc )если успех, тоenv [ key ] = val - запомнить значение.вернуть valконецконецвернуть нольконец})функция envFuncs . название ()- Заголовочный объект для текущей страницы или тестовой страницы, переданной с args.page.местное названиелокальный titleArg = args . страницаесли titleArg, тоназвание = mw . название . новый ( titleArg )ещеназвание = mw . название . getCurrentTitle ()конецвернуть заголовокконецфункция envFuncs . templateTitle ()- [[ - Шаблон (или модуль и т. Д.) Титровального объекта. -- Сообщения: - «песочница-подстраница» -> «песочница» - 'testcases-subpage' -> 'testcases' -]]локальный subjectSpace = env . subjectSpaceместный заголовок = env . заглавиелокальная подстраница = заголовок . subpageTextесли subpage == message ( 'sandbox-subpage' ) или subpage == message ( 'testcases-subpage' ), товернуть мв . название . makeTitle ( SUBJECTSPACE , название . baseText )ещевернуть мв . название . makeTitle ( SUBJECTSPACE , название . текст )конецконецфункция envFuncs . docTitle ()- [[ - Заглавный объект подстраницы / doc. -- Сообщения: - 'doc-subpage' -> 'doc' -]]местный заголовок = env . заглавиеlocal docname = args [ 1 ] - Пользовательская страница документа.местная страница документацииесли docname тогдаdocpage = docnameещеdocpage = env . docpageBase .. '/' .. message ( 'doc-subpage' )конецвернуть мв . название . новый ( docpage )конецфункция envFuncs . sandboxTitle ()- [[ - Объект заголовка для подстраницы / sandbox. -- Сообщения: - «песочница-подстраница» -> «песочница» -]]вернуть мв . название . новое ( env . docpageBase .. '/' .. message ( 'sandbox-subpage' ))конецфункция envFuncs . testcasesTitle ()- [[ - Объект заголовка для подстраницы / testcases. -- Сообщения: - 'testcases-subpage' -> 'testcases' -]]вернуть мв . название . новое ( env . docpageBase .. '/' .. message ( 'testcases-subpage' ))конецфункция envFuncs . printTitle ()- [[ - Объект заголовка для подстраницы / Print. -- Сообщения: - 'print-subpage' -> 'Print' -]]вернуть env . templateTitle : subPageTitle ( сообщение ( 'печать-подстраница' ))конецфункция envFuncs . ProtectionLevels ()- Таблица уровней защиты титровального объекта.вернуть env . название . ProtectionLevelsконецфункция envFuncs . subjectSpace ()- Номер пространства имен субъекта.вернуть мв . сайт . пространства имен [ env . название . пространство имен ]. предмет . я быконецфункция envFuncs . docSpace ()- Номер пространства имен документации. Для большинства пространств имен это- то же, что и пространство имен субъекта. Однако страницы статьи, файла,- Пространства имен MediaWiki или Category должны иметь свои / doc, / sandbox и- / testcases страницы в пространстве разговора.локальный subjectSpace = env . subjectSpaceесли subjectSpace == 0 или subjectSpace == 6 или subjectSpace == 8 или subjectSpace == 14, тогдаreturn subjectSpace + 1ещевернуть subjectSpaceконецконецфункция envFuncs . docpageBase ()- Базовая страница подстраниц / doc, / sandbox и / testcases.- Для некоторых пространств имен это страница обсуждения, а не страница шаблона.локальный templateTitle = env . templateTitleлокальный docSpace = env . docSpaceлокальный docSpaceText = mw . сайт . пространства имен [ docSpace ]. название- Соберите ссылку. docSpace никогда не является основным пространством имен, поэтому мы можем жестко закодировать двоеточие.вернуть docSpaceText .. ':' .. templateTitle . текстконецфункция envFuncs . compareUrl ()- Различить связь между песочницей и основным шаблоном с помощью [[Special: ComparePages]].локальный templateTitle = env . templateTitlelocal sandboxTitle = env . sandboxTitleесли templateTitle . существует и sandboxTitle . существует тогдалокальный compareUrl = mw . uri . fullUrl ('Special: ComparePages' ,{ page1 = templateTitle . prefixedText , страница2 = sandboxTitle . prefixedText })вернуться в строку ( compareUrl )ещевернуть нольконецконецвернуть envконец-------------------------------------------------- --------------------------- Вспомогательные шаблоны-------------------------------------------------- --------------------------стр . getModuleWikitext = makeInvokeFunc ( '_getModuleWikitext' )функция p . _getModuleWikitext ( аргументы , env )локальный currentTitle = mw . название . getCurrentTitle ()если currentTitle . contentModel ~ = 'Scribunto', затем верните конецpcall ( require , currentTitle . prefixedText ) - если он не работает, нам все равноlocal moduleWikitext = package.loaded [ "Модуль: wikitext модуля" ]если moduleWikitext, товернуть модульWikitext . main ()конецконецфункция p . sandboxNotice ( аргументы , env )знак равно - Создает уведомление о песочнице для отображения над страницами песочницы. - @args - таблица аргументов, переданных пользователем - @env - таблица окружения, содержащая титровальные объекты и т. д., сгенерированная с помощью p.getEnvironment - -- Сообщения: - 'sandbox-notice-image' -> '[[Image: Sandbox.svg | 50px | alt = | link =]]' - 'sandbox-notice-blurb' -> 'Это 1 доллар за 2 доллара.' - 'sandbox-notice-diff-blurb' -> 'Это 1 доллар за 2 доллара (3 доллара).' - 'sandbox-notice-pagetype-template' -> '[[Википедия: тестовые примеры шаблонов | тестовая среда шаблона]] страница' - 'sandbox-notice-pagetype-module' -> '[[Википедия: тестовые примеры шаблонов | песочница модуля]] страница' - 'sandbox-notice-pagetype-other' -> 'sandbox page' - 'sandbox-notice-compare-link-display' -> 'diff' - 'sandbox-notice-testcases-blurb' -> 'См. также сопутствующую подстраницу для $ 1.' - 'sandbox-notice-testcases-link-display' -> 'test case' - 'sandbox-category' -> 'Шаблонные песочницы' знак равноместный заголовок = env . заглавиеlocal sandboxTitle = env . sandboxTitleлокальный templateTitle = env . templateTitleлокальный subjectSpace = env . subjectSpaceесли нет ( subjectSpace и title и sandboxTitle и templateTitleи мв . название . equals ( title , sandboxTitle )), затемвернуть нольконец- Создайте таблицу аргументов для передачи в {{ombox}}. Нам нужно всего два поля: «изображение» и «текст».local omargs = {}омаргс . изображение = сообщение ( 'песочница-уведомление-изображение' )- Получи текст. Начнем с вводной аннотации, которая выглядит примерно так:- «Это песочница шаблона для [[Template: Foo]] (diff)».местный текст = ''местный тип страницыесли subjectSpace == 10, тогдаpagetype = сообщение ( 'шаблон-уведомления-страницы-песочницы' )elseif subjectSpace == 828 тогдаpagetype = сообщение ( 'песочница-уведомление-pagetype-модуль' )ещеpagetype = сообщение ( 'песочница-уведомление-pagetype-другое' )конецлокальная templateLink = makeWikilink ( templateTitle . prefixedText )локальный compareUrl = env . compareUrlесли compareUrl, толокальное compareDisplay = сообщение ( 'песочница-уведомление-сравнение-ссылка-дисплей' )локальное compareLink = makeUrlLink ( compareUrl , compareDisplay )text = text .. message ( 'sandbox-notice-diff-blurb' , { pagetype , templateLink , compareLink })ещеtext = text .. message ( 'sandbox-notice-blurb' , { pagetype , templateLink })конец- Получите аннотацию к странице тестовых примеров, если она существует. Это что-то вроде- «См. Также дополнительную страницу для [[Template: Foo / testcases | тестовых примеров]]».local testcasesTitle = env . testcasesTitleесли testcasesTitle и testcasesTitle . существует тогдаесли testcasesTitle . contentModel == "Scribunto", затемлокальные testcasesLinkDisplay = сообщение ( 'песочница-уведомление-тесткейсы-ссылка-дисплей' )local testcasesRunLinkDisplay = message ( 'sandbox-notice-testcases-run-link-display' )локальная testcasesLink = makeWikilink ( testcasesTitle . prefixedText , testcasesLinkDisplay )локальная testcasesRunLink = makeWikilink ( testcasesTitle . talkPageTitle . prefixedText , testcasesRunLinkDisplay )text = text .. '
' .. message ( 'sandbox-notice-testcases-run-blurb' , { testcasesLink , testcasesRunLink })ещелокальные testcasesLinkDisplay = сообщение ( 'песочница-уведомление-тесткейсы-ссылка-дисплей' )локальная testcasesLink = makeWikilink ( testcasesTitle . prefixedText , testcasesLinkDisplay )text = text .. '
' .. message ( 'sandbox-notice-testcases-blurb' , { testcasesLink })конецконец- Добавьте песочницу в категорию песочницы.омаргс . text = text .. makeCategoryLink ( сообщение ( 'категория-песочницы' ))- 'документация-ясно'return '.. message ( 'clear' ) .. '">
' если не аргументы . content, а не args [ 1 ], тогда - «Добавьте категории на подстраницу / doc». - Не показывать это сообщение с встроенными документами или с явно указанной страницей документа, - так как тогда непонятно куда добавлять категории. text = text .. ( стр . makeCategoriesBlurb ( args , env ) или '' ) конец text = text .. '' .. ( p . makeSubpagesBlurb ( args , env ) или '' ) - «Подстраницы этого шаблона» локальный printBlurb = p . makePrintBlurb ( args , env ) - двухстрочное объявление о печатных версиях шаблонов. если printBlurb то text = text .. '
' .. printBlurb конец конец конец локальный ящик = mw . html . создать ( 'div' ) - 'документация-метаданные' box : attr ( 'роль' , 'примечание' ) : addClass ( сообщение ( 'конец-класс-окна' )) - 'plainlinks' : addClass ( сообщение ( 'конец-поле-простые ссылки' )) : wikitext ( текст ) : сделано () return ' \ n ' .. tostring ( поле )конецфункция p . makeDocPageBlurb ( аргументы , env ) знак равно - Делает аннотацию «Эта документация включена из [[Template: Foo]] (редактировать, история)». - @args - таблица аргументов, переданных пользователем - @env - таблица окружения, содержащая титровальные объекты и т. д., сгенерированная с помощью p.getEnvironment - -- Сообщения: - 'edit-link-display' -> 'edit' - 'отображение-ссылка-история' -> 'история' - 'включено-из-рекламного объявления' -> - 'Выше [[Википедия: документация по шаблонам | документация]] - [[Википедия: Включение | включено]] из $ 1. ' - 'module-preload' -> 'Template: Documentation / preload-module-doc' - 'create-link-display' -> 'create' - 'create-module-doc-blurb' -> - 'Вы можете захотеть $ 1 на страницу документации для этого [[Wikipedia: Lua | Scribunto module]] ». знак равно локальный docTitle = env . docTitle если не docTitle, то вернуть ноль конец местный рет если docTitle . существует тогда - / doc существует; ссылка на него. локальная docLink = makeWikilink ( docTitle . prefixedText ) local editUrl = docTitle : fullUrl { действие = 'редактировать' } локальный editDisplay = сообщение ( 'отображение ссылки редактирования' ) локальный editLink = makeUrlLink ( editUrl , editDisplay ) local historyUrl = docTitle : fullUrl { действие = 'история' } local historyDisplay = сообщение ( 'отображение-ссылка-история' ) локальная historyLink = makeUrlLink ( сервис история , historyDisplay ) ret = message ( 'transcluded-from-blurb' , { docLink }) .. '' .. makeToolbar ( editLink , historyLink ) .. '
' elseif env . subjectSpace == 828, тогда - / doc не существует; прошу создать его. local createUrl = docTitle : fullUrl { действие = 'редактировать' , preload = message ( 'module-preload' )} локальное createDisplay = сообщение ( 'создать-ссылку-дисплей' ) local createLink = makeUrlLink ( createUrl , createDisplay ) ret = message ( 'create-module-doc-blurb' , { createLink }) .. '
' конец возвращение в отставкеконецфункция p . makeExperimentBlurb ( аргументы , env ) - [[ - Отображает текст «Редакторы могут экспериментировать на страницах тестовой среды (редактировать | diff) и тестовых сценариев (редактировать) этого шаблона». - @args - таблица аргументов, переданных пользователем - @env - таблица окружения, содержащая титровальные объекты и т. д., сгенерированная с помощью p.getEnvironment - -- Сообщения: - 'sandbox-link-display' -> 'sandbox' - 'sandbox-edit-link-display' -> 'edit' - 'compare-link-display' -> 'diff' - 'module-sandbox-preload' -> 'Template: Documentation / preload-module-sandbox' - 'template-sandbox-preload' -> 'Template: Documentation / preload-sandbox' - 'sandbox-create-link-display' -> 'create' - 'mirror-edit-summary' -> 'Создать версию $ 1 для песочницы' - 'зеркало-ссылка-дисплей' -> 'зеркало' - 'mirror-link-preload' -> 'Шаблон: Документация / зеркало' - 'sandbox-link-display' -> 'sandbox' - 'testcases-link-display' -> 'testcases' - 'testcases-edit-link-display' -> 'edit' - 'template-sandbox-preload' -> 'Template: Documentation / preload-sandbox' - 'testcases-create-link-display' -> 'create' - 'testcases-link-display' -> 'testcases' - 'testcases-edit-link-display' -> 'edit' - 'module-testcases-preload' -> 'Template: Documentation / preload-module-testcases' - 'template-testcases-preload' -> 'Template: Documentation / preload-testcases' - 'Experiment-blurb-module' -> 'Редакторы могут экспериментировать на страницах этого модуля за 1 и 2 доллара.' - 'Experiment-blurb-template' -> 'Редакторы могут экспериментировать на страницах этого шаблона за 1 и 2 доллара.' -]] локальный subjectSpace = env . subjectSpace локальный templateTitle = env . templateTitle local sandboxTitle = env . sandboxTitle local testcasesTitle = env . testcasesTitle локальный templatePage = templateTitle . prefixedText если не subjectSpace или не templateTitle, или не sandboxTitle, или not testcasesTitle, тогда вернуть ноль конец - Делайте ссылки. местные sandboxLinks , testcasesLinks если sandboxTitle . существует тогда local sandboxPage = sandboxTitle . prefixedText локальный sandboxDisplay = сообщение ( 'дисплей-ссылка-песочница' ) local sandboxLink = makeWikilink ( sandboxPage , sandboxDisplay ) local sandboxEditUrl = sandboxTitle : fullUrl { действие = 'редактировать' } локальная песочницаEditDisplay = сообщение ( 'песочница-редактирование-ссылка-дисплей' ) локальная sandboxEditLink = makeUrlLink ( sandboxEditUrl , sandboxEditDisplay ) локальный compareUrl = env . compareUrl местное сравнениеLink если compareUrl, то локальное compareDisplay = сообщение ( 'сравнение-ссылка-дисплей' ) compareLink = makeUrlLink ( compareUrl , compareDisplay ) конец sandboxLinks = sandboxLink .. '' .. makeToolbar ( sandboxEditLink , compareLink ) еще локальная песочница если subjectSpace == 828, то sandboxPreload = сообщение ( 'модуль-песочница-предварительная загрузка ' ) еще sandboxPreload = сообщение ( 'шаблон-песочница-предварительная загрузка ' ) конец локальная sandboxCreateUrl = sandboxTitle : fullUrl { действие = 'изменить' , преднагрузки = sandboxPreload } локальная песочницаCreateDisplay = сообщение ( 'песочница-создание-ссылка-дисплей' ) локальная sandboxCreateLink = makeUrlLink ( sandboxCreateUrl , sandboxCreateDisplay ) local mirrorSummary = сообщение ( 'зеркало-редактирование-сводка' , { makeWikilink ( templatePage )}) local mirrorPreload = сообщение ( 'предварительная загрузка зеркальной ссылки' ) локальная mirrorUrl = sandboxTitle : fullUrl { действие = 'изменить' , преднагрузки = mirrorPreload , резюме = mirrorSummary } если subjectSpace == 828, то mirrorUrl = sandboxTitle : fullUrl { действие = 'редактировать' , preload = templateTitle . prefixedText , краткое = mirrorSummary } конец локальное зеркалоDisplay = сообщение ( 'зеркало-ссылка-дисплей' ) local mirrorLink = makeUrlLink ( mirrorUrl , mirrorDisplay ) sandboxLinks = message ( 'sandbox-link-display' ) .. '' .. makeToolbar ( sandboxCreateLink , mirrorLink ) конец если testcasesTitle . существует тогда local testcasesPage = testcasesTitle . prefixedText локальные testcasesDisplay = сообщение ( 'testcases-link-display' ) локальная testcasesLink = makeWikilink ( testcasesPage , testcasesDisplay ) локальная testcasesEditUrl = testcasesTitle : fullUrl { действие = 'редактировать' } локальные testcasesEditDisplay = сообщение ( 'testcases-edit-link-display' ) локальная testcasesEditLink = makeUrlLink ( testcasesEditUrl , testcasesEditDisplay ) - для модулей добавьте ссылку на запуск тестов, если она существует если testcasesTitle . contentModel == "Scribunto" и testcasesTitle . talkPageTitle и testcasesTitle . talkPageTitle . существует тогда локальные testcasesRunLinkDisplay = сообщение ( 'testcases-run-link-display' ) локальная testcasesRunLink = makeWikilink ( testcasesTitle . talkPageTitle . prefixedText , testcasesRunLinkDisplay ) testcasesLinks = testcasesLink .. '' .. makeToolbar ( testcasesEditLink , testcasesRunLink ) еще testcasesLinks = testcasesLink .. '' .. makeToolbar ( testcasesEditLink ) конец еще локальные тесты если subjectSpace == 828, то testcasesPreload = сообщение ( 'модуль-тесткейсы-предварительная загрузка' ) еще testcasesPreload = сообщение ( 'шаблон-testcases-preload' ) конец локальная testcasesCreateUrl = testcasesTitle : fullUrl { действие = 'изменить' , преднагрузки = testcasesPreload } локальные testcasesCreateDisplay = сообщение ( 'testcases-create-link-display' ) локальная testcasesCreateLink = makeUrlLink ( testcasesCreateUrl , testcasesCreateDisplay ) testcasesLinks = сообщение ( 'testcases-канального дисплей' ) .. '' .. makeToolbar ( testcasesCreateLink ) конец local messageName если subjectSpace == 828, то messageName = 'экспериментальный-рекламный-модуль' еще messageName = 'эксперимент-рекламный-шаблон' конец возврат сообщения ( messageName , { sandboxLinks , testcasesLinks })конецфункция p . makeCategoriesBlurb ( аргументы , env ) - [[ - Создает текст «Добавьте категории на подстраницу / doc». - @args - таблица аргументов, переданных пользователем - @env - таблица окружения, содержащая титровальные объекты и т. д., сгенерированная с помощью p.getEnvironment -- Сообщения: - 'doc-link-display' -> '/ doc' - 'add-Categories-blurb' -> 'Пожалуйста, добавьте категории на подстраницу $ 1.' -]] локальный docTitle = env . docTitle если не docTitle, то вернуть ноль конец локальная docPathLink = makeWikilink ( docTitle . prefixedText , сообщение ( 'документ-канальный дисплей' )) ответное сообщение ( 'add- Categories-blurb ' , { docPathLink })конецфункция p . makeSubpagesBlurb ( аргументы , env ) - [[ - Создает ссылку «Подстраницы этого шаблона». - @args - таблица аргументов, переданных пользователем - @env - таблица окружения, содержащая титровальные объекты и т. д., сгенерированная с помощью p.getEnvironment -- Сообщения: - 'template-pagetype' -> 'template' - 'module-pagetype' -> 'module' - 'default-pagetype' -> 'page' - 'subpages-link-display' -> 'Подстраницы этого $ 1' -]] локальный subjectSpace = env . subjectSpace локальный templateTitle = env . templateTitle если не subjectSpace или не templateTitle, то вернуть ноль конец местный тип страницы если subjectSpace == 10, тогда pagetype = сообщение ( 'шаблон-тип страницы' ) elseif subjectSpace == 828 тогда pagetype = сообщение ( 'модуль-тип страницы' ) еще pagetype = сообщение ( 'default-pagetype' ) конец локальные подстраницыLink = makeWikilink ( 'Special: PrefixIndex /' .. templateTitle . prefixedText .. '/' , сообщение ( 'subpages-link-display' , { pagetype }) ) ответное сообщение ( 'subpages-blurb' , { subpagesLink })конецфункция p . makePrintBlurb ( аргументы , env ) знак равно - Создает рекламное объявление, отображаемое при наличии доступной печатной версии шаблона. - @args - таблица аргументов, переданных пользователем - @env - таблица окружения, содержащая титровальные объекты и т. д., сгенерированная с помощью p.getEnvironment - -- Сообщения: - 'print-link-display' -> '/ Print' - 'print-blurb' -> 'A [[Справка: Книги / для экспертов # Улучшение макета книги | версия для печати]]' - .. 'этого шаблона существует по цене 1 $.' - .. 'Если вы внесете изменения в этот шаблон, обновите также версию для печати.' - 'display-print-category' -> истина - 'print-category' -> 'Шаблоны с версиями для печати' знак равно локальный printTitle = env . printTitle если не printTitle, то вернуть ноль конец местный рет если printTitle . существует тогда локальная printLink = makeWikilink ( printTitle . prefixedText , сообщение ( 'печать канальном дисплей' )) ret = сообщение ( 'print-blurb' , { printLink }) локальный displayPrintCategory = message ( 'display-print-category' , nil , 'boolean' ) если displayPrintCategory, то ret = ret .. makeCategoryLink ( сообщение ( 'категория печати' )) конец конец возвращение в отставкеконец-------------------------------------------------- --------------------------- Категории отслеживания-------------------------------------------------- --------------------------функция p . addTrackingCategories ( env ) - [[ - Проверьте, включена ли {{documentation}} на страницу / doc или / testcases. - @env - таблица окружения, содержащая титровальные объекты и т. д., сгенерированная с помощью p.getEnvironment -- Сообщения: - 'дисплей-странное-использование-категория' -> истина - 'doc-subpage' -> 'doc' - 'testcases-subpage' -> 'testcases' - 'random-usage-category' -> 'Страницы Википедии со странным ((документацией)) использованием' - - Страницы / testcases в пространстве имен модуля не классифицируются, поскольку могут иметь - {{документация}} включается автоматически. -]] местный заголовок = env . заглавие локальный subjectSpace = env . subjectSpace если не title или not subjectSpace, то вернуть ноль конец локальная подстраница = заголовок . subpageText местное ret = '' если сообщение ( 'дисплей-странное-использование-категория' , ноль , 'логическое' ) и ( subpage == message ( 'doc-subpage' ) или subjectSpace ~ = 828 и subpage == message ( 'testcases-subpage' ) ) тогда ret = ret .. makeCategoryLink ( сообщение ( 'странная-категория-использования' )) конец возвращение в отставкеконецвернуть p