UNPKG

@antora/asciidoc-loader

Version:

Loads AsciiDoc content into an Asciidoctor Document object (AST) for use in an Antora documentation pipeline.

30 lines (26 loc) 1.33 kB
'use strict' const convertImageRef = require('./../image/convert-image-ref') const convertResourceRef = require('./../xref/convert-resource-ref') const defineHtml5Converter = require('./html5') /** * Creates an HTML5 converter instance with Antora enhancements. * * @memberof asciidoc-loader * * @param {File} file - The virtual file whose contents is an AsciiDoc source document. * @param {ContentCatalog} contentCatalog - The catalog of all virtual content files in the site. * @param {Object} config - AsciiDoc processor configuration options. * @param {Boolean} [config.relativizeResourceRefs=true] - Configures the converter to generate relative resource * references (relative to the current page) instead of root relative (relative to the site root). * * @returns {Converter} An enhanced instance of Asciidoctor's built-in HTML 5 converter. */ function createConverter (file, contentCatalog, config) { const relativizeResourceRefs = config.relativizeResourceRefs !== false return defineHtml5Converter().$new('html5', undefined, { onImageRef: (imageSpec, read) => convertImageRef(imageSpec, file, contentCatalog, read), onResourceRef: (resourceSpec, content) => convertResourceRef(resourceSpec, content, file, contentCatalog, relativizeResourceRefs), }) } module.exports = createConverter