Module:DE:Beginners guide navigation
Jump to navigation
Jump to search
--[[ Codebase for the navigation templates for the German "Beginner's Guide"
to OpenStreetMap ]]--
local p = {}
-- contains all page names of the "Beginner's Guide" in order
local pages = {
"DE:Beginners' guide",
"DE:Join the community",
"DE:Beginners Guide 1.1",
"DE:Bearbeitungsprogramm auswählen",
"DE:Beginners Guide 1.3",
"DE:Beginners Guide 1.4",
"DE:Beginners Guide 1.5"
}
-- contains all captions of the previously defined page names
local captions = {
"Einleitung",
"Treten Sie der Gemeinschaft bei",
"Daten sammeln",
"Bearbeitungsprogramm auswählen",
"Karte zeichnen",
"Eigenschaften hinzufügen",
"Ergebnis betrachten"
}
-- creates a tab-style navigation
function p.tabs(frame)
local counter = 1
local templateParameters = {}
local pageNumber = table.maxn(pages)
while (counter <= pageNumber) do
templateParameters[counter] = pages[counter]
templateParameters[tostring("label" .. counter)] = captions[counter]
counter = counter + 1
end
return frame:expandTemplate{title = "Tabs flexible", args = templateParameters }
end
-- creates a book-style navigation ("<- previous page ... next page ->")
function p.arrows(frame)
local pagename = frame.args["pagename"]
local output = {}
local pageIndex = 1
local pageNumber = table.maxn(pages)
output[1] = "---- \n"
while (pageIndex <= pageNumber) do
if (pagename == pages[pageIndex]) then
break
else
pageIndex = pageIndex + 1
end
end
if (pageIndex ~= 1) then
table.insert(output, '<div style="float: left;">\n[[' .. pages[pageIndex-1] ..
"|« " .. captions[pageIndex-1] .. "]]\n</div>")
end
if (pageIndex ~= pageNumber) then
table.insert(output, '<div style="float: right;">\n[[' .. pages[pageIndex+1] ..
"|" .. captions[pageIndex+1] .. " »]]\n</div>")
end
return tostring(table.concat(output))
end
return p