Join our Discord community for support and discussions! Connect with us →

Documentation Style Guide

Reference guide for Datalogics documentation contributors — which Docus MDC components to use and when.

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:

LanguageTag
Shell / CLI commandsbash or shell
Windows batch commandsbat
C#csharp
Javajava
C++cpp
JSONjson
XMLxml
YAMLyaml

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.