Module:BiomeInfoCard: Difference between revisions

From Eco - English Wiki
[checked revision][checked revision]
Avaren (talk | contribs)
No edit summary
No edit summary
 
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
local p = {}
local p = {}
local Utils = require('Module:Utils')
local Utils = require('Module:Utils')
local Lang = Utils.WikiLang


function p.listBiomes(frame)
    local args = Utils.normaliseArgs(frame)
    return p.renderBiomeList(args.type)
end
function p.renderBiomeList(biomeType, includeSubBiomes)
    local biomeData = require("Module:BiomeData")
    ---@type boolean
    local isLand
    if biomeType == 'Land' then
        isLand = true
    elseif biomeType == 'Water' then
        isLand = false
    end


    local biomes = {}
function p.main(frame)
    for _, biome in pairs(biomeData) do
local PageName = frame.args[1]
        if biome.Name ~= '' and (isLand == nil or biome.Land == isLand) and (includeSubBiomes ~= true or biome.MainBiome == '') then
local WikiText =''
            biomes[#biomes + 1] = "* [[" .. biome.Name .. "]]"
BiomeName = Utils.BiomeSearch(PageName)
        end
    end
WikiText = WikiText ..'page name get test: ' .. PageName ..'</br>'
    table.sort(biomes)
WikiText = WikiText ..'Biome name get test: ' .. BiomeName ..'</br>'


     return table.concat(biomes, "\n")
if (BiomeName ~= "None") then
local BiomeData = mw.loadData( "Module:BiomeData" )
    local Biome = BiomeData.biomes[BiomeName]
   
     WikiText = WikiText .. '__NOTOC__'
WikiText = WikiText .. '<div class="row gy-4 gx-5"><div class="col-md-6">'
WikiText = WikiText .. '</div>'
WikiText = WikiText .. '<div class="col-md-6"><div class="card border-primary"><div class="card-body">'
WikiText = WikiText .. '<h2 class="card-title fs-40">' .. Biome.Name[Lang] .. '</h2>'
WikiText = WikiText .. '<p class="col-lg-10 card-text">' .. Biome.Description[Lang] .. '</p>'
-- Biome properties table
WikiText = WikiText .. '<table class="table table-striped">'
if Biome.Color then
WikiText = WikiText .. '<tr><th>' .. Utils.Translate("Color") .. '</th><td><span style="display:inline-block;width:20px;height:20px;background-color:' .. Biome.Color .. ';border:1px solid #000;"></span> ' .. Biome.Color .. '</td></tr>'
end
if Biome.WorldLayer then
WikiText = WikiText .. '<tr><th>' .. Utils.Translate("World Layer") .. '</th><td>' .. Biome.WorldLayer .. '</td></tr>'
end
if Biome.TemperatureRangeMin and Biome.TemperatureRangeMax then
WikiText = WikiText .. '<tr><th>' .. Utils.Translate("Temperature") .. '</th><td>' .. Biome.TemperatureRangeMin .. ' - ' .. Biome.TemperatureRangeMax .. ' °C</td></tr>'
end
if Biome.MoistureRangeMin and Biome.MoistureRangeMax then
WikiText = WikiText .. '<tr><th>' .. Utils.Translate("Moisture") .. '</th><td>' .. Biome.MoistureRangeMin .. ' - ' .. Biome.MoistureRangeMax .. ' %</td></tr>'
end
WikiText = WikiText .. '</table>'
WikiText = WikiText .. '</div></div></div></div>'
if (Lang ~= 'English') then WikiText = WikiText .. '[[en:' .. Biome.Name.English .. ']]' end
if (Lang ~= 'Russian') then WikiText = WikiText .. '[[ru:' .. Biome.Name.Russian .. ']]' end
if (Lang ~= 'German') then WikiText = WikiText .. '[[de:' .. Biome.Name.German .. ']]' end
if (Lang ~= 'French') then WikiText = WikiText .. '[[fr:' .. Biome.Name.French .. ']]' end
end
local descriptionpage = Biome.Name[Lang] .. " - " .. Biome.Description[Lang]
WikiText =  WikiText .. frame:callParserFunction{ name = '#description2', args = { descriptionpage }}
WikiText =  WikiText .. frame:callParserFunction{ name = '#setmainimage', args = { BiomeName .. "_Biome.jpg" }}
    return WikiText
end
end


return p
return p

Latest revision as of 11:07, 13 April 2026


local p = {}
local Utils = require('Module:Utils')
local Lang = Utils.WikiLang


function p.main(frame)
	local PageName = frame.args[1]
	local WikiText =''
	BiomeName = Utils.BiomeSearch(PageName)
	
	WikiText =  WikiText ..'page name get test: ' .. PageName ..'</br>'
	WikiText =  WikiText ..'Biome name get test: ' .. BiomeName ..'</br>'

	if (BiomeName ~= "None") then
		local BiomeData = mw.loadData( "Module:BiomeData" )
    	local Biome = BiomeData.biomes[BiomeName]
    	
    WikiText = WikiText .. '__NOTOC__'
	WikiText = WikiText .. '<div class="row gy-4 gx-5"><div class="col-md-6">'
	
	WikiText = WikiText .. '</div>'
	WikiText = WikiText .. '<div class="col-md-6"><div class="card border-primary"><div class="card-body">'
	WikiText = WikiText .. '<h2 class="card-title fs-40">' .. Biome.Name[Lang] .. '</h2>'
	WikiText = WikiText .. '<p class="col-lg-10 card-text">' .. Biome.Description[Lang] .. '</p>'
	
	-- Biome properties table
	WikiText = WikiText .. '<table class="table table-striped">'
	
	if Biome.Color then
		WikiText = WikiText .. '<tr><th>' .. Utils.Translate("Color") .. '</th><td><span style="display:inline-block;width:20px;height:20px;background-color:' .. Biome.Color .. ';border:1px solid #000;"></span> ' .. Biome.Color .. '</td></tr>'
	end
	
	if Biome.WorldLayer then
		WikiText = WikiText .. '<tr><th>' .. Utils.Translate("World Layer") .. '</th><td>' .. Biome.WorldLayer .. '</td></tr>'
	end
	
	if Biome.TemperatureRangeMin and Biome.TemperatureRangeMax then
		WikiText = WikiText .. '<tr><th>' .. Utils.Translate("Temperature") .. '</th><td>' .. Biome.TemperatureRangeMin .. ' - ' .. Biome.TemperatureRangeMax .. ' °C</td></tr>'
	end
	
	if Biome.MoistureRangeMin and Biome.MoistureRangeMax then
		WikiText = WikiText .. '<tr><th>' .. Utils.Translate("Moisture") .. '</th><td>' .. Biome.MoistureRangeMin .. ' - ' .. Biome.MoistureRangeMax .. ' %</td></tr>'
	end
	
	WikiText = WikiText .. '</table>'
	
	WikiText = WikiText .. '</div></div></div></div>'
	
	if (Lang ~= 'English') then WikiText = WikiText .. '[[en:' .. Biome.Name.English .. ']]' end
	if (Lang ~= 'Russian') then WikiText = WikiText .. '[[ru:' .. Biome.Name.Russian .. ']]' end
	if (Lang ~= 'German') then WikiText = WikiText .. '[[de:' .. Biome.Name.German .. ']]' end
	if (Lang ~= 'French') then WikiText = WikiText .. '[[fr:' .. Biome.Name.French .. ']]' end
	end
	
	local descriptionpage = Biome.Name[Lang] .. " - " .. Biome.Description[Lang]
	WikiText =  WikiText .. frame:callParserFunction{ name = '#description2', args = { descriptionpage }}
	WikiText =  WikiText .. frame:callParserFunction{ name = '#setmainimage', args = { BiomeName .. "_Biome.jpg" }}
	
    return WikiText
end

return p