google-prettify
といくつかのjQueryを使用して、構文の強調表示をTumblrブログに含めようとしています。
Google-prettify
<pre>
構文を強調するために要素にクラスが必要prettyprint
ですが、マークダウンを使用してTumblr投稿を作成しているため、<pre>
要素にクラスを追加できません。
私の解決策は、このjQueryスニペットを使用してprettyprint
クラスを<pre>
要素に追加することです。
<script type='text/javascript'>
$(document).ready(function() {
$('pre').addClass('prettyprint');
prettyPrint();
});
</script>
これは正常に機能していますが、コードスニペットを投稿するたびにすべて<
を変換するのではなく、Tumblrに表示するコードをコピーして貼り付けることができるようにしたいと思います。<
>
>
<
jQueryを使用して、すべてのとを対応するhtmlコードに置き換えたいのですが、要素>
内のみです。ただし、コードがプリティファイさpre
れる前にすべてを置き換える必要があるため、これにはいくつかの問題がある可能性があります。
新しいクラスを追加し、タグを置き換えてから、呼び出しprettyPrint();
てすべてを初期化できますか?または、コードを投稿する前に、HTML文字を手動でHTMLエンティティに変更する必要がありますか?
少し更新:
このスクリプトは、、、および..を除いて、<
およびを変更することで機能します。>
<body>
<html>
<head>
<script type='text/javascript'>
$(function() {
var $pre = $('pre');
$pre.html($pre.html().replace(/</g, 'f').replace(/>/g, 'l'));
});
</script>
<pre>
<html></html>
<body></body>
<head><head>
<i></i>
</pre>
注:f
コードをテストするためだけに代わりに使用しました。