JS插件---->SyntaxHighlighter的使用

  SyntaxHighlighter是一款用于web页面的代码着色工具,可以用来着色多种语言。今天我们通过实例来学习一下它的用法。旧同桌不是老情人,但与你分享过的青春不比初恋少半分。

SyntaxHighlighter的简单实例

一、SyntaxHighlighter的代码流程如下

1、Add base files to your page: shCore.js and shCore.css

2、Add brushes that you want (for example, shBrushJScript.js for JavaScript, see the list of all available brushes)

3、Include shCore.css and shThemeDefault.css

4、Create a code snippet with either <pre /> or <script /> method

5、Call SyntaxHighlighter.all() JavaScript method

使用的方式可以参考文档:http://alexgorbatchev.com/SyntaxHighlighter/manual/installation.html

jar包的下载地址: https://codeload.github.com/syntaxhighlighter/syntaxhighlighter/zip/3.0.83

二、建立一个index.html文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <link rel="stylesheet" type="text/css" href="../third/SyntaxHighlighter/css/shCore.css">
    <link rel="stylesheet" type="text/css" href="../third/SyntaxHighlighter/css/shThemeDefault.css">
</head>
<body>
    <pre name="code" class="brush: java">
        public class Person {

        }
    </pre>
    <pre name="code" class="brush: js; gutter: false;">
        function foo() {
            var i = 3;
        }
    </pre>
    <pre class="brush: java; collapse: true;">
        public void javaMethod() {
            int i = 3;
        }
    </pre>
    <script type="syntaxhighlighter" class="brush: js">
        <![CDATA[
      /**
       * SyntaxHighlighter
       */
          function foo() {
              if (counter <= 10)
                  return;
              // it works!
          }
        ]]>
    </script>
    <script type="text/javascript" src="../third/SyntaxHighlighter/js/XRegExp.js"></script>
    <script type="text/javascript" src="../third/SyntaxHighlighter/js/shCore.js"></script>
    <script type="text/javascript" src="../third/SyntaxHighlighter/js/shBrushJava.js"></script>
    <script type="text/javascript" src="../third/SyntaxHighlighter/js/shBrushJScript.js"></script>
    <script type="text/javascript" src="../third/SyntaxHighlighter/js/shBrushSql.js"></script>
    <script type="text/javascript">
        SyntaxHighlighter.all()
    </script>
</body>
</html>

三、显示的效果如下所示

具体的一些配置情况,可以参考:http://alexgorbatchev.com/SyntaxHighlighter/manual/configuration/

如果要换一种主题,可以在html中替换到默认的主题。比如使用shThemeRDark。

<link rel="stylesheet" type="text/css" href="../third/SyntaxHighlighter/css/shCore.css">
<link rel="stylesheet" type="text/css" href="../third/SyntaxHighlighter/css/shThemeRDark.css">

替换后显示的效果如下:

至于动态的通过代码来实现切换主题功能,不知道框架的代码中有没有配置。后续再做补充

四、关于其它的一些的问题

  SyntaxHighlighter lets you build a single .js file that will include the core, CSS theme and the syntaxes that you wish to use.就是说通过工具的构建,可以将SyntaxHighlighter 一些需要在项目中引入的js, css打包成一个js文件。

链接:https://github.com/syntaxhighlighter/syntaxhighlighter/wiki/Building

以下是一些默认的配置和设置,可以在代码中修改。

/**
 * 1、整体可以修改默认的设置:SyntaxHighlighter.config.attrName,SyntaxHighlighter.highlight.attrName。
 * 2、也可以上述所使用的那样,在html中修改属性值。<pre name="code" class="brush: js; gutter: false;">
 */
defaults : {
    /** Additional CSS class names to be added to highlighter elements. */
    ‘class-name‘ : ‘‘,

    /** First line number. */
    ‘first-line‘ : 1,

    /**
     * Pads line numbers. Possible values are:
     *
     *   false - don‘t pad line numbers.
     *   true  - automaticaly pad numbers with minimum required number of leading zeroes.
     *   [int] - length up to which pad line numbers.
     */
    ‘pad-line-numbers‘ : false,

    /** Lines to highlight. */
    ‘highlight‘ : null,

    /** Title to be displayed above the code block. */
    ‘title‘ : null,

    /** Enables or disables smart tabs. */
    ‘smart-tabs‘ : true,

    /** Gets or sets tab size. */
    ‘tab-size‘ : 4,

    /** Enables or disables gutter. */
    ‘gutter‘ : true,

    /** Enables or disables toolbar. */
    ‘toolbar‘ : true,

    /** Enables quick code copy and paste from double click. */
    ‘quick-code‘ : true,

    /** Forces code view to be collapsed. */
    ‘collapse‘ : false,

    /** Enables or disables automatic links. */
    ‘auto-links‘ : true,

    /** Gets or sets light mode. Equavalent to turning off gutter and toolbar. */
    ‘light‘ : false,

    ‘html-script‘ : false
},

config : {
    space : ‘&nbsp;‘,

    /** Enables use of <SCRIPT type="syntaxhighlighter" /> tags. */
    useScriptTags : true,

    /** Blogger mode flag. */
    bloggerMode : false,

    stripBrs : false,

    /** Name of the tag that SyntaxHighlighter will automatically look for. */
    tagName : ‘pre‘,

    strings : {
        expandSource : ‘expand source‘,
        help : ‘?‘,
        alert: ‘SyntaxHighlighter\n\n‘,
        noBrush : ‘Can\‘t find brush for: ‘,
        brushNotHtmlScript : ‘Brush wasn\‘t configured for html-script option: ‘,

        // this is populated by the build script
        aboutDialog : ‘@[email protected]‘
    }
},

友情链接

时间: 2024-10-25 21:16:42

JS插件---->SyntaxHighlighter的使用的相关文章

Eclipse安装Propedit插件、SVN插件、js插件

1.在线安装Propedit 打开Eclipse的在线安装界面,点击Add Name: propedit Location:http://propedit.sourceforge.jp/eclipse/updates/ 2.在线安装Subclipse Name: subclipse 1.6.x Location:http://subclipse.tigris.org/update_1.6.x 安装完成即可使用. 3.安装包安装 下载spket-1.6.23,解开压缩包以后,把最里面的featur

火狐不支持backgroundPosition的js插件

用js backgroundPositionX,backgroundPositionY设置在firefox下无法识别,用backgroundPosition同样在火狐无法识别.要识别只能用js插件来实现的,代码如下: /** * @author Alexander Farkas * v. 1.02 */ (function($) { $.extend($.fx.step,{ backgroundPosition: function(fx) { if (fx.state === 0 && t

前端js插件

jquery jquery官方 版本:v 2.1.0v 1.11.0 yquery 暂停更新 版本: v 1.6v 1.5 v 1.4v 1.3 v 1.2v 1.1 v 1.0 jQuery 原型插件(jquery-*) jquery-drag 版本: latestv 1.1 v 1.0 jquery-dialog 版本: latestv 1.5 v 1.4v 1.3 v 1.2v 1.1 v 1.0 样式:default jquery-scrollable 版本: latestv 1.0 j

多说【最近访客】JS插件通用代码使用方法

多说[最近访客]JS插件通用代码使用方法 多说[最近访客]JS插件可以显示近期访问过你的博客并且已经使用向多说授权过的社交网络账号登录的用户头像,效果如下图所示. 最近访客JS插件的添加步骤如下: 1. 添加多说公用JS代码,每个页面只需添加一次. <!--多说js加载开始,一个页面只需要加载一次 --> <script type="text/javascript"> var duoshuoQuery = {short_name:"您的多说二级域名&q

Bootstrap入门(二十九)JS插件6:弹出框

加入小覆盖的内容,像在iPad上,用于存放非主要信息 弹出框是依赖于工具提示插件的,那它也和工具提示是一样的,是需要初始化才能够使用的 首先我们引入CSS文件和JS文件 <link href="bootstrap.min.css" rel="stylesheet"> <script src="jquery-3.1.0.min.js" type="text/javascript"></script&

学会读JQuery等JS插件源码

很多人觉得jquery.ext等一些开源js源代码 十分的晦涩,读不懂,遇到问题需要调试也很费劲.其实我个人感觉主要是有几个方面的原因: 1.对一些js不常用的语法.操作符不熟悉 2.某个function中又嵌套了一些内部的function,使得整个代码的层次结构不像java代码那么清晰. 3.js中允许变量先使用后定义,会造成我们看代码时候忽然冒出来一个变量.function,却找不到是在哪里定义的. 那么今天给大家分享一下我的经验,扫清你的障碍. 一.一些晦涩的操作符: 1.(functio

Intense Images – 全屏浏览图像的 JS 插件

Intense Images 是一个独立的 JavaScript 库,用于查看全屏图像.使用触摸/鼠标来实现图片位置的平移.图像元素的所有样式都是可以自定义的,Intense.js 只处理图像浏览器和字幕的制作. 您可能感兴趣的相关文章 12款经典的白富美型 jQuery 图片轮播插件 让网站动起来!12款优秀的 jQuery 动画插件 精心挑选的美轮美奂的 jQuery 图片特效插件 精心挑选的优秀jQuery Ajax分页插件和教程 精心挑选的优秀 jQuery 文本特效插件和教程 源码下载

jquery.validate.js插件的使用方法

近期做项目.须要用到 jQuery.validate.js插件,于是记录一下工作中的一些经验,以便日后学习. [样例例如以下] 1.前台页面 <form id="form1" method="post"> username:<input type="text" id="UserName" name="UserName" /><!--<span id="name_

用Sublime Text 3的HTML-CSS-JS Prettify(需安装node.js)插件格式化代码

用Sublime Text 3的HTML-CSS-JS Prettify(需安装node.js)插件格式化代码 用 Sublime Text 格式化代码(安装 HTML-CSS-JS Prettify 插件)时,格式化时却会提示(默认路径未找到Node.js) 下载安装到Node.js 官网下载 32位版本(据说win x64版有问题)安装. 确认Node.js安装路径鼠标右键HTML/CSS/JS Prettify > Set Plugin Options保证插件路径与Node.js安装路径一