Modul:Sandlåda/Bläddra
Utseende
Dokumentationen för denna modul kan skapas på Modul:Sandlåda/Bläddra/dok
local p = {}
local logString = ""
function log(entry)
logString = logString .. "<br />" .. entry
end
function p.run(frame)
local title = mw.title.getCurrentTitle().fullText
local titleWords = mw.text.split(title, " ")
local year = mw.ustring.match(title, "%d%d%d%d")
local lastWord = table.remove(titleWords, #titleWords)
local titleBase = table.concat(titleWords, " ")
local previousLink = createPreviousNextLink(
frame.args.link_last,
frame.args.text_last,
year,
title,
-1
)
local nextLink = createPreviousNextLink(
frame.args.link_next,
frame.args.text_next,
lastWord,
titleBase,
1
)
out = "" --yearStart .. " - " .. yearEnd .. " - " .. year
if previousLink then
out = out .. "<< " .. previousLink
if nextLink then
out = out .. " | "
end
end
if nextLink then
out = out .. nextLink .. " >>"
end
out = out .. "<hr />" .. logString
return out
end
function createPreviousNextLink(target, text, lastWord, title, difference)
local link
if target ~= nil and target ~= "" then
if text == nil or text == "" then
text = target
end
link = createLink(target, text)
elseif tonumber(lastWord) then
link = createYearLink(lastWord, difference, title)
end
if link then
return link
else
return nil
end
end
function createYearLink(originalYear, difference, pageTitle)
local year = originalYear + difference
local titleString = mw.ustring.gsub(pageTitle, originalYear, year, 1)
log(titleString)
local title = mw.title.new(titleString)
if title.exists then
log("Tile exists")
return createLink(title.fullText, year)
else
return nil
end
end
function createLink(target, text)
return "[[" .. target .. "|" .. text .. "]]"
end
return p