默认情况下,Asciidoctor命令行界面将转换后的输出文件写入与输入文件相同的目录。如果没有指定输出文件,输出文件的名称是通过将输入文件的文件扩展名替换为与输出格式相匹配的文件扩展名来派生的(例如,将.adoc替换为.html)。

你可以指示 Asciidoctor CLI 写入内容到不同的输出文件(或目录)。有几种情况你会想要指定一个不同的输出文件:

Caution
如果您指定输出文件为相对路径,它将相对于当前工作目录而非输入文件所在的目录来解析(也就是说,指定输出文件也隐含地设置了输出目录)。

要指定输出文件,你需要使用 -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 -

参阅 io-piping.html 以了解更多信息。