浏览 9697 次
锁定老帖子 主题:语法高亮的简单JavaScript实现
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2006-12-30
语法高亮的简单JavaScript实现
作者:cleverpig 最近参考Fernando M.A.d.S编写的CodePress,做了一个简单的JavaScript语法高亮实现(需要prototype1.4版支持)。在这里,和大家分享一下。 演示页面: 页面延用CodePress的风格,使用多个分别对应语言的CSS文件,文件名以相应的语言为后缀:比如codepress-java.css就是java语言的样式表: css 代码
页面主要方法synchronize和render调用后面介绍的HighlightRender类方法: js 代码
核心代码为前面的languageReplacePatterns属性(按照语言区分的正则表达式数组)和syntaxHighlight方法。 js 代码
辅助工具类OSUtil: js 代码
更完善的实现: dp.SyntaxHighlighter堪称 实现highlight的JS“忍者” dp.SyntaxHighlighter 相关资源: 演示代码下载 在线演示 Prototype开发者手册 Fernando M.A.d.S编写的CodePress 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2006-12-31
确实不错,就是缺少 代码折叠 功能, 非常遗憾 不知道 这个功能 怎么实现 !
|
|
返回顶楼 | |
发表时间:2006-12-31
非常不错,看一下上面的代码高亮的演示,楼主可以改进一下,做得更好一些.
强烈支持一下 |
|
返回顶楼 | |
发表时间:2006-12-31
http://www.iteye.com/topic/24362
都很好啊! |
|
返回顶楼 | |
发表时间:2007-01-04
恩,大家说得有道理。应该参考一下javaeye的code标签,使用
<ol start="1"> <li class="alt">..</li> ... </ol> 的形式把代码行功能提炼出来,然后再加上代码收缩功能。 但是使用ol+lo模式渲染代码的做法,需要重新修改css和正则表达式。 本文是出于演示和研究的目的,如果实际使用还是直接使用dp.SyntaxHighlighter比较好。 |
|
返回顶楼 | |