Markdown リストで “and more” したい
Markdown で箇条書きリストを利用しているとき、“and more” としておきたい場合がある。このとき、“and more” はリスト項目の 1 つではないため、次のような書き方は避けたい。
- リンゴ
- オレンジ
- バナナ
- ...and more!
- リンゴ
- オレンジ
- バナナ
- ...and more!
本記事では、Markdown リストで “and more” がリストの一部でありながら、リスト項目の 1 つではないような見た目となる書き方を模索したい。
■ 目標
Markdown リストを用いて、“and more” がリストの一部でありながら、リスト項目の 1 つではないような見た目にしたい。
したがって、次のようなもの。1
- リンゴ
- オレンジ
- バナナ ...and more!
ここでは、“and more” が、リスト項目(“リンゴ”、“オレンジ”、“バナナ”)の一部ではないものの、リストの一部であることを表現できている。このようなものを Markdown で表現したい。
■ いろいろ試してみる
3 つのパターンを検討することが出来た。
▽ パラグラフとして挿入する
最後のリスト項目内にパラグラフとして “and more” を挿入する。
- リンゴ
- オレンジ
- バナナ
...and more!
-
リンゴ
-
オレンジ
-
バナナ
...and more!
この方法では、確かに “and more” がリスト内に含まれていて、リスト項目にはならずに表現されているが、リスト全体がルーズになってしまっている。
▽ 改行する
最後のリスト項目内で改行して “and more” を挿入する。改行にはさまざまな方法があるが、今回は明示的に <br>
タグを使用する。
- リンゴ
- オレンジ
- バナナ <br> ...and more!
- リンゴ
- オレンジ
- バナナ
...and more!
意外と上手く表現されているのではないだろうか。
Qiita では、ソース内の改行が <br>
として見なされるので、次のような書き方でも良い。
- リンゴ
- オレンジ
- バナナ
...and more!
- リンゴ
- オレンジ
- バナナ
...and more!
これであれば、リスト項目の順序を入れ替えても問題ない。
懸念点として、この Markdown のパース結果が以下のようになっていることが挙げられる。意味論としては、リスト項目内に “and more” が含まれてしまっている。
<ul>
<li> リンゴ </li>
<li> オレンジ </li>
<li> バナナ <br> ...and more! </li>
</ul>
そこまで気にする人はいないか……
▽ 別のリストとして挿入する
主となるリストに続けて、別のリストの形で “and more” を挿入する。
- リンゴ
- オレンジ
- バナナ
+ ...and more!
- リンゴ
- オレンジ
- バナナ
- ...and more!
この方法では、“and more” がリストの外に配置されてしまっているため、次のようにしてリスト内に含めてみる。
- リンゴ
- オレンジ
- バナナ
- + ...and more!
- リンゴ
- オレンジ
- バナナ
-
- ...and more!
これも上手く表現されているのではないだろうか。やはり、意味論としては奇妙なものにはなっているものの、目標に掲げた内容とは合致している。
HTML では、次のようにパースされている。
<ul>
<li> リンゴ </li>
<li> オレンジ </li>
<li> バナナ </li>
<li>
<ul>
<li> ...and more! </li>
</ul>
</li>
</ul>
余談
「そもそも、“and more” がリスト項目内に含まれていても、項目の一部だと思って読む人はいない」って?確かに……。
-
実は、HTML を使って次のように表現している。
<ul> <li> リンゴ </li> <li> オレンジ </li> <li> バナナ </li> ...and more! </ul>
“and more” が
<li>
に含まれていないものの、<ul>
には含まれている。このような書き方は Markdown で再現できない。(※ この書き方が HTML 的に不正な書き方であるかは不明) ↩