WordPress免插件实现文章代码高亮方法

2018年8月7日11:37:33 发表评论

阿里云服务器

WordPress pre代码高亮语法、wordpress代码高亮js代码/无插件实现WordPress代码高亮显示。WordPress文章内容实现代码高亮显示的方法最常见的通过安装插件来实现。常用比较多的是WordPress 代码高亮插件:Pure-Highlightjs。也有主题模板本身就带有代码高亮功能。以下是Wordpress免插件实现文章代码高亮方法。

不喜欢安装WordPress代码高亮插件的(wordpress程序插件过多也不太好),可以从插件里提取出来添加到你的主题(前提是懂的代码)。这里提供两种css样式显示高亮代码。如下:

/*淡白色代码高亮样式http://www.lmlblog.com/430.html */
pre {
	display: block;
	padding: 9.5px;
	margin: 0 0 10px;
	font-size: 14px;
	line-height: 20px;
	word-break: break-all;
	word-wrap: break-word;
	white-space: pre;
	white-space: pre-wrap;
	background-color: #f5f5f5;
	border: 1px solid #ccc;
	border: 1px solid rgba(0,0,0,.15);
	border-radius: 2px
}
pre.prettyprint {
	margin-bottom: 20px
}
.prettyprint.linenums, pre.prettyprint.linenums {
	-webkit-box-shadow: inset 40px 0 0 #eee, inset 42px 0 0 #33b796;
	-moz-box-shadow: inset 40px 0 0 #eee, inset 42px 0 0 #33b796;
	box-shadow: inset 40px 0 0 #eee, inset 42px 0 0 #33b796
}
.prettyprint.linenums ol, pre.prettyprint.linenums ol {
	margin: 0 0 0 28px
}
.prettyprint.linenums ol li, pre.prettyprint.linenums ol li {
	padding-left: 6px;
	color: #bebec5;
	line-height: 20px;
	margin-left:3px;
	list-style: decimal
}
.prettyprint.linenums ol li:before, pre.prettyprint.linenums ol li:before {
	content: "";
	width: 0
}
.prettyprint .com {
	color: #666
}
.prettyprint .lit {
	color: #c0c
}
.prettyprint .clo, .prettyprint .opn, .prettyprint .pun {
	color: #0a0
}
.prettyprint .fun {
	color: #dc322f
}
.prettyprint .atv, .prettyprint .str {
	color: #c28f5b
}
.prettyprint .kwd, .prettyprint .tag {
	color: #f92659
}
.prettyprint .atn, .prettyprint .dec, .prettyprint .typ, .prettyprint .var {
	color: #0a0
}
.prettyprint .pln {
	color: #00f
}
 /*暗黑色代码高亮样式http://www.lmlblog.com/430.html */
.prettyprint, pre.prettyprint {
	background-color: #272822;
	border: none;
	overflow: hidden;
	padding: 10px 15px;
}
.prettyprint.linenums, pre.prettyprint.linenums {
	-webkit-box-shadow: inset 40px 0 0 #39382E, inset 41px 0 0 #464741;
	-moz-box-shadow: inset 40px 0 0 #39382E, inset 41px 0 0 #464741;
	box-shadow: inset 40px 0 0 #39382E, inset 41px 0 0 #464741;
}
.prettyprint.linenums ol, pre.prettyprint.linenums ol {
	margin: 0 0 0 33px;
}
.prettyprint.linenums ol li, pre.prettyprint.linenums ol li {
	padding-left: 12px;
	color: #bebec5;
	line-height: 20px;
	margin-left: 0;
	list-style: decimal;
}
.prettyprint .com {
	color: #93a1a1;
}
.prettyprint .lit {
	color: #AE81FF;
}
.prettyprint .pun, .prettyprint .opn, .prettyprint .clo {
	color: #F8F8F2;
}
.prettyprint .fun {
	color: #dc322f;
}
.prettyprint .str, .prettyprint .atv {
	color: #E6DB74;
}
.prettyprint .kwd, .prettyprint .tag {
	color: #F92659;
}
.prettyprint .typ, .prettyprint .atn, .prettyprint .dec, .prettyprint .var {
	color: #A6E22E;
}
.prettyprint .pln {
	color: #66D9EF;
}

1、根据你用的wordpress主题风格选择上面css样式的其中一种(淡白色或暗黑色),添加到你主题的style.css,其他样式显示可自行修改。淡白色显示效果为本站显示,暗黑色效果显示如下图(多数网站用这种)。

Wordpress免插件实现文章代码高亮方法

2、下载wordpress高亮js代码prettify.js,并将prettify.js上传到主题的js文件下。

3、在wordpress主题的header.php或footer.php添加以下javascript脚本,通常footer.php

<script type='text/javascript' src="<?php echo get_template_directory_uri(); ?>/js/prettify.js"></script>

4、在wordpress主题functions.php文件下添加以下快捷编辑按钮。主要是在后台发布文章时不用手动输入代码pre。编辑文章时切换到文本模式,然后点击“代码高亮”即可插入pre代码高亮语法。

//后台编辑器添加按钮http://www.lmlblog.com/430.html
function prettify_bottom($mce_settings) {
?>
<script type="text/javascript">
QTags.addButton( 'kkpre', '代码高亮', '<pres class="prettyprint linenums" >\n\n</pres>', "" );//添加高亮代码
QTags.addButton( 'i</>', '</>', "<", ">" );
function prettify_bottom() {
}
</script>
<?php
}
add_action('after_wp_tiny_mce', 'prettify_bottom');

PS:由于wordpress程序代码转义问题,请将上面的两个"pres" 去掉后面的s,变成"pre"后,再添加到functions.php文件下

至此,wordpress文章代码高亮添加完全。由ps:由于主题不同,可能css样式存在差异,如代码之间的间距(margin/padding)等。请自行修改。

WordPress免插件实现文章代码高亮方法主要就是将JavaScript文件和CSS文件直接添加到主题里面,不需要插件就可以实现代码高亮。

maolai

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: