Module documentation

local m = {}
m.styles = {}
m.sections = {}
m.fields = {}
m.categories = {} 
m.roles = {}

m.roles.creator = true

m.sections.above = true
m.sections.nav = true
m.sections.head = true
m.sections.main = true
m.sections.participants = true
m.sections.cta = true
m.sections.below = true

m.styles.box = {}
m.styles.box.outer = "float:right; margin: 0 0 1em 4%; min-width: 22em; width: 28%;"
m.styles.box.inner = "background-color: #eeeeee; color: #000000; border-left: 1px solid #ddd; border-top: 1px solid #ddd; border-right: 1px solid #ddd; border-bottom: 3px solid #D0D0D0; border-radius: 1px; padding: 12px 20px 20px 20px;"

m.styles.section = {}
m.styles.section.above = ""
m.styles.section.nav = "background-color: #339966; padding: .25em 0 0 1em; font-size: 1.3em"
m.styles.section.head = "margin-bottom:1em;"
m.styles.section.main = "margin-bottom:1em;"
m.styles.section.participants = "background-color:white; border: 1px solid #DDD; border-radius: 1px; margin-bottom:.5em; padding:.75em;"
m.styles.section.cta = "clear:both;"
m.styles.section.below = ""

m.styles.field = {}
m.styles.field.h1 = ""
m.styles.field.h2 = "margin-bottom:0.5em;"
m.styles.field.p = ""
m.styles.field.img = ""

--
-- fields
--

-- above box
m.fields.pattern_type = {}
m.fields.pattern_type.isRequired = false
m.fields.pattern_type.vtype = "text"
m.fields.pattern_type.vtype2 = "body"
m.fields.pattern_type.style = ""
m.fields.pattern_type.style2 = "font-style:italic; padding-right:.5em; color: #888888"
m.fields.pattern_type.style3 = "font-weight:bold"
m.fields.pattern_type.section = "above"
m.fields.pattern_type.arg = "pattern_type"
m.fields.pattern_type.key = "pattern-type"
m.fields.pattern_type.rank = 1

-- nav section
m.fields.nav_icon = {}
m.fields.nav_icon.isRequired = true
m.fields.nav_icon.vtype = "image"
m.fields.nav_icon.vtype2 = "link"
m.fields.nav_icon.style = "display:inline; padding-right:.25em;"
m.fields.nav_icon.style2 = ""
m.fields.nav_icon.style3 = ""
m.fields.nav_icon.section = "nav"
m.fields.nav_icon.width = "25px"
m.fields.nav_icon.alignment = "top"
m.fields.nav_icon.arg = "nav_icon"
m.fields.nav_icon.default = "File:MechaDuck.png"
m.fields.nav_icon.key = ""
m.fields.nav_icon.link = "Learning patterns"
m.fields.nav_icon.rank = 1

m.fields.nav_text = {}
m.fields.nav_text.isRequired = true
m.fields.nav_text.vtype = "text"
m.fields.nav_text.vtype2 = "link"
m.fields.nav_text.style = "display:inline;"
m.fields.nav_text.style2 = "color:#FFFFFF"
m.fields.nav_text.style3 = ""
m.fields.nav_text.section = "nav"
m.fields.nav_text.arg = "nav_text"
m.fields.nav_text.default = "Learning patterns"
m.fields.nav_text.key = "portal"
m.fields.nav_text.rank = 2

-- head section
m.fields.pattern = {}
m.fields.pattern.isRequired = true
m.fields.pattern.vtype = "text"
m.fields.pattern.vtype2 = "title"
m.fields.pattern.style = "display:inline;"
m.fields.pattern.style2 = ""
m.fields.pattern.style3 = "font-size: 1.3em;"
m.fields.pattern.section = "head"
m.fields.pattern.key = ""
m.fields.pattern.arg = "pattern"
m.fields.pattern.default = "title-default"
m.fields.pattern.rank = 1

-- main section
m.fields.image = {}
m.fields.image.isRequired = false
m.fields.image.vtype = "image"
m.fields.image.vtype2 = "thumb"
m.fields.image.style = ""
m.fields.image.style2 = ""
m.fields.image.style3 = "float:right;"
m.fields.image.section = "main"
m.fields.image.arg = "image"
m.fields.image.key = ""
m.fields.image.width = "100px"
m.fields.image.rank = 1

m.fields.problem = {}
m.fields.problem.isRequired = true
m.fields.problem.vtype = "text"
m.fields.problem.vtype2 = "body"
m.fields.problem.style = m.styles.field.h2
m.fields.problem.style2 = "color: #888888; font-style: italic;"
m.fields.problem.style3 = "display:block;"
m.fields.problem.section = "main"
m.fields.problem.key = "problem"
m.fields.problem.arg = "problem"
m.fields.problem.default = "problem-default"
m.fields.problem.rank = 2

m.fields.solution = {}
m.fields.solution.isRequired = true
m.fields.solution.vtype = "text"
m.fields.solution.vtype2 = "body"
m.fields.solution.style = m.styles.field.h2
m.fields.solution.style2 = "color: #888888; font-style: italic;"
m.fields.solution.style3 = "display:block;"
m.fields.solution.section = "main"
m.fields.solution.arg = "solution"
m.fields.solution.key = "solution"
m.fields.solution.default = "solution-default"
m.fields.solution.rank = 3

--sub-section
m.fields.creator = {}
m.fields.creator.isRequired = false
m.fields.creator.vtype = "participant"
m.fields.creator.style = m.styles.field.h2
m.fields.creator.style2 = ""
m.fields.creator.style3 = "display:block;"
m.fields.creator.section = "participants" 
m.fields.creator.arg = "creator"
m.fields.creator.key = "creator"
m.fields.creator.rank = 1

-- call to action section (buttons, etc)
m.fields.talk = {}
m.fields.talk.isRequired = true
m.fields.talk.vtype = "text"
m.fields.talk.vtype2 = "link"
m.fields.talk.style = "display: inline; float:left; margin-right: 1em; margin-top: .5em"
m.fields.talk.style2 = ""
m.fields.talk.style3 = ""
m.fields.talk.section = "cta"
m.fields.talk.arg = "talk"
m.fields.talk.key = "talk"
m.fields.talk.rank = 1

m.fields.endorse = {}
m.fields.endorse.isRequired = true
m.fields.endorse.vtype = "image"
m.fields.endorse.vtype2 = "ui_button"
m.fields.endorse.style = "display:inline; float:right; margin-right: 1em;"
m.fields.endorse.style2 = ""
m.fields.endorse.style3 = ""
m.fields.endorse.class = "wp-endorse-button mw-ui-button mw-ui-progressive"
m.fields.endorse.section = "cta"
m.fields.endorse.arg = "endorse"
m.fields.endorse.key = "endorse"
m.fields.endorse.rank = 2

-- below box
m.fields.timestamp = {}
m.fields.timestamp.isRequired = false
m.fields.timestamp.vtype = "text"
m.fields.timestamp.vtype2 = "body"
m.fields.timestamp.style = "display:inline; font-style: italic; font-size: .75em"
m.fields.timestamp.style2 = "margin-right: .25em"
m.fields.timestamp.style3 = ""
m.fields.timestamp.section = "below"
m.fields.timestamp.arg = "timestamp"
m.fields.timestamp.key = "time"
m.fields.timestamp.rank = 1

m.fields.status = {}
m.fields.status.isRequired = false
m.fields.status.vtype = "text"
m.fields.status.vtype2 = "body"
m.fields.status.style = "display:inline; float:right; font-weight: bold; font-size: .75em"
m.fields.status.style2 = "margin-right: .25em"
m.fields.status.style3 = ""
m.fields.status.section = "below"
m.fields.status.arg = "status"
m.fields.status.key = "status"
m.fields.status.rank = 2

--
-- categories
--
m.categories.default = "Category:Learning patterns"
m.categories.base = "Category:"

m.categories.status = {}
m.categories.status.draft = "Draft learning patterns"

m.categories.pattern_type = {}
m.categories.pattern_type.conferences = "Conferences learning patterns"
m.categories.pattern_type.content_release_partnerships = "Content release partnerships learning patterns"
m.categories.pattern_type.editathons = "Editathons learning patterns"
m.categories.pattern_type.education = "Education patterns"
m.categories.pattern_type.evaluation = "Evaluation learning patterns"
m.categories.pattern_type.event = "Event management learning patterns"
m.categories.pattern_type.gender = "Gender learning patterns"
m.categories.pattern_type.GLAM = "GLAM learning patterns"
m.categories.pattern_type.hackathons = "Hackathon learning patterns"
m.categories.pattern_type.outreach = "Outreach patterns"
m.categories.pattern_type.organizational = "Organizational effectiveness learning patterns"
m.categories.pattern_type.online_engagement = "Online engagement patterns"
m.categories.pattern_type.on_wiki_writing_contests = "On-wiki writing contests learning patterns"
m.categories.pattern_type.photo_events = "Photo events learning patterns"
m.categories.pattern_type.project_management = "Project management learning patterns"
m.categories.pattern_type.survey = "Survey patterns"
m.categories.pattern_type.reporting = "Reporting patterns"
m.categories.pattern_type.teamwork = "Teamwork patterns"
m.categories.pattern_type.volunteer_management = "Volunteer management learning patterns"
m.categories.pattern_type.wiki_design = "Wiki design patterns"
m.categories.pattern_type.workshops = "Workshops learning patterns"

m.categories.pattern_type2 = {}
m.categories.pattern_type2.conferences = "Conferences learning patterns"
m.categories.pattern_type2.content_release_partnerships = "Content release partnerships learning patterns"
m.categories.pattern_type2.editathons = "Editathons learning patterns"
m.categories.pattern_type2.education = "Education patterns"
m.categories.pattern_type2.evaluation = "Evaluation learning patterns"
m.categories.pattern_type2.event = "Event management learning patterns"
m.categories.pattern_type2.gender = "Gender learning patterns"
m.categories.pattern_type2.GLAM = "GLAM learning patterns"
m.categories.pattern_type2.hackathons = "Hackathon learning patterns"
m.categories.pattern_type2.outreach = "Outreach patterns"
m.categories.pattern_type2.organizational = "Organizational effectiveness learning patterns"
m.categories.pattern_type2.online_engagement = "Online engagement patterns"
m.categories.pattern_type2.on_wiki_writing_contests = "On-wiki writing contests learning patterns"
m.categories.pattern_type2.photo_events = "Photo events learning patterns"
m.categories.pattern_type2.project_management = "Project management learning patterns"
m.categories.pattern_type2.survey = "Survey patterns"
m.categories.pattern_type2.reporting = "Reporting patterns"
m.categories.pattern_type2.teamwork = "Teamwork patterns"
m.categories.pattern_type2.volunteer_management = "Volunteer management learning patterns"
m.categories.pattern_type2.wiki_design = "Wiki design patterns"
m.categories.pattern_type2.workshops = "Workshops learning patterns"

m.categories.pattern_type3 = {}
m.categories.pattern_type3.annual_plan_grant = "APG learning patterns"
m.categories.pattern_type3.individual_engagement_grant = "IEG learning patterns"
m.categories.pattern_type3.project_and_event_grant = "PEG learning patterns"

m.categories.pattern_type4 = {}
m.categories.pattern_type4.content = "Content learning patterns"
m.categories.pattern_type4.diversity = "Diversity learning patterns"
m.categories.pattern_type4.quality = "Quality learning patterns"
m.categories.pattern_type4.reach = "Reach learning patterns"

return m