LoginSignup
3
0

More than 5 years have passed since last update.

markdown-itにてプラグインを使わずに特定の<ul>を横並び表示する方法

Last updated at Posted at 2018-05-03

最近、markdownからHTMLへの変換にmarkdown-itを使っている。特に深い理由は無いけど、Visual Studio Codeのサイトに紹介されているからなんとなく。

リストの書き方のおさらい

Markdownではlistを簡単に書ける。コンパイルすると単純なHTMLになる。

- a
- b
- c
echo $'- a\n- b\n- c\n' | node_modules/.bin/markdown-it
<ul>
<li>a</li>
<li>b</li>
<li>c</li>
</ul>

Flexboxを使って横並び

ul {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
}

ul li {
    display: inline-flex;
}

よっしゃ!

いや、待てよ。
これだとドキュメント内の全リストに適用されるじゃん。

特定のlistを狙う

CSSでは適用範囲を絞るのにclassを使うのが一般的だよね。

しかしCommonMarkにはまだ属性を指定する方法が定まっていないので、<ul>要素にはclassを直接付与できない。

markdown-itはプラグインがあるようだけど、どうせこの時点では属性記法が定まっていないしHTMLにしか変換しないから、直接<div>要素を書いてしまおうではないか!

.hoge ul {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
}

.hoge ul li {
    display: inline-flex;
}
<div class="hoge">

- a
- b
- c

</div>
echo $'<div class="hoge">\n\n- a\n- b\n- c\n\n</div>\n' | node_modules/.bin/markdown-it
<div class="hoge">
<ul>
<li>a</li>
<li>b</li>
<li>c</li>
</ul>
</div>

優勝

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0