diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc index 3bd7b3b3afbc602db10f16f2c579e6eba028cd3c..65d1263a0a7ac2663ee5c31efd3cc006f4b2affc 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 96d9246f89516d383bd78faa9374ed43603ec3fb..94d347e5f0e469cb8a51cf1318b2c35a0342679a 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 afc2bcf350c7531cf242792b3f22ff69add9ee7a..040cba4345b4fc07a972b07caed6d0baf520f396 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 97bfcb7199c4245f0f977b8938eb14d9ebf23c6d..fce89eb91649988db0b3a44cf2c00a64d665a657 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 () => {