Asciidoctorによる本の生成

Asciidoctorで本を生成する

1. 前書き

この簡単な記事では、generate a book from an AsciiDoc documentを実行する方法と、さまざまなスタイルオプションを使用して本をカスタマイズする方法を示します。

JavaのAsciiDocに慣れていない場合は、Introduction to AsciiDoctorを読むことができます。

2. バックエンドブックタイプ

AsciiDoctorjを使用して本を生成する最も簡単な方法は、前述の記事のようにMavenを使用することです。 The only difference is that you have to specify doctype tag and set it to “book”.

pdf
book

定義されたdoctypeを使用して、AsciiDoctorjは本を作成したいことを知っているため、以下を作成します。

  • タイトルページ

  • 目次

  • 本文コンテンツの最初のページ

  • 部品と章

言及された部分を取得するには、Ascidoc文書には、タイトル、セクション、および本に通常のその他の部分が定義されている必要があります。

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}

その他のフォーマットオプションはGithub page of AsciiDoctorjにあります。

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

${project.basedir}/src/themes
custom

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

これらの変更により、pom.xmlは次のようになります。


    src/docs/asciidoc
    target/docs/asciidoc
    
        ${project.basedir}/src/themes
        custom
    
    pdf
    book

4. ブックを生成する

ブックを生成するには、プロジェクトディレクトリでMavenを実行するだけで、生成されたブックはtarget/docs/asciidoctor/ディレクトリにあります。

5. 結論

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

いつものように、この記事のコードはover on GitHubにあります。