Module:SkillList: Difference between revisions

From Eco - English Wiki
[unchecked revision][checked revision]
No edit summary
No edit summary
 
(7 intermediate revisions by the same user not shown)
Line 3: Line 3:
local Utils = require('Module:Utils')
local Utils = require('Module:Utils')
local IconUtils = require('Module:IconUtils')
local IconUtils = require('Module:IconUtils')
local L = require('Module:Localization')
local Lang = Utils.WikiLang


-- Main entry point for the Module
-- Main entry point for the Module
Line 9: Line 9:
  
  
     -- load lists
     -- load lists
     local skillData = require( "Module:SkillData" )
     local skillData = mw.loadData('Module:SkillData')
     local skillList = skillData.skills
     local skillList = skillData.skills
local text = '<div class="col-lg-12"><Center><h2 class="title">Skills</h2></Center></div>';
local text = '<div class="col-lg-12"><Center><h2 class="title">' .. Utils.Translate("Skills") .. '</h2></Center></div>';
 
for Pname,Pdata in pairs(skillList) do
for Pname,Pdata in pairs(skillList) do


if Pdata.IsRoot == 'True' then  
if Pdata.IsRoot == 'True' then  
if (Pdata.Name[Lang] == "") then ProfessionName = Pdata.Name.English else ProfessionName = Pdata.Name[Lang] end
text = text .. '<div class="col-lg-3"><div class="card">';
text = text .. '<div class="col-lg-3"><div class="card">';
text = text .. '[[File:Banner4k.jpg|class=card-img-top|link=]]';
text = text .. '[[File:Banner4k.jpg|class=card-img-top|link=]]';
text = text .. '<div class="card-body"><p class="card-title">';
text = text .. '<div class="card-body"><p class="card-title">';
text = text .. IconUtils.main{ name = Pname, id = Pdata.SkillID , size = 48, style = 2, link = Pname} .. '  '
text = text .. IconUtils.main{id = Pdata.SkillID , size = 48, style = 1, link = ProfessionName} .. '  '
text = text .. 'Profession</p><p class="card-subtitle mb-2 text-muted">' .. Pdata.Description.English .. '</p><p class="card-text">';
local ProfessionTitle = Utils.VSTranslate('{0} Profession',ProfessionName)
text = text .. '[[' .. ProfessionName .. '|' .. ProfessionTitle .. ']]</p><p class="card-subtitle mb-2 text-muted">' .. Pdata.Description[Lang] .. '</p><p class="card-text">';
text = text .. '<div class="card"> <div class="card-body">';
text = text .. '<div class="card"> <div class="card-body">';


for Sname,Sdata in pairs(skillList) do
for Sname,Sdata in pairs(skillList) do
if Sdata.IsRoot == 'False' and Sdata.RootSkill == Pname then  
if Sdata.IsRoot == 'False' and Sdata.RootSkill == Pname then  
text = text .. IconUtils.main{ name = Sname, id = Sdata.SkillID , size = 32, style = 1, link = Sname} .. '  ';
if (Sdata.Name[Lang] == "") then SpecialtyName = Sdata.Name.English else SpecialtyName = Sdata.Name[Lang] end
text = text .. IconUtils.main{id = Sdata.SkillID , size = 32, style = 1, link = SpecialtyName} .. '  ';
end
end
end
end

Latest revision as of 11:42, 13 April 2026

This module provides the back end functionality of the Template:SkillList.

If the template is passed, this module creates a list using details from the following Modules:


local p = {}

local Utils = require('Module:Utils')
local IconUtils = require('Module:IconUtils')
local Lang = Utils.WikiLang

-- Main entry point for the Module
function p.main()
   	
    -- load lists
    local skillData = mw.loadData('Module:SkillData')
    local skillList = skillData.skills
	local text = '<div class="col-lg-12"><Center><h2 class="title">' .. Utils.Translate("Skills") .. '</h2></Center></div>';

	for Pname,Pdata in pairs(skillList) do

		if Pdata.IsRoot == 'True' then 
		if (Pdata.Name[Lang] == "") then ProfessionName = Pdata.Name.English else ProfessionName = Pdata.Name[Lang] end
		
		text = text .. '<div class="col-lg-3"><div class="card">';
		text = text .. '[[File:Banner4k.jpg|class=card-img-top|link=]]';
		text = text .. '<div class="card-body"><p class="card-title">';
		text = text .. IconUtils.main{id = Pdata.SkillID , size = 48, style = 1, link = ProfessionName} .. '  '
		local ProfessionTitle = Utils.VSTranslate('{0} Profession',ProfessionName)
		text = text .. '[[' .. ProfessionName .. '|' .. ProfessionTitle .. ']]</p><p class="card-subtitle mb-2 text-muted">' .. Pdata.Description[Lang] .. '</p><p class="card-text">';
		text = text .. '<div class="card"> <div class="card-body">';

		for Sname,Sdata in pairs(skillList) do
			if Sdata.IsRoot == 'False' and Sdata.RootSkill == Pname then 
				if (Sdata.Name[Lang] == "") then SpecialtyName = Sdata.Name.English else SpecialtyName = Sdata.Name[Lang] end
				text = text .. IconUtils.main{id = Sdata.SkillID , size = 32, style = 1, link = SpecialtyName} .. '  ';
			end
		end
		text = text .. '</div></div></p></div></div></div>'; end
	end

	return text
end

return p