什么是SyntaxHighlighter
事实上在三天前我也不知道SyntaxHighlighter是什么东西,经过这两天的接触才发现这是个相当不错的基于JS的html页面代码高亮渲染工具(呃,姑且这么称呼吧)。为什么用代码高亮渲染工具?当我们有时候遇到技术问题求助无门的时候往往会想到上Google百度一下,看看网上有没有现成的代码供参考,于是搜索框关键字一打回车键一敲,刷地一下出现天文数字个搜索结果,这时候我们表示淡定,因为知道网上N多东西抄来抄去一大堆重复内容。然后按搜索排名挨个点击进去,却看到一个个网页上几百行乱糟糟的纯文本代码,过差的可读性抹煞了阅读的兴趣也降低了阅读的效率。这时候代码高亮工具就站出来了,誓为捍卫代码的整齐和美丽展开局域性保卫工作,于是我们可以发现一些靠谱的blog文往往会事先将里面的明文代码格式化好打扮得跟IDE里面一个样子供用户阅读,程序员表示这样很愉快。
本blog使用的版本
网上流传的代码高亮渲染工具有很多种,经过比较,最后敲定了用SyntaxHighlighter。搜索了一下发现SyntaxHighlighter 1.5版本目前是使用者较多的版本,于是小心翼翼地下载了文件包跟着教程配置了一下,效果不错,为了获得跟高级的特性访问了一下官网,发现3.083版本都已经出来了,就欢快地用了一下,发现配置比1.5稍简单,表现层和渲染层模块的拆分更加合理了。
如何安装
1.将文件压缩包拷贝下来,解压到本机或者你的站点,尽量保证存放的路径明确;
2.在你的页面中外链js文件shCore.js和shBrushJScript.js,以及相关css文件,也许你会发现style文件夹里包含了十几个css文件,不用紧张,随便挑选一个作为外链文件(至于为什么这样做,稍后会说明);
1
2
3
4
5
6
7
8
|
< SCRIPT type = text /javascript src = "/scripts/shCore.js" ></ SCRIPT >
< SCRIPT type = text /javascript src = "/scripts/shBrushJScript.js" ></ SCRIPT >
< LINK rel = stylesheet type = text /css href = "/STYLE/shCoreRDark.css" >
< SCRIPT type = text /javascript>
SyntaxHighlighter.all();
</ SCRIPT >
|
4.在<pre class=”brush:js;”></pre>或者<script type="syntaxhighlighter" class="brush: js"></script>(建议不要使用script标签,因为这样常用的标签很容易造成冲突)标签中创建代码;
1
2
3
4
5
|
< PRE class = brush :js;>function helloSyntaxHighlighter()
{ return "SyntaxHighlighter 3.0.83 ";
} </ PRE >
|
5.在页面加载完成时执行一句js代码SyntaxHighlighter.all(),大功告成,你将看到跟本文代码区域相似的效果。
安装的本质其实为页面增加了下面这几行代码(可以放在head内,但建议放在body的最后面减轻对页面加载造成的影响):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
< SCRIPT type = text /javascript src = "/scripts/shCore.js" ></ SCRIPT >
< SCRIPT type = text /javascript src = "/scripts/shBrushJScript.js" ></ SCRIPT >
< SCRIPT type = text /javascript src = "/scripts/shBrushXml.js" ></ SCRIPT >
< LINK rel = stylesheet type = text /css href = "/STYLE/shCoreRDark.css" >
< SCRIPT type = text /javascript>
SyntaxHighlighter.config.bloggerMode = true;
SyntaxHighlighter.defaults['toolbar'] = false;
SyntaxHighlighter.all();
</ SCRIPT >
< PRE class = brush :js;>function helloSyntaxHighlighter()
{ return "SyntaxHighlighter 3.0.83 ";
} </ PRE >
|
若希望SyntaxHighlighter能正常工作,shCore.js是必须的;shCoreRDark.css是格式化主题,可以在style文件夹中选择你喜欢的一个主题文件并将它外链到页面上;shBrushJScript.js文件的作用是为了让渲染器能够对javascript代码进行格式化,shBrushXml.js的作用是为了让渲染器能够对XML代码进行格式化,刚才说过SyntaxHighlighter支持23种语言,如果你需要渲染器支持其他语言,就必须外链其他相应的文件,想了解各语言对应的文件请点击这里。
注意:确保外链路径正确,所有对SyntaxHighlighter的自定义配置都应写在SyntaxHighlighter.all();之前。
如何更改css主题
SyntaxHighlighter 3.0.83支持更换主题样式,方法很简单,直接更换内的链接文件路径就可以了:
1
|
< LINK rel = Stylesheet type = text /css href = "PATH/Styles/FileName.css" >
|
3.083版本的toolbar貌似被开发者弱化了,这里没有CopyToClip按钮,如果我们要复制一段代码,双击这块代码区域即可。至此,如果只是想图方便用一下SyntaxHighlighter让你的技术博文看起来更赏心悦目一些,对SyntaxHighlighter的功能特性和实现没有太大的兴趣,那么进行这里到这里就可以了,更多的分析和高级特性研究将会放到《SyntaxHighlighter的自定义配置》一文中。
相关推荐
- **博客**:许多技术博客使用SyntaxHighlighter来展示示例代码,提高阅读体验。 - **在线教育平台**:教程和课程中,用于教学代码演示。 - **代码分享网站**:如GitHub Gists或Stack Overflow,代码块常采用类似...
wps代码块插件
为了提高用户体验,可以考虑添加对非JavaScript环境的备选方案,如使用CSS伪类来提供基础的代码格式化。 **应用案例** 在技术博客、教程网站、开源项目展示页等场合,SyntaxHighlighter都能大显身手,使代码展示...
5. **js粘贴支持**:除了复制,SyntaxHighlighter也支持JavaScript的粘贴功能,用户可以方便地将代码从剪贴板粘贴到网页中,并自动进行格式化。 6. **自定义扩展**:开发者可以根据需求扩展SyntaxHighlighter的功能...
2. 格式化代码:在HTML中,将代码包裹在`<pre>`和`<code>`标签中,并指定编程语言类型,例如`class="brush: java"`表示Java代码。 3. 初始化插件:在页面加载完成后,调用SyntaxHighlighter的初始化函数,如`...
- **设置HTML结构**:为代码段创建预格式化(`<pre>`)或代码(`<code>`)标签,并添加对应的类名以指定编程语言。 - **初始化高亮**:在文档加载完成后调用`SyntaxHighlighter.all()`函数,对页面上的所有代码块...
这些实例会演示如何通过JavaScript调用库函数,以及如何嵌入和格式化代码片段。 5. **额外的配置和插件**:SyntaxHighlighter可能还有一些额外的配置选项或者插件,用于扩展其功能,如自动缩进、行号显示等。 在...
它无需服务器端处理,通过浏览器即可实现代码的自动格式化和高亮,简化了网站或博客展示代码的过程。 2. **安装与配置** 要在项目中使用 SyntaxHighlighter,首先需要将库的 CSS 和 JavaScript 文件引入到你的 ...
该库主要通过解析代码字符串,识别出不同的语言元素,然后根据预定义的样式规则对其进行格式化。它支持自定义样式,允许开发者根据自己的喜好或者项目需求调整颜色方案和排版样式。此外,它还具有良好的性能和扩展性...
格式化效果如下图所示:这也是本站所使用的语法着色库,在线演示。示例代码:SyntaxHighlighter.config.bloggerMode = true; SyntaxHighlighter.config.clipboardSwf = 'scripts/clipboard.swf'; ... ...
在本例中,考虑到 "syntaxhighlighter",我们可能涉及的工具是与代码展示和格式化相关的,比如用于博客文章或者在线文档中的代码美化工具。 在压缩包子文件的文件名称列表中,我们看到 "my.cnf"。这通常是指MySQL...
整合FCKeditor和SyntaxHighlighter代码高亮插件,能够让用户在使用FCKeditor编辑网页内容时,方便地插入和格式化代码段,且不会对编辑器本身的性能造成影响。这种整合为开发者提供了一个功能强大且用户友好的代码...
Word语法荧光笔加载项用于格式化Microsoft Word文档中代码块的外接程序,包括语法突出显示器和其他有用的代码编辑工具和实用程序。 最初是为Microsoft Word 2010编写的,但应与较新版本一起使用。
复制它们然后粘贴到 Word 中, 就可以看到已经格式化的代码块了. 目前支持 java/sql/xml, css在压缩包中, 可自行添加. 如果不经常用, 可参考这里(https://blog.csdn.net/gun_008/article/details/120634616)
这个库旨在帮助开发者轻松地在线发布带有格式化的代码片段,无需手动处理格式化问题。下面将详细介绍dp.SyntaxHighlighter的工作原理、应用场景以及如何使用它来提升博客或网站的代码展示质量。 dp....
SyntaxHighlighter是一个广泛使用的JavaScript库,用于在网页上实现代码的语法高亮,提高编程代码的可读性。它支持多种编程语言,并且拥有许多自定义选项,使得开发者能够根据需要对高亮样式和行为进行调整。在本文...
描述中提到的“可以将指定的一段代码以标准的开发格式展现在HTML页面上”,这暗示了该JS代码库具有代码格式化和语法高亮的功能。例如,它可以自动处理代码缩进、颜色标记关键字、注释和变量等,使原本简单的文本代码...
3. 格式化代码:在ASP.NET页面中,你需要将要展示的代码放置在预格式化()或代码()标签内,SyntaxHighlighter会自动识别并进行高亮处理。可以使用HTML编码避免特殊字符被解析。 4. 触发高亮:为了使...
2. **配置TinyMCE**:在TinyMCE的初始化配置中,需要添加`syntaxhighlighter`作为启用的插件。例如: ```javascript tinymce.init({ plugins: 'syntaxhighlighter', toolbar: 'syntaxhighlighter', }); ``` ...
以上CSS样式设置了预格式化文本(`<pre>`)的默认外观,包括行高、背景色、边框、圆角、宽度、内边距和字体。这些样式使得在JavaScript高亮处理前,代码块已经接近最终的高亮状态,从而有效减少了闪烁现象。 当然,...