我试图通过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 代码替换所有的<
and >
,但只能在pre
元素内。然而,这可能会有一些问题,因为它需要在代码美化之前替换所有这些。
我可以附加新类,替换标签,然后调用prettyPrint();
初始化所有内容吗?或者我应该在发布代码之前手动将 html 字符更改为 htmlentities 吗?
小更新:
此脚本适用于更改<
and >
,除了<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
替换只是为了测试代码。