ソースコードのマークアップについて考えてみる。

大抵こんな感じかなと思います。

pre + code
  1. <pre><code>
  2. def printFoo() :
  3. print("Foo!")
  4. </code></pre>
pre + code+
  1. <pre>
  2. <code>def printFoo() :</code>
  3. <code> print("Foo!")</code>
  4. </pre>
ol + code
  1. <ol>
  2. <li><code>def printFoo() :</code></li>
  3. <li><code> print("Foo!")</code></li>
  4. </ol>
ul + code
  1. <ul>
  2. <li><code>def printFoo() :</code></li>
  3. <li><code> print("Foo!")</code></li>
  4. </ul>
ul + pre + code
  1. <ul>
  2. <li><pre><code>def printFoo() :
  3. print("Foo!")</code></pre></li>
  4. <li><pre><code>def printHoge() :
  5. print("Hoge!")</code></pre></li>
  6. </ul>

結論から言うと、どれでも良いし、これ以外にも良いマークアップがあるかもしれません。

code, preの解釈の仕方次第でしょうね。

リスト構造を使うのはソースコードの断片は、「ソースコードリスト」や「プログラムリスト」等と呼ばれることもあり、行単位のコードのリストや、メソッド等のブロック単位のリストと解釈できるからです。

code要素はインライン要素なので、改行を含んでいるというのは結構違和感がありますが、まぁなんとかという感じだと思っています。

ちなみに、私は「ol + code」をよく使います。行番号付けるなら行単位の番号付きリストが最適だと考えているので。