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/
小文注:
可能根据每个人使用的高度风格上面的样式可能需要调整。
Highlight.js语法突出显示的更多相关文章
- 用 highlight.js 为文章中的代码添加语法高亮
来源:http://www.ghostchina.com/adding-syntax-highlighting-to-ghost-using-highlight-js/ --------------- ...
- JavaScript语法高亮库highlight.js使用
highlight.js是一款基于JavaScript的语法高亮库,目前支持125种编程语言,有63种可供选择的样式,而且能够做到语言自动识别,和目前主流的JS框架都能兼容,可以混合使用. 这款高亮库 ...
- 使用highlight.js高亮你的代码
在逛别人的博客的时候,看见别人的代码的例子使用了高亮的语法,无论是java,js还是php等等语言,都会自动的对关键字进行高亮. 于是在前几天自己写了一个博客,遇到code时,自然就想到了别人网站如何 ...
- 给大家推荐一款高大上的代码高亮插件(sublime,github风格)——highlight.js
经常在一些大神博客里面看到非常好看的高亮代码,有sublime风格,GitHub风格等等.毫无疑问,好的高亮代码插件可以不仅仅让你的博文显得更高大上,更重要的是舒适的阅读体验.经过我在网上的一番搜罗, ...
- highlight.js 页面 代码高亮
官网:https://highlightjs.org/ 功能: 支持 155 种编程语言的语法解析:拥有 73 种样式 自动检测编程语言 可以在 node.js 平台上运行 支持各种标签 与任何 js ...
- 【highlight.js】页面代码高亮插件
[highlight.js] 很多博客都支持页面插入各种语言的代码,而这些代码肯定是有高亮设置的.那么在我们自己的页面上如何进行代码高亮设置?有现成的这个highlight.js插件我们可以使用. h ...
- 使用highlight.js高亮静态页面的语言代码
显示静态的代码其实html的pre标签基本可以满足需求了,至少不会将换行的文本显示成一堆字符串. 不过能使静态的文本能高亮显示,倒更炫酷一点.其实很简单的,引入highlight.js包,可以使用cd ...
- JS语法快速查询
本文转载至 http://wenku.baidu.com/link?url=z4gND-0w-Cq7hkn2Vnnz0CAJJPwJ8jJrFY0jtnnACiaz4yMK49VAvfJ3BlTVcm ...
- JS语法字典---网友总结
1.document.write(""); 输出语句2.JS中的注释为//3.传统的HTML文档顺序是:document->html->(head,body)4.一个浏 ...
随机推荐
- python pynssql创建表,删除表,插入数据,查询
import pymssql server='10.194.**.***:*****' user='sa' password='******' database='******' #连接 conn=p ...
- Linux基础命令---显示主机名hostname
hostname hostname指令用于设置或者显示系统主机名,没有任何参数就会返回gethostname()函数的返回值.使用hostname指令之后,主机名会立马被修改,但是重启系统之后就失效了 ...
- JMX堆栈分析
线程堆栈: 线程堆栈也称线程调用堆栈,是虚拟机中线程(包括锁)状态的一个瞬间快照,即系统在某一个时刻所有线程的运行状态,包括每一个线程的调用堆栈,锁的持有情况.虽然不同的虚拟机打印出来的格式有些不同, ...
- Windows下用cmd命令实例讲解yii2.0 的控制台定时任务
Yii中的资源是和Web页面相关的文件,可为CSS文件,JavaScript文件,图片或视频等,资源放在Web可访问的目录下,直接被Web服务器调用. 有时候有些功能需要做到计划任务中去,因此就需要y ...
- P3203 [HNOI2010]弹飞绵羊(LCT)
P3203 [HNOI2010]弹飞绵羊 LCT板子 用一个$p[i]$数组维护每个点指向的下个点. 每次修改时cut*1+link*1就解决了 被弹出界时新设一个点,权为0,作为终点表示出界点.其他 ...
- Linux - TCP编程相关配置1
100万并发连接服务器笔记之1M并发连接目标达成 第四个遇到的问题:tcp_mem 在服务端,连接达到一定数量,诸如50W时,有些隐藏很深的问题,就不断的抛出来. 通过查看dmesg命令查看,发现大量 ...
- gdb远程debug A syntax error in expression, near `variable)'.
今天调试有个linux环境的应用时,gdb提示A syntax error in expression, near `variable)'.,最后经查,gdb版本过低(比如7.2)或者源代码不匹配所致 ...
- 写给大忙人的ELK最新版6.2.4学习笔记-Logstash和Filebeat解析(java异常堆栈下多行日志配置支持)
接前一篇CentOS 7下最新版(6.2.4)ELK+Filebeat+Log4j日志集成环境搭建完整指南,继续对ELK. logstash官方最新文档https://www.elastic.co/g ...
- 06:vuejs项目实战
1.1 项目说明 1.技术架构 vue.js, 模块化,工程化, 移动端 2.目录部署 Css:所有样式文件 Data:所有异步接口 Img:所有图片文件 Js:所有js文件(2.0) index.h ...
- centos7 update network time
yum install -y ntp crontab -e */5 * * * * /usr/bin/ntpdate ntp.api.bz ### ntp.api.bz 是一组NTP集群服务器,之 ...