From 30448725b95f7e86201181c38e552a22c4d2d2f7 Mon Sep 17 00:00:00 2001 From: Dan Allen Date: Sat, 7 Jun 2025 11:05:44 -0600 Subject: [PATCH] resolves #98 don't unset doctype attribute in args passed to converter command --- CHANGELOG.adoc | 6 ++++++ packages/assembler/lib/produce-assembly-files.js | 1 - packages/assembler/test/assemble-content-test.js | 4 +++- packages/assembler/test/produce-assembly-files-test.js | 7 ++++--- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc index 3bd7b3b..65d1263 100644 --- a/CHANGELOG.adoc +++ b/CHANGELOG.adoc @@ -4,6 +4,12 @@ This document provides a summary of all notable changes to Antora Assembler by release. For a detailed view of what's changed, refer to the {url-repo}/commits[commit history] of this project. +== Unreleased + +=== Fixed + +* don't unset doctype attribute in args passed to converter command (#98) + == 1.0.0-beta.2 (2025-06-09) _No changes since previous release._ diff --git a/packages/assembler/lib/produce-assembly-files.js b/packages/assembler/lib/produce-assembly-files.js index 96d9246..94d347e 100644 --- a/packages/assembler/lib/produce-assembly-files.js +++ b/packages/assembler/lib/produce-assembly-files.js @@ -87,7 +87,6 @@ function produceAssemblyFiles (loadAsciiDoc, contentCatalog, assemblerConfig, re accum.push(assemblyFile) return true }, false) - mergedAsciiDocAttributes.doctype = assemblyModel.doctype sourceHighlighter ? (mergedAsciiDocAttributes['source-highlighter'] = sourceHighlighter) : delete mergedAsciiDocAttributes['source-highlighter'] diff --git a/packages/assembler/test/assemble-content-test.js b/packages/assembler/test/assemble-content-test.js index afc2bcf..040cba4 100644 --- a/packages/assembler/test/assemble-content-test.js +++ b/packages/assembler/test/assemble-content-test.js @@ -266,15 +266,17 @@ describe('assembleContent()', () => { const playbook = { dir: ospath.join(FIXTURES_DIR, 'project-with-command') } const { contentCatalog, assemblerConfig: configSource } = await loadScenario(scenario, __dirname) Object.assign(configSource.build, { command: './convert-to-pdf', mkdirs: true, publish: false }) + let actualConvertAttributes const convert = (doc, convertAttributes, buildConfig) => { const { cwd, command } = buildConfig - const outfile = convertAttributes.outfile + const outfile = (actualConvertAttributes = convertAttributes).outfile const args = convertAttributes.toArgs('-a', command).concat('-o', outfile, '-') const opts = { parse: true, cwd, stdin: doc.contents, stdout: 'print', stderr: 'print' } return runCommand(command, args, opts).then(() => fs.createReadStream(outfile)) } const converter = { convert, extname: '.pdf', mediaType: 'application/pdf' } const actual = await assembleContent(playbook, contentCatalog, converter, { configSource }) + assertx.doesNotHaveProperty(actualConvertAttributes, 'doctype') // TODO make a separate test for this assertion assert.equal(actual.length, 1) const actualContents = actual[0].contents assertx.instanceOf(actualContents, Readable) diff --git a/packages/assembler/test/produce-assembly-files-test.js b/packages/assembler/test/produce-assembly-files-test.js index 97bfcb7..fce89eb 100644 --- a/packages/assembler/test/produce-assembly-files-test.js +++ b/packages/assembler/test/produce-assembly-files-test.js @@ -200,7 +200,8 @@ describe('produceAssemblyFiles()', () => { const { loadAsciiDoc, contentCatalog, assemblerConfig } = await loadScenario('override-doctype', __dirname) const assemblyFiles = await produceAssemblyFiles(loadAsciiDoc, contentCatalog, assemblerConfig) assert.equal(assemblyFiles.length, 1) - assert.equal(assemblyFiles[0].asciidoc.attributes.doctype, 'article') + assert.doesNotMatch(assemblyFiles[0].contents.toString(), /:doctype:/) + assertx.doesNotHaveProperty(assemblyFiles[0].asciidoc.attributes, 'doctype') }) it('should allow doctype to be overridden using assembly model', async () => { @@ -209,8 +210,8 @@ describe('produceAssemblyFiles()', () => { assemblerConfig.assembly.doctype = 'article' const assemblyFiles = await produceAssemblyFiles(loadAsciiDoc, contentCatalog, assemblerConfig) assert.equal(assemblyFiles.length, 1) - assert.doesNotMatch(assemblyFiles[0].contents.toString(), /:doctype: book/) - assert.equal(assemblyFiles[0].asciidoc.attributes.doctype, 'article') + assert.doesNotMatch(assemblyFiles[0].contents.toString(), /^:doctype: book$/m) + assertx.doesNotHaveProperty(assemblyFiles[0].asciidoc.attributes, 'doctype') }) it('should process name section of manpage', async () => { -- GitLab