吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6420|回复: 20
收起左侧

[原创工具] CodeColorist代码着色工具

[复制链接]
ChiChou 发表于 2011-2-22 18:16
本帖最后由 ChiChou 于 2011-2-24 18:05 编辑

cc.rar (86.98 KB, 下载次数: 41) CodeColorist是为经常在博客/BBS贴代码的人设计的一款小工具。下载解压后打开index.htm允许执行脚本即可使用。
还可以访问在线的http://cc.du110.com/chl/,不过速度有点慢。

支持的语法高亮
Action Script,ASM,C,C++,C#,VB,Pascal,Delphi,JavaScript,Java,HTML,XML,CSS,Ruby,Python,PHP,SQL,批处理,NSIS,PureBasic。

使用方法

界面.png

首先将需要发布的代码复制到剪贴板,然后打开本工具的页面;
将代码粘贴到代码框中;
设置好您需要的字体、背景颜色;
在左边的列表中选择单击相应的语法,即可生成着色后的代码;
在IE下可以直接单击【复制】按钮将代码复制到剪贴板,其他浏览器则需要用户自行复制HTML。您可以切换到HTML(UBB)视图复制HTML(UBB)代码;
如果生成的代码有异常,您可以单击【编辑】按钮返回修改;
在博客、论坛编辑框中粘贴即可。



2011-2-24 18:04 更新
由于Discuz会HTML的转换导致换行失效,现在我上传了一个修改版的

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

nyoran 发表于 2011-2-23 08:57
代码高亮工具 很实用
moli 发表于 2011-2-23 10:46
lovennc 发表于 2011-2-23 10:58
Acocecs 发表于 2011-2-23 17:21
这个不错啊很实用,感谢楼主分享。
 楼主| ChiChou 发表于 2011-2-23 17:36
本帖最后由 ChiChou 于 2011-2-23 17:37 编辑

看来在DZ论坛的支持有点小问题,回车都被吃掉了 - -

一九八六 发表于 2011-2-23 17:50
不错,这个非常实用。
zhoufeng458 发表于 2011-2-23 19:26
精品不能错过
感谢楼主分享!
liktmart 发表于 2011-2-23 19:56
有人用过不?好用不好用撒?
ak2500 发表于 2011-2-23 23:53

m_height

本帖最后由 ak2500 于 2011-2-23 23:55 编辑

/*ui.jsAuthor:        ChiChouLastUpdate:    2010-06-30*/var m_viewmode=0;var m_height=500;var idMsg;function OnPaste(){ //粘贴
    OnChangeView(0);        var codeSrc=$("codesrc");    if(document.all){        codeSrc.select();        document.execCommand("Paste");        location.replace("#");        return;    } else {        MyMsgBox("仅支持IE浏览器。","错误");    }    }function OnColor(stx){ //着色
    if(OnCheckCode(1)==1) return;        var src = $("codesrc").value;    var clsHightlight = new CLASS_HIGHLIGHT(src,stx);    var szCode=clsHightlight.highlight();    $("codeFrame").innerHTML=szCode;    $("txthtml").value="<div style='border:"+$("codeEditor").style.border+";background:"+$("codeEditor").style.background+"'>"+szCode+"</div>";    $("txtubb").value=HTML2UBB(szCode);    OnChangeView(1);    MyMsgBox("语法着色完成。您可以:<p><button onclick=\"OnCopyCode()\" title=\"Copy\">复制代码</button> <button onclick=\"OnChangeView(0)\">重新编辑</button></p>","操作完成");    idMsg=setTimeout('OnCloseMsg()',10000);}function OnCheckCode(src){ //检查代码是否为空
    var code;    switch(src){        case 1:    code = $("codesrc").value;break;        case 2:    code = $("txthtml").innerText;break;}    if(code.length == 0){        MyMsgBox("请先输入代码。","错误");        idMsg=setTimeout("OnCloseMsg()",3000); //2秒自动关闭
        return 1;    }    return 0;}function OnChangeColor(color){ //修改背景颜色
    OnChangeView(1);    var obj=$("codeFrame")    obj.style.border = "1px solid #" + bdcolor[color;    obj.style.background = "#"+bgcolor[color;}function OnCopyCode(){ //复制着色后的代码
    if(!document.all){        MyMsgBox("复制功能仅支持IE。","错误");        return;    }        if(OnCheckCode(2)==1) return; //检查代码   
    switch(m_viewmode){        case 1://Rich Edit
            var objEditor = $("codeEditor");            objEditor.contentEditable = true;  //设置编辑状态可用
            objEditor.focus();                 //设置焦点
            document.execCommand("SelectAll",false,""); //选定
            document.execCommand("Copy",false,"");      //复制
            document.execCommand("Unselect",false,"");  //取消选择
            objEditor.contentEditable = false; //设置编辑状态为禁止
            window.location.replace("#");      //返回顶部
            break;        case 2://HTML
            window.clipboardData.setData('text',$("txthtml").value);            break;                case 3://UBB
            window.clipboardData.setData('text',$("txtubb").value);            break;    }    MyMsgBox("复制成功。马上分享您的代码吧!","操作完成"); //完成
    idMsg=setTimeout('OnCloseMsg()',3000); //3秒自动关闭
}function OnChangeView(mode){    OnCloseMsg();    m_viewmode=mode;    var boxes=new Array("codesrc","codeEditor","txthtml","txtubb");        var tli=$("viewtab").getElementsByTagName("li");      for(i=0;i<tli.length;i++){           tli[i.className=i==mode?"on":"";        $(boxes[i).style.display=i==mode?"block":"none";}    $(boxes[mode).focus();}/*Create elements*/function createMenu(){    var szReturn="";    for(var i in m_fonts){szReturn=szReturn + "<li class='lst_items_out' style='font-family:"+m_fonts[i+"'>"+m_fonts[i+"</li>";}        return szReturn;}function createStxList(){    var szReturn="";    for(var i in m_syntax){szReturn=szReturn+"<button title=\""+m_syntax[i+"\" onclick=\"OnColor('"+i+"')\">"+i+"</button>";}    szReturn=szReturn+"";    return szReturn;}function createColorMenu(){    var szReturn="<ul id='selcolor'>";    for(var i in bgcolor){szReturn=szReturn+"<li style='background-color:#"+bgcolor[i+"' onclick='OnChangeColor(\""+i+"\")'></li>";}    szReturn=szReturn+"</ul>";    return szReturn;}function SelectFont(){    inputobj=$("sel_font");      btnobj=$("sel_font_lst");    optionobj=$("lst_items");    optionobj.style.display=optionobj.style.display==""?"none":"";       for(var i=0;i<optionobj.childNodes.length;i++){        optionobj.focus();        optionobj.childNodes[i.onmouseover=function (){            this.className="lst_items_over";        }            optionobj.childNodes[i.onmouseout=function (){            this.className="lst_items_out";        }        optionobj.childNodes[i.onclick=function (){            inputobj.innerHTML=this.innerHTML;            inputobj.style.fontFamily=this.innerHTML;            optionobj.blur();            optionobj.style.display="none";        }            }}function $(szID){return document.getElementById(szID);}function HTML2UBB(str){    str = str.replace(/\r/g,"");    str = str.replace(/on(load|click|dbclick|mouseover|mousedown|mouseup)="[^"+"/ig,"");    str = str.replace(/<script[^>]*?>([\w\W]*?)<\/script>/ig,"");    str = str.replace(/<a[^>]+href="([^"]+)"[^>*>(.*?)<\/a>/ig,"\n$2\n");    str = str.replace(/<font[^>+color=([^ >+)[^>*>(.*?)<\/font>/ig,"[color=$1]$2"
);    str = str.replace(/<img[^>+src="([^"+)"[^>]*>/ig,"\n[img$1[/img\n");    str = str.replace(/<([\/]?)b>/ig,"[$1b");    str = str.replace(/<([\/]?)strong>/ig,"[$1b");    str = str.replace(/<([\/]?)u>/ig,"[$1u");    str = str.replace(/<([\/]?)i>/ig,"[$1i");    str = str.replace(/&nbsp;/g," ");    str = str.replace(/&amp;/g,"&");    str = str.replace(/&quot;/g,"\"");    str = str.replace(/&lt;/g,"<");    str = str.replace(/&gt;/g,">");    str = str.replace(/<br>/ig,"\n");    str = str.replace(/<[^>]*?>/g,"");    str = str.replace(/\[url=([^\]]+)\]\n(\[img\][^\[]+?\[\/img\])\n\[\/url\]/g,"[url=$1$2[/url");    str = str.replace(/\n+/g,"\n");    return str;}function getFont(){    var o=$("sel_font");    switch(o.tagName){            case "TEXTAREA":        case "INPUT":        case "SELECT":            return o.value;            break;        case "DIV":        case "SPAN":            return o.innerHTML;            break;        default:            return o.innerHTML;            break;    }}function addRows(){    m_height+=10;    $("mainframe").style.height=m_height+"px";}function minusRows(){    if(m_height>100){        m_height-=10;        $("mainframe").style.height=m_height+"px";    }}function MyMsgBox(szInfo,szTitle){    clearTimeout(idMsg);    document.getElementById('msgframe').style.display='block';    objMsgBox=document.getElementById('msgbox');    objMsgBox.style.display='block';    document.getElementById('msgboxtit').innerHTML=szTitle+"<a id=\"closebtn\" title=\"关闭消息\" href=\"#\" onclick=\"OnCloseMsg()\"></a>";    document.getElementById('msgtext').innerHTML=szInfo;}function OnCloseMsg(){    document.getElementById('msgbox').style.display='none';    document.getElementById('msgframe').style.display='none';    clearTimeout(idMsg);}function ShowAbout(){    MyMsgBox("<h2><img src=\"images/logo.gif\"><br/>关于 CodeColorist</h2>版本: 2.1 作者: ChiChou",    "About");    idMsg=setTimeout('OnCloseMsg()',10000); //10秒自动关闭}
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-23 08:48

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表