![]() |
Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
|
Intermediate representation for a documentation topic. More...
#include <document.h>
Public Member Functions | |
| QJsonObject | toJson () const |
| Converts the Document to a QJsonObject for template rendering. | |
Public Attributes | |
| NodeType | nodeType { NodeType::NoType } |
| Genus | genus { Genus::DontCare } |
| Status | status { Status::Active } |
| Access | access { Access::Public } |
| QString | title |
| QString | fullTitle |
| QString | url |
| QString | since |
| QString | deprecatedSince |
| QString | brief |
| QList< ContentBlock > | body |
| QJsonObject | contentJson |
| QList< SectionIR > | summarySections |
| QList< SectionIR > | detailSections |
| std::optional< QmlTypeInfo > | qmlTypeInfo |
| std::optional< CollectionInfo > | collectionInfo |
| std::optional< CppReferenceInfo > | cppReferenceInfo |
| std::optional< NavigationInfo > | navigationInfo |
| QString | membersPageUrl |
Intermediate representation for a documentation topic.
Document contains all information needed to render a single documentation page using templates. All links are pre-resolved, sections are pre-organized, and file paths are pre-computed. The template engine receives only this IR and performs no lookups or resolution itself.
The struct includes classification metadata (nodeType, genus, status, access) that allows templates to conditionally render content based on the type and visibility of the documented entity.
Definition at line 196 of file document.h.
| QJsonObject IR::Document::toJson | ( | ) | const |
Converts the Document to a QJsonObject for template rendering.
The JSON structure follows a convention where field names use camelCase and match template variable names. Classification fields (nodeType, genus, status, access) use a two-part structure with "id" (stable kebab-case identifier for conditionals) and "label" (human-readable display name).
The contentJson field is nested under a 'content' key to provide better structure and namespace separation in templates.
Returns a QJsonObject containing all IR data in a format suitable for passing to the Inja template engine via InjaBridge.
Definition at line 356 of file document.cpp.
| Access IR::Document::access { Access::Public } |
Definition at line 202 of file document.h.
Referenced by IR::Builder::buildPageIR().
| QList<ContentBlock> IR::Document::body |
Definition at line 215 of file document.h.
| QString IR::Document::brief |
Definition at line 212 of file document.h.
| std::optional<CollectionInfo> IR::Document::collectionInfo |
Definition at line 226 of file document.h.
| QJsonObject IR::Document::contentJson |
Definition at line 216 of file document.h.
| std::optional<CppReferenceInfo> IR::Document::cppReferenceInfo |
Definition at line 229 of file document.h.
| QString IR::Document::deprecatedSince |
Definition at line 211 of file document.h.
Definition at line 220 of file document.h.
| QString IR::Document::fullTitle |
Definition at line 206 of file document.h.
| Genus IR::Document::genus { Genus::DontCare } |
Definition at line 200 of file document.h.
Referenced by IR::Builder::buildPageIR().
| QString IR::Document::membersPageUrl |
Definition at line 235 of file document.h.
| std::optional<NavigationInfo> IR::Document::navigationInfo |
Definition at line 232 of file document.h.
| NodeType IR::Document::nodeType { NodeType::NoType } |
Definition at line 199 of file document.h.
Referenced by IR::Builder::buildPageIR().
| std::optional<QmlTypeInfo> IR::Document::qmlTypeInfo |
Definition at line 223 of file document.h.
| QString IR::Document::since |
Definition at line 210 of file document.h.
| Status IR::Document::status { Status::Active } |
Definition at line 201 of file document.h.
Referenced by IR::Builder::buildPageIR().
Definition at line 219 of file document.h.
| QString IR::Document::title |
Definition at line 205 of file document.h.
| QString IR::Document::url |
Definition at line 207 of file document.h.