<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Asciidoc on heppoko blog</title><link>https://blog-0847c6.gitlab.io/tags/asciidoc/</link><description>Recent content in Asciidoc on heppoko blog</description><generator>Hugo -- gohugo.io</generator><language>ja-jp</language><lastBuildDate>Mon, 30 Sep 2024 00:00:00 +0900</lastBuildDate><atom:link href="https://blog-0847c6.gitlab.io/tags/asciidoc/index.xml" rel="self" type="application/rss+xml"/><item><title>asciidoctor-pdf で見出し前の改ページを無効にする</title><link>https://blog-0847c6.gitlab.io/posts/2024/09/30/asciidoctor-pdf/</link><pubDate>Mon, 30 Sep 2024 00:00:00 +0900</pubDate><guid>https://blog-0847c6.gitlab.io/posts/2024/09/30/asciidoctor-pdf/</guid><description>&lt;p&gt;asciidoctor-pdf で PDF を作成したときに、見出しレベル２の前に改ページが自動挿入されて無駄に余白があるページがあったので、これを無効化する方法です。&lt;/p&gt;
&lt;p&gt;PDF 作成時に指定するテーマファイルで設定します。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://docs.asciidoctor.org/pdf-converter/latest/theme/heading/#chapter" target="_blank" rel="noopener"
 &gt;https://docs.asciidoctor.org/pdf-converter/latest/theme/heading/#chapter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これを踏まえ、&lt;code&gt;heading-chapter&lt;/code&gt; で &lt;code&gt;break-before&lt;/code&gt; を &lt;code&gt;auto&lt;/code&gt; に指定すれば改ページが無効になりました。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;heading:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; chapter:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; break-before: auto
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ただ、&lt;code&gt;auto&lt;/code&gt; なので、場合によっては改ページされる場合もあるかもしれません。&lt;/p&gt;
&lt;p&gt;尚、上記の設定は &lt;code&gt;doctype&lt;/code&gt; が &lt;code&gt;book&lt;/code&gt; の場合のみ有効なようです。&lt;/p&gt;
&lt;h2 id="参考-url"&gt;&lt;a href="#%e5%8f%82%e8%80%83-url" class="header-anchor"&gt;&lt;/a&gt;参考 URL
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://docs.asciidoctor.org/pdf-converter/latest/theme/heading/#chapter" target="_blank" rel="noopener"
 &gt;https://docs.asciidoctor.org/pdf-converter/latest/theme/heading/#chapter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Asciidoc で include ディレクティブを使用している場合の画像へのパス</title><link>https://blog-0847c6.gitlab.io/posts/2024/09/26/asciidoc/</link><pubDate>Thu, 26 Sep 2024 00:00:00 +0900</pubDate><guid>https://blog-0847c6.gitlab.io/posts/2024/09/26/asciidoc/</guid><description>&lt;p&gt;画像を読み込んでいるファイルを、別の階層にあるファイルから &lt;code&gt;include&lt;/code&gt; ディレクティブで読み込むと、相対パスの位置が変わってしまいます。&lt;/p&gt;
&lt;p&gt;画像を読み込んでいるファイルを単体で表示したときにはそのファイルからの相対パスになりますが、&lt;code&gt;include&lt;/code&gt; しているファイルを表示したときには、&lt;code&gt;include&lt;/code&gt; しているファイルからの相対パスになってしまいます。&lt;/p&gt;
&lt;p&gt;同様のことで悩んでいる方はそれなりにいるようで、実際私もかなり困っています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://qiita.com/hyt126/items/7a070bc2b1e185b9146f" target="_blank" rel="noopener"
 &gt;https://qiita.com/hyt126/items/7a070bc2b1e185b9146f&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://qiita.com/ihgs/items/3c7a4fa9a2a81b23da82" target="_blank" rel="noopener"
 &gt;https://qiita.com/ihgs/items/3c7a4fa9a2a81b23da82&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://discuss.asciidoctor.org/Strange-issues-with-asciidoc-imagesdir-stops-working-td8194.html" target="_blank" rel="noopener"
 &gt;https://discuss.asciidoctor.org/Strange-issues-with-asciidoc-imagesdir-stops-working-td8194.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;とりあえずの解決方法としては、私にとっては以下の方法が一番役に立ちました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://stackoverflow.com/questions/75919047/images-in-various-locations-in-included-asciidoc-files" target="_blank" rel="noopener"
 &gt;https://stackoverflow.com/questions/75919047/images-in-various-locations-in-included-asciidoc-files&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ちょっと手間ですが、&lt;code&gt;include&lt;/code&gt; 直前で &lt;code&gt;imagedir&lt;/code&gt; を都度セットします。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;:imagesdir: hoge
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;include::hoge/included_file.adoc
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ただし、多重で include している場合は上記では上手くいきません。&lt;br&gt;
この場合は、試行錯誤の結果、以下のようにすることで上手くいきました。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ifdef::imagesdir[:imagesdir: {imagesdir}/hoge]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ifndef::imagesdir[:imagesdir: hoge]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;include::hoge/included_file.adoc
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;imagesdir&lt;/code&gt; が既に定義されている（＝別のファイルから include されている）場合は、現在の &lt;code&gt;imagesdir&lt;/code&gt; に付加する形で &lt;code&gt;imagesdir&lt;/code&gt; を再定義します。&lt;br&gt;
&lt;code&gt;imagesdir&lt;/code&gt; が定義されていない（＝別のファイルから include されていない）場合は、前述と同じように &lt;code&gt;imagesdir&lt;/code&gt; を定義します。&lt;/p&gt;
&lt;h2 id="参考-url"&gt;&lt;a href="#%e5%8f%82%e8%80%83-url" class="header-anchor"&gt;&lt;/a&gt;参考 URL
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://stackoverflow.com/questions/75919047/images-in-various-locations-in-included-asciidoc-files" target="_blank" rel="noopener"
 &gt;https://stackoverflow.com/questions/75919047/images-in-various-locations-in-included-asciidoc-files&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Jekyll で Asciidoc を使用する</title><link>https://blog-0847c6.gitlab.io/posts/2024/09/12/jekyll-asciidoc/</link><pubDate>Thu, 12 Sep 2024 00:00:00 +0900</pubDate><guid>https://blog-0847c6.gitlab.io/posts/2024/09/12/jekyll-asciidoc/</guid><description>&lt;p&gt;markdown だけでなく asciidoc も使えたら便利なので。&lt;/p&gt;
&lt;p&gt;以下の記事で作成した環境に対して asciidoc を使えるようにします。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://kuttsun.blogspot.com/2024/09/jekyll-docker.html" target="_blank" rel="noopener"
 &gt;https://kuttsun.blogspot.com/2024/09/jekyll-docker.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;調べたところ以下のプラグインを使えば出来そうだったので、これを使ってみます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/asciidoctor/jekyll-asciidoc" target="_blank" rel="noopener"
 &gt;https://github.com/asciidoctor/jekyll-asciidoc&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="gemfile-の変更"&gt;&lt;a href="#gemfile-%e3%81%ae%e5%a4%89%e6%9b%b4" class="header-anchor"&gt;&lt;/a&gt;Gemfile の変更
&lt;/h2&gt;&lt;p&gt;ドキュメントの通りに、&lt;code&gt;Gemfile&lt;/code&gt; に以下を追加します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;group :jekyll_plugins do
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; gem &amp;#39;jekyll-asciidoc&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;end
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;_config.yml&lt;/code&gt; に以下を追加します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;plugins:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; - jekyll-asciidoc
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;尚、&lt;code&gt;jekyll-asciidoc&lt;/code&gt; は他のプラグインより先に記述する必要があるそうです。&lt;br&gt;
詳細は以下を参照してください。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/asciidoctor/jekyll-asciidoc?tab=readme-ov-file#plugin-ordering" target="_blank" rel="noopener"
 &gt;https://github.com/asciidoctor/jekyll-asciidoc?tab=readme-ov-file#plugin-ordering&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これで、&lt;code&gt;_post&lt;/code&gt; フォルダ内に asciidoc で書いたドキュメントを追加すれば OK です。&lt;br&gt;
ファイル名は Jekyll の決まりとして、&lt;code&gt;YYYY-MM-DD-title.adoc&lt;/code&gt; のように日付が入っている必要があります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://jekyllrb-ja.github.io/docs/posts/" target="_blank" rel="noopener"
 &gt;https://jekyllrb-ja.github.io/docs/posts/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;以下、サンプル通りに記事を作成してみました。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;= Sample Page
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;:page-layout: post
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;:page-permalink: /sample/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;:url-asciidoctor: https://asciidoctor.org
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;This is a sample page composed in AsciiDoc.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Jekyll converts it to HTML using {url-asciidoctor}[Asciidoctor].
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[source,ruby]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;puts &amp;#34;Hello, World!&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ただし、&lt;code&gt;layuout&lt;/code&gt; は &lt;code&gt;post&lt;/code&gt; に変更しています。&lt;br&gt;
レイアウトについては以下。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://qiita.com/a999/items/6c29ce072c19448ea579" target="_blank" rel="noopener"
 &gt;https://qiita.com/a999/items/6c29ce072c19448ea579&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これできちんと表示されることを確認しました。&lt;/p&gt;
&lt;h2 id="include-ディレクティブを使用するときの相対パス"&gt;&lt;a href="#include-%e3%83%87%e3%82%a3%e3%83%ac%e3%82%af%e3%83%86%e3%82%a3%e3%83%96%e3%82%92%e4%bd%bf%e7%94%a8%e3%81%99%e3%82%8b%e3%81%a8%e3%81%8d%e3%81%ae%e7%9b%b8%e5%af%be%e3%83%91%e3%82%b9" class="header-anchor"&gt;&lt;/a&gt;include ディレクティブを使用するときの相対パス
&lt;/h2&gt;&lt;p&gt;asciidoc では &lt;code&gt;include&lt;/code&gt; ディレクティブを使用して他の asciidoc ファイルを読み込むことができますが、このままやっても上手く描画されませんでした。&lt;br&gt;
同様の内容が issue に挙がっていました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/asciidoctor/jekyll-asciidoc/issues/182" target="_blank" rel="noopener"
 &gt;https://github.com/asciidoctor/jekyll-asciidoc/issues/182&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ベースディレクトリの設定がデフォルトではプロジェクトルートになっているので、ソースディレクトリとなるように設定すれば良さそうです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/asciidoctor/jekyll-asciidoc?tab=readme-ov-file#specifying-the-base-directory" target="_blank" rel="noopener"
 &gt;https://github.com/asciidoctor/jekyll-asciidoc?tab=readme-ov-file#specifying-the-base-directory&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;_config.yml&lt;/code&gt; に以下を追記すれば上手くいきました。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yml" data-lang="yml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;asciidoctor&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;base_dir&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="l"&gt;docdir&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;safe&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;unsafe&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="参考-url"&gt;&lt;a href="#%e5%8f%82%e8%80%83-url" class="header-anchor"&gt;&lt;/a&gt;参考 URL
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/asciidoctor/jekyll-asciidoc" target="_blank" rel="noopener"
 &gt;https://github.com/asciidoctor/jekyll-asciidoc&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://qiita.com/a999/items/6c29ce072c19448ea579" target="_blank" rel="noopener"
 &gt;https://qiita.com/a999/items/6c29ce072c19448ea579&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/asciidoctor/jekyll-asciidoc/issues/182" target="_blank" rel="noopener"
 &gt;https://github.com/asciidoctor/jekyll-asciidoc/issues/182&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>