# Publishing Engineering & Automation

Pixel-perfect outputs from a single structured source — PDF, HTML5, WebHelp, EPUB, and custom portals. We engineer the transforms and automate the build, so every output rebuilds itself on each commit.

in :: single.source<map>one engineered sourcePDFHTML5EPUBJSONFIG. 01/single.sourceONE → MANY

## Modern Publishing Technologies

Beyond traditional XSLT pipelines — we implement the latest tools and approaches that are reshaping how structured content reaches its audience.

- ### CSS Paged Media → PDF

Replace complex XSL-FO stylesheets with CSS you already know. Using Prince XML, Antenna House CSS, or WeasyPrint, we generate print-quality PDFs with CSS Paged Media — the same styling language your web team uses. Designers can own the PDF layout without learning FO.

- ### GraphQL Content APIs

Serve published content through GraphQL endpoints where consumers request exactly the fields and fragments they need. We build the schema, resolvers, and caching layer — so front-end teams, mobile apps, and chatbots can query your content like a database.

- ### Headless & Decoupled Delivery

Publish structured content as JSON to headless CMS platforms (Contentful, Strapi) or custom REST APIs. The content is authored once in DITA and delivered to any front-end — React portals, mobile apps, kiosk displays, VR/AR interfaces — without format lock-in.

- ### Static Site Generators

Build DITA output into Jamstack-ready sites using Gatsby, Astro, Hugo, or Eleventy. Combined with CDN deployment (CloudFront, Netlify, Vercel), your documentation loads in milliseconds with zero server infrastructure to maintain.

- ### Docs-as-Code Pipelines

Git-based authoring workflows with pull requests, branch previews, and automated quality checks. Every commit triggers validation, build, and deploy — the same CI/CD discipline your engineering team applies to code, now applied to content.

- ### Containerized Build Environments

DITA-OT packaged in Docker containers for reproducible builds across developer machines, CI servers, and cloud platforms. No more 'works on my machine' — every build runs in an identical, version-locked environment.

## The Core Transformation Engine

Your content is XML data. To the user, it needs to be a beautiful PDF or a responsive website. We build the engines that make that conversion happen automatically.

- ### DITA-OT Customization

The DITA Open Toolkit is the industry standard engine. We write custom plugins (XSLT/Java) to override default behaviors, ensuring your fonts, colors, and layouts match your corporate branding exactly.

- ### XSL-FO & PDF Formatting

Print is not dead. We master XSL-FO (Formatting Objects) to handle complex pagination, float handling, change bars, and multi-column layouts for regulatory PDF deliverables.

- ### Responsive HTML5

We build modern, Bootstrap-based or custom HTML5 outputs that integrate with your corporate website. We handle search indexing, TOC generation, and context-sensitive linking.

## The Rendering Pipeline

Every output runs the same five stages — from a verified DITA map to a finished, packaged artifact.

1. 01

### Source

The build starts from a verified DITA map — topics validated, references checked, and the content set locked.

2. →  
3. 02

### Pre-Process

Links and keyrefs resolve, conrefs pull in, and DITAVAL filtering trims the map to the target audience.

4. →  
5. 03

### Transformation

The DITA-OT applies your XSLT, mapping every element to the output's structure, styles, and metadata.

6. →  
7. 04

### Post-Process

Output-specific CSS, JavaScript, fonts, and assets are injected, and cross-references are rewritten for the target.

8. →  
9. 05

### Artifact

The finished deliverable is packaged and versioned — a print-ready PDF, a zipped HTML site, or a data feed.

## Automated Localization Publishing

One of the biggest bottlenecks in publishing is handling languages. Our pipelines automatically detect the `xml:lang` attribute of the root map and switch the generated static text (like "Table of Contents" becoming "Table des matières") automatically. We configure font-mappings to ensure CJK (Chinese, Japanese, Korean) characters render correctly without tofu boxes.

## Advanced Output Formats

Not every deliverable is a PDF or a website. We build custom transforms for specialized output targets.

- ### EPUB 3 & Digital Publishing

Accessible, reflowable eBooks with embedded media, MathML equations, and semantic navigation. We build EPUB3 outputs that pass validation and render consistently across Kindle, Apple Books, and Kobo.

- ### Markdown & Developer Docs

Convert DITA to GitHub-flavored Markdown for developer portals, README files, and wikis. API reference content authored in DITA publishes alongside code in the same repository and rendering pipeline developers already use.

- ### Embedded Help & Microcontent

Deliver topic fragments — tooltips, inline hints, contextual panels — directly into application UIs. We build the API layer and JavaScript widgets that pull DITA-sourced microcontent into your product in real time.

- ### SCORM & eLearning Packages

Package DITA Learning & Training content as SCORM 1.2 or 2004 modules. We build the transform layer that adds interactive assessments, completion tracking, and LMS API integration — from the same structured source as your documentation.

- ### JSON & YAML Data Feeds

Structured content as machine-readable data. We build DITA-OT plugins that output JSON or YAML — feeding product catalogs, configuration portals, knowledge bases, and AI/RAG pipelines from your single source.

- ### Multi-Brand & White-Label

One source, multiple brand identities. We configure parameterized publishing pipelines where logos, color schemes, legal text, and terminology switch automatically based on build profiles — supporting OEM and partner documentation programs.

## Sample Output Build

Send us a sample DITA map and the output you need — PDF, HTML5, EPUB, or a data feed. We'll build a proof-of-concept render and return the pipeline plan: transforms, plugins, and the automation to keep it current. No commitment required.
