/ #asciidoc #asciidoctor 

AsciidoctorのDockerイメージにmermaidを追加

htakeuchi/docker-asciidoctor-jpmermaidを追加しました。

Dockerイメージにmermaidをインストールする際、以下の問題があり、単純にインストールできなかったのですが、とりあえず使える状態にしました。

  • mermaid CLIで前提にしているPhantomJSのnpmパッケージがAlpine Linuxでは動作しない
  • mermaid 7.1.0からCLIコマンド(mermaidコマンド)が同梱されなくなり、mermaid.cliに分離されたが、新しく提供されるmmdcコマンドはasciidoctor-diagramで未サポート

ということで、まずはPhantomJSを動かせるようにして、mermaid 7.0.9をインストールするようにしました。

本当はasciidoctor-diagramでmmdcを使えるようにするパッチを書いた方が良いんですけどね。

asciidoc文書の中に、

[mermaid]
....
sequenceDiagram
    Alice->>Bob: Hello Bob, how are you?
    alt is sick
        Bob->>Alice: Not so good :(
    else is well
        Bob->>Alice: Feeling fresh like a daisy
    end
    opt Extra response
        Bob->>Alice: Thanks for asking
    end
....

などと書いて、

$ asciidoctor -r asciidoctor-diagram sample.adoc

とすると、

mermaid

のような図を描画することができます。

Edit(Admin)