【前端】向blog或网站中添加语法高亮显示代码方法总结

向blog或网站中添加语法高亮显示的代码方法总结

文章目录

  1. 预备知识
  2. 目标
  3. 第一类方法:嵌入
  4. 第二类方法:外部引用
  5. 第三类方法:忽略HTML和PHP

  最近在写代码时遇到一个问题,就是如何让代码像在IDE或专业编译器一样能够高亮显示在网页或博客中(如下图显示),上网查了很多资料,下面是我对学习到的方法的归纳总结。

  下面的方法基本上都是利用第三方javascript插件实现的,因此不必担心方法有多难,只要拿过来使用就可以了。在讲述方法之前先介绍一下与之条件:

预备知识

  • HTML和CSS的基本知识

目标

  • 在博客或网页中让嵌入代码高亮显示.
  • 在Wordpress中自动忽略HTML和PHP代码.

  方法主要有两类,一种是引入第三方的JavaScript和高亮语法插件,让pre和code标签中的代码高亮显示,另一种方法是直接嵌入主流网站的语法代码。



第一类方法:嵌入

  嵌入方式是最方便快捷的,很多网站都提供了代码导出的功能,它可以自动引入专业网站的高亮代码显示方式,美观大方。

GitHub gist

使用方法:

<!DOCTYPE html>
<html>
<head>
    <title>github代码嵌入</title>
    <meta charset="utf-8">
    <link rel="stylesheet" type="text/css" href="./assets/css/algorithm.css">
    <style type="text/css">
       div{
           margin: 8px;
       }
    </style>
</head>
<body>
<h1>github代码嵌入</h1>
<div>
<script src="https://gist.github.com/dragonir/b3b43d791c259b597907069020f4b754.js"></script>
</div>
</body>
</html>

实现效果:

Codepen pen

使用方法:

<!DOCTYPE html>
<html>
<head>
    <title>codepen代码嵌入</title>
    <meta charset="utf-8">
    <link rel="stylesheet" type="text/css" href="./assets/css/algorithm.css">
</head>
<body>
<h1>Codepen代码嵌入</h1>
<pre>
    <p data-height="265" data-theme-id="dark" data-slug-hash="MogbxY" data-default-tab="result" data-user="dragonir" data-embed-version="2" data-pen-title="MogbxY" class="codepen">See the Pen <a href="https://codepen.io/dragonir/pen/MogbxY/">MogbxY</a> by dragonir (<a href="https://codepen.io/dragonir">@dragonir</a>) on <a href="https://codepen.io">CodePen</a>.</p>
</pre>
<script async src="https://production-assets.codepen.io/assets/embed/ei.js"></script>
</body>
</html>

  

实现效果:



第二类方法:JavaScript高亮插件

  通过引入代码高亮显示插件,同样可以实现博客以及其他网站嵌入代码的高亮显示,以下是几种主流的方法。我只展示了基本的使用方法,想详细了解使用方法和接口,可以点击链接到官网。

Highlight.js

使用方法:

<!DOCTYPE html>
<html>
<head>
	<title>网页嵌入代码语法高亮</title>
	<meta charset="utf-8">

	<!--
		<link rel="stylesheet" href="/path/to/styles/default.css">
		<script src="/path/to/highlight.pack.js"></script>
		<script>hljs.initHighlightingOnLoad();</script>
	-->

	<link rel="stylesheet" type="text/css" href="./highlight/styles/railscasts.css">
	<link rel="stylesheet" type="text/css" href="./assets/css/algorithm.css">
	<script src="./highlight/highlight.pack.js"></script>
	<script>hljs.initHighlightingOnLoad();</script>
</head>
<body>
<h1>Highlight.js</h1>
<pre>
	<code class="javascript">
		function selectionSort(arr){
			var minIndex, temp, len = arr.length;
			for(var i=0; i < len; i++){
				minIndex = i;
				for(var j=i+1; j < len; j++){
					if(arr[j] < arr[minIndex]){
						minIndex = j;
					}
				}
				temp = arr[i];
				arr[i] = arr[minIndex];
				arr[minIndex] = temp;
			}
			return arr;
		}
		var num = new Array;
		num = [1,5,2,8,4,9,3,0,4];
		console.log(selectionSort(num));
	</code>
</pre>

</body>
</html>

 

实现效果:

Prism.js.

使用方法:

<!DOCTYPE html>
<html>
<head>
	<title>prism.js</title>
	<meta charset="utf-8">

	<link rel="stylesheet" type="text/css" href="./assets/css/algorithm.css">
	<link rel="stylesheet" type="text/css" href="./prism/prism.css">
	<script src="./prism/prism.js"></script>
</head>
<body>
<h1>prism.js</h1>
<pre>
	<code class="language-javascript">
		function selectionSort(arr){
			var minIndex, temp, len = arr.length;
			for(var i=0; i < len; i++){
				minIndex = i;
				for(var j=i+1; j < len; j++){
					if(arr[j] < arr[minIndex]){
						minIndex = j;
					}
				}
				temp = arr[i];
				arr[i] = arr[minIndex];
				arr[minIndex] = temp;
			}
			return arr;
		}
		var num = new Array;
		num = [1,5,2,8,4,9,3,0,4];
		console.log(selectionSort(num));
	</code>
</pre>

</body>
</html>

 

实现效果:

Google Prettify

使用方法:

<!DOCTYPE html>
<html>
<head>
	<title>prettify.js</title>
	<meta charset="utf-8">

	<!--
	Include the script tag below in your document:
	<script src="https://cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js"></script>
	See Getting Started to configure that URL with options you need.
	Look at the skin gallery and pick styles that suit you.
	-->

	<!--
	Put code snippets in <pre class="prettyprint">...</pre> or <code class="prettyprint">...</code> and it will automatically be pretty-printed.
	-->

	<link rel="stylesheet" type="text/css" href="./assets/css/algorithm.css">
	<script src="./prettify/loader/run_prettify.js"></script>
</head>
<body>
<h1>prettify.js</h1>
<pre>
	<code class="prettyprint">
		function selectionSort(arr){
			var minIndex, temp, len = arr.length;
			for(var i=0; i < len; i++){
				minIndex = i;
				for(var j=i+1; j < len; j++){
					if(arr[j] < arr[minIndex]){
						minIndex = j;
					}
				}
				temp = arr[i];
				arr[i] = arr[minIndex];
				arr[minIndex] = temp;
			}
			return arr;
		}
		var num = new Array;
		num = [1,5,2,8,4,9,3,0,4];
		console.log(selectionSort(num));
	</code>
</pre>
</body>
</html>

实现效果:



第三类方法:忽略HTMLPHP

  为了显示HTML和PHP代码,浏览器必须要将显示的代码自动忽略,你可以使用在线转换工具 Free Online HTML Escape Tool来转换你需要显示的HTML代码。如果你是用的博客是wordPress的博客,WordPress plugin 可以实现此功能,但是它无法和Prism.js同时使用。



总结

  现在就在你的博客或网站中嵌入好看的代码吧,如果你想了解更多有用的WordPress的功能,推荐访问this is the resource for you.

转载请标明出处:http://www.cnblogs.com/dragonir/p/7426965.html,作者:Dragonir ,欢迎转载。

时间: 2024-12-17 07:10:03

【前端】向blog或网站中添加语法高亮显示代码方法总结的相关文章

Word文档中的语法高亮显示代码

有时候我们程序员也需要在word文档里面显示代码,但是直接复制过去 不好看,格式也不太对,这里给大家分享一个Word文档中的语法高亮显示代码的方法 http://www.planetb.ca/syntax-highlight-word 把要粘贴到文档的代码复制过来,选择对应的语言,然后点击Show Highlighted 然后再把转换后的代码复制到word文档就搞定了! 原文地址:https://www.cnblogs.com/blibli/p/9092670.html

创建Windows Azure网站,使用FTP客户端在网站中添加页面

创建Windows Azure网站 创建web site非常简单,直接上图 FTP的用户名,千万不要搞错了是网站名称\用户名,这样的格式 你可以从截图中看到我添加test.asp作为新的默认页面. azure网站支持php5.3/5.4/5.5, 也支持java 创建Windows Azure网站,使用FTP客户端在网站中添加页面,布布扣,bubuko.com

bootstrap设计网站中添加代码高亮插件

这款插件的名字叫做google-code-prettify 使用该插件之前的效果: 使用插件之后的效果: 接下来说步骤: (1)下载两个文件 http://codecloud.sinaapp.com/google-code-prettify/prettify.css http://codecloud.sinaapp.com/google-code-prettify/prettify.js (2)在head中引入这两个文件 <link href="google-code-prettify/p

如何在网站中添加音乐

来源:http://www.ido321.com/1042.html 发现有很多的个人博客中添加了背景音乐,以增强用户体验.LZ搜集到了两种在网站中添加音乐的方式. 一.豆瓣的FM         这个非常简单,一段代码就可以实现. <p> <iframe name="iframe_canvas" src="http://douban.fm/partner/baidu/doubanradio" height="200" widt

电商网站中添加商品到购物车功能模块2017.12.8

前言: 电商网站中添加商品到购物车功能模块实现: 根据前一篇博客的介绍,我们看到淘宝网站为了保证购物车数据的同步,直接是强制用户必须登录才可以将商品加入购物车.而京东网站是用户在未登录的状态下也可以将商品加入到购物车,此时这个是保存在了cookie中,然后用户登录后,根据商品的id判断商品是否存在,将两个购物车的商品合并,形成最终的购物车商品. 本篇文章分两个模块,分别看下这两个功能是如何实现的: 1.必须在用户登录的前提下,才可以将商品加入到购物车列表 我们今天先看下淘宝网站的状态下的添加商品

vue中添加百度统计代码

一.在百度统计网站中添加自己的网站 1.官网地址:https://tongji.baidu.com/web/welcome/login. 2.在’管理‘一栏中选择‘网站列表’,然后选择新增网站,添加成功后点击代码获取,可以获取统计代码. 二. 在maim.js下百度统计代码添加 var _hmt = _hmt || []; window._hmt = _hmt; // 必须把_hmt挂载到window下,否则找不到 (function () { var hm = document.createE

VS中添加预处理宏的方法

VS中添加预处理宏的方法 除了在.c及.h中添加宏定义之外,还可以采用如下方法添加宏定义: 1.若只需要定义一个宏(如#define DEBUG),可以右键点击工程-->属性-->c/c++-->预处理器-->预处理器定义,点击下拉框中的编辑,输入想要定义的宏: 2.如果还需要定义宏的内容(如#define inline __inline),可以右键点击工程-->属性-->c/c++-->命令行,在其它选项中输入如下内容: /D"inline"

yii2中添加验证码的实现方法

本文实例讲述了yii2中添加验证码的实现方法.分享给大家供大家参考,具体如下: 首先,在模型中添加验证码字段: ? 1 2 3 public function rules(){ return ['verifyCode', 'captcha'], } 其次,可以在函数attributeLabels中添加前台页面中验证码的字段名称: ? 1 2 3 public function atrributeLabels(){ return ['verifyCode'=>'Verification Code'

在html中添加script脚本的方法和注意事项

在html中添加script脚本有两种方法,直接将javascript代码添加到html中与添加外部js文件,这两种方法都比较常用,大家可以根据自己需要自由选择 在html中添加<script>脚本的方法: 1.可以直接将javascript代码添加到html中 <script type="text/javascript"> //javascritp代码 </script> 当解释器嵌入<script>代码时,html页面的处理也会被暂时