Module:EcopediaString: Difference between revisions
From Eco - English Wiki
[unchecked revision] | [unchecked revision] |
New Module Ecopedia |
No edit summary |
||
Line 34: | Line 34: | ||
local headerSec = "EcopediaHeader" | local headerSec = "EcopediaHeader" | ||
-- create text to be returned" | |||
local text = "" | |||
-- make sure page is not nil | -- make sure page is not nil | ||
Line 41: | Line 43: | ||
local p = pageList[page] | local p = pageList[page] | ||
if p ~= nil then | if p ~= nil then | ||
-- main heading | -- main heading | ||
Line 65: | Line 64: | ||
end -- if exists in Ecopedia | end -- if exists in Ecopedia | ||
end -- if page not nil | end -- if page not nil | ||
return text | |||
end | end | ||
return p | return p |
Revision as of 04:36, 4 February 2021
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"
-- loop through sections (i = array position, j= {sectionType, text} )
for i=1, #p.sections do
-- create a local of the current section
local sec = p.sections[i]
if (sec[1] == bodySec) then
text = text .. sec[2] .. "\n"
end -- if bodySec
if (sec[1] == headerSec) then
text = text .. "\'\'" .. sec[2] .. "\'\'\n"
end -- if headerSec
end -- sections for loop
end -- if exists in Ecopedia
end -- if page not nil
return text
end
return p