AsciiDoc parser that converts .adoc files into the Nous Document Model using Asciidoctor.js.
npm install @nousdev/parser-adocimport { createAsciidocParser } from '@nousdev/parser-adoc';
const parser = createAsciidocParser();
const doc = await parser.parse(
`= Getting Started
:author: Jane Doe
== Installation
Install via npm.`,
{ filePath: 'getting-started.adoc', format: 'adoc' },
);import { adocToNDM, parseInlineText, slugify } from '@nousdev/parser-adoc';
// Convert an Asciidoctor document AST to NDM nodes
const ndmNodes = adocToNDM(asciidoctorDoc);
// Parse AsciiDoc inline markup into NDM inline nodes
const inlines = parseInlineText('Some *bold* and _italic_ text');
// Generate a slug from heading text
const slug = slugify('Getting Started');createAsciidocParser(options?)-- returns aNousParserfor.adocand.asciidocfiles; document attributes (:title:,:description:,:author:) are extracted as frontmatteradocToNDM(doc)-- convert an Asciidoctor document AST into NDM block nodesparseInlineText(text)-- parse AsciiDoc inline formatting (bold, italic, code, links) into NDM inline nodesslugify(text)-- convert heading text to a URL-safe identifier
- Document attributes and metadata extraction
- Section hierarchy with automatic ID generation
- Admonition blocks (NOTE, TIP, WARNING, CAUTION, IMPORTANT)
- Source code blocks with language annotation
- Tables, lists, and block quotes
- Cross-references and anchors
Built on Asciidoctor.js.
MIT