Wenn man bedenkt, dass ein Buch im DocBook-Format "modular" erstellt werden kann, hoffte ich, dass ich AsciiDoc ähnlich machen kann und Kapitel und Abschnitte der ersten Ebene in separate Dateien aufteilen kann. Leider sagt die Dokumentation nichts darüber aus. Die einzige mögliche Lösung, die ich bisher gesehen habe, ist, meinen eigenen AsciiDoc-Präprozessor zu schreiben, der alle "Teile" -Dateien zusammenführt und das Buch generiert. Hat jemand dieses Problem jetzt gelöst?Ist es möglich, ein modulares AsciiDoc-Buch (das aus wenigen Dateien besteht) zu haben?
Antwort
Zwei Beispiel Wege aus dem asciidoc Spickzettel: http://powerman.name/doc/asciidoc
include::footer.txt[]
oder
[source,perl]
----
include::script.pl[]
----
Eine Option ist in der Bedienungsanleitung behandelt: http://www.methods.co.nz/asciidoc/userguide.html#X90
Eine weitere Möglichkeit, ein Skript zu schreiben wäre, die cat
alle Teildateien zusammen dann das Ergebnis an asciidoc mit stdin passieren würden. Das könnte etwa wie cat part1.txt part2.txt part3.txt | asciidoc -
aussehen. Bitte beachten Sie, dass bei der Eingabe per stdin manchmal Probleme auftreten. Beachten Sie außerdem, dass am Ende jeder Teildatei zusätzliche Zeilenumbrüche erforderlich sind, um zu verhindern, dass cat
die Formatierung beeinträchtigt.
Ja, die Lösung, die Sie vorgeschlagen haben, ist, wie ich es jetzt mache (und im OP erklärt wird) – DejanLekic
Hier ist ein weiteres Beispiel für den Fall, jemand sucht, wie dies zu tun.
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
=====
Ich habe ein Buch-Vorlage einrichten, die ich in allen von Buch verwenden, können Sie es hier finden: 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.
////
I Kapitel nicht auf mehrere Dateien aufgeteilt, denn wenn man eine umfassen Datei asciidoc nimmt die mitgelieferte Dateipfad die Eltern von neu zu sein beinhaltet, aussehen diesen Baum:
.
|-- 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
- Wenn ich die Dateibinund ich was
feedback.adoc
Ich werdeinclude::capitulos/feedback.adoc[]
- verwenden Aber wenn ich an der Datei
cap1.adoc
bin, müssen Sieinclude::feedback.adoc[]
verwenden (da sie im selben Verzeichnis sind).
Ich denke, es ist einfacher zu halten alle umfasst an einem Ort, es funktioniert für mich. Ich füge nur Codes ein, die den anderen Weg benutzen.
Eine gute Ordnerstruktur. Insbesondere, wenn Sie für jedes Kapitel zusätzliche Quelltextdokumente haben. –
Ich bin mir nicht sicher, aber ich denke, dass 'asciidoc' und' asciidoctor' Tools Dateien anders enthalten. Sie müssen die Struktur verwenden, die Sie von Ihrem Tool unterstützen. –
Wie wäre es mit der Auswahl einer Antwort? ;) – sjas
Ich habe es nicht gesehen, bis du den Kommentar geschrieben hast! :) Erledigt! – DejanLekic