Modul:SimpleLinkList
Erscheinungsbild
Vorlagenprogrammierung | Diskussionen | Lua | Unterseiten | |||
Modul | Deutsch | English
|
Modul: | Dokumentation |
Diese Seite enthält Code in der Programmiersprache Lua. Einbindungszahl Cirrus
--[=[ SimpleLinkList 2022-02-10
simple link list generators for navigation in simmilar pages
Param for all methods: lemmas, comma separated
* culled: links to lemmas, hyphen separated, current page culled
* highlighted: links to lemmas, hyphen separated, current page highlighted
* stacked: links to lemmas, line break separated, current page culled
* stackedHL: links to lemmas, line break separated, current page highlighted
]=]
p = {service = {}}
p.service.list = function(frame, delimiter, len, format)
if frame.args[1] == nil then
return frame:preprocess('[[Modul:SimpleLinkList]]')
end
local Param = mw.text.split(frame.args[1], ',')
local result = ""
local title = mw.title.getCurrentTitle()
for _, v in ipairs(Param) do
local elm = string.gsub(v, '^%s*(.-)%s*$', '%1')
if elm ~= "" then
if elm == title.fullText or elm == title.text then
result = result .. string:format(format, elm)
else
result = result .. delimiter ..
frame:preprocess('[[' .. elm .. ']]')
end
end
end
return mw.ustring.sub(result, len)
end
p.culled = function(frame)
return p.service.list(frame, ' - ', 4, '')
end
p.stacked = function(frame)
return p.service.list(frame, '<br />', 7,'')
end
p.highlighted = function(frame)
return p.service.list(frame, ' - ', 4,
' - <span class="highlight">%s</span>')
end
p.stackedHL = function(frame)
return p.service.list(frame, '<br />', 7,
'<br /><span class="highlight">%s</span>')
end
return p