【发布时间】:2021-05-16 08:10:24
【问题描述】:
在我的公司,我们正在尝试从使用 Word 写作过渡到使用 Markdown。我们需要几种 markdown 输出格式,所以我正在尝试创建一个 grunt.js 任务,它可以监视文件夹,并将 markdown 文件转换为所需的输出。 所需的输出是:DOCX、PDF 和 HTML。
我正在使用 grunt.js 的 node-pandoc 插件来处理转换。
我目前有创建 docx 和 pdf 的繁重任务。问题在于 HTML 文件——Pandoc 似乎要求明确指定 HTML 文件名,而不仅仅是使用原始文件的名称。如果没有指定,则会产生错误(openBinaryFile: 不存在)。
我当前的任务选项如下所示:
grunt.initConfig({
node_pandoc: {
engdocx: {
//English source+options
expand: true,
src: 'Eng/*.md',
dest: 'pdfBuild/',
ext: '.docx',
flatten: true,
options: {
flags: '-f markdown -t docx -o --reference-doc=reference.docx --metadata-file=EngMeta.yml'
}
},
hebdocx:{
//Hebrew source+options
expand: true,
src: 'Heb/*.md',
dest: 'pdfBuild/',
ext: '.docx',
flatten: true,
options: {
flags: '-f markdown -t docx -o --reference-doc=reference.docx --metadata-file=HebMeta.yml'
},
// Target-specific file lists and/or options go here.
},
html_heb: {
// Convert markdown to html
expand: true,
src: ['Heb/*.md'],
dest: 'Final/',
ext: '.html',
flatten: true,
options: {
flags: '-f markdown -t html -o'
},
},
html_eng: {
// Convert markdown to html
expand: true,
src: ['Eng/*.md'],
dest: 'Final/',
ext: '.html',
flatten: true,
options: {
flags: '-f markdown -t html -s -o '
},
}
我想知道我是否可以:
- 从任务中提取文件名。
- 将其动态附加到每个任务的选项中,以便 pandoc 知道所需的文件名是什么。
或者,如果我可以说服 pandoc 在不明确指定文件名的情况下生成文件。
【问题讨论】:
-
pandoc -t html -o outfile,见pandoc.org/MANUAL.html