1前書き

このクイック記事では、AsciiDocドキュメントから本を作成する方法、およびさまざまなスタイルオプションを使用して本をカスタマイズする方法について説明します。

JavaのAsciiDocに慣れていない場合は、リンク:/asciidoctor[AsciiDoctorの概要]を参照してください。


2バックエンドブックの種類

AsciiDoctorjを使って本を作成する最も簡単な方法は、前述の記事のようにMavenを使うことです。 ** 唯一の違いは、

doctype

タグを指定してそれを__“ book”に設定する必要があるということです。

<backend>pdf</backend>
<doctype>book</doctype>

定義されたDoctypeで、AsciiDoctorjはあなたが本を作りたいことを知っているので、それは作成します:

  • タイトルページ

  • 目次

  • 本文の最初のページ

  • パーツとチャプター

言及された部分を得るために、Asciidocドキュメントは本のために普通であるタイトル、セクションと他の部分を定義するべきです。


3.


カスタムスタイルの定義

本を書いている間、私たちがカスタムスタイルを使いたいのは当然です。単純なYAMLファイルで定義されたAsciiDoc固有のフォーマット言語でこれを行うことができます。

たとえば、このコードの抜粋では、本の各ページの外観を定義します。 A4の用紙フォーマットで縦モード、縦と横が0.75インチ、横が1インチの余白にします。

page:
    layout: portrait
    margin:[0.75in, 1in, 0.75in, 1in]    size: A4

また、本のフッターとヘッダーにカスタムスタイルを定義することもできます。

header:
  height: 0.5in
  line__height: 1
  recto__content:
    center: '{document-title}'
  verso__content:
    center: '{document-title}'

footer:
  height: 0.5in
  line__height: 1
  recto__content:
    right: '{chapter-title} | ** {page-number}** '
  verso__content:
    left: '** {page-number}**  | {chapter-title}

より多くのフォーマットオプションはhttps://github.com/asciidoctor/asciidoctor-pdf/blob/master/docs/theming-guide.adoc[AsciiDoctorjのGithubページ]にあります。

カスタムテーマをブック生成プロセスに含めるには、スタイルファイルが配置されている場所のパスを定義する必要があります。場所は、__pom.xmlのattributes部分で指定されています。

<pdf-stylesdir>${project.basedir}/src/themes</pdf-stylesdir>
<pdf-style>custom</pdf-style>

1行目は、スタイルが定義されているパスを定義し、2行目は拡張子なしのファイル名を指定します。

これらの変更により、

pom.xml

は次のようになります。

<configuration>
    <sourceDirectory>src/docs/asciidoc</sourceDirectory>
    <outputDirectory>target/docs/asciidoc</outputDirectory>
    <attributes>
        <pdf-stylesdir>${project.basedir}/src/themes</pdf-stylesdir>
        <pdf-style>custom</pdf-style>
    </attributes>
    <backend>pdf</backend>
    <doctype>book</doctype>
</configuration>

4.本を作り出す

あなたの本を生成するには、プロジェクトディレクトリでMavenを実行するだけです。生成された本は

target/docs/asciidoctor/

ディレクトリにあります。


5結論

このチュートリアルでは、Mavenを使ってシンプルなスタイルで装飾された本を生成する方法を紹介しました。

いつものように、この記事のコードはhttps://github.com/eugenp/tutorials/tree/master/asciidoctor[over on GitHub]にあります。