Module:User:Jmorgan (WMF)/Sandbox/1

From Meta, a Wikimedia project coordination wiki
Module documentation
local m = {}
m.styles = {}
m.fields = {}
m.categories = {}

-- 
-- sections
--
m.sections = {}
m.sections.head = true
m.sections.main = true
m.sections.foot = true
--
-- box styles
--
m.styles.box = {}
m.styles.box.outer = "margin: 1em auto; position:relative;"
m.styles.box.inner = "float:left; width:87%; background-color: #f9a01b; padding: .25em 0 0 1em;"
m.styles.box.head = ""
m.styles.box.main = "margin: .25em 0 0 1em; width:70%; border-style:solid; border-width:0 1px 1px 1px; margin-top:1.5em; "
m.styles.box.foot = ""

--
-- fields
--
-- head section
m.fields.image = {}
m.fields.image.isRequired = true
m.fields.image.default = "File:Inspire_astrocat_aqua.png"
m.fields.image.ftype = "image"
m.fields.image.style1 = "margin: 2px 0.5em; float:right;margin-right: 0; border:3px double #C9C9C9"
m.fields.image.style2 = "150px"
m.fields.image.section = "head"
m.fields.image.rank = 1

m.fields.username = {}
m.fields.username.isRequired = true
m.fields.username.default = "please enter your username"
m.fields.username.prefix = ""
m.fields.username.ftype = "userlink"
m.fields.username.display = ""
m.fields.username.style1 = "font-family:Rockwell,'Courier Bold',Courier,Georgia,'Times New Roman',Times,serif; font-size: 1.5em; color: #F9A01B;"
m.fields.username.style2 = ""
m.fields.username.style3 = ""
m.fields.username.section = "head"
m.fields.username.rank = 2

m.fields.name = {}
m.fields.name.isRequired = false
m.fields.name.prefix = ""
m.fields.name.ftype = ""
m.fields.name.style1 = ""
m.fields.name.style2 = ""
m.fields.name.style3 = ""
m.fields.name.section = "head"
m.fields.name.rank = 3

m.fields.story = {}
m.fields.story.isRequired = false
m.fields.story.ftype = "text"
m.fields.story.prefix = ""
m.fields.story.style1 = ""
m.fields.story.style2 = ""
m.fields.story.style3 = ""
m.fields.story.section = "head"
m.fields.story.rank = 4

-- main section
m.fields.skills_header = {}
m.fields.skills_header.isRequired = true
m.fields.skills_header.prefix = ""
m.fields.skills_header.default = "Skills"
m.fields.skills_header.ftype = "text"
m.fields.skills_header.style1 = "background-color: #f9a01b; padding: .25em 0 0 1em; font-size: 1.3em; color: #FFFFFF; font-weight:bold;"
m.fields.skills_header.style2 = ""
m.fields.skills_header.style3 = ""
m.fields.skills_header.section = "main"
m.fields.skills_header.rank = 1

m.fields.skills = {}
m.fields.skills.isRequired = false
m.fields.skills.prefix = ""
m.fields.skills.ftype = "text"
m.fields.skills.style1 = "margin-top:.5em; padding: .25em 0 0 1em;"
m.fields.skills.style2 = ""
m.fields.skills.style3 = ""
m.fields.skills.section = "main"
m.fields.skills.rank = 2

m.fields.experience = {}
m.fields.experience.isRequired = true
m.fields.experience.default = "'''Experience with...''' "
m.fields.experience.prefix = ""
m.fields.experience.ftype = "text"
m.fields.experience.style1 = "margin-top:.5em; padding: .25em 0 0 1em;"
m.fields.experience.style2 = ""
m.fields.experience.style3 = ""
m.fields.experience.section = "main"
m.fields.experience.rank = 3

m.fields.development = {}
m.fields.development.isRequired = false
m.fields.development.hasCategories = true
m.fields.development.prefix = "development"
m.fields.development.ftype = "choice"
m.fields.development.style1 = "padding: .25em 0 0 1em;"
m.fields.development.style2 = ""
m.fields.development.style3 = ""
m.fields.development.section = "main"
m.fields.development.rank = 4

m.fields.design = {}
m.fields.design.isRequired = false
m.fields.design.hasCategories = true
m.fields.design.prefix = "design"
m.fields.design.ftype = "choice"
m.fields.design.style1 = "padding: .25em 0 0 1em;"
m.fields.design.style2 = ""
m.fields.design.style3 = ""
m.fields.design.section = "main"
m.fields.design.rank = 5

m.fields.community_organizing = {}
m.fields.community_organizing.isRequired = false
m.fields.community_organizing.hasCategories = true
m.fields.community_organizing.prefix = "community organizing"
m.fields.community_organizing.ftype = "choice"
m.fields.community_organizing.style1 = "padding: .25em 0 0 1em;"
m.fields.community_organizing.style2 = ""
m.fields.community_organizing.style3 = ""
m.fields.community_organizing.section = "main"
m.fields.community_organizing.rank = 6

m.fields.research = {}
m.fields.research.isRequired = false
m.fields.research.hasCategories = true
m.fields.research.prefix = "research"
m.fields.research.ftype = "choice"
m.fields.research.style1 = "padding: .25em 0 0 1em;"
m.fields.research.style2 = ""
m.fields.research.style3 = ""
m.fields.research.section = "main"
m.fields.research.rank = 7

m.fields.project_management = {}
m.fields.project_management.isRequired = false
m.fields.project_management.hasCategories = true
m.fields.project_management.prefix = "project management"
m.fields.project_management.ftype = "choice"
m.fields.project_management.style1 = "padding: .25em 0 0 1em;"
m.fields.project_management.style2 = ""
m.fields.project_management.style3 = ""
m.fields.project_management.section = "main"
m.fields.project_management.rank = 8

m.fields.timestamp = {}
m.fields.timestamp.isRequired = true
m.fields.timestamp.default = "join date unknown"
m.fields.timestamp.prefix = "''Joined on...''  "
m.fields.timestamp.ftype = "text"
m.fields.timestamp.style1 = "margin-top:.5em; padding: .25em 0 0 1em;"
m.fields.timestamp.style2 = ""
m.fields.timestamp.style3 = ""
m.fields.timestamp.section = "main"
m.fields.timestamp.rank = 9

-- foot section
m.fields.no_recommendations = {}
m.fields.no_recommendations.isRequired = false
m.fields.no_recommendations.hasCategories = true
m.fields.no_recommendations.prefix = ""
m.fields.no_recommendations.ftype = ""
m.fields.no_recommendations.style1 = ""
m.fields.no_recommendations.style2 = ""
m.fields.no_recommendations.style3 = ""
m.fields.no_recommendations.section = "foot"
m.fields.no_recommendations.rank = 1

m.fields.interest = {}
m.fields.interest.isRequired = false
m.fields.interest.hasCategories = true
m.fields.interest.default = ""
m.fields.interest.prefix = ""
m.fields.interest.ftype = ""
m.fields.interest.cat_path = "Category:IdeaLab members interested in "
m.fields.interest.style1 = ""
m.fields.interest.style2 = ""
m.fields.interest.style3 = ""
m.fields.interest.section = "foot"
m.fields.interest.rank = 2



--
-- categories
--
m.categories.default = "Category:IdeaLab_members"
m.categories.no_recommendations = "Category:No_GrantsBot_recommendations_please"

-- skill categories
m.categories.development = "Category:IdeaLab members with programming experience"
m.categories.design = "Category:IdeaLab members with design experience"
m.categories.community_organizing = "Category:IdeaLab members with community organizing experience"
m.categories.research = "Category:IdeaLab members with research experience"
m.categories.project_management = "Category:IdeaLab members with project management experience"

-- interest categories
m.categories.interest = {}
m.categories.interest.gender_gap = "gender gap projects"
m.categories.interest.global_south = "global south projects"
return m