Модуль:Якорь: различия между версиями

Перейти к навигации Перейти к поиску
возможность использовать модуль в других модулях
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 add_anchor(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


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 = add_anchor(anchors[i], result, visible)
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 = add_anchor(encoded_anchor, result, visible)
result = p._main(encoded_anchor, result, visible)
end
end
end
end
Анонимный участник

Навигация