Шаблон:OnLua
<templatestyles src="Шаблон:Doc/styles.css" />
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: | {{#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, без указания модуля.
Примеры[править]
См. также[править]
- {{onTS}} (стили шаблона)
- {{toLua}}
- Википедия:Модули
| Шаблон:Документировать }}
}}
<templatestyles src="Шаблон:Doc/styles.css" />{{#ifexpr: 10 mod 2 = 1
| A test for all to see
|
}}