やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

AsciiDocでリストにコードブロックを含めてみた

手順を書くときに重宝するはず。

成果物

GitHubAsciiDoctor.List.CodeBlock.201705101704

問題

Markdownで手順書を書くときに順序付きリストを使っていた。しかし手順の間にコードブロックを書くと番号が途切れてしまう。

追記 2018-04-26

Markdownでも解決できた。

1. 手順1
    ```sh
    $ cd
    $ echo
    ```
1. 手順2

https://markdown-it.github.io/

GMF, CommonMarkdown, どちらの仕様かは知らないが、<code>部分をインデントすれば連番になる。AsciiDocよりも直感的で見やすく書きやすい。(includeはできないが)

<table>などほかの要素も含めることができる。組合せも可。文句なし。

解決

AsciiDoctorなら以下のように解決できる。

f:id:ytyaru:20170510170258p:plain

test.asc

. python2
+
[source, python]
----
include::python2.py[]
----
. python3
+
[source, python]
----
include::python3.py[]
----

test.html

<ol class="arabic">
<li>
<p>python2</p>
<pre><code>{python2.pyのコード}</code></pre>
</li>
<li>
<p>python3</p>
<pre><code>{python3.pyのコード}</code></pre>
</li>
</ol>

順序付きリスト

. 手順1
. 手順2
. 手順3

AsciiDocは.で順序付きリストを書ける。順序付きリストだとわかりにくい。Markdown1.でわかりやすかったが1文字多い。

複合リスト

test.asc

. 1行テキストA
+
{複数行AsciiDoc要素}
. 1行テキストB

上記のように+を使う。

所感

AsciiDocは可読性を捨てればMarkdownよりはるかに高機能。

前回までのAsciiDoc学習

開発環境