Conceptual Topics and the Table of Contents
Beyond the auto-generated API reference, a help template includes conceptual topics —
hand-authored pages such as Getting Started guides, overviews, and driver-specific narrative.
These live under the template’s conceptual/ folder, and the
manifest’s toc block arranges
them (along with the generated reference) into the help table of contents.
Conceptual topics
Section titled “Conceptual topics”A conceptual topic is a Markdown file. It can use Mustache
to pull in driver values (e.g. {{driver.name}}) and may include YAML frontmatter to provide
its own help metadata:
---title: "Initializing the {{driver.name}} Driver"index-keywords: - "initialization" - "Initialize method"---
This topic explains how to initialize the {{driver.name}} driver...For conceptual topics, the frontmatter title, index-keywords, and f1-keywords are the
only source of those values — unlike API pages, there is no driver-model entity to derive
them from. The pipeline reads this frontmatter and carries the keywords into the CHM/Help
Viewer output.
To link from a conceptual topic to a generated API topic, use a cross-reference — see Linking to API Topics.
The table of contents
Section titled “The table of contents”The toc block has a root (the landing page) and a tree of children. Each node is one of:
| Node key | Meaning |
|---|---|
resource | A Markdown topic file to include. |
title | An explicit node title (for a grouping node, or to title auto-generated content). |
content | Auto-generated content produced from the driver model. |
condition | Include this node only when the condition is met (see below). |
output | Override the output file name. |
children | Nested nodes. |
toc: root: layouts/driver.md children: - resource: conceptual/getting-started/getting-started.md children: - resource: conceptual/getting-started/installation.md - resource: conceptual/ivinet-driver-reference.md children: - title: Driver Hierarchy content: IviNetHierarchy - title: Driver Interfaces content: IviNetFlat - title: Instrument Command Reference content: IviNetCommandReferenceAuto-generated content nodes
Section titled “Auto-generated content nodes”A node with a content value is generated from the driver model rather than from a file. The
default IVI.NET template uses, for example, IviNetHierarchy (the interface hierarchy),
IviNetFlat (a flat interface listing), and IviNetCommandReference (the instrument command
reference). The IVI-COM and IVI-C templates have equivalent content types.
Conditional content
Section titled “Conditional content”Add a condition to a node to include it only when the driver meets that condition. This lets a
single template serve drivers with different capabilities. When two variants must produce the
same output file (so the rest of the TOC links resolve identically), give them the same
output:
- resource: conceptual/getting-started/ivi-compliance.md condition: NotNoClass- resource: conceptual/getting-started/ivi-compliance-no-class.md condition: NoClass output: ivi-compliance.htmlAvailable conditions
Section titled “Available conditions”| Condition | True when… |
|---|---|
RepCap / NotRepCap | The driver has / does not have repeated capabilities. |
NoClass / NotNoClass | The driver has no / has at least one IVI instrument class. |
Lxi / NotLxi | The driver is / is not LXI-conformant. |
LxiClockSynchronization, LxiEventLogs, LxiEventMessaging, LxiTimestampedData, LxiWiredTriggerBus | The driver declares the corresponding LXI capability. |
IviCounter, IviDCPwr, IviDigitizer, IviDmm, IviDownconverter, IviFgen, IviPwrMeter, IviRFSigGen, IviScope, IviSpecAn, IviSwtch, IviUpconverter | The driver implements that IVI instrument class. |
HasIviC | The driver has an associated IVI-C driver (dual-driver IVI-COM templates). |
IviCCallbackFunctions | The associated IVI-C driver defines callback functions. |