Markdown (やその派生)のpre要素になる記法では、問答無用にその中はcode要素でマークアップされる。多くの場合はコードの断片なのでそれでいいんだけど、そうじゃないことももちろんある。例えばCLIプログラムでの操作手順を記載する時のターミナルの画面のコピー。

プログラムによる出力はsamp要素で、キーボードによる入力はkbd要素になるので、以下のようにマークアップするのがベストに近い。

<pre><samp>$ <kbd>node --help</kbd>
Usage: node [options] [ -e script | script.js ] [arguments]
       node debug script.js [arguments]

Options:
...
NODE_DISABLE_COLORS    Set to 1 to disable colors in the REPL

Documentation can be found at http://nodejs.org/
</samp></pre>

シェル・プログラムの出力である全体をまずsamp要素でマークアップし、能動的にキー入力する部分はkbd要素でマークアップする。出力のカラーやターミナルのプロンプトなどをそのままに色を付けたい場合は、span要素に適当なclassを振ってマークアップすれば良い。


過去ログのマークアップをこうなるように直してた。ちょくちょくsamp要素は使ってたけど、kbd要素は面倒がってまったく使ってなかった……。間違ったマークアップしてたよりはマシだったと思うことにしよう。