Шаблон:Не путать
{{#invoke:hatnote|hatnote|hide_disambig=1}}<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: Шаблон:Не путать/doc
|Использование[править]
{{safesubst:#invoke: Template call code | withParams | _tag = pre }}
A test for all to see
Шаблон автоматически выбирает предлог «с» или «со» перед словом. Если результат автоматического подбора неверен, нужно присвоить параметру со
(кириллицей) значение типа «1» или «да»:
{{safesubst:#invoke: Template call code | withParams | _tag = pre }}
Примеры[править]
TemplateData[править]
<templatedata>{
"description": "Применяется в вводной секции статей с обманчиво сходными названиями, которые нежелательно путать.", "params": { "1": { "label": "Название страницы", "description": "Название страницы, с которой можно спутать статью", "type": "string/wiki-page-name", "required": true }, "2": { "label": "Ссылка на страницу", "description": "Текст ссылки на страницу, с которой можно спутать статью", "type": "string", "required": false }, "3": { "label": "Пояснение", "description": "Пояснение к термину", "type": "string", "required": false }, "4": { "label": "Название страницы 2", "description": "Название второй страницы, с которой можно спутать статью", "type": "string/wiki-page-name", "required": false }, "5": { "label": "Ссылка на страницу 2", "description": "Текст ссылки на вторую страницу, с которой можно спутать статью", "type": "string", "required": false }, "6": { "label": "Пояснение 2", "description": "Пояснение ко второму термину", "type": "string", "required": false }, "7": { "label": "Название страницы 3", "description": "Название третьей страницы, с которой можно спутать статью", "type": "string/wiki-page-name", "required": false }, "8": { "label": "Ссылка на страницу 3", "description": "Текст ссылки на третью страницу, с которой можно спутать статью", "type": "string", "required": false }, "9": { "label": "Пояснение 3", "description": "Пояснение к третьему термину", "type": "string", "required": false }, "со": { "label": "Применить предлог «со»?", "description": "В случае если шаблон неверно подбирает предлог «с» или «со», заполните его значением типа «1» или «да»", "type": "string", "required": false } }
}</templatedata>
См. также[править]
- Шаблоны, размещаемые внизу страниц значений: {{список однофамильцев}}, {{список тёзок}}, {{список однофамильцев-тёзок}}, {{список полных тёзок}}{{#ifeq: Не путать
| doc | | {{#ifeq: Не путать
| Другие значения (см. также) | | }}
}}
| Шаблон:Документировать }}
}}
<templatestyles src="Шаблон:Doc/styles.css" />{{#ifexpr: 10 mod 2 = 1
| A test for all to see
|
}}