Module:Data/PageSections

Current answers. Practical procedures. Reliable reference.
Revision as of 21:39, 24 August 2026 by Sythan (talk | contribs) (Split eyebrow context into primary section and content type rules)
Jump to navigation Jump to search

Documentation for this module may be created at Module:Data/PageSections/doc

return {
	fallbackPrimarySection = "Reference",
	defaultFieldProcedureContentType = "Field Procedures",

	-- Structured content/page types map to the primary subject area of the page.
	typeToPrimarySection = {
		engineer = "Engineering",
		ship = "Ships & Equipment",
		ship_module = "Ships & Equipment",
		ship_weapon = "Ships & Equipment",
		guardian_module = "Guardian Technology",
		thargoid_module = "Thargoids",
		mining_method = "Mining",
		mining_equipment = "Mining",
		mining_location = "Mining",
		mining_commodity = "Mining",
	},

	-- Backward-compatible alias for older callers/documentation.
	typeToSection = {
		engineer = "Engineering",
		ship = "Ships & Equipment",
		ship_module = "Ships & Equipment",
		ship_weapon = "Ships & Equipment",
		guardian_module = "Guardian Technology",
		thargoid_module = "Thargoids",
		mining_method = "Mining",
		mining_equipment = "Mining",
		mining_location = "Mining",
		mining_commodity = "Mining",
	},

	exactPrimarySections = {
		["Start Here"] = "New Commanders",
		["New Commander Roadmap"] = "New Commanders",
		["Returning Commander Overview"] = "Returning Commanders",
		["Field Procedures"] = "Reference",
		["Game Reference"] = "Reference",
		["Ships and Equipment"] = "Ships & Equipment",
		["Ships"] = "Ships & Equipment",
		["Ship Modules"] = "Ships & Equipment",
		["Engineering"] = "Engineering",
		["Engineers"] = "Engineering",
		["Engineer Unlock Guide"] = "Engineering",
		["Engineer Capability Comparison"] = "Engineering",
		["Engineering Blueprints"] = "Engineering",
		["Engineering Materials"] = "Engineering",
		["Experimental Effects"] = "Engineering",
		["Mining"] = "Mining",
		["Combat"] = "Combat",
		["Exploration"] = "Exploration",
		["Exobiology"] = "Exobiology",
		["Background Simulation"] = "Background Simulation",
		["Guardian"] = "Guardian Technology",
		["Guardian Tech"] = "Guardian Technology",
		["Guardian Technology"] = "Guardian Technology",
		["Thargoids"] = "Thargoids",
		["Thargoid"] = "Thargoids",
		["Odyssey"] = "Odyssey",
		["Powerplay"] = "Powerplay",
		["Colonisation"] = "Colonisation",
		["Operations"] = "Operations",
		["Fleet Carriers"] = "Fleet Carriers",
		["Lore and History"] = "Lore & History",
		["Tools and Resources"] = "Reference",
	},

	-- Backward-compatible alias for older callers/documentation.
	exactSections = nil,

	-- Conservative topic-family rules for ordinary topical articles, not content type.
	topicFamilyRules = {
		{ text = "Guardian", primarySection = "Guardian Technology", reason = "Guardian technology article family" },
		{ text = "Thargoid", primarySection = "Thargoids", reason = "Thargoid/xeno article family" },
		{ text = "Xeno", primarySection = "Thargoids", reason = "Thargoid/xeno article family" },
		{ text = "AX ", primarySection = "Thargoids", reason = "Anti-xeno article family" },
	},

	-- Procedure title families are used only after checking structured procedure metadata.
	-- They identify the content type; primary section still comes from structured target/topic data.
	contentTypeFamilyRules = {
		{ prefix = "How to ", contentType = "Field Procedures", reason = "Field Procedure task-page naming convention" },
		{ prefix = "Unlocking ", contentType = "Field Procedures", reason = "Engineer unlock procedure naming convention backed by Engineer data" },
	},

	-- Keep exception maps intentionally small. Normal pages should resolve from structured data/rules.
	primarySectionOverrides = {},
	contentTypeOverrides = {},
}