Шаблон:OnLua

Материал из I2P-ilita вики
Перейти к навигацииПерейти к поиску

<templatestyles src="Шаблон:Doc/styles.css" />

local getArgs = require('Module:Arguments').getArgs

local yesno = require('Module:Yesno') local compressSparseArray = require('Module:TableTools').compressSparseArray local p = {}

local function unpack(...) local frame = ... local args if type(frame.args) == 'table' then args = getArgs(frame) elseif type(frame) == 'table' then args = frame else args = {...} end return args end

function p._main(anchor, text, visible) local result = mw.html.create('span') :attr('id', anchor) :wikitext(text) if visible then result:addClass('highlight-target') end return tostring(result) end

function p.main(...) local args = unpack(...) local anchors = compressSparseArray(args) local text local visible = yesno(args.visible or args.v) if visible then text = args.text or args['текст'] or args[1] end

local result = text for i, v in ipairs(anchors) do result = p._main(anchors[i], result, visible) --[[ создание старого вида якорей для совместимости, см. Обсуждение шаблона:Якорь#Новые html5 ссылки и старые ]] local encoded_anchor = mw.uri.encode(anchors[i], 'WIKI'):gsub('%%', '.') if anchors[i] ~= encoded_anchor then result = p._main(encoded_anchor, result, visible) end end

return result end

return p
Документация
{{#if: || <templatestyles src="Шаблон:Действия для страницы/styles.css" /> }}

{{#if: | {{#ifexist: {{{1}}}

 | {{{{{1}}}||||}}
 | {{#ifexist: Шаблон:{{{1}}}
   | {{{{{1}}}||||}}
   | Шаблон:Документировать
   }}
 }}

| {{#ifexist: Шаблон:OnLua/doc

|

{{#invoke:Message box|ombox}}{{#ifeq:OnLua|doc||{{#if:||{{#if:Transclude||}}}}}} Шаблон для пометки шаблонов, использующих функционал расширения Scribunto. Обычно ставится в начале документаций шаблонов.

Использование[править]

{{safesubst:#invoke: Template call code | withParams | _tag = pre }} Шаблон:Optp/comment

{{onLua|модуль|функция}}

или

{{onLua
| 1 = модуль
| 2 = функция
}}

Whitespace characters (spaces, tabs, returns) are stripped from the beginnings and ends of named parameter names and values. This does not apply to unnamed parameters, where all whitespace characters are preserved. en:WP:PARAMETER

Первый параметр — название модуля, второй — имя функции. По умолчанию, если имя функции указано, оно оформляется ссылкой на раздел на странице модуля с таким именем.

Можно перенаправить на любую другую страницу, указав параметр funcref, или дать ссылку на строку в редакторе модуля параметром line (переход будет непосредственно на редактирование).

Текст после слов «с использованием» можно переопределить параметром tech. Шаблон будет добавлен в категорию Шаблоны, использующие Scribunto. При этом на подстранице документации (определяется по равенству переменной Шаблон:Mwmw параметру doc, по умолчанию «doc») категория не работает.

Непустое значение параметра partly добавит слово «частично» к «реализован».

Если модуль не указан, добавится Категория:Шаблоны, использующие Lua, без указания модуля.

Примеры[править]

Шаблон:Стопка примеров

См. также[править]

 | Шаблон:Документировать
 }}

}}

<templatestyles src="Шаблон:Doc/styles.css" />{{#ifexpr: 10 mod 2 = 1

| A test for all to see

|

}}