Highlight.js语法突出显示

正如我在这个博客开始之前所说的最小可行产品,因此我在几个小时内就开始运行了。这种方法在初始推动之后会减慢你的速度。最新的例子是要提供语法高亮的代码片段。

规格由于使用静态网站生成器,我的狩猎的开始立即产生了一些障碍。首先,我认为不用说,服务器端编程是一个很明显的总不停。第二,像课程或ids这样的具体标记将会非常棘手,因为使用markdown来创建我的文章。

Gripes当看到我真正臭名昭着的是,它的血腥难以找到一个简单的解决方案!这些产品通常是非常全面的,而且在个人看来,超过我将花更多的时间来修剪脂肪,而不是从头开始编码。说如果我的需要是一个完整的花式裤子,那么你不能错过其中的一些。

SyntaxHighlighter的
GeSHi - 通用语法荧光笔
Google Code Prettify
Lighter.js(用MooTools编写)
如果你知道任何一个真的应该提到让我知道。

Highlight.js在刚刚(约20分钟)的硬核谷歌之后,我发现了highlight.js。这个图书馆会高兴地浏览页面,寻找任何pre>code页面元素,并且在应用相关的格式之前,不用担心会尝试检测编程语言(可以处理它的是54!)。更好的是,着色和突出显示完全是css驱动的,它们共有26个主要功能,包括与Google Code,Github和XCode的风格相匹配的选择。将脚本初始化为一个班轮。

hljs.initHighlightingOnLoad();
行号这个图书馆的一个遗漏是行编号,尽管这是一个贡献者努力添加它们所发现的事情。我喜欢行号,也许只是眼睛糖果,但我可以看到一天,我想要你们指向第33行,没有’em’填充。那么我该怎么做,但是要快速点击jQuery来做我的出价。下面显示的行号使用非常的脚本(如何非常元!)是我的快速的n代码来完成工作。

//numbering for pre>code blocks
$(function(){
    $(‘pre code‘).each(function(){
        var lines = $(this).text().split(‘\n‘).length - 1;
        var $numbering = $(‘<ul/>‘).addClass(‘pre-numbering‘);
        $(this)
            .addClass(‘has-numbering‘)
            .parent()
            .append($numbering);
        for(i=1;i<=lines;i++){
            $numbering.append($(‘<li/>‘).text(i));
        }
    });
});

这真的很简单,它是通过搜索代码块开始的$(‘pre code’)。然后,通过将内容分成新行,\n我们可以得到总行数。最后,我们通过建立与列表项的列表contianing号1 lines和结束标记之间添加它和。用适当的css干预来填充几个类,使列表与代码的左边缘一致。

pre {
position: relative;
margin-bottom: 24px;
border-radius: 3px;
border: 1px solid #C3CCD0;
background: #FFF;
overflow: hidden;
}

code {
display: block;
padding: 12px 24px;
overflow-y: auto;
font-weight: 300;
font-family: Menlo, monospace;
font-size: 0.8em;
}

code.has-numbering {
margin-left: 21px;
}

.pre-numbering {
position: absolute;
top: 0;
left: 0;
width: 20px;
padding: 12px 2px 12px 0;
border-right: 1px solid #C3CCD0;
border-radius: 3px 0 0 3px;
background-color: #EEE;
text-align: right;
font-family: Menlo, monospace;
font-size: 0.8em;
color: #AAA;
}

工作很好!毫无疑问,需要改进,这些东西有不断发展的习惯!如果这对您有任何用处或您有任何建议,请在下面的评论中通知我。

http://idodev.co.uk/2013/03/syntax-highlighting-with-highlightjs/

小文注:

可能根据每个人使用的高度风格上面的样式可能需要调整。

?

时间: 2024-08-16 20:50:27

Highlight.js语法突出显示的相关文章

js语法基础

js的由来,最开始是95年为了检查服务器验证表单数据而逐渐发展的. js的组成,1核心(ECMAScript)2文档对象模型(DOM)3浏览器对象模型(BOM) js是解释性执行,弱类型,基于对象,事件驱动,跨平台的脚本语音 对象包括日期对象,字符串对象,数学对象一系列对象 弱类型不区分整数和小数(相对于其他编程语音)变量可以存储任意类型 事件驱动:基于事件,例如鼠标经过(hover),鼠标点击(click,鼠标正键单击)失去焦点(focus)按键弹起事件 onload加载事件 跨平台:wind

js语法中运算符的二义性之逗号&ldquo;,&rdquo;的二义性

看到<js语言精髓与编程实践>中讲解的js语法中运算符的二义性之逗号的二义性,做些笔记 我们先来看看这两个例子: alert(eval('a=(1,2,3);'));//示例1 alert(eval('a=1,2,3;'));//示例2 结果是两者都会弹出3,这种用法产生的混乱,是因为逗号","既可以是语法分隔符,又可以是运算符所导致的.在上面的示例1,示例2中,逗号都被作为"连续运算符"在使用.示例1中的括号强制运算符,因此它的效果是运算如下表达式:

【highlight.js】页面代码高亮插件

[highlight.js] 很多博客都支持页面插入各种语言的代码,而这些代码肯定是有高亮设置的.那么在我们自己的页面上如何进行代码高亮设置?有现成的这个highlight.js插件我们可以使用. highlight.js的官网是[https://highlightjs.org/]可以去上面下载插件.如果习惯用cdn可以百度一下怎么用cdn的方法来引用相关文件,我这里就把这个包下载到本地来了. ■ 简单用法 简单的用法我们主要用到了highlight/highligh.pack.js这个js文件

highlight.js 页面 代码高亮

官网:https://highlightjs.org/ 功能: 支持 155 种编程语言的语法解析:拥有 73 种样式 自动检测编程语言 可以在 node.js 平台上运行 支持各种标签 与任何 js 框架兼容 官方演示:https://highlightjs.org/static/demo/ 如何使用 <!-- 放在<head></head> 里面 --> <link rel="stylesheet" href="//cdnjs.c

js 语法高亮插件之 Prism.js

之前也介绍过几款语法高亮插件<为博客园选择一个小巧霸气的语法高亮插件>以及关于他们的综合性能<再议 语法高亮插件的选择>.今天在小影志博客看到<使用 Prism.js 实现漂亮的代码语法高亮>于是心血来潮去看了下,顺便测试了下性能.打开 Prism.js 官网,看到 Used By..我勒个去,来头不小啊. 然后看了下例子,果然思路不错,非常有意思的一个插件,于是乎我就下载到本地进行 jQuery 高亮渲染测试.测试方法和以前一样,为了和之前的插件对比,当然我的电脑也没

Mongodb中的js语法

定义一个变量 > var len = 10; For循环 这里的db和data都可以作为对象 save是方法 接收一个临时定义的对象 > for(var i = 0; i < len; i++){db.data.save({x:i})}; WriteResult({ "nInserted" : 1 }) > db.data.find(); { "_id" : ObjectId("593177646a6bb0f03293efe1&qu

Ghost本地安装highlight.js使代码高亮

对于程序员写博客来说,这代码高亮是起码的要求.但是Ghost本身没有支持高亮代码.但是可以通过扩展来实现,它就是highlight.js--附官方网站,看了下首页介绍,真的很强大,现在说说怎么进行安装,很简单. 下载highlight.js 下载地址 本来已经包含了很多支持的高亮语言,如果上面没找到你要的语言,可以在下面继续 勾选,最后点击下方的下载. 解压安装highlight.js 解压highlight.js到Ghost本地的主题文件夹下面的资源文件夹,我这里是: 安装highlight.

JS中同步显示并分割输入的数字字符串

题目比较晦涩,来张图来说明要表达的效果: 第一张图的效果就是,用户输入一个数字,上面就显示一个大层,然后显示输入的数字,并把数字用空格按照每四位分割出来.好像在建行的网上银行上面就有这种效果.第二个图的效果就是用户在一个文本框中输入一串数字,然后再光标离开的时候,把数字按照每三位用逗号给分割开来,类似于老外的金钱输入效果. 效果一 同步显示分割分割输入 这种效果中,仿造的就是输入银行卡子类的,故只能够输入数字,需要禁用用户输入的其它字符下面是几种实现方式.先贴上HTML和CSS代码: 1 <ht

Mustache.js语法

看了Mustache的github,学学此中的语法,做个笔记 1.简单的变量调换:{{name}} 1 var data = { "name": "Willy" }; 2 Mustache.render("{{name}} is awesome.",data); 返回成果 Willy is awesome. 2.若是变量含有html的代码的,比如:<br>.<tr>等等而不想转义能够在用{{&name}} 1 va