photo credit: mrfrogger via photopin cc
こんばんは、ボーノです。
自分はWordPressでブログを運用し、crayon-syntax-highlighterというプラグインを使用してコードを貼り付けている。
そしてMarkdown記法で書く。おなじみMarsEditも使用している。
非常に一般的な、よくある組み合わせだと思う。
しかし、コードの<とか>が勝手にエスケープされて、<や>に変換されて表記がめちゃくちゃになってしまうという現象にずっと悩まされていた。
ググっても案外この問題はヒットしなくて、みんなどうしているのか?だった。 ブログエディタやらプラグインやら、怪しいものもたくさんある。
ようやく、どんぴしゃのサイトが見つかったので残しておく。
同様の悩みを抱えている方は、是非試してみてほしい。
<とか>の自動エスケープの解決方法
ずばり下記サイトに書いてある。本当に助かりました汗
crayon-syntax-highlighterで勝手にHTMLEscapeされる問題をどうにかしたい | デジタネイティブ
簡単に書くと、下記2つを行うだけ。
crayon_formatter.class.phpを編集
自分は下記ディレクトリにあった。
/var/www/html/wordpress/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php
563行目を下記の通り編集。
if (empty($code)) {
return $code;
}
/* Convert <, > and & characters to entities, as these can appear as HTML tags and entities. */
if ($escape) {
//563行目をコメントアウトする。
//$code = CrayonUtil::htmlspecialchars($code);
}
operator.txtを編集
下記ディレクトリで発見。
/var/www/html/wordpress/wp-content/plugins/crayon-syntax-highlighter/langs/default/operator.txt
不要な区切り文字(デリミタ)の削除。
# &=
# &
なお、デリミタとは要素同士を区切るための文字列のこと。CSVファイルのコンマと同じ役目だ。