Module:Data/PageSections: Difference between revisions

Current answers. Practical procedures. Reliable reference.
Jump to navigation Jump to search
Add Ships hub section mapping
Split eyebrow context into primary section and content type rules
Line 1: Line 1:
return {
return {
fallback = "Reference",
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 = {
typeToSection = {
engineer = "Engineering",
engineer = "Engineering",
Line 12: Line 29:
mining_location = "Mining",
mining_location = "Mining",
mining_commodity = "Mining",
mining_commodity = "Mining",
field_procedure = "Field Procedures",
},
},
exactSections = {
 
exactPrimarySections = {
["Start Here"] = "New Commanders",
["Start Here"] = "New Commanders",
["New Commander Roadmap"] = "New Commanders",
["New Commander Roadmap"] = "New Commanders",
["Returning Commander Overview"] = "Returning Commanders",
["Returning Commander Overview"] = "Returning Commanders",
["Field Procedures"] = "Field Procedures",
["Field Procedures"] = "Reference",
["Game Reference"] = "Reference",
["Game Reference"] = "Reference",
["Ships and Equipment"] = "Ships & Equipment",
["Ships and Equipment"] = "Ships & Equipment",
Line 48: Line 65:
["Tools and Resources"] = "Reference",
["Tools and Resources"] = "Reference",
},
},
familyRules = {
 
{ prefix = "Unlocking ", section = "Field Procedures", reason = "Dedicated unlock procedure page family" },
-- Backward-compatible alias for older callers/documentation.
{ prefix = "How to ", section = "Field Procedures", reason = "Dedicated task procedure page family" },
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" },
},
},
titleContainsRules = {
 
{ text = "Guardian", section = "Guardian Technology", reason = "Guardian technology article family" },
-- Procedure title families are used only after checking structured procedure metadata.
{ text = "Thargoid", section = "Thargoids", reason = "Thargoid/xeno article family" },
-- They identify the content type; primary section still comes from structured target/topic data.
{ text = "Xeno", section = "Thargoids", reason = "Thargoid/xeno article family" },
contentTypeFamilyRules = {
{ text = "AX ", section = "Thargoids", reason = "Anti-xeno article family" },
{ 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 = {},
}
}

Revision as of 21:39, 24 August 2026

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 = {},
}