Families
headings and infobox labels outside a declared family's layout, and members the parent does not link
A parent page opts in by declaring its family's layout in its front matter, and wiki check then refuses a
member that strays from it.[1] How a layout is chosen is described on Skill, and the
report that finds families not yet declared on wiki families.
[family]
headings = ["Usage", "Options", "Arguments", "Output", "Exit codes"]
labels = ["Command", "Arguments", "Options", "Output folder", "Files written"]
table = ["Arguments", "Options", "Files written"]
When the family names table, the build writes the parent's member table where {family-table} stands on
its own line: one row per member, linked, with the member's infobox value for each label, and an empty cell
where the member states none.[2]
Refusals
Headings
A member's second-level heading that headings does not list is refused, and so is a heading that comes
before one the list puts first.[3]
wiki: commands/serve.md: the heading 'Flags' is not in the family layout on commands.md; rename it to one of Usage, Options, Arguments, Output, Exit codes, or add it to family.headings there
wiki: commands/sync.md: the heading 'Output' comes before 'Options', but family.headings on commands.md lists 'Options' first; order the headings as it lists them
Infobox labels
A member's infobox label that labels does not list is refused, whichever group holds it.[4]
wiki: commands/check.md: the infobox label 'Name' is not in the family layout on commands.md; rename it to one of Command, Arguments, Options, Output folder, Default port, Files written, Success, Problems, Misuse, or add it to family.labels there
Parent links
A member that the parent's text does not link is refused, so the parent lists every member.[5] A parent
with both table and {family-table} links every member through the table the build writes.[5]
wiki: commands.md does not link commands/audit.md, a member of its family; link every member from the parent, such as in a table of the members
Table
A table label that labels does not list is refused, and so are a table with no {family-table} on the
parent, and a {family-table} with no table or on a page with no family.[6]
wiki: commands.md: family.table lists 'Flags', which family.labels does not; add it to family.labels, or take it out of family.table
wiki: commands.md declares family.table but has no {family-table}; put {family-table} on its own line where the member table goes
wiki: commands.md has {family-table} but declares no family.table; add table = [...] under [family], naming the infobox labels the member table compares
wiki: brief.md has {family-table} but declares no [family]; declare the family's layout, with table naming the infobox labels its member table compares
A {family-table} the build cannot replace, such as one inside a list or an indented block, is refused, and so
is a marker written more than once.[6]
wiki: commands.md has {family-table} where the build cannot write the table, such as in a list, a quote or an indented block; put it on a line of its own, with a blank line before and after
wiki: commands.md has {family-table} 2 times; keep one, where the member table goes
Declaration
A family that is not a table, and a headings, labels or table that is empty or is not a list of names, are
refused, and the family's members are not checked until each is fixed.[1]
wiki: checks.md: family.headings must list the headings every member of the family may use, such as headings = ["Usage", "Output"], or leave family.headings out to check no headings
Scope
The check reads the direct children of each page that declares [family]: their second-level headings
outside code samples, compared as the page shows them without a closing run of # or backticks, and every
infobox label in every group.[7] A grandchild belongs to its own
parent's family, when that parent declares one.[7]
Exceptions
A member may leave out any heading or label its family lists, so a section that does not apply is not written.[8] A key the family does not declare is not checked, and a parent that declares no family is not checked at all.[8]
Enforcement
Each problem is listed with every other problem wiki check finds, and never stops the build.[9]
Clearing
A refused member passes once its heading or label is renamed to one the family lists, or once the name is added to the list on the parent for every member.[10] A missing link is cleared by linking the member from the parent's text, such as from a table of the members.[5]