はてなブログの、キーワードリンク(コンテンツ内の特定キーワードが勝手にリンクされる)は、PREの中身にも適用されるので、SyntaxHighlighter(プログラムコードなどを書式化してキレイに貼り付けるツール)と相性が悪い。
コードがリンクされるだけなら問題ないのですが、リンクのAタグがそのまま表示されて酷いことになります。
(追記: この問題は <pre data-unlink="">
で回避できるらしいです)
お金がないならGistを貼れ
プロ版だとこの機能をOFFに出来るらしいので問題ないみたいですが、先日はじめたばかりで、2年契約で、月600円はちょっとまだ気持ち的にも財布的にもムリ。
なので、貧乏人はSyntaxHighlighterをあきらめて GitHub Gistで貼りましょう。キレイに貼れますし、中身がリンクされることもないようです。
プロ版、無料版関係なく、はてなブログ的には「コード貼るならGistでしょ」ということなんでしょうね。編集サイドバーにも「Gist貼り付け」のメニューがあるし。
これに気付くまで約5時間かかりましたよ。
5時間の死闘w
HEAD内SCRIPTでjQuery待ちして$('PRE A')
や$('CODE A')
を削除してみたり、CODEの中身を書き換えてみたり、果敢にチャレンジしていたのですが、ことごとく玉砕しました。
キチンと設計すれば行けそうな気もしたのですが、変換されるタイミングが微妙だし、リンクが貼られるキーワードも不定なので、やってられない。
定年後に再チャレンジするかもしれない。
トレードオフは世の定め
個人的には、見た目の好みからSyntaxHighliterなのですよ。複数ファイルのGistではファイルの並び順が制御できないし、その辺の自由度という面でも。
ただ、GistだとSyntaxHighliterみたいに、<
を <
に変換しなくて良いから、そこらへんでトレードオフかな?
動かないコードを貼ってしまうリスクも少ないかと。
追記:はてなブログでのSyntaxHighlighterのキーワードリンク回避方法
無料版でも、<pre data-unlink="">
でSyntaxHighlighterのキーワードリンクを回避できるらしいですね。先日何で見つけられなかったのだろう。また試してみます。