考虑到DocBook格式的书籍可以以“模块化”方式完成,我希望我可以与AsciiDoc类似,并将章节和第一级部分分开放在不同的文件中。不幸的是,文档没有说明这一点。到目前为止,我看到的唯一可能的解决方案是编写我自己的AsciiDoc预处理器,它将合并所有“部分”文件并生成书。 有人现在解决了这个问题吗?
答案 0 :(得分:14)
asciidoc cheatsheet的两个示例方式:http://powerman.name/doc/asciidoc
include::footer.txt[]
或
[source,perl]
----
include::script.pl[]
----
答案 1 :(得分:11)
我已经设置了一本我在书中使用的图书模板,你可以在这里找到它:asciidoc-book-template-with-rake-and-github
= Nome da disciplina
:doctype: book
:lang: pt-BR
:ascii-ids:
:showcomments:
:gitrepo: https://github.com/xxx/yyy
:code_dir: code
:image_dir: imagens
include::capitulos/prefacio.adoc[]
////
= Nome da Parte =
////
include::capitulos/cap1.adoc[]
include::capitulos/feedback.adoc[]
include::capitulos/cap2.adoc[]
include::capitulos/feedback.adoc[]
include::capitulos/cap3.adoc[]
include::capitulos/feedback.adoc[]
// ...
include::capitulos/glossario.adoc[]
include::capitulos/respostas.adoc[]
////
Always end files with a blank line to avoid include problems.
////
我没有拆分更多文件的章节,因为当你包含一个文件时asciidoc将包含的文件路径作为新包含的父项,看看这个树:
.
|-- capitulos
| |-- cap1.adoc
| |-- cap2.adoc
| |-- cap3.adoc
| |-- code
| | `-- cap1
| | |-- helloworld.c
| | `-- Makefile
| |-- feedback.adoc
| |-- glossario.adoc
| |-- prefacio.adoc
| |-- respostas.adoc
| `-- symbols.adoc
|-- docinfo.xml
|-- livro.asc
`-- wip.adoc
livro.adoc
时,我要包含feedback.adoc
的内容我会使用include::capitulos/feedback.adoc[]
cap1.adoc
,您将不得不使用include::feedback.adoc[]
(因为它们位于同一目录中)。我认为将所有包含放在同一个地方更容易,它对我有用。我只使用其他方式包含代码。
答案 2 :(得分:5)
以下是另一个例子,如果有人正在考虑如何做到这一点。
Book Title Goes Here
====================
Author's Name
v1.1, 2012-11
:doctype: book
:icons:
:max-width: 45em
// Push titles down one level
:leveloffset: 1
include::chapter1.asciidoc[tabsize=4]
include::chapter2.asciidoc[]
include::chapter3.asciidoc[]
include::../../common/appendix/MigrationNotes.asciidoc[]
include::glossary.asciidoc[]
// Return to normal title levels
:leveloffset: 0
Index
=====
答案 3 :(得分:4)
用户指南中介绍了一个选项:http://www.methods.co.nz/asciidoc/userguide.html#X90
另一种选择是编写一个脚本,将cat
所有部分文件放在一起,然后使用stdin将结果传递给asciidoc。这可能看起来像cat part1.txt part2.txt part3.txt | asciidoc -
。请注意,有时通过stdin提供输入时会出现问题。另请注意,每个零件文件末尾可能需要额外的换行符,以防止cat
影响格式化。