前段
下記ページがとても参考になりました。
これに加えて、出力されるPDFのthemeカスタマイズに向けた環境を準備する話です。
概要
IntelliJ IDEAでPlantUMLを書くに続き、今回はマークアップ言語AsciiDocとPlantUMLを組み合わせた文書作成環境を準備します。
構成
シンプルなGradleプロジェクトです。
$ tree
.
├─build.gradle // PDF生成のためのビルド定義をここに記述
├─docs // 出力先
└─src
└─docs
└─asciidoc // AsciiDoc(*.adoc)
└─theme // 独自themeファイル
(Gradle Wrapperは省略)
今回作成するのは、build.gradle
と*.adoc
だけです。
独自themeはデフォルトのものをコピーして使います。
設定
build.gradle
plugins {
id 'org.asciidoctor.convert' version '1.5.3'
}
apply plugin: 'org.asciidoctor.convert'
apply plugin: 'org.asciidoctor.gradle.asciidoctor'
dependencies {
asciidoctor 'org.asciidoctor:asciidoctor-gradle-plugin:1.5.3'
asciidoctor 'org.asciidoctor:asciidoctorj-diagram:1.3.1'
asciidoctor 'org.asciidoctor:asciidoctorj-pdf:1.5.0-alpha.11'
}
asciidoctorj {
version = '1.5.4'
}
asciidoctor {
backends = ['html5', 'pdf']
requires = ['asciidoctor-diagram']
outputDir = file('docs')
attributes (
'imagesdir' : "$rootDir/docs/images",
'toc-title' : '\u76EE\u6B21', // 「目次」
'numbered' : true,
'pdf-stylesdir' : "theme", // 独自テーマ格納ディレクトリ
'pdf-style' : 'custom', // テーマ名
)
}
defaultTasks 'asciidoctor'
*.adoc
(省略)
theme
gradleプラグインasciidoctorj-pdf
に同梱されているデフォルトのthemeファイルを取り出します。
まずは下記jarを展開すると...
- $HOME/.gradle/caches/modules-2/files-2.1/org.asciidoctor.asciidoctorj-pdf/1.5.0-alpha.11/{ハッシュ値}/asciidoctorj-pdf-1.5.0-alpha.11.jar
下記場所からasciidoctor-pdf
のthemeファイルが取り出せます。
- gems/asciidoctor-pdf-1.5.0.alpha.11/data/themes/default-theme.yml
これをプロジェクトフォルダsrc/docs/asciidoc/theme
に、custom-theme.yml
という名前で配置しましょう。
名前のcustom
の部分はbuild.gralde
でpdf-style
として設定した名前です。
実行
Gradle Wrapperで実行します。
$ ./gradlew
# もしくは
$ ./gradlew asciidoctor
src/docs/asciidoc/*.adoc
がPDFに変換され、docs/pdf
に出力されます。
その他
- 日本語ファイル名のadocは、PDF化するとファイル名が文字化けしてしまいました。
- IntelliJを、AsciiDocとPlantUMLのエディタとして使っています。文書作成からPDF生成(Gradle実行)までこの中で実現できるので中々快適です。
- 今後はthemeファイルのカスタマイズを進めていきます。