include directive で adoc ファイルを分ける時に AsciiDoc Plugin の preview が表示されるようにする
Translate to English
https://translate.google.com/translate?sl=auto&tl=en&u=https%3A%2F%2Fksby.hatenablog.com%2Fentry%2F2021%2F01%2F13%2F193258
概要
記事一覧はこちらです。
前回の include directive で章毎に adoc ファイルを分けてみる で、adoc ファイルを include した時に AsciiDoc Plugin の preview にイメージが表示されず、かつ index.adoc 内の記述に赤波下線が表示されていたので、それらを解消します。
参照したサイト・書籍
- Include directives and base directory
https://asciidoctor.github.io/asciidoctor-gradle-plugin/master/user-guide/#_include_directives_and_base_directory
目次
- build.gradle に
baseDirFollowsSourceFile()
を追加する - src/docs/asciidoc/02_include/index.adoc を変更する
- asciidoctor タスクを実行して結果を確認する
手順
build.gradle に baseDirFollowsSourceFile()
を追加する
Asciidoctor Gradle Plugin Suite の Include directives and base directory を見ると include directive は baseDir に設定されたディレクトリを基準にファイルの位置を判断する模様。
この section には baseDir...
で始まるメソッドが4つ記載されていますが、index.adoc のあるディレクトリが baseDir になると AsciiDoc Plugin の preview も表示されるようになるので baseDirFollowsSourceFile()
を使用することにします。
build.gradle の asciidoctor block に baseDirFollowsSourceFile()
を追加します。
.......... asciidoctor { sourceDir file("src/docs/asciidoc") baseDirFollowsSourceFile() sources { include "**/index.adoc" } resources { from("${sourceDir}") { include "**/*.png" } } } ..........
src/docs/asciidoc/02_include/index.adoc を変更する
src/docs/asciidoc/02_include/index.adoc を以下のように変更します。
= include directive で章毎にファイルを分けてみる :lang: ja :doctype: book :idprefix: :idseparator: - :tabsize: 4 :sectanchors: :sectnums: :icons: font :hide-uri-scheme: :docinfo: shared,private :docinfodir: ../../docinfo include::01.adoc[leveloffset=+1] include::02.adoc[leveloffset=+1]
- docinfodir の Path も baseDir のディレクトリを基準に判断されるので、
:docinfodir: src/docs/docinfo
→:docinfodir: ../../docinfo
に変更します。 - include directive で指定している Path から
src/docs/asciidoc/02_include/
を削除してファイル名だけにします。
index.adoc に赤波下線が表示されなくなり、AsciiDoc Plugin の preview 上に include した adoc ファイルの内容が表示されるようになりました。
asciidoctor タスクを実行して結果を確認する
asciidoctor タスクを実行すると特にエラーメッセージは出ずに BUILD SUCCESSFUL が出力されて、
build/docs/asciidoc/02_include/index.html を表示すると include したファイルの内容が表示されており、docinfo.html の css も適用されて本文のフォントがゴシック体になっていました。
adoc ファイルを同じディレクトリ内に配置するならばこの方法で良さそうです。
履歴
2021/01/13
初版発行。