WP-Syntax代码编辑器插件

升级到WP3.3后,之前的那些插入代码按钮都没有用啦。。上去找插件没找到,自己改了一个syntanx-highlighter的。
感谢原作者leo108,http://leo108.com/

把下面的代码保存下来,放在一个文件夹里,打包成zip文件,然后就可以在插件处上传安装了。
或者下载这个文件:http://fatkun.googlecode.com/files/wp-syntax-editor.zip

<?php
/*
Plugin Name: WP-Syntax Code Editor
Plugin URI: http://fatkun.com/2012/01/wp-syntax-code-editor.html
Description: 在编辑框加入一个插入wp-syntax代码的按钮,修改自syntax-highlighter-with-add-button-in-editor(原作者leo108)
Version: 1.0.0
Original Author: leo108
Author URI: http://fatkun.com/
*/
function codebox_init(){
?>
<div id="codebox" class="meta-box-sortables ui-sortable" style="position: relative;"><div class="postbox">
<div class="handlediv" title="Click to toggle"></div>
<h3 class="hndle"><span>WP-Syntax</span></h3>
<div class="inside">
Language:
<select id="language">
	<option value="other">Other</option>
	<option value="bash">Bash</option>
	<option value="c">C</option>
	<option value="cpp">C++</option>
	<option value="csharp">C#</option>
	<option value="css">CSS</option>
	<option value="delphi">Delphi</option>
	<option value="diff">Diff</option>
	<option value="erl">Erlang</option>
	<option value="groovy">Groovy</option>
	<option value="html">HTML</option>
	<option value="java">Java</option>
	<option value="js">Javascript</option>
	<option value="perl">Perl</option>
	<option value="php">PHP</option>
    <option value="ps">PowerShell</option>
	<option value="python">Python</option>
	<option value="ruby">Ruby</option>
	<option value="sql">SQL</option>
	<option value="vb">VisualBasic</option>
	<option value="vb">VB.NET</option>
	<option value="xml">XML</option>
</select>
<br>
Code:<br><textarea id="code" rows="8" cols="70" style="width:97%;"></textarea><br>
<input type="button" value="INSERT" onclick="javascript:settext();">
 
<script>
function settext()
{ 
	var str='<pre escaped="true" lang="';
	var lang=document.getElementById("language").value;
	var code=document.getElementById("code").value;
	str=str+lang;
	str=str+'">';
	str=str+filter(code)+"</pre>";
	var win = window.dialogArguments ¦¦ opener ¦¦ parent ¦¦ top;
	win.send_to_editor(str);
	document.getElementById("code").value="";
}
function filter (str) {
	str = str.replace(/&/g, '&amp;');
	str = str.replace(/</g, '&lt;');
	str = str.replace(/>/g, '&gt;');
	str = str.replace(/'/g, '&#39;');
	str = str.replace(/"/g, '&quot;');
	str = str.replace(/\¦/g, '&brvbar;');
	return str;
}
</script>
</div></div></div>
<script>document.getElementById("postdivrich").appendChild(document.getElementById("codebox"));</script>
<?php
}
add_action('dbx_post_sidebar','codebox_init');
?>



fatkun

4条评论

你跟我的想法一样,但是我想改的是wp-codebox,但是尼玛的,可视化和HTML转换的时候<pre 中的标签有些就是丢失了。。。。弄了一天了,还没解决。

我用的就是3.5.1 。。。这个只是插入代码的而已(在添加文章那里有),高亮的话 我用了 WP-Syntax插件

发表评论

电子邮件地址不会被公开。