补充一下代码高亮的代码
===================================
概述
===================================
因为很喜欢博课堂里的语法高亮,所以就到网上找了几个语法高亮的代码,并整合到PJBLOG中。效果不是很理想,希望DX们能够改进。
本代码直接覆盖到blog根目录即可。
===================================
原理
===================================
采用highlightcode的UBB标签,将需要高亮显示的代码块转换成html代码,放置于一个display:none的Textarea中,其上下文结构是:
<SPAN class="UBBHighLightCode">
<Textarea style="display:none">
// 此处将ubb标签中的代码copy过来
</Textarea>
<Div><!--这里将由JS自动填充通过高亮转换以后的代码,并显示--></DIV>
</SPAN>
在SPAN的class中定义了一个UBBHighLightCode样式:
.UBBHighLightCode {BEHAVIOR: url(HighLightCode.htc);white-space:normal; word-break:break-all}
-------------
注意:由于样式文件都在skins下,不同的skins有不同的样式,所以这里需要在你使用的样式中的增加次句代码就okey。
这里用到了htc,好象FIREFOX不支持,测试过的确不支持,郁闷ing...
htc的作用就是处理各种代码,并返回高亮处理以后的代码。
===================================
使用方法
===================================
1、在发表日志的时候,选择UBB编辑器
2、在使用高亮显示的代码块使用
[highlightcode=xx]
<script>
alert('Test High Light');
</script>
[/highlightcode]
其中xx是可以为 sql,c#,java,vb,js,html,xml,也就是支持这些语言的高亮显示,嘿嘿。
目前只能手写,并没有集成到UBB编辑器的界面,没功夫弄了:(
===================================
注意事项:
===================================
1、有遇到<br/><br><Br/><BR/>等等的时候,就直接显示换行了。这是个bug,解决方法就是替换<br>为<br />,中间加一个空格就好了。
2、一定要选择一个语言类型highlightcode=c#
3、对于以前的文章,只要修改一下,加入UBB标签就可以了。
===================================
更新文件说明
===================================
HighLightCode.htc 行为文件
/skins/Nuvola/layout.css 样式文件,可以将上面提到的代码复制到相应的skins中
/common/ubbcode.asp 只是增加了对highlightcode转换的代码
没有版权,欢迎copy
windy
2006.8.14