Markdown to ADF

Convert Extended Markdown to Atlassian Document Format (ADF) with full feature support and customization options.

Overview

The library features a unified architecture (v2.1.6+) with consistent, high-quality conversion across all parser interfaces. All parsers now use shared conversion engines internally.

Unified Parser Architecture (v2.1.6+)

The library provides multiple interfaces to the same high-quality conversion engine:

The unified Parser class provides all features by default:

import { Parser } from 'extended-markdown-adf-parser';

// All features enabled by default
const parser = new Parser({
  strict: false,          // Error recovery enabled
  preserveUnknownNodes: true  // Preserve unknown ADF nodes
});

// Synchronous parsing
const adf = parser.markdownToAdf(markdown);

// Asynchronous parsing
const adf2 = await parser.markdownToAdfAsync(markdown);

Features Included:

  • ✅ GitHub Flavored Markdown (tables, strikethrough, task lists)

  • ✅ YAML Frontmatter support

  • ✅ ADF Fence blocks (~~~panel, ~~~expand, etc.)

  • Nested ADF Fence blocksNew in v2.2.0 - Complex hierarchical structures

  • ✅ Social elements ({user:mention}, :emoji:, {status:text|color:value})

  • ✅ Sync/async support

  • ✅ Error recovery

  • ✅ Performance monitoring

EnhancedMarkdownParser (Backward Compatibility)

Maintained for backward compatibility - same functionality as Parser:

Direct Engine Usage (Advanced)

For custom implementations:

All Approaches Produce Identical Results

Key Benefit: No more choosing between different quality levels - all interfaces provide the same high-quality conversion.

Interface
Use Case
API Methods

Parser

Recommended for new projects

markdownToAdf(), markdownToAdfAsync()

EnhancedMarkdownParser

Backward compatibility

parseSync(), parse()

MarkdownToAdfEngine

Custom implementations

convert(), convertAsync()

Migration Benefits:

  • 🎯 Consistent Quality: All approaches now produce identical, high-quality results

  • Simplified API: No more enableAdfExtensions flag needed

  • 🔧 Social Elements: Proper parsing of mentions, emojis, status, dates everywhere

  • Performance: Shared engines improve maintainability and consistency

Configuration Options

Unified Parser Options

All parser interfaces support the same configuration options:

Advanced Features

Metadata Comments

Add custom ADF attributes to any element:

YAML Frontmatter

Document metadata support:

GitHub Flavored Markdown

Enhanced table support, strikethrough, and more:

Enhanced Status Elements ✨ New in v2.3.2

Create colored status indicators with inline syntax:

Status Color Options:

  • neutral (default) - Gray status badge

  • green - Success, complete, approved states

  • red - Error, blocked, critical issues

  • yellow - Warning, in progress, pending states

  • blue - Information, available, active states

  • purple - Special priority, review states

Syntax Formats:

Nested ADF Fence Blocks ✨ New in v2.2.0

Create complex document structures with nested ADF fence blocks:

Supported Nested Patterns:

  • ~~~expand containing panels, media, and other expandable sections

  • ~~~panel with nested media blocks and sub-panels

  • Complex multi-level nesting with unlimited depth

  • All ADF fence types: panel, expand, nestedExpand, mediaSingle, mediaGroup

Technical Implementation:

  • Multi-pass processing ensures all nested structures are detected

  • Automatic content parsing within fence blocks preserves formatting

  • Works across all parser interfaces (Parser, EnhancedMarkdownParser, Engine)

  • Performance optimized with early termination conditions

Performance

Parser Type
Speed
Memory
Use Case

Basic

~1ms

~50KB

High-volume processing

Enhanced

~3ms

~150KB

Feature-rich documents

For detailed error handling patterns and troubleshooting, see Error Handling Guide.

Next Steps

Last updated