highlightjs 详解
起源:
最近想做一个代码高亮的功能、发现开源社区已经有了这类的项目、比如说highlightjs。
第一步:下载highlightjs
官网:https://highlightjs.org
可以看到它包涵了这么一些文件:
JianglexingdeMacBook-Pro:highlight jianglexing$ ll
total
-rw-rw-rw-@ jianglexing staff CHANGES.md
-rw-rw-r--@ jianglexing staff LICENSE
-rw-r--r--@ jianglexing staff README.md
-rw-r--r--@ jianglexing staff README.ru.md
-rw-------@ jianglexing staff : highlight.pack.js
drwxr-xr-x@ jianglexing staff : styles
styles 包含了大量的css定义、highlight.pack.js 文件应该是highlight中唯一一个js了吧;css中定义了格式化的风格、js中定义了格式
化函数。
所以要做代码的格式化只要引入这两个就完成了一半、另一半就是调用一个方法。
第二步:引入highlight中的css、js
<html>
<head>
<title>highlight实现代码高亮</title>
<!-- 我在这里引入仿vs2015黑色主题的样式 -->
<link rel="stylesheet" href="./styles/vs2015.css">
<!-- 引入hightlight 的js库 -->
<script src="./highlight.pack.js"></script>
</head> <body>
<p><strong>下面是一段简单的python代码</strong></p> <!--highlightjs会自动格式化 pre code中的代码 -->
<pre>
<!-- 通过class属性说明代码中所用的语言 -->
<code class="python">
#!/usr/bin/env python3 if __name__=="__main__":
print("hello hightlightjs ...") </code>
</pre>
</body> <!-- 在这里调用hightlightjs中的格式化代码的方法 -->
<script>
hljs.initHighlightingOnLoad();
</script>
</html>
第三步:在浏览器中查看效果:

学习交流/打赏:

---
highlightjs 详解的更多相关文章
- Linq之旅:Linq入门详解(Linq to Objects)
示例代码下载:Linq之旅:Linq入门详解(Linq to Objects) 本博文详细介绍 .NET 3.5 中引入的重要功能:Language Integrated Query(LINQ,语言集 ...
- 架构设计:远程调用服务架构设计及zookeeper技术详解(下篇)
一.下篇开头的废话 终于开写下篇了,这也是我写远程调用框架的第三篇文章,前两篇都被博客园作为[编辑推荐]的文章,很兴奋哦,嘿嘿~~~~,本人是个很臭美的人,一定得要截图为证: 今天是2014年的第一天 ...
- EntityFramework Core 1.1 Add、Attach、Update、Remove方法如何高效使用详解
前言 我比较喜欢安静,大概和我喜欢研究和琢磨技术原因相关吧,刚好到了元旦节,这几天可以好好学习下EF Core,同时在项目当中用到EF Core,借此机会给予比较深入的理解,这里我们只讲解和EF 6. ...
- Java 字符串格式化详解
Java 字符串格式化详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 文中如有纰漏,欢迎大家留言指出. 在 Java 的 String 类中,可以使用 format() 方法 ...
- Android Notification 详解(一)——基本操作
Android Notification 详解(一)--基本操作 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Notification 文中如有纰 ...
- Android Notification 详解——基本操作
Android Notification 详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 前几天项目中有用到 Android 通知相关的内容,索性把 Android Notificatio ...
- Git初探--笔记整理和Git命令详解
几个重要的概念 首先先明确几个概念: WorkPlace : 工作区 Index: 暂存区 Repository: 本地仓库/版本库 Remote: 远程仓库 当在Remote(如Github)上面c ...
- Drawable实战解析:Android XML shape 标签使用详解(apk瘦身,减少内存好帮手)
Android XML shape 标签使用详解 一个android开发者肯定懂得使用 xml 定义一个 Drawable,比如定义一个 rect 或者 circle 作为一个 View 的背景. ...
- Node.js npm 详解
一.npm简介 安装npm请阅读我之前的文章Hello Node中npm安装那一部分,不过只介绍了linux平台,如果是其它平台,有前辈写了更加详细的介绍. npm的全称:Node Package M ...
随机推荐
- spring boot-mybatis全注解化(3)
pom.xml <!-- 引入mybatis --> <dependency> <groupId>org.mybatis.spring.boot</group ...
- Python标准库笔记(3) — datetime模块
datetime模块提供了简单和复杂的方式用于操纵日期和时间的类.虽然支持日期和时间运算,但实现的重点是为了输出格式化和操作高效地提取属性. 1. 模块内容 内容 描述 常量 datetime.M ...
- infobright系列三:数据导入乱码
1:目前在用的是社区版的infobright,不支持DML功能,只能用LOAD DATA方式导入数据. 如果元数据中有特殊控制字符,导入过程中经常会报错 2: 设置Reject File导入之前,设定 ...
- leetcode笔记:Bulls and Cows
一. 题目描写叙述 You are playing the following Bulls and Cows game with your friend: You write down a numbe ...
- python必须要安装的库
1.requests 2.lxml 3.Django 4.BeautifulSoup 5.PyMySQL-0.7.0 (适用于python3) 6.图片处理PIL
- Linux 系统lsblk和blkid命令
lsblk命令用于以树状的格式显示所有可用的块设备信息: [root@rhel7 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda : 10G ...
- Maven + SpringMVC项目集成Swagger
Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同样的速度来更新.文件的方法,参数和模型紧密集成到服 ...
- ios中一级导航
效果图 第一步先下载文件 http://pan.baidu.com/share/link?shareid=2148445651&uk=9237761877 将目录引入到xcode中 在xcod ...
- spring配置详解-连接池配置
2010-08-27 一.连接池概述 数据库连接池概述: 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出.对数据库连接的管理能显著影响到整个 应用程序的伸缩性和 ...
- 重启ssh服务出现Redirecting to /bin/systemctl restart sshd.service
转自:https://blog.csdn.net/caijunfen/article/details/70599138 CentOs 重启ssh服务的命令如下: # service sshd rest ...