livedoor Blog でシンタックスハイライトさせる (差分)
はてブロにエントリーするギャグ。
基本は上のエントリー通りに実行すればほぼ OK なんですが、当エントリーポスト時デフォルトだと 5 行目と 10 行目にしかリスト番号が表示されない罠が。いつからそうなったのだろうか?
原因は参照している sunbrust.css 内にあるこの記述です。
/* Specify class=linenums on a pre to get line numbering */ ol.linenums { margin-top: 0; margin-bottom: 0; color: #AEAEAE; } /* IE indents via margin-left */ li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8 { list-style-type: none } /* Alternate shading for lines */ li.L1,li.L3,li.L5,li.L7,li.L9 { }
ご丁寧に 5 行目と 10 行目以外はリスト番号が非表示になっておる。何故こんなことしたし。
で、冒頭の方式は Google Hosted Libraries から js と CSS を参照するタイプなので、CSS を直接いじることが出来ません。
なので list-style-type: decimal をプロパティに指定した同じ class 名をオーバーライドさせることにしました。
livedoor Blog は管理画面からテンプレートの CSS を編集できるので、自分の場合は記事本文をラップしてる article-body-inner を親クラスにし、ol.linenums li という子クラスを生やして対応。
.article-body-inner ol.linenums li { list-style-type: decimal!important; }
これで全ての行にリスト番号が表示されるようになりました。