指定输出文件

默认情况下,Asciidoctor CLI 会将转换后的输出文件写入输入文件所在的同一个目录。如果未指定输出文件,则输出文件名将根据输入文件名派生,通过将文件扩展名替换为与输出格式匹配的文件扩展名(例如,将 .adoc 替换为 .html)。

您可以指示 Asciidoctor CLI 将内容写入不同的输出文件(或目录)。在某些情况下,您会希望指定一个不同的输出文件:

  • 您希望输出文件具有不同的名称,也许是为了附加一个限定符,例如版本字符串。

  • 您希望输出文件写入到不同的目录。

  • 您正在将内容通过管道传递给 CLI,但希望将输出写入文件(在这种情况下,需要指定输出文件)。

如果将输出文件指定为相对路径,它将相对于当前工作目录而不是输入文件所在的目录进行解析(即,指定输出文件将隐式设置输出目录)。

要指定输出文件,请使用 -o 选项。例如,假设我们想转换 mydoc.adoc 并将输出写入包含当前日期的文件名。您将使用:

$ asciidoctor -o mydoc-$(date +%Y-%m-%d).html mydoc.adoc

我们也可以通过在输出文件前添加文件夹名称来将其写入另一个文件夹:

$ asciidoctor -o build/mydoc-$(date +%Y-%m-%d).html mydoc.adoc

如果您只想指定输出目录,而让文件名默认,请使用 -D 选项。

$ asciidoctor -D build mydoc.adoc

处理多个输入文件时也可以使用 -D 选项。

$ asciidoctor -D build *.adoc

如果您正在将内容通过管道传递给 CLI,默认是将输出写入 STDOUT。在这种情况下,如果您想将输出写入文件,则必须指定一个文件。

$ cat mydoc.adoc | asciidoctor -o build/mydoc-$(date +%Y-%m-%d).html -

请参阅 通过 CLI 管道传递内容 以了解更多信息。