JavaScriptSyntaxColor ver2.0
JS语法着色器第二版页面:
http://army.512j.com/creations/code/jssc2/
---
Google开源项目(SyntaxHighlighter 1.51)主页:
http://code.google.com/p/syntaxhighlighter/
JS语法着色器第一版(JavaScriptSyntaxColor ver 1.1)主页:
http://army.512j.com/creations/code/highlight/
---
去年夏天时间左右因为上编译原理课程的缘故,我写了个js的语法着色器,主要是着色js和java,后来就成为了JSC1.0版,过后我又对它进行了细微的更新,并将最终版1.1版放在了我的个人主页上。经过一段时间后,特别是在我看了当年dp.SyntaxHighlighter的部分代码(dp.SyntaxHighlighter已发布为Google下开源项目),而后又看了开源后的SyntaxHighlighter一些代码后决定重新发布新版本。
从元旦开始,我就进行整体构思了。因为学期末的原因时间较紧,一直拖到现在放假才开行进行。不过有了第一版的基础,第二版的开发会顺利不少,但也存在许多新的难题。我准备在第二版完成之后再考虑进行第三版的开发,到时将主要添加代码折叠功能。这段假期我当然是用来学习咯~
---
第一版与原先dp.SyntaxHighlighter相比存在的优缺点为:
1.优点
代码长度较短(240行对700多行)
着色效果更好(对字符串、数字的效果以及sh存在一个字符串bug)
在低版本浏览器上表现更好(我的IE6.0中若代码太长需要拖动SyntaxHighlighter会出现色块)
用esc进行压缩的比率更好(lv4压缩)
2.缺点
可扩展性差(每一种语言得全部重新编写)
支持种类少(仅js和javascript)
可读性差(没有进行重构)
支持的着色标签单一(只能textare)
功能方面不如
一些细节方面的缺陷
---
针对这些缺点我进行第二版的编写后,目前经测试版后发布beta供大家试用,请将出现的bug一一反馈给我,好进行分析修改。另外源码也是开放的,如果有好的意见和提议或是什么错误的地方也请说出来讨论。这篇文章现在发了3个论坛,就是为了集思广益。
---
第二版与目前SyntaxHighlighter相比的优缺点为:
1.优点
代码长度更短(233行对700多行)
着色效果更好(保留1.1版的优势并着重加强了数字润色,并且可以交叉着色)
在低版本浏览器上表现更好(同第一版)
压缩的比率更好(可以用jsa混淆变量压缩)
扩展性增强(应该不相上下)
可读性维护性增强(也应该不相上下,不过更短的代码阅读维护应该更方便些)
2.缺点
可能存在一些细节方面的缺陷
---
第二版的代码构思一部分源于1.1版,另一部分源于开源的SyntaxHighlighter,剩下的则是新思维创造。面对1.1版的缺陷,2.0版代码在阅读性、维护性、可扩展性、着色功能、代码长度方面都提升了不少,支持的种类也只需编写相应的语法关键词和正则库即可。
由于js运行的速度主要取决于网络下载的速度及下载量,因此在压缩率和长度均占优势的情况下jsc ver 2.0总体上还是不输给对手的。现在缺的就是继续对功能、细节以及多种语法的关键词和正则库进行编写。我会继续进行的。
---
使用说明:
和SyntaxHighlighter一样,在head区里或者body区里添加js文件链接core.js,然后再将相应的语法关键词和正则库文件加入:如javascript.js,表明页面中需要对一段js代码进行着色。记得core.js必须首先添加。
将要着色的代码放入<textarea>标签中,并设置此标签的class属性为代码名,如:<textarea class="javascript">,再将其命名为code,如:<textarea class="javascript" name="code">,将代码放入即可。
最后在body尾部加入:
<script type="text/javascript">
jsc.colorAll("code");
</script>
如此就可以了。如果命名code和你的页面有冲突,可以进行改名,并将改名之后的新名称替换body尾部中的"code"名字即可。
目前两种着色器都存在的bug就是:由于浏览器会将<,>,&一些特殊字符解析,因此若源代码中出现他们的解析字符如:&gt;,&lt;,&amp;则会失效,唯一的解决办法是将&替换成&amp;后再进行着色。
分享到:
相关推荐
jssc.jar java-simple-serial-connector-2.8.0.tar.gz java-simple-serial-connector-2.8.0.zip jSSC-2.8.0-Release.zip jssc-2.8.0-src.jar
Java Simple Serial Connector (jSSC) 是一个Java库,它为开发者提供了在Java应用程序中进行串行通信的能力。这个库的版本2.7.0,包含在名为"jSSC-2.7.0-Release.zip"的压缩包中,为开发者提供了一个简单且高效的API...
`JSSC`(Java Simple Serial Connector)是一个针对Java平台的开源库,专门用于实现串口通信功能。标题中的"JSSC串口通信包(jar)ver 2.9.4"指的是这个库的特定版本,即2.9.4,通常包含该库的可执行代码、源码以及...
《2011年IEEE JSSC论文(7月)》是电子信息领域内一份极其珍贵的资源,由国际电气和电子工程师协会(IEEE)的期刊《固体电路学杂志》(Journal of Solid-State Circuits,简称JSSC)发表。这份论文集收录了2011年7...
8. **社区贡献**:开源项目常常受益于社区的贡献,JSSC 2022.11可能包含了一些由社区成员提供的改进和建议。 9. **更新的API**:如果JSSC提供了公共API供其他工具或插件使用,那么新版本可能会有API的更新,开发者...
【标题】"2012_jssc_Processor合集"涉及的是2012年《Journal of Solid-State Circuits》(简称JSSC)中关于处理器技术的专题内容。JSSC是电子工程领域内非常权威的一本期刊,专注于固态电路的研究与开发,其涵盖的...
《IEEE JSSC论文(1月2)》的资源包含了2011年2、3月间发表在《IEEE Journal of Solid-State Circuits》(简称JSSC)上的多篇重要学术论文。作为全球电子与固态电路领域的顶级期刊,IEEE JSSC是研究人员、工程师和...
《串口调试助手2.0:Java实现的高效串行通信工具》 串口调试助手2.0是一款基于Java开发的高效串行通信工具,它旨在帮助开发者在进行硬件设备调试或者嵌入式系统通信时,能够快速、稳定地进行数据传输与接收。此版本...
Java,使用JSSC开源库,串口收发,自己实现了多个串口同时收发,因为通常操作串口时就有这样的需求:可能不止一个串口,下载看看吧,不会让人失望的,MainPresent.java是调用的地方由于是从项目中扣出来的,删除了...
IEEE JSSC论文集下载电骡地址,60年代到2005年全集15G
IEEE的Journal of Solid-State Circuits (JSSC)作为国际知名的电子电路学术期刊,定期发布各领域的前沿研究。本期JSSC 2023年3月刊特别聚焦了多个热门技术主题,为读者呈现了一系列引人入胜的研究成果。 在本期客座...
Java 读取串口数据所需要的包。通过导入jssc包。可以实现Java调用串口
【JSSC 2022.10】是2022年10月出版的《固态电路国际期刊》(IJSCBC)的特辑,主要关注2021年亚洲固态电路会议(A-SSCC)的专题论文。这个特辑展示了在微电子领域,特别是固态电路设计和应用的最新研究成果。 首先,编辑...
### IEEE JSSC 论文知识点解析 #### 一、论文背景与意义 - **IEEE Journal of Solid-State Circuits (JSSC)**:这是一份国际知名的学术期刊,专注于固态电路领域的研究进展,覆盖了从模拟到数字、射频(RF)到微波...
JSSC 2023.11 all papers
### 关于运放的jssc经典论文:1-V 运算放大器与轨到轨输入输出范围 #### 摘要 本文介绍了一种能够在极低供电电压(低至1伏特)下运行的双极型运算放大器(OA),该放大器具有轨到轨输入和输出范围。即使在如此低的...
JSSC 2022.02 JSSC 2022.02 是一份ieee期刊,专门出版电子电路和系统领域的研究论文。本期刊包含了多篇论文,涵盖了毫米波收发器、卫星通信、power amplifier、beamforming phased-array receiver、radiator array...
《2011年IEEE JSSC论文(4月)》是电子信息领域内一份非常珍贵的资源,由IEEE固态电路期刊(Journal of Solid-State Circuits, 简称JSSC)在2011年4月出版。IEEE JSSC作为固态电路领域的顶级学术期刊,其发表的文章...
【标题】:JSSC_202001.pdf 【描述】:这份文档来自于IEEE固态电路期刊,主要关注集成电路的晶体管级设计,特别是10纳米工艺的6.4-Gb/s/pin 16-Gb DDR5 SDRAM的研究。 【标签】:jssc 【内容概述】:该论文介绍了...
Java简单串行连接器(Java Simple Serial Connector,简称jSSC)是一个开源库,专为Java开发者设计,用于实现与串行端口的通信。它提供了丰富的API,使得在Java程序中控制串行设备变得非常方便。在这个项目中,"java...