默认情况下,Asciidoctor命令行界面将转换后的输出文件写入与输入文件相同的目录。如果没有指定输出文件,输出文件的名称是通过将输入文件的文件扩展名替换为与输出格式相匹配的文件扩展名来派生的(例如,将.adoc替换为.html)。
你可以指示 Asciidoctor CLI 写入内容到不同的输出文件(或目录)。有几种情况你会想要指定一个不同的输出文件:
-
您可能想要将输出文件保存为一个不同的名称,可能是为了添加一个诸如版本字符串之类的标识符。
-
你想把输出文件写入一个不同的目录。
-
你正在向命令行接口(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 以了解更多信息。