Documentation Style Guide
Documentation Style Guide
This guide explains how to write documentation for this site using Docus markdown components (MDC syntax). Always prefer a semantic component over plain text when the content type matches.
Callouts
Use callouts to draw attention to important information. Choose the type based on intent.
::note — Extra information
Use for supplementary context or "good to know" details.
::note
This feature requires APDFL v18 or later.
::
::tip — Helpful suggestion
Use for optional best practices or shortcuts.
::tip
The `GetAvailableLanguages()` method lists all installed OCR language packs.
::
::warning — Potential issue
Use when something could cause unexpected behavior if ignored.
::warning
If your Proxy Server uses authentication, you must also set `HTTP_PROXY_CREDENTIALS`.
::
::caution — Security or destructive action
Use for security advisories and irreversible operations.
::caution
**Security Advisory:** Update to v18.0.5 or later to mitigate CVE-2025-3277.
::
Steps
Use ::steps for any sequential process: installation, activation, setup. Wrap with ::steps{level="3"} and use ### headings as step titles.
::steps{level="3"}
### Get your activation key
Visit [datalogics.com/pdf-sdk-free-trial](https://www.datalogics.com/pdf-sdk-free-trial) and fill out the form.
### Download the software
Click **Download** in the email you receive after submitting the trial form.
### Activate
Paste your 16-digit key when prompted during installation.
::
Tabs
Use ::tabs whenever the same concept has platform-specific or language-specific variants side by side. Do not use bold headings like **On Windows:** followed by a code block — use tabs instead.
::tabs
::tabs-item{label="Windows" icon="i-mdi-microsoft-windows"}
```bat
set HTTP_PROXY=myproxyhost:8765
::
export HTTP_PROXY=myproxyhost:8765
::
---
## Cards
Use `::card-group` + `::card` for:
- "Get in touch" / contact sections (use on every product guide)
- Cross-product links
- Related resources
```md
::card-group
::card{title="Discord Community" icon="i-mdi-discord" to="https://discord.com/invite/jNSHcSdRre" target="_blank"}
Join for tutorials, events, and tech support.
::
::card{title="Support Form" icon="i-mdi-help-circle-outline" to="https://www.datalogics.com/tech-support-pdfs" target="_blank"}
Submit a support request via web form.
::
::card{title="Customer Portal" icon="i-mdi-account-circle" to="https://portal.datalogics.com" target="_blank"}
Manage your licenses and account.
::
::card{title="Book a Call" icon="i-mdi-calendar-clock" to="https://calendly.com/seu-datalogics" target="_blank"}
Talk to a software engineer via Calendly.
::
::
Tables
Use standard GFM pipe tables for all tabular data. Do not use the ::prose-table slot syntax.
| OS | Architecture | Development |
| ------- | -------------------------------------- | ---------------------- |
| Windows | x64, ARM64 | Visual Studio 2022 |
| Linux | x86_64, ARM64, glibc 2.28+ | Clang 8+ or gcc 8+ |
| macOS | x64, ARM64 | Xcode 13+ |
Code Blocks
Always specify a language tag. Common choices:
| Language | Tag |
|---|---|
| Shell / CLI commands | bash or shell |
| Windows batch commands | bat |
| C# | csharp |
| Java | java |
| C++ | cpp |
| JSON | json |
| XML | xml |
| YAML | yaml |
Never use js or mdc for command-line output. Use text for plain output.
Line Breaks
Do not use :br as a vertical spacer between paragraphs. Docus handles paragraph spacing automatically. :br is only valid inside a list item when you need to break text within the same bullet.
"Get in Touch" Section
Every product guide page should end with the standard contact card group (see Cards above). Do not use bold prose paragraphs with links.