Module:EcopediaString: Difference between revisions
From Eco - English Wiki
[checked revision] | [checked revision] |
No edit summary |
m StalEF moved page Module:GetEcopedia to Module:EcopediaString without leaving a redirect |
(No difference)
|
Revision as of 09:55, 28 June 2024
This module provides the back end functionality of the Template:EcopediaString.
If the template is passed information will be displayed using details from the following Modules:
-- Module:GetEcopedia (https://wiki.play.eco/en/Module:GetEcopedia)
local p = {}
-- Grabs args from the parent frame
-- Trims and parses the args into a table, then returns the table
function norm()
local origArgs = mw.getCurrentFrame():getParent().args
local args = {}
for k, v in pairs( origArgs ) do
v = mw.text.trim( tostring( v ) )
if v ~= '' then
args[k] = v
end
end
return args
end
-- Main entry point for the Module
function p.main()
-- get args from the Template
local args = norm()
-- assign variables for page
local page = args.page
-- load list of pages
local completeList = require( "Module:Ecopedia" )
local pageList = completeList.ecopedia
-- sectionTypes constants
local bodySec = "EcopediaSection"
local headerSec = "EcopediaHeader"
-- create text to be returned"
local text = ""
-- make sure page is not nil
if page ~= nil then
-- make sure page exists in ecopedia
local p = pageList[page]
if p ~= nil then
-- main heading
text = text .. "\'\'\'" .. p.displayName .. "\'\'\'\n\n"
-- loop through sections (i = array position, j= {sectionType, text} )
for i=1, #p.sectionsText do
-- create a local of the current section
local sec = p.sectionsText[i]
if (sec[1] == bodySec) then
text = text .. sec[2] .. "\n\n"
end -- if bodySec
if (sec[1] == headerSec) then
text = text .. "\'\'\'" .. sec[2] .. "\'\'\'\n\n"
end -- if headerSec
end -- sections for loop
end -- if exists in Ecopedia
else
text = "PAGE " .. page .. " NOT FOUND"
end -- if page not nil
return text
end
return p