Difference between revisions of "IVS Wiki:Wiki Style Guide"
IVSWikiBlue (talk | contribs) (Created page with "{{Article - Manual | width = 90ch | content = <h1>Introduction</h1> {{Aside - Helpful | hue = 260 | content = This is a living, first-draft reference reverse-engineered from e...") |
IVSWikiBlue (talk | contribs) |
||
| Line 1: | Line 1: | ||
| − | {{Article - Manual | + | <!-- Suggested page title: "IVS Wiki Style Guide" --> |
| + | <!-- Paste everything below this line directly into the MediaWiki edit box for that page title --> | ||
| + | |||
| + | {{Article - Manual | content = | ||
<h1>Introduction</h1> | <h1>Introduction</h1> | ||
{{Aside - Helpful | hue = 260 | content = This is a living, first-draft reference reverse-engineered from existing wiki pages. Sections marked <b>Needs Confirmation</b> below should be reviewed before this is treated as final.}} | {{Aside - Helpful | hue = 260 | content = This is a living, first-draft reference reverse-engineered from existing wiki pages. Sections marked <b>Needs Confirmation</b> below should be reviewed before this is treated as final.}} | ||
| − | + | ||
This guide documents the templates, CSS classes, and structural conventions used across the IVS Wiki so new pages look and behave consistently with existing ones, without every author having to reverse-engineer the wikitext by hand. | This guide documents the templates, CSS classes, and structural conventions used across the IVS Wiki so new pages look and behave consistently with existing ones, without every author having to reverse-engineer the wikitext by hand. | ||
| − | + | ||
{{Top of Page}} | {{Top of Page}} | ||
{{hr}} | {{hr}} | ||
| − | + | ||
<h1>Page Skeleton</h1> | <h1>Page Skeleton</h1> | ||
| − | + | ||
{{Manual lvl 2 | title = Wrapping Template | content = | {{Manual lvl 2 | title = Wrapping Template | content = | ||
Every content page is wrapped in a single top-level template: | Every content page is wrapped in a single top-level template: | ||
| − | + | ||
<pre> | <pre> | ||
| − | {{Article - Manual | + | {{Article - Manual | content = |
...page body... | ...page body... | ||
}} | }} | ||
[[Category:VALT]] | [[Category:VALT]] | ||
</pre> | </pre> | ||
| − | + | ||
| − | <dl | + | <dl> |
<dt>width</dt> | <dt>width</dt> | ||
| − | <dd> | + | <dd>Not set by default — most pages omit it. Only add <code><nowiki>width = 90ch</nowiki></code> (or similar) when a page specifically needs a narrower content column.</dd> |
{{hr - 2}} | {{hr - 2}} | ||
<dt><nowiki>__NOTOC__</nowiki></dt> | <dt><nowiki>__NOTOC__</nowiki></dt> | ||
| Line 34: | Line 37: | ||
</dl> | </dl> | ||
}} | }} | ||
| − | + | ||
{{hr - 2}} | {{hr - 2}} | ||
| − | + | ||
{{Manual lvl 2 | title = Section Headings | content = | {{Manual lvl 2 | title = Section Headings | content = | ||
| − | <dl | + | <dl> |
<dt>Top-level heading</dt> | <dt>Top-level heading</dt> | ||
<dd>Plain <code><nowiki><h1>Title</h1></nowiki></code> — not <code><nowiki>=Title=</nowiki></code>.</dd> | <dd>Plain <code><nowiki><h1>Title</h1></nowiki></code> — not <code><nowiki>=Title=</nowiki></code>.</dd> | ||
| Line 48: | Line 51: | ||
<dd><code><nowiki>{{Manual lvl 3 | title = ... | content = ...}}</nowiki></code> — indented further (40px).</dd> | <dd><code><nowiki>{{Manual lvl 3 | title = ... | content = ...}}</nowiki></code> — indented further (40px).</dd> | ||
</dl> | </dl> | ||
| − | + | ||
{{Aside - Warning | hue = 50 | content = Both heading templates fall back to a highlighted <b>UNTITLED</b> placeholder if <code><nowiki>title</nowiki></code> is left blank — that's a mistake to fix, not a valid style choice.}} | {{Aside - Warning | hue = 50 | content = Both heading templates fall back to a highlighted <b>UNTITLED</b> placeholder if <code><nowiki>title</nowiki></code> is left blank — that's a mistake to fix, not a valid style choice.}} | ||
| − | + | ||
{{Aside | hue = 200 | icon = 🕮 | content = <b>Needs Confirmation:</b> a raw <code><nowiki>==Heading==</nowiki></code> markup heading also appears in a couple of existing pages alongside <code><nowiki>{{Manual lvl 2}}</nowiki></code>. Deprecated, or intentional for a different visual weight?}} | {{Aside | hue = 200 | icon = 🕮 | content = <b>Needs Confirmation:</b> a raw <code><nowiki>==Heading==</nowiki></code> markup heading also appears in a couple of existing pages alongside <code><nowiki>{{Manual lvl 2}}</nowiki></code>. Deprecated, or intentional for a different visual weight?}} | ||
}} | }} | ||
| − | + | ||
{{hr - 2}} | {{hr - 2}} | ||
| − | + | ||
{{Manual lvl 2 | title = Navigation Helpers | content = | {{Manual lvl 2 | title = Navigation Helpers | content = | ||
| − | <dl | + | <dl> |
<dt><code><nowiki>{{Float | content = [[Parent Page | back link]] }}</nowiki></code></dt> | <dt><code><nowiki>{{Float | content = [[Parent Page | back link]] }}</nowiki></code></dt> | ||
<dd>Right-floated "back to parent page" link, placed near the top of a page.</dd> | <dd>Right-floated "back to parent page" link, placed near the top of a page.</dd> | ||
| Line 71: | Line 74: | ||
</dl> | </dl> | ||
}} | }} | ||
| − | + | ||
{{Top of Page}} | {{Top of Page}} | ||
{{hr}} | {{hr}} | ||
| − | + | ||
<h1>Callout Boxes</h1> | <h1>Callout Boxes</h1> | ||
| − | + | ||
{{Manual lvl 2 | title = The Aside Family | content = | {{Manual lvl 2 | title = The Aside Family | content = | ||
Base template: | Base template: | ||
| − | + | ||
<pre> | <pre> | ||
{{Aside | hue = 200 | icon = 🕮 | content = Your note text here.}} | {{Aside | hue = 200 | icon = 🕮 | content = Your note text here.}} | ||
</pre> | </pre> | ||
| − | + | ||
| − | <dl | + | <dl> |
<dt>hue</dt> | <dt>hue</dt> | ||
<dd>Sets the box's color via a CSS custom property. Defaults to <code><nowiki>15</nowiki></code> (plain/neutral) if omitted.</dd> | <dd>Sets the box's color via a CSS custom property. Defaults to <code><nowiki>15</nowiki></code> (plain/neutral) if omitted.</dd> | ||
| Line 94: | Line 97: | ||
<dd>The note body.</dd> | <dd>The note body.</dd> | ||
</dl> | </dl> | ||
| − | + | ||
{{Aside | hue = 200 | icon = 🕮 | content = <b>Needs Confirmation:</b> the hue-to-meaning table below is inferred from a handful of pages, not confirmed. Please correct/complete it — it's the single most useful thing to get right here, since it decides which color an author reaches for.}} | {{Aside | hue = 200 | icon = 🕮 | content = <b>Needs Confirmation:</b> the hue-to-meaning table below is inferred from a handful of pages, not confirmed. Please correct/complete it — it's the single most useful thing to get right here, since it decides which color an author reaches for.}} | ||
| − | + | ||
<table class="simple_table"> | <table class="simple_table"> | ||
<tr><th>hue</th><th>Apparent meaning</th><th>Typical icon</th></tr> | <tr><th>hue</th><th>Apparent meaning</th><th>Typical icon</th></tr> | ||
| Line 105: | Line 108: | ||
<tr><td>0</td><td>Hard warning / destructive action</td><td>⚠ or shared warning icon</td></tr> | <tr><td>0</td><td>Hard warning / destructive action</td><td>⚠ or shared warning icon</td></tr> | ||
</table> | </table> | ||
| − | + | ||
{{hr - 2}} | {{hr - 2}} | ||
| − | + | ||
Two shorthand variants save authors from remembering hue/icon combinations: | Two shorthand variants save authors from remembering hue/icon combinations: | ||
| − | + | ||
| − | <dl | + | <dl> |
<dt><code><nowiki>{{Aside - Helpful | content = ...}}</nowiki></code></dt> | <dt><code><nowiki>{{Aside - Helpful | content = ...}}</nowiki></code></dt> | ||
<dd>Defaults to the info/tip look.</dd> | <dd>Defaults to the info/tip look.</dd> | ||
| Line 117: | Line 120: | ||
<dd>Defaults to a shared warning icon and hue 0; <code><nowiki>hue</nowiki></code> can still be overridden (e.g. <code><nowiki>hue = 50</nowiki></code> for a softer caution).</dd> | <dd>Defaults to a shared warning icon and hue 0; <code><nowiki>hue</nowiki></code> can still be overridden (e.g. <code><nowiki>hue = 50</nowiki></code> for a softer caution).</dd> | ||
</dl> | </dl> | ||
| − | + | ||
{{Aside - Helpful | content = <b>Guidance so far:</b> use <code><nowiki>Aside - Helpful</nowiki></code> for tips, use <code><nowiki>Aside - Warning</nowiki></code> for anything destructive or risky, and use the base, undecorated <code><nowiki>Aside</nowiki></code> for plain reference notes that don't need emotional weight.}} | {{Aside - Helpful | content = <b>Guidance so far:</b> use <code><nowiki>Aside - Helpful</nowiki></code> for tips, use <code><nowiki>Aside - Warning</nowiki></code> for anything destructive or risky, and use the base, undecorated <code><nowiki>Aside</nowiki></code> for plain reference notes that don't need emotional weight.}} | ||
}} | }} | ||
| − | + | ||
{{Top of Page}} | {{Top of Page}} | ||
{{hr}} | {{hr}} | ||
| − | + | ||
<h1>Layout Templates</h1> | <h1>Layout Templates</h1> | ||
| − | + | ||
{{Manual lvl 2 | title = Side-by-Side Content | content = | {{Manual lvl 2 | title = Side-by-Side Content | content = | ||
Three near-identical templates show up; the difference is the layout mechanism, not the visual intent: | Three near-identical templates show up; the difference is the layout mechanism, not the visual intent: | ||
| − | + | ||
| − | <dl | + | <dl> |
<dt><code><nowiki>{{Flexbox | left = ... | right = ...}}</nowiki></code></dt> | <dt><code><nowiki>{{Flexbox | left = ... | right = ...}}</nowiki></code></dt> | ||
<dd>Flexbox row, <code><nowiki>.text-box</nowiki></code> class on the left column. Optional <code><nowiki>flex_num</nowiki></code>, <code><nowiki>left_size</nowiki></code>, <code><nowiki>right_size</nowiki></code>.</dd> | <dd>Flexbox row, <code><nowiki>.text-box</nowiki></code> class on the left column. Optional <code><nowiki>flex_num</nowiki></code>, <code><nowiki>left_size</nowiki></code>, <code><nowiki>right_size</nowiki></code>.</dd> | ||
| Line 139: | Line 142: | ||
<dd>True CSS grid (<code><nowiki>grid-template-columns: 1fr 1fr</nowiki></code>), same class names as Grid 2, plus <code><nowiki>style_left</nowiki></code>, <code><nowiki>style_right</nowiki></code>, <code><nowiki>style_main</nowiki></code> for arbitrary inline CSS per side.</dd> | <dd>True CSS grid (<code><nowiki>grid-template-columns: 1fr 1fr</nowiki></code>), same class names as Grid 2, plus <code><nowiki>style_left</nowiki></code>, <code><nowiki>style_right</nowiki></code>, <code><nowiki>style_main</nowiki></code> for arbitrary inline CSS per side.</dd> | ||
</dl> | </dl> | ||
| − | + | ||
{{Aside | hue = 200 | icon = 🕮 | content = <b>Needs Confirmation:</b> when should a new page reach for <code><nowiki>Flexbox</nowiki></code> vs. <code><nowiki>Grid 2</nowiki></code> vs. <code><nowiki>Grid 2 - Grid</nowiki></code>? <code><nowiki>Grid 2 - Grid</nowiki></code> looks like the newer/preferred choice whenever per-side custom styling is needed, while the other two look older and simpler. Worth confirming a default.}} | {{Aside | hue = 200 | icon = 🕮 | content = <b>Needs Confirmation:</b> when should a new page reach for <code><nowiki>Flexbox</nowiki></code> vs. <code><nowiki>Grid 2</nowiki></code> vs. <code><nowiki>Grid 2 - Grid</nowiki></code>? <code><nowiki>Grid 2 - Grid</nowiki></code> looks like the newer/preferred choice whenever per-side custom styling is needed, while the other two look older and simpler. Worth confirming a default.}} | ||
| − | + | ||
{{hr - 2}} | {{hr - 2}} | ||
| − | + | ||
<h3 style="margin-left: 20px">The "Spec Sheet" Pattern</h3> | <h3 style="margin-left: 20px">The "Spec Sheet" Pattern</h3> | ||
<div style="margin: 0px 20px"> | <div style="margin: 0px 20px"> | ||
Seen repeatedly for hardware/requirement pages: a <code><nowiki><dl><dt>Term</dt><dd>description</dd></dl></nowiki></code> on the left, paired with a bordered gray box of <code><nowiki><strong>Minimum Recommended Spec</strong></nowiki></code> plus a circle-bulleted list (<code><nowiki><li style="list-style:circle"></nowiki></code>) on the right, wrapped in <code><nowiki>Grid 2 - Grid</nowiki></code> like so: | Seen repeatedly for hardware/requirement pages: a <code><nowiki><dl><dt>Term</dt><dd>description</dd></dl></nowiki></code> on the left, paired with a bordered gray box of <code><nowiki><strong>Minimum Recommended Spec</strong></nowiki></code> plus a circle-bulleted list (<code><nowiki><li style="list-style:circle"></nowiki></code>) on the right, wrapped in <code><nowiki>Grid 2 - Grid</nowiki></code> like so: | ||
| − | + | ||
<pre> | <pre> | ||
{{Grid 2 - Grid | style_right = border-left:solid 2px #eaecf0; padding: 10px 15px; background-color: var(--wikiGrey); | style_left = width: 400px; padding-right: 20px; | left = | {{Grid 2 - Grid | style_right = border-left:solid 2px #eaecf0; padding: 10px 15px; background-color: var(--wikiGrey); | style_left = width: 400px; padding-right: 20px; | left = | ||
| Line 160: | Line 163: | ||
}} | }} | ||
</pre> | </pre> | ||
| − | + | ||
This is a reusable pattern worth naming and reaching for directly whenever documenting requirements/specs, rather than rebuilding it ad hoc. | This is a reusable pattern worth naming and reaching for directly whenever documenting requirements/specs, rather than rebuilding it ad hoc. | ||
</div> | </div> | ||
}} | }} | ||
| − | + | ||
{{Top of Page}} | {{Top of Page}} | ||
{{hr}} | {{hr}} | ||
| − | + | ||
<h1>Images</h1> | <h1>Images</h1> | ||
| − | + | ||
{{Manual lvl 2 | title = Image Templates | content = | {{Manual lvl 2 | title = Image Templates | content = | ||
<table class="simple_table"> | <table class="simple_table"> | ||
| Line 178: | Line 181: | ||
<tr><td><code><nowiki>{{img - icon color}}</nowiki></code> / <code><nowiki>{{img - button}}</nowiki></code></td><td>Colored icon and clickable button-style image variants (the latter used inside <code><nowiki>Try it out</nowiki></code>).</td></tr> | <tr><td><code><nowiki>{{img - icon color}}</nowiki></code> / <code><nowiki>{{img - button}}</nowiki></code></td><td>Colored icon and clickable button-style image variants (the latter used inside <code><nowiki>Try it out</nowiki></code>).</td></tr> | ||
</table> | </table> | ||
| − | + | ||
{{Aside | hue = 200 | icon = 🕮 | content = <b>Needs Confirmation:</b> observed filename convention is <code><nowiki>VALT {version}-Manual-{Section} {seq}.png</nowiki></code>, e.g. <code><nowiki>VALT 6.3 Manual-Home 00.png</nowiki></code>. Please confirm this is the actual rule, and whether it applies outside the Manual namespace.}} | {{Aside | hue = 200 | icon = 🕮 | content = <b>Needs Confirmation:</b> observed filename convention is <code><nowiki>VALT {version}-Manual-{Section} {seq}.png</nowiki></code>, e.g. <code><nowiki>VALT 6.3 Manual-Home 00.png</nowiki></code>. Please confirm this is the actual rule, and whether it applies outside the Manual namespace.}} | ||
}} | }} | ||
| − | + | ||
{{Top of Page}} | {{Top of Page}} | ||
{{hr}} | {{hr}} | ||
| − | + | ||
<h1>Inline Helpers</h1> | <h1>Inline Helpers</h1> | ||
| − | + | ||
{{Manual lvl 2 | title = Highlighting and Interactive Links | content = | {{Manual lvl 2 | title = Highlighting and Interactive Links | content = | ||
| − | <dl | + | <dl> |
<dt><code><nowiki>{{Mark | text = ...}}</nowiki></code></dt> | <dt><code><nowiki>{{Mark | text = ...}}</nowiki></code></dt> | ||
<dd>Highlights a short phrase (<code><nowiki>.highlight</nowiki></code> span). Use sparingly, for a single key term or requirement inside a paragraph — for example {{Mark | text = support for external audio}} as it might appear in running text.</dd> | <dd>Highlights a short phrase (<code><nowiki>.highlight</nowiki></code> span). Use sparingly, for a single key term or requirement inside a paragraph — for example {{Mark | text = support for external audio}} as it might appear in running text.</dd> | ||
| Line 196: | Line 199: | ||
</dl> | </dl> | ||
}} | }} | ||
| − | + | ||
{{Top of Page}} | {{Top of Page}} | ||
{{hr}} | {{hr}} | ||
| − | + | ||
<h1>Tables</h1> | <h1>Tables</h1> | ||
| − | + | ||
{{Manual lvl 2 | title = Table Classes | content = | {{Manual lvl 2 | title = Table Classes | content = | ||
| − | <dl | + | <dl> |
<dt><code><nowiki>class="simple_table"</nowiki></code></dt> | <dt><code><nowiki>class="simple_table"</nowiki></code></dt> | ||
<dd>Plain data tables (e.g. bandwidth/connection-speed tables).</dd> | <dd>Plain data tables (e.g. bandwidth/connection-speed tables).</dd> | ||
| Line 210: | Line 213: | ||
<dd>Used specifically for port/protocol/service tables, frequently paired with a manual color-coded key above it.</dd> | <dd>Used specifically for port/protocol/service tables, frequently paired with a manual color-coded key above it.</dd> | ||
</dl> | </dl> | ||
| − | + | ||
Observed port-table color key: | Observed port-table color key: | ||
| − | + | ||
<table class="simple_table"> | <table class="simple_table"> | ||
<tr><th>Background</th><th>Icon</th><th>Meaning</th></tr> | <tr><th>Background</th><th>Icon</th><th>Meaning</th></tr> | ||
| Line 219: | Line 222: | ||
<tr style="background-color:#e5ecff"><td><nowiki>#e5ecff</nowiki></td><td>🔧</td><td>Required only for administration</td></tr> | <tr style="background-color:#e5ecff"><td><nowiki>#e5ecff</nowiki></td><td>🔧</td><td>Required only for administration</td></tr> | ||
</table> | </table> | ||
| − | + | ||
Rows with no special requirement get no background color. Use <code><nowiki><caption></nowiki></code> to label which table applies to which server-to-server hop when multiple tables appear together. | Rows with no special requirement get no background color. Use <code><nowiki><caption></nowiki></code> to label which table applies to which server-to-server hop when multiple tables appear together. | ||
}} | }} | ||
| − | + | ||
{{Top of Page}} | {{Top of Page}} | ||
{{hr}} | {{hr}} | ||
| − | + | ||
<h1>Lists & Text Conventions</h1> | <h1>Lists & Text Conventions</h1> | ||
| − | + | ||
{{Manual lvl 2 | title = Voice and Formatting | content = | {{Manual lvl 2 | title = Voice and Formatting | content = | ||
| − | <dl | + | <dl> |
<dt>Step-by-step instructions</dt> | <dt>Step-by-step instructions</dt> | ||
<dd>MediaWiki <code><nowiki>#</nowiki></code> ordered lists, written in imperative, second person: "Hover over a room.", "Click the REC icon.", "Enter in the appropriate information."</dd> | <dd>MediaWiki <code><nowiki>#</nowiki></code> ordered lists, written in imperative, second person: "Hover over a room.", "Click the REC icon.", "Enter in the appropriate information."</dd> | ||
| Line 243: | Line 246: | ||
</dl> | </dl> | ||
}} | }} | ||
| − | + | ||
{{Top of Page}} | {{Top of Page}} | ||
{{hr}} | {{hr}} | ||
| − | + | ||
<h1>CSS Classes Reference</h1> | <h1>CSS Classes Reference</h1> | ||
| − | + | ||
{{Manual lvl 2 | title = Collected So Far | content = | {{Manual lvl 2 | title = Collected So Far | content = | ||
<table class="simple_table"> | <table class="simple_table"> | ||
| Line 265: | Line 268: | ||
<tr><td><nowiki>--wikiGrey</nowiki></td><td>CSS custom property, themed gray background</td></tr> | <tr><td><nowiki>--wikiGrey</nowiki></td><td>CSS custom property, themed gray background</td></tr> | ||
</table> | </table> | ||
| − | + | ||
{{Aside | hue = 200 | icon = 🕮 | content = There is likely a <code><nowiki>--hue</nowiki></code>-to-color mapping and possibly other custom properties defined in the skin/Common.css that haven't been pulled into this guide yet.}} | {{Aside | hue = 200 | icon = 🕮 | content = There is likely a <code><nowiki>--hue</nowiki></code>-to-color mapping and possibly other custom properties defined in the skin/Common.css that haven't been pulled into this guide yet.}} | ||
}} | }} | ||
| − | + | ||
{{Top of Page}} | {{Top of Page}} | ||
{{hr}} | {{hr}} | ||
| − | + | ||
<h1>Open Items for John</h1> | <h1>Open Items for John</h1> | ||
| − | + | ||
{{Manual lvl 2 | title = Needs Confirmation Before This Is Final | content = | {{Manual lvl 2 | title = Needs Confirmation Before This Is Final | content = | ||
{{Aside - Warning | hue = 50 | content = This guide is a first pass reverse-engineered from wikitext, not written or reviewed by a human yet. The items below are the open gaps.}} | {{Aside - Warning | hue = 50 | content = This guide is a first pass reverse-engineered from wikitext, not written or reviewed by a human yet. The items below are the open gaps.}} | ||
| − | + | ||
#Confirm/correct the hue-to-meaning table in the Callout Boxes section — the single biggest guess in this draft. | #Confirm/correct the hue-to-meaning table in the Callout Boxes section — the single biggest guess in this draft. | ||
#Clarify <code><nowiki>Flexbox</nowiki></code> vs. <code><nowiki>Grid 2</nowiki></code> vs. <code><nowiki>Grid 2 - Grid</nowiki></code> — is one deprecated or preferred? | #Clarify <code><nowiki>Flexbox</nowiki></code> vs. <code><nowiki>Grid 2</nowiki></code> vs. <code><nowiki>Grid 2 - Grid</nowiki></code> — is one deprecated or preferred? | ||
| Line 284: | Line 287: | ||
#Anything from your own in-progress draft guide that isn't reflected here — add it in directly or paste it back for merging. | #Anything from your own in-progress draft guide that isn't reflected here — add it in directly or paste it back for merging. | ||
}} | }} | ||
| − | + | ||
{{Top of Page}} | {{Top of Page}} | ||
}} | }} | ||
<!-- Confirm category taxonomy before publishing -- placeholder category below --> | <!-- Confirm category taxonomy before publishing -- placeholder category below --> | ||
[[Category:IVS Wiki]] | [[Category:IVS Wiki]] | ||
Latest revision as of 15:04, 9 July 2026
Introduction
This guide documents the templates, CSS classes, and structural conventions used across the IVS Wiki so new pages look and behave consistently with existing ones, without every author having to reverse-engineer the wikitext by hand.
Page Skeleton
Wrapping Template
Every content page is wrapped in a single top-level template:
{{Article - Manual | content =
...page body...
}}
[[Category:VALT]]
- width
- Not set by default — most pages omit it. Only add
width = 90ch(or similar) when a page specifically needs a narrower content column. - __NOTOC__
- Place before the template call to suppress the auto-generated table of contents on short pages.
- Categories
- Go at the very bottom, outside the template call.
[[Category:VALT]]is the baseline; stack additional categories for version ([[Category:VALT 6.3]]) or audience ([[Category:User Training]]) when relevant. - Transclusion
- Pages meant to be pulled into other pages should wrap their reusable body in
<onlyinclude>...</onlyinclude>so only that portion is transcluded elsewhere.
Section Headings
- Top-level heading
- Plain
<h1>Title</h1>— not=Title=. - Sub-sections
{{Manual lvl 2 | title = ... | content = ...}}— indented heading (20px).- Sub-sub-sections
{{Manual lvl 3 | title = ... | content = ...}}— indented further (40px).
title is left blank — that's a mistake to fix, not a valid style choice.==Heading== markup heading also appears in a couple of existing pages alongside {{Manual lvl 2}}. Deprecated, or intentional for a different visual weight?{{Float | content = [[Parent Page | back link]] }}- Right-floated "back to parent page" link, placed near the top of a page.
{{Top of Page}}- Inserts a "Back to Top" anchor. Drop this after each major section, immediately before
{{hr}}. {{hr}}- Plain divider between major (h1) sections.
{{hr - 2}}- Centered, light-gray, 90%-width divider for use within a section, between sub-topics.
Callout Boxes
The Aside Family
Base template:
{{Aside | hue = 200 | icon = 🕮 | content = Your note text here.}}
- hue
- Sets the box's color via a CSS custom property. Defaults to
15(plain/neutral) if omitted. - icon
- A literal Unicode character. Defaults to ✎ (pencil) if omitted.
- content
- The note body.
| hue | Apparent meaning | Typical icon |
|---|---|---|
| (default) | Plain note, no strong color | ✎ pencil (default) |
| 200 | Neutral reference/info note | 🕮 book |
| 260 | "Did you know" / tip / feature highlight | ✎ or none |
| 50 | Caution | ⚠ warning |
| 0 | Hard warning / destructive action | ⚠ or shared warning icon |
Two shorthand variants save authors from remembering hue/icon combinations:
{{Aside - Helpful | content = ...}}- Defaults to the info/tip look.
{{Aside - Warning | hue = 0 | content = ...}}- Defaults to a shared warning icon and hue 0;
huecan still be overridden (e.g.hue = 50for a softer caution).
Aside - Helpful for tips, use Aside - Warning for anything destructive or risky, and use the base, undecorated Aside for plain reference notes that don't need emotional weight.Layout Templates
Side-by-Side Content
Three near-identical templates show up; the difference is the layout mechanism, not the visual intent:
{{Flexbox | left = ... | right = ...}}- Flexbox row,
.text-boxclass on the left column. Optionalflex_num,left_size,right_size. {{Grid 2 | left = ... | right = ...}}- Flex-wrap based,
.grid-container.grid-2/.grid-itemclasses. Optionalleft_width,right_width. {{Grid 2 - Grid | left = ... | right = ...}}- True CSS grid (
grid-template-columns: 1fr 1fr), same class names as Grid 2, plusstyle_left,style_right,style_mainfor arbitrary inline CSS per side.
Flexbox vs. Grid 2 vs. Grid 2 - Grid? Grid 2 - Grid looks like the newer/preferred choice whenever per-side custom styling is needed, while the other two look older and simpler. Worth confirming a default.The "Spec Sheet" Pattern
Seen repeatedly for hardware/requirement pages: a <dl><dt>Term</dt><dd>description</dd></dl> on the left, paired with a bordered gray box of <strong>Minimum Recommended Spec</strong> plus a circle-bulleted list (<li style="list-style:circle">) on the right, wrapped in Grid 2 - Grid like so:
{{Grid 2 - Grid | style_right = border-left:solid 2px #eaecf0; padding: 10px 15px; background-color: var(--wikiGrey); | style_left = width: 400px; padding-right: 20px; | left =
<dt>Term</dt>
<dd>Description of the term.</dd>
|right =
<strong>Minimum Recommended Spec</strong>
<ul>
<li style="list-style:circle">Spec line one</li>
<li style="list-style:circle">Spec line two</li>
</ul>
}}
This is a reusable pattern worth naming and reaching for directly whenever documenting requirements/specs, rather than rebuilding it ad hoc.
Images
Image Templates
| Template | Behavior |
|---|---|
{{img - resize | file = X.png | width = ...}} | Resizable, click-to-enlarge image in an .img_resize div. Default choice for in-line screenshots. |
{{img - no_click | file = X.png | width = ...}} | Same, but not clickable — use for purely decorative/illustrative images that shouldn't invite a lightbox zoom. |
{{img - icon | file = X.png | width = 16px}} | Small inline icon (.inline_icon span) — used next to link text, e.g. beside a card name. |
{{img - icon color}} / {{img - button}} | Colored icon and clickable button-style image variants (the latter used inside Try it out). |
VALT {version}-Manual-{Section} {seq}.png, e.g. VALT 6.3 Manual-Home 00.png. Please confirm this is the actual rule, and whether it applies outside the Manual namespace.Inline Helpers
Highlighting and Interactive Links
{{Mark | text = ...}}- Highlights a short phrase (
.highlightspan). Use sparingly, for a single key term or requirement inside a paragraph — for example support for external audio as it might appear in running text. {{Try it out | link = https://... }}- Overlays an invisible clickable region over nearby text/icon that links out to a Storylane interactive walkthrough. Typically placed inside an
Aside - Helpfulbox right after a "did you know" tip.
Tables
Table Classes
class="simple_table"- Plain data tables (e.g. bandwidth/connection-speed tables).
class="network_ports_table"- Used specifically for port/protocol/service tables, frequently paired with a manual color-coded key above it.
Observed port-table color key:
| Background | Icon | Meaning |
|---|---|---|
| #FFEBE5 | 🔓 | Required only when SSL is disabled |
| #E5FFEB | 🔒 | Required only when SSL is enabled |
| #e5ecff | 🔧 | Required only for administration |
Rows with no special requirement get no background color. Use <caption> to label which table applies to which server-to-server hop when multiple tables appear together.
Lists & Text Conventions
Voice and Formatting
- Step-by-step instructions
- MediaWiki
#ordered lists, written in imperative, second person: "Hover over a room.", "Click the REC icon.", "Enter in the appropriate information." - Feature/glossary lists
<dl><dt>Term</dt><dd>Definition</dd></dl>, occasionally withclass="singleLineHeight"on the<dl>to tighten spacing.- Bold
<b>/<strong>is used for UI element names and key terms, not for general emphasis.- Overall tone
- Plain, second-person, instructional — minimal adjectives, no marketing voice, outside of product-overview intros.
CSS Classes Reference
Collected So Far
| Class / Property | Used for |
|---|---|
| aside, aside-item, aside-content | The Aside callout box family |
| article, article_wrap_manual, valt_manual_toc | Page wrapper (Article - Manual) |
| text-box | Flexbox left column |
| grid-container, grid-item | Grid 2 / Grid 2 - Grid layouts |
| simple_table | Plain data tables |
| network_ports_table | Port/protocol tables |
| img_resize | Resizable images |
| inline_icon | Small inline icon spans |
| highlight | Mark template |
| try_it_out | Try it out overlay links |
| myManualList, singleLineHeight | List spacing/formatting variants |
| --wikiGrey | CSS custom property, themed gray background |
--hue-to-color mapping and possibly other custom properties defined in the skin/Common.css that haven't been pulled into this guide yet.Open Items for John
Needs Confirmation Before This Is Final
- Confirm/correct the hue-to-meaning table in the Callout Boxes section — the single biggest guess in this draft.
- Clarify
Flexboxvs.Grid 2vs.Grid 2 - Grid— is one deprecated or preferred? - Confirm the image filename convention, and whether there's an upload/naming process authors should follow.
- Is there a fixed category taxonomy, or is it ad hoc per page?
- Any voice/tone rules beyond what's inferable from existing pages — e.g. how to handle product names (VALT, BEAM, CUE, ROAM) on first mention?
- Anything from your own in-progress draft guide that isn't reflected here — add it in directly or paste it back for merging.