ここしばらくスライド作成に使っているAsciidoctor のReveal.js コンバーターのasciidoctor-reveal.js が久々のメジャーアップデートでv5.0.1 がリリースされました.
新機能をいくつか試してみました.
ここしばらくスライド作成に使っているAsciidoctor のReveal.js コンバーターのasciidoctor-reveal.js が久々のメジャーアップデートでv5.0.1 がリリースされました.
新機能をいくつか試してみました.
最近はスライド作成にAsciidoctor reveal.jsを利用しています.vimで書いてasciidoctor-revealjs-linuxコマンドで変換しています.
スライド内で打ち消し線を使おうと思ったのですが,変換されたスライドに反映されません.
[.line-through]#打ち消される文字列#
最近軽めのライブプレビューが出来て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で重いってことで選外に.
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)
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
ちょっと探したらこういうものがあった
$ 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+/-.