Fix QuartoRunner: drop --output flag to let Quarto run full typst→PDF pipeline
Build and Deploy Verso / deploy (push) Failing after 12m18s
Build and Deploy Verso / deploy (push) Failing after 12m18s
--to typst combined with --output output.pdf caused Quarto to write a Typst source file (.typ content) named output.pdf instead of invoking the typst compiler, producing a text file that the PDF viewer could not render (hence 'markdown not rendered' — it was literally showing the raw .typ markup). Fix: let Quarto name the PDF after the input file (main.qmd → main.pdf) and rename to output.pdf with mv afterwards. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -52,18 +52,19 @@ function _buildQuartoCommand(mainFile) {
|
||||
// Run through a POSIX shell so stderr is merged into stdout (2>&1).
|
||||
// Quarto writes all progress and error messages to stderr; without this
|
||||
// the log panel would be empty on failure.
|
||||
// LocalCommandRunner replaces $COMPILE_DIR before the shell sees the
|
||||
// string, so no shell variable expansion occurs for that token.
|
||||
const quartoArgs = [
|
||||
'quarto',
|
||||
'render',
|
||||
`$COMPILE_DIR/${mainFile}`,
|
||||
'--to',
|
||||
'typst',
|
||||
'--output',
|
||||
'output.pdf',
|
||||
].join(' ')
|
||||
return ['/bin/sh', '-c', `${quartoArgs} 2>&1`]
|
||||
// LocalCommandRunner replaces $COMPILE_DIR before the shell sees it.
|
||||
//
|
||||
// Do NOT pass --output: combining --to typst with --output *.pdf causes
|
||||
// Quarto to write a Typst source file (.typ) with a .pdf extension instead
|
||||
// of running the full typst→PDF pipeline. Instead, let Quarto name the PDF
|
||||
// after the source file (main.qmd → main.pdf) and rename it afterwards.
|
||||
const inputPath = `$COMPILE_DIR/${mainFile}`
|
||||
const pdfName = mainFile.replace(/\.[^/.]+$/, '') + '.pdf'
|
||||
const renderedPdf = `$COMPILE_DIR/${pdfName}`
|
||||
const cmd =
|
||||
`quarto render ${inputPath} --to typst 2>&1 && ` +
|
||||
`mv ${renderedPdf} $COMPILE_DIR/output.pdf`
|
||||
return ['/bin/sh', '-c', cmd]
|
||||
}
|
||||
|
||||
function _writeLogOutput(compileName, directory, output, callback) {
|
||||
|
||||
Reference in New Issue
Block a user