Модуль:Якорь: различия между версиями
Перейти к навигации
Перейти к поиску
возможность использовать модуль в других модулях
imported>Serhio Magpie м (По запросу - https://ru.wikipedia.org/?diff=101789744) |
imported>Stjn (возможность использовать модуль в других модулях) |
||
Строка 3: | Строка 3: | ||
local compressSparseArray = require('Module:TableTools').compressSparseArray | local compressSparseArray = require('Module:TableTools').compressSparseArray | ||
local p = {} | local p = {} | ||
local function unpack(...) | local function unpack(...) | ||
Строка 25: | Строка 15: | ||
end | end | ||
return args | 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 | end | ||
Строка 38: | Строка 38: | ||
local result = text | local result = text | ||
for i, v in ipairs(anchors) do | for i, v in ipairs(anchors) do | ||
result = | result = p._main(anchors[i], result, visible) | ||
--[[ | --[[ | ||
создание старого вида якорей для совместимости, | создание старого вида якорей для совместимости, | ||
Строка 45: | Строка 45: | ||
local encoded_anchor = mw.uri.encode(anchors[i], 'WIKI'):gsub('%%', '.') | local encoded_anchor = mw.uri.encode(anchors[i], 'WIKI'):gsub('%%', '.') | ||
if anchors[i] ~= encoded_anchor then | if anchors[i] ~= encoded_anchor then | ||
result = | result = p._main(encoded_anchor, result, visible) | ||
end | end | ||
end | end |