Skip to main content

Export Integrations

RepoDocs AI generates export artifacts for four targets: Confluence, Google Docs, Notion, and PDF-ready HTML.

The export pipeline converts every Markdown document in docs/ and examples/ into the target format. Run one command and get a complete exports directory ready to upload.

Quick Start​

# Export to all four formats
npm run export

# Export to a specific format
npm run export:notion
npm run export:confluence
npm run export:gdocs
npm run export:pdf

Output is written to exports/<format>/ mirroring the source directory structure.


Notion Export — Verified Example​

The Notion exporter generates .notion.md files that are ready for Notion's Markdown import feature.

How It Works​

  1. Each Markdown document is read with its YAML frontmatter.
  2. Frontmatter fields are converted to a ## Metadata block (Notion renders this as a visible section).
  3. The document body is written as clean Markdown.
  4. The output file is saved to exports/notion/<original-path>.notion.md.

Verified Output​

Running npm run export:notion on examples/payments-api/create-payment.md produces:

Input (examples/payments-api/create-payment.md):

---
title: Create Payment
description: Creates a new payment transaction.
service: payments
owner: payments-eng
api_version: v1
status: stable
reviewed_by: lead-reviewer
dependencies: []
last_reviewed: 2026-03-13
security_impact: high
---

# Create Payment

## Summary

Create a payment for a customer checkout session...

Output (exports/notion/examples/payments-api/create-payment.notion.md):

# Create Payment

## Metadata

- title: Create Payment
- description: Creates a new payment transaction.
- service: payments
- owner: payments-eng
- api_version: v1
- status: stable
- reviewed_by: lead-reviewer
- last_reviewed: 2026-03-13
- security_impact: high

## Summary

Create a payment for a customer checkout session...

Importing Into Notion​

  1. Run npm run export:notion.
  2. Open Notion and navigate to the target page.
  3. Click the ... menu → Import → Markdown & CSV.
  4. Upload the .notion.md file from exports/notion/.
  5. Notion renders the Markdown including the Metadata section and all headings.

Note: Notion's Markdown import does not preserve frontmatter YAML. The exporter intentionally converts frontmatter to a visible ## Metadata block so the document context is not lost on import.


Confluence Export​

The Confluence exporter generates .storage.html files using Confluence Storage Format HTML.

These files can be imported into Confluence using Space Tools → Content Tools → Import or via the Confluence REST API:

curl -X POST "https://your-domain.atlassian.net/wiki/rest/api/content" \
-H "Authorization: Basic $(echo -n 'user@example.com:API_TOKEN' | base64)" \
-H "Content-Type: application/json" \
-d '{
"type": "page",
"title": "Create Payment",
"space": {"key": "DEV"},
"body": {
"storage": {
"value": "<html content from exports/confluence/...>",
"representation": "storage"
}
}
}'

Output files: exports/confluence/<path>.storage.html


Google Docs Export​

The Google Docs exporter generates .html files that can be imported via File → Open → Upload in Google Docs.

Google Docs renders the HTML including headings, tables, and code blocks. After import, apply the RepoDocs AI heading styles manually if needed.

Output files: exports/gdocs/<path>.html


PDF Export​

The PDF exporter generates two artifacts per document:

  1. .print.html — a print-optimized HTML file styled for PDF conversion
  2. .pdf — a plain-text PDF suitable for distribution

For high-fidelity PDF output with full Markdown rendering, convert the .print.html file using a headless browser:

# Using Chrome headless
google-chrome --headless --print-to-pdf="doc.pdf" exports/pdf/docs/installation.print.html

# Using Puppeteer (Node.js)
node -e "
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('file://$(pwd)/exports/pdf/docs/installation.print.html');
await page.pdf({ path: 'output.pdf', format: 'A4' });
await browser.close();
})();
"

Output files: exports/pdf/<path>.print.html and exports/pdf/<path>.pdf


Audience Routing​

Use the audience frontmatter field to control which export formats receive each document:

ValueFormats
internal (or omitted)All formats (Confluence, Notion, Google Docs, PDF)
externalPDF only
bothAll formats

Example:

---
title: Internal Architecture Guide
audience: internal
---

This prevents internal architecture documents from appearing in PDF exports sent to external consumers.


Export Manifest​

Every export run writes exports/manifest.json — a structured record of every source document, the formats it was exported to, and the output file paths.

{
"generated_at": "2026-03-13T10:00:00.000Z",
"source_directories": ["docs", "examples"],
"formats": ["confluence", "gdocs", "notion", "pdf"],
"documents": [
{
"source": "examples/payments-api/create-payment.md",
"formats": {
"confluence": "exports/confluence/examples/payments-api/create-payment.storage.html",
"gdocs": "exports/gdocs/examples/payments-api/create-payment.html",
"notion": "exports/notion/examples/payments-api/create-payment.notion.md",
"pdf_html": "exports/pdf/examples/payments-api/create-payment.print.html",
"pdf": "exports/pdf/examples/payments-api/create-payment.pdf"
}
}
]
}

The manifest is also surfaced in the control plane dashboard under Automation Artifacts.