Syntaxy.js是一款小巧灵活的网页语法高亮js插件。Syntaxy.js支持各种主流的编程语言,提供3种主题样式。它默认是JS插件,但是也可以作为jQuery插件来使用。

使用方法

使用该语法高亮插件需要在页面中引入syntaxy.theme.min.css文件和syntaxy.min.js文件。

<link rel="stylesheet" href="syntaxy.theme.min.css" />
<script type="text/javascript" src="js/syntaxy.min.js"></script>
                
HTML结构

使用<pre>标签来格式化代码片段。

<pre id="codebox" data-type="default">
    // 这里放置需要格式化的代码片段
    // default 是格式化语法高亮过滤器的名称
</pre>             
                
初始化插件

通过纯JS来初始化Syntaxy插件:

<script type="text/javascript">
  var options = {};
  var codebox = document.getElementById( 'codebox' );
  var syntaxy = new Syntaxy( codebox, options );
  // add custom filters, modify options, etc. then...
  syntaxy.render();
</script>                
                

通过jQuery来初始化Syntaxy插件:

<script type="text/javascript">
  var options = {};
  $( '#codebox' ).syntaxy( options );
</script>                
                

配置参数

有多种方法可以为Syntaxy插件设置配置参数:第一种方法是在初始化时以对象的方式传入Syntaxy构造函数中。第二种方法是使用setOptions( options );方法。第三种方法是使用data属性来进行参数传递。

参数 data属性 类型 默认值 描述
tagOpen n/a String << 指定包裹要渲染的HTML标记的开始标签。
tagSplit n/a String 指定包裹要渲染的HTML标记的分隔标签。
tagClose n/a String >> 指定包裹要渲染的HTML标记的闭合标签。
tagName n/a String span 在渲染时用于包裹高亮单词的HTML标签。
classPrefix n/a String stx- 相关主题的class前缀。
codeTitle data-title String Source code 工具栏上显示的标题。
codeType data-type String blank 指定用于高亮指定类型的语言的正则表达式过滤器。
minHeight data-min-height String 100px 语法高亮容器的最小高度。
maxHeight data-max-height String 600px 语法高亮容器的最大高度。
isInline data-inline Mixed false 指定代码容器是内联元素还是块级元素。
wordWrap data-wrap Mixed false 指定当代码很长时是断行显示还是一行显示(出现水平滚动条)。
startLine data-start Int 1 代码第一行显示的行号
debugLines data-debug String blank 一个用逗号分隔的行号列表,这些行会闪烁/高亮。

Syntaxy.js语法高亮插件的github主页地址为:https://github.com/rainner/syntaxy-js