AsciiDoc – matoken's blog https://matoken.org/blog Is there no plan B? Wed, 10 Dec 2025 10:23:34 +0000 ja hourly 1 https://wordpress.org/?v=7.1 https://matoken.org/blog/wp-content/uploads/2025/03/cropped-1865f695c4eecc844385acef2f078255036adccd42c254580ea3844543ab56d9-32x32.jpeg AsciiDoc – matoken's blog https://matoken.org/blog 32 32 Pandoc 3.8.3 でasciidoc 入力に対応 https://matoken.org/blog/2025/12/01/pandoc-3-8-3-now-supports-asciidoc-input/ https://matoken.org/blog/2025/12/01/pandoc-3-8-3-now-supports-asciidoc-input/#respond Mon, 01 Dec 2025 14:20:48 +0000 https://matoken.org/blog/?p=4747

たくさんの文章形式に対応した文章変換ツールのPandoc のバージョン3.8.3 がリリースされました.
個人的にはasciidoc 形式の入力対応が嬉しいです.

Add asciidoc as an input format (#1456).

個人的にasciidoc 形式は好きなのですが,これまでPandoc ではasciidoc への変換は出来てもasciidoc からの変換が出来ないという一方通行でしたがこれで相互変換できそうです.

これまでのpandoc のasciidoc 対応状況
$ pandoc --version
pandoc 3.1.11.1
Features: -server +lua
Scripting engine: Lua 5.4
User data directory: /home/matoken/.local/share/pandoc
Copyright (C) 2006-2023 John MacFarlane. Web: https://pandoc.org
This is free software; see the source for copying conditions. There is no
warranty, not even for merchantability or fitness for a particular purpose.
$ pandoc --list-input-formats | grep -i asciidoc
$ pandoc --list-output-formats | grep -i asciidoc
asciidoc
asciidoc_legacy
asciidoctor

早速pandoc 3.8.3 を試します.
とりあえずGitHub Releases の.deb を’もらってきて導入.

$ wget -c https://github.com/jgm/pandoc/releases/download/3.8.3/pandoc-3.8.3-1-amd64.deb (1)
$ sha256sum pandoc-3.8.3-1-amd64.deb  (2)
d7fac78b58b8c8da39254955eff321233ab97d74e8b2d461c0f0719a1fb5f357  pandoc-3.8.3-1-amd64.deb
$ sudo apt install ./pandoc-3.8.3-1-amd64.deb (3)
$ which pandoc
/usr/bin/pandoc
$ pandoc -v (4)
pandoc 3.8.3
Features: +server +lua
Scripting engine: Lua 5.4
User data directory: /home/matoken/.local/share/pandoc
Copyright (C) 2006-2025 John MacFarlane. Web:  https://pandoc.org
This is free software; see the source for copying conditions. There is no
warranty, not even for merchantability or fitness for a particular purpose.
$ pandoc --list-input-formats | grep -i asciidoc (5)
asciidoc
$ pandoc --list-output-formats | grep -i asciidoc
asciidoc
asciidoc_legacy
asciidoctor
$ pandoc slide/slide.adoc -o /tmp/out.pdf -f asciidoc -t pdf --pdf-engine=weasyprint (6)
  1. pandoc debian amd64 package を入手

  2. hash 確認

  3. system に導入

  4. バージョン確認

  5. 入力フォーマットにasciidoc があるのを確認

  6. 適当なasciidoc をpdf に変換してみる

asciidoc からpdf への変換が出来ました.

pandoc 3.8.3 adoc2pdf

ちなみに現時点での対応フォーマットは入力51,出力75 のようです.この中にはhtml/html4/html5 のようなバージョン違いのようなものも含まれます.

$ pandoc --list-input-formats | wc -l
51
$ pandoc --list-output-formats | wc -l
75

ということでこれまでも便利だったPandoc ですがasciidoc 入力対応でまた一つ便利になりました.

環境
$ pandoc -v
pandoc 3.8.3
Features: +server +lua
Scripting engine: Lua 5.4
User data directory: /home/matoken/.local/share/pandoc
Copyright (C) 2006-2025 John MacFarlane. Web:  https://pandoc.org
This is free software; see the source for copying conditions. There is no
warranty, not even for merchantability or fitness for a particular purpose.
$ dpkg-query -W pandoc
pandoc  3.8.3-1
$ lsb_release -dr
Description:    Debian GNU/Linux forky/sid
Release:        n/a
$ arch
x86_64
]]>
https://matoken.org/blog/2025/12/01/pandoc-3-8-3-now-supports-asciidoc-input/feed/ 0
asciidoctor-reveal.js v5.0.1 の新機能いくつか https://matoken.org/blog/2023/06/30/some-new-features-in-asciidoctor-reveal-js-v5-0-1/ https://matoken.org/blog/2023/06/30/some-new-features-in-asciidoctor-reveal-js-v5-0-1/#respond Fri, 30 Jun 2023 14:50:40 +0000 https://matoken.org/blog/?p=3909

ここしばらくスライド作成に使っているAsciidoctor のReveal.js コンバーターのasciidoctor-reveal.js が久々のメジャーアップデートでv5.0.1 がリリースされました.

新機能をいくつか試してみました.

以下の新機能を試しました.

  • Auto-Animate
  • search plugin
  • favicon

Auto-Animate

静的なpdfや画像にしたときにページが増えるので自分はあまり使わない機能ですがよく見かけるので一応.

Add support for the Auto-Animate feature (#439)

以下のあたりが参考になります.

[%auto-animate]
=== cats emoji

[data-id=foo]
* 😺
* 🐈

[%auto-animate]
=== cats emoji+ascii

[data-id=foo]
* 😺
* 🐈
* (ΦωΦ)
* (=^・・^=)
アニメーション中のスクリーンショット

adoc reveraljs autoanimate

以下のIssue によるとsource code block でも動作するようですが,手元ではうまく行っていません.

search plugin

スライド内で検索ができるプラグインです.

  • Add support for the built-in search plugin (#441)** You can enable this plugin using :revealjs_plugin_search: enabled.

既定値では無効になっているのでスライドのヘッダ部分に以下を書いて有効にします.

:revealjs_plugin_search: enable

生成されたhtml スライをを開いた状態で ctrl + shift + f で模擬上に検索ボックスが出てきて検索できます.

adoc reveraljs search

favicon

favicon が使えるようになりました.

Add favicon to HTML if its attribute is present in AsciiDoc

ヘッダ部分で以下のようにfavicon を設定します.:favicon には :imagesdir: は効かないようです.

:favicon: resources/favicon.ico

adoc reveraljs favicon

環境

$ asciidoctor-revealjs-linux --version
Asciidoctor reveal.js 5.0.1 using Asciidoctor.js 2.2.6 (Asciidoctor 2.0.17) [https://asciidoctor.org]
Runtime Environment (node v12.13.1 on linux)
CLI version 3.2.0
]]>
https://matoken.org/blog/2023/06/30/some-new-features-in-asciidoctor-reveal-js-v5-0-1/feed/ 0
Asciidoctor reveal.jsで打ち消し線 https://matoken.org/blog/2022/04/23/strikethrough-in-asciidoctor-reverl-js/ https://matoken.org/blog/2022/04/23/strikethrough-in-asciidoctor-reverl-js/#respond Sat, 23 Apr 2022 10:02:38 +0000 http://matoken.org/blog/?p=3627

最近はスライド作成にAsciidoctor reveal.jsを利用しています.vimで書いてasciidoctor-revealjs-linuxコマンドで変換しています.

スライド内で打ち消し線を使おうと思ったのですが,変換されたスライドに反映されません.

[.line-through]#打ち消される文字列#

以下のページを参考にカスタムスタイルシートを設定することで解決しました.

my.cssに追記
.line-through{
  text-decoration:line-through
}

slide line through ng
slide line through ok

具体的には,スライドの.adocファイルの :customcss:resources/my-css.css の様にカスタムcssファイルを指定しているのでその中に追記しました.

slide.adoc
= スライドテスト
Kenichiro Matohara(matoken) <maroken@example.org>
:revnumber: 1.0
:revdate: 2022-04-23(Sat)
:revremark: 「{doctitle}」
:homepage: https://matoken.org/
:imagesdir: resources
:data-uri:
:example-caption: 例
:table-caption: 表
:figure-caption: 図
:backend: revealjs
:revealjs_theme: serif
:customcss: resources/my-css.css
:revealjs_slideNumber: c/t
:title-slide-transition: none
:icons: font
:revealjs_hash: true
:revealjs_center: true
:revealjs_autoPlayMedia: true
:revealjs_transition: false
:revealjs_transitionSpeed: fast

== 打ち消し線を使いたい

[.line-through]#打ち消される文字列#
resources/my.css
.reveal .slides {
  font-family: 'BIZ UDPGothic';
  font-size: calc(28px + 0.25vw);
}

.reveal .slides h1,
.reveal .slides h2 {
  font-weight: 90%;
}

.line-through{
  text-decoration:line-through
}

revealjs_themeによってはそのまま打ち消し線が使えるような気もします.(今回はserif)

環境
$ asciidoctor-revealjs-linux -v
Asciidoctor reveal.js 4.1.0 using Asciidoctor.js 2.2.1 (Asciidoctor 2.0.12) [https://asciidoctor.org]
Runtime Environment (node v12.13.1 on linux)
CLI version 3.2.0
]]>
https://matoken.org/blog/2022/04/23/strikethrough-in-asciidoctor-reverl-js/feed/ 0
AsciiDocFXをARM64環境とかで試す https://matoken.org/blog/2017/08/03/try-asciidocfx-in-the-arm64/ https://matoken.org/blog/2017/08/03/try-asciidocfx-in-the-arm64/#respond Wed, 02 Aug 2017 21:14:20 +0000 http://matoken.org/blog/?p=1637

最近軽めのライブプレビューが出来てARM環境でも動くAsciiDoc環境がないかなーと探しています.今回はAsciiDocFX.

Java製のマルチプラットホームエディタ.ライブプレビュー機能もあり.

Asciidoc FX is a book / document editor to build PDF, Epub, Mobi and HTML books, documents and slides. AsciidocFX is also a winner of https://www.oracle.com/corporate/pressrelease/dukes-award-102815.html[Duke’s Choice Award 2015].

導入

アーカイブをダウンロードして展開するだけ.アーカイブはOS別にJRE同梱版とJREなし版がある.
Linux版JRE同梱版は中を見るとamd64だった.他のarchtectureではNo_JREを選ぶしかなさそう.

導入例
$ wget https://github.com/asciidocfx/AsciidocFX/releases/download/v1.5.5/AsciidocFX_Linux_No_JRE.tar.gz
$ tar xvf AsciidocFX_Linux_No_JRE.tar.gz
$ AsciidocFX/bin/AsciidocFX

OpenJDKで動かす場合は openjfx pkgも必要.

$ sudo apt install openjdk-8-jre openjfx

ARM64 + OracleJava環境では動作させることができていない.

警告

動作はしたが, overlay-scrollbar が見つからないという警告メッセージが出る.

$ ./AsciidocFX
Gtk-Message: Failed to load module "overlay-scrollbar"

overlay-scrollbar-gtk2 pkgを導入することで解決.

$ sudo apt install overlay-scrollbar-gtk2

使い勝手

  • ライブプレビューがあるのはやはり便利

    • よくずれるけども……

  • 動作はCore2Duoマシンでも起動には時間がかかるが起動すれば問題なく利用できる

    • ARM64(1.2GHz 64-Bit Quad-Core ARM Cortex A54)+OpenJDK環境ではキー入力からのタイムラグが気になって辛い

  • 書き出しフォーマットがHTML, PDF, Ebook(mobi/Epub), Docbookと豊富

    • しかしGUIでしか利用できないようでMarpと同じようなもどかしさがある

  • 基本的に3ペインで,左端はファイラー,アウトライン,最近使ったファイルが利用できるが閉じることも出来る(左端のアクティブなタブをクリック)

  • 右端ペインはプレビュー,設定が可能でこれも閉じること出来る(右端のアクティブなタブをクリック)

  • マウスの中ボタンや,shift+Insでの貼付けができない

  • 通常のコピー,ペーストもできなくなることがある

  • 利用中にフォントが滲むような表示になる

    • エディタ画面やプレビュー画面は更新で直るが他の部分は起動し直さないと直らない

てことでマウス中ボタン貼り付けや手持ちのARMで重いってことで選外に.

]]>
https://matoken.org/blog/2017/08/03/try-asciidocfx-in-the-arm64/feed/ 0
OpenJDK環境でAsciidocFXを動かす https://matoken.org/blog/2017/08/01/run-asciidocfx-in-openjdk-environment/ https://matoken.org/blog/2017/08/01/run-asciidocfx-in-openjdk-environment/#respond Tue, 01 Aug 2017 13:20:17 +0000 http://matoken.org/blog/?p=1633

AsciidocFXのLinux版はJRE同梱版(amd64のみ)とJREなし版が配布されています.
OpenJDKで動かないなと思っていたのですが,調べてみると以下のようなissueが.

てことでOpenJFXの導入を試してみたらamd64でもarm64環境でも起動しました :)
しかし手元のarm64環境ではキー入力してから表示されるまでのラグが結構気になるので実用にはちょっと辛そうでした.

$ sudo apt install openjfx
$ java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-0ubuntu1.16.04.2-b11)
OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)
]]>
https://matoken.org/blog/2017/08/01/run-asciidocfx-in-openjdk-environment/feed/ 0
Debian arm64環境にOracle Java導入 https://matoken.org/blog/2017/08/01/debian-arm64%e7%92%b0%e5%a2%83%e3%81%aboracle-java%e5%b0%8e%e5%85%a5/ https://matoken.org/blog/2017/08/01/debian-arm64%e7%92%b0%e5%a2%83%e3%81%aboracle-java%e5%b0%8e%e5%85%a5/#respond Tue, 01 Aug 2017 12:49:26 +0000 http://matoken.org/blog/?p=1631

AsciidocFXはOpenJDKで動かないぽいのでOracle Java入れてみようとして少しはまりました.

Oracle Javaは java-package を使うようになったのかなるほど

ということでまずは java-package pkgを導入.

$ sudo apt install java-package

Oracleからjreを入手と思ったらarmのjaeおらんかった……

jdkには Linux ARM 32 Hard Float ABI, Linux ARM 64 Hard Float ABI があるのでこれを入れてみる.

しかしぐぬぬ.

$ make-jpkg ./jdk-8u141-linux-arm64-vfp-hflt.tar.gz
Creating temporary directory: /tmp/make-jpkg.wW7eUWpw3m
Loading plugins: /usr/share/java-package/common.sh /usr/share/java-package/javase.sh /usr/share/java-package/jdk-doc.sh /usr/share/java-package/oracle-jdk-doc.sh /usr/share/java-package/oracle-jdk.sh /usr/share/java-package/oracle-jre.sh /usr/share/java-package/oracle-server-jre.sh

Detected Debian build architecture: arm64
Detected Debian GNU type: aarch64-linux-gnu

No matching packaging method was found for jdk-8u141-linux-arm64-vfp-hflt.tar.gz.
Please make sure you are using a tar.gz or a self-extracting archive
Removing temporary directory: done

jdkのarchiveを展開して jaja -version とかしてみると動くようなのでダウンロードするファイルは合っていそう.

バグとして上がっていた.

こちらのパッチを使わせてもらう.

$ wget 'https://bugs.debian.org/cgi-bin/bugreport.cgi?att=2;bug=863247;filename=java-package.patch;msg=10' -O java-package.patch
$ sudo patch -P0 -d / < ./java-package.patch
$ time make-jpkg ./jdk-8u141-linux-arm64-vfp-hflt.tar.gz
  :
real    9m58.079s
user    8m53.790s
sys     1m29.510s
$ sha256sum oracle-java8-jdk_8u141_arm64.deb
93a9b6136195616db7e33749eec783a224a125c2b3529385b548a49f5189af12  oracle-java8-jdk_8u141_arm64.deb
$ sudo dpkg -i oracle-java8-jdk_8u141_arm64.deb

javaをOracleに切り替える.

$ sudo update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                              Priority   Status
 ------------------------------------------------------------
* 0            /usr/lib/jvm/java-8-openjdk-arm64/jre/bin/java     1081      auto mode
  1            /usr/lib/jvm/java-8-openjdk-arm64/jre/bin/java     1081      manual mode
  2            /usr/lib/jvm/oracle-java8-jdk-arm64/jre/bin/java   318       manual mode

Press <enter> to keep the current choice[*], or type selection number: 2
update-alternatives: using /usr/lib/jvm/oracle-java8-jdk-arm64/jre/bin/java to provide /usr/bin/java (java) in manual mode
$ java -version
java version "1.8.0_141"
Java(TM) SE Runtime Environment (build 1.8.0_141-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.141-b15, mixed mode)

ところで,なぜOracle Javaをarmで動かしたかったかというとAsciidocFXが実用的かどうかを試したかったからでした.しかし警告を出してすぐに終了してしまいました…….
armで未実装の機能を使っている感じでしょうか?

$ AsciidocFX_Linux_No_JRE/AsciidocFX
Java HotSpot(TM) 64-Bit Server VM warning: G1 GC is disabled in this release.

てことで削除しました.(169MBの容量が開放されました)

$ sudo apt purge oracle-java8-jdk java-package
$ sudo rm -rf /usr/share/java-package
]]>
https://matoken.org/blog/2017/08/01/debian-arm64%e7%92%b0%e5%a2%83%e3%81%aboracle-java%e5%b0%8e%e5%85%a5/feed/ 0
PlumaでAsciiDocのsyntax highlightを https://matoken.org/blog/2017/07/16/asciidoc-syntax-highlight-on-pluma/ https://matoken.org/blog/2017/07/16/asciidoc-syntax-highlight-on-pluma/#respond Sat, 15 Jul 2017 18:09:13 +0000 http://matoken.org/blog/?p=1622

ちょっと探したらこういうものがあった

$ git clone https://github.com/edusantana/asciidoc-highlight
$ cd ./asciidoc-highlight/gedit
$ ./install.sh
$ ls -lA ~/.local/share/gtksourceview-2.0/language-specs/asciidoc.lang
lrwxrwxrwx 1 mk mk 26  7月 16 02:40 /home/mk/.local/share/gtksourceview-2.0/language-specs/asciidoc.lang -> /home/mk/src/asciid
oc.lang
$ ls -lA ~/.local/share/gtksourceview-3.0/language-specs/asciidoc.lang
lrwxrwxrwx 1 mk mk 26  7月 16 02:40 /home/mk/.local/share/gtksourceview-3.0/language-specs/asciidoc.lang -> /home/mk/src/asciidoc.lang

シンボリックリンクが作られていた.scriptもこれだけ.

$ cat ./asciidoc-highlight/gedit/install.sh
#!/bin/sh
SRC=$PWD
mkdir -p ~/.local/share/gtksourceview-3.0/language-specs/
cd ~/.local/share/gtksourceview-3.0/language-specs/
ln -s $SRC/asciidoc.lang
mkdir -p ~/.local/share/gtksourceview-2.0/language-specs/
cd ~/.local/share/gtksourceview-2.0/language-specs/
ln -s $SRC/asciidoc.lang

一旦消してfileをcpしておいた.

$ rm ~/.local/share/gtksourceview-2.0/language-specs/asciidoc.lang ~/.local/share/gtksourceview-3.0/language-specs/asciidoc.lang
$ cp asciidoc-highlight/gedit/asciidoc.lang ~/.local/share/gtksourceview-3.0/language-specs/
$ ln -s ~/.local/share/gtksourceview-3.0/language-specs/asciidoc.lang ~/.local/share/gtksourceview-2.0/language-specs/
$ ls -lA ~/.local/share/gtksourceview-2.0/language-specs/asciidoc.lang                                                 lrwxrwxrwx 1 mk mk 68  7月 16 02:43 /home/mk/.local/share/gtksourceview-2.0/language-specs/asciidoc.lang -> /home/mk/.local/share/gtksourceview-3.0/language-specs/asciidoc.lang
$ ls -lA ~/.local/share/gtksourceview-3.0/language-specs/asciidoc.lang                                                 -rw-rw-r-- 1 mk mk 18731  7月 16 02:43 /home/mk/.local/share/gtksourceview-3.0/language-specs/asciidoc.lang

この後Plumaを起動すると,[表示]→[強調表示モード]→[マークアップ]→[AsciiDoc]が出てくる.
*.adocをopenすると自動的にsyntax highlightが有効になる.新規ファイルの場合*.adocとして保存しても効かない.要手動設定.

環境

$ dpkg-query -W pluma
pluma   1.18.2-0ubuntu1
$ neofetch
            .-/+oossssoo+/-.              mk@x200
        `:+ssssssssssssssssss+:`          -------
      -+ssssssssssssssssssyyssss+-        Model: 74574PJ ThinkPad X200
    .ossssssssssssssssssdMMMNysssso.      OS: Ubuntu Artful Aardvark (development branch) x86_64
   /ssssssssssshdmmNNmmyNMMMMhssssss/     Kernel: 4.11.0-10-generic
  +ssssssssshmydMMMMMMMNddddyssssssss+    Uptime: 3 days, 1 hour, 19 minutes
 /sssssssshNMMMyhhyyyyhmNMMMNhssssssss/   Packages: 4211
.ssssssssdMMMNhsssssssssshNMMMdssssssss.  Shell: bash 4.4.12
+sssshhhyNMMNyssssssssssssyNMMMysssssss+  Resolution: 1280x800
ossyNMMMNyMMhsssssssssssssshmmmhssssssso  WM: awesome
ossyNMMMNyMMhsssssssssssssshmmmhssssssso  Theme: Ambiance [GTK3]
+sssshhhyNMMNyssssssssssssyNMMMysssssss+  Icons: Ubuntu-mono-dark [GTK3]
.ssssssssdMMMNhsssssssssshNMMMdssssssss.  CPU: Intel 2 Duo P8400 (2) @ 2.267GHz
 /sssssssshNMMMyhhyyyyhdNMMMNhssssssss/   GPU: Intel® GM45 Express Chipset
  +sssssssssdmydMMMMMMMMddddyssssssss+    GPU: Intel® GM45 Express Chipset
   /ssssssssssshdmNNNNmyNMMMMhssssss/     Memory: 7239MiB / 7878MiB
    .ossssssssssssssssssdMMMNysssso.
      -+sssssssssssssssssyyyssss+-
        `:+ssssssssssssssssss+:`
            .-/+oossssoo+/-.
]]>
https://matoken.org/blog/2017/07/16/asciidoc-syntax-highlight-on-pluma/feed/ 0