一个博客园代码高亮的方案

前言

博客园虽然可定制度高,但是在代码高亮这一块做的并不是很好,默认的配色方案看着很不舒服,而且影响页面的整体协调感。

但正因为博客园的可定制度高,所以我们可以自定义代码高亮的风格。

使用纯 CSS 实现,不需要 JS 权限。

关于博客园的插入代码

本章节只针对博客园的 TinyMce 编辑器讨论,我没有测试其他编辑器(例如 Markdown)的代码高亮解析方案。

博客园的插入代码是有两种方案的。

如图所示。

两种插入代码使用的高亮解析方案不同,各有利弊。我对两种方案都做了适配。

我个人推荐使用第一种高亮方案。

如果想直接取用代码,请跳转到最后一章。

第一种代码插入

默认效果截图

自定义高亮后效果

优缺点

对于代码高亮比较细致,但是复制需要按复制按钮,复制界面和按钮比较丑,格式也不舒服。

如果默认折叠还会有很丑的展开和收缩图标。

这个高亮直接将 CSS 写在了 Style 里面,我迫不得已使用 [style="color:xxx;"] 选择器来匹配。

建议

插入大量代码并且需要读者复制时使用这个,如果需要在手机上阅读,使用这个。

第二种代码插入

默认效果截图

自定义高亮后效果

优缺点

代码高亮不怎么细致(例如数字就没有高亮),在手机上行数栏目会错位,但是整体比较精致。

元素比较多,而且是动态渲染的,代码长的话很占渲染运存。

建议

代码量较少时使用这个,在电脑上阅读使用这个,如果你的博客读者是在手机看的就不要用这个了。

高亮 CSS 代码

这是我目前在使用的高亮。

下面的 CSS 适配了两种插入方式,将下面的代码粘贴到 “博客后台-设置-页面定制CSS代码”中即可。

  1 /*第一种高亮开始*/
  2 .syntaxhighlighter .bold {
  3     font-weight:unset !important;
  4 }
  5 .syntaxhighlighter .line {
  6     background-color: rgb(40, 43, 46)!important;
  7 }
  8 .syntaxhighlighter .line.alt2 {
  9     background-color: rgb(40, 43, 46)!important;
 10 }
 11 .syntaxhighlighter .line.alt1 {
 12     background-color: rgb(40, 43, 46)!important;
 13 }
 14 .syntaxhighlighter .comments, .syntaxhighlighter .comments a {
 15     color: rgb(129, 142, 150)!important;
 16 }
 17 .syntaxhighlighter .keyword {
 18     color: rgb(147, 199, 99)!important;
 19     font-weight: unset !important;
 20 }
 21 .syntaxhighlighter .preprocessor {
 22     color: rgb(85, 113, 130) !important;
 23 }
 24 .syntaxhighlighter .plain, .syntaxhighlighter .plain a {
 25     color: rgb(224, 226, 228)!important;
 26 }
 27 .syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
 28     color: rgb(147, 199, 99)!important;
 29 }
 30 .syntaxhighlighter .string, .syntaxhighlighter .string a {
 31     color: rgb(236, 118, 0)!important;
 32 }
 33 .syntaxhighlighter .functions {
 34     color: rgb(140, 187, 173)!important;
 35 }
 36 .syntaxhighlighter .gutter .line {
 37     border-right: 2px solid rgb(147, 199, 99)!important;
 38 }
 39 .syntaxhighlighter.collapsed .toolbar {
 40     background: rgb(40, 43, 46)!important;
 41     border: none !important;
 42     border-radius: 5px !important;
 43 }
 44 .syntaxhighlighter.collapsed .toolbar a {
 45     color: rgb(147, 199, 99)!important;
 46 }
 47 .syntaxhighlighter.collapsed .toolbar a:hover {
 48     color: rgb(78, 109, 48)!important;
 49 }
 50 .syntaxhighlighter {
 51     border-radius: 5px;
 52 }
 53 /*第一种高亮结束,第二种高亮开始*/
 54 .cnblogs_code {
 55     background: #282b2e;
 56     border-radius: 5px;
 57     border: none;
 58     font-family: consolas !important;
 59 }
 60 .cnblogs_code_toolbar {
 61     background: #282b2e !important;
 62 }
 63 .cnblogs_code_toolbar a:hover, .cnblogs_code_toolbar a:link, .cnblogs_code_toolbar a:visited, .cnblogs_code_toolbar a:active, .cnblogs_code_toolbar a:link img, .cnblogs_code_toolbar a:visited img {
 64     background-color: #282b2e !important;
 65     border: none!important;
 66 }
 67 .cnblogs_code pre {
 68     font-family: consolas !important;
 69     padding-left: 3px;
 70     color: rgb(224, 226, 228);
 71 }
 72 .cnblogs_code span[style="color: #000000;"]{
 73     color: rgb(224, 226, 228) !important;
 74 }
 75 .cnblogs_code span[style="color: #0000ff;"]{
 76     color: rgb(147, 199, 99)!important;
 77 }
 78 .cnblogs_code span[style="color: #800080;"]{
 79     color: #ffd740 !important;
 80 }
 81 .cnblogs_code span[style="color: #800000;"]{
 82     color: rgb(236, 118, 0)!important;
 83 }
 84 .cnblogs_code span[style="color: #008000;"]{
 85     color: rgb(129, 142, 150)!important;
 86 }
 87 .cnblogs_code span[style="color: #008080;"]{
 88     color: #afafaf!important;
 89     margin-right: 5px;
 90 }
 91 .cnblogs_code_collapse {
 92     border: none;
 93     background: #282b2e;
 94     color: rgb(147, 199, 99);
 95 }
 96 .postBody img {
 97     max-width: 100% !important;
 98     margin-top: -5px;
 99     margin-left: 5px;
100 }
101 /*第二种高亮结束*/

欢迎在评论区提出问题和建议。

原文地址:https://www.cnblogs.com/abc2237512422/p/9862635.html

时间: 2024-08-04 20:28:26

一个博客园代码高亮的方案的相关文章

初步解决博客园代码高亮的一个方案

今天我要推荐的是一个免费而且支持markdown语法的软件--Typora 它有很多优点,支持多种类型代码的高亮风格,方便的排版处理,支持Latex等,最重要的一点是真正做到了所见即所得ヽ(???)?(???)? 之前在csdn 的时候有markdown编辑器,是左半边写,右半边就可以预览.但Typora厉害就在于它只有一个界面,写好之后就可以直接显示效果了(除了少数的功能无法直接预览,就我所知比如居中处理),这一点就很棒了 写前两篇博客的时候感叹博客园的markdown编辑器真是太难用了,而且

博客园代码高亮

使用syntaxhighlighter插件对代码进行加亮: 1>下载syntaxhighlighter,解压后将shThemeDefault.css和shCoreRDark.css文件上传到博客园 2>设置"页首html代码",添加 <link type="text/css" rel="stylesheet" href="http://博客地址/files/wbbice/shCoreRDark.css"/&g

使用highlightjs_markdown编辑器自定义博客园代码高亮

一 下载选定highlightjs主题CSS样式 先去highlightjs官网选择一个主题,然后直接下载主题包,找到对应名字的css,复制所有css样式代码 然后博客园选项修改默认编辑器为markdown,如下: 二 修改CSS代码并设置 在样式的第一行.hljs前面加上这句 .cnblogs-markdown 还需要在背景颜色和字体大小后加入强制覆盖,即!important,只需要改动第一个,如下图: 将修改后的css样式直接贴在设置里面的页面定制 CSS 代码里面保存即可查看效果,注意,如

博客园代码高亮插件(类似csdn的代码插入)

博客园内置支持SyntaxHighlighter代码着色,使用此内置着色特性需要将博客的默认编辑器改为TinyMCE(“管理”-“选项”中设置).如果使用CuteEditor,CuteEditor会自动去除代码中的空格,造成代码格式破坏. 如果您使用Windows Live Writer写博客(配置步骤),通过Windows Live Writer代码着色插件,可以方便进行SyntaxHighlighter代码着色. 我们推荐的代码着色插件是:Windows Live Writer Source

博客园代码高亮美化教程

先简单展示下效果吧: 首先需要导入js代码,在侧边栏公告处将以下代码复制进入: <script type="text/javascript"> !function(){var q=null;window.PR_SHOULD_USE_CONTINUATION=!0; (function(){function S(a){function d(e){var b=e.charCodeAt(0);if(b!==92)return b;var a=e.charAt(1);return(

博客园代码定制

博客园代码定制 版本:2019-08-08 本文基于Simple Memory模板,且已获取CSS和JS权限,此版本并非最终版本. 如有错误请指出,代码开源可以修改完善,仅用于学习交流,转载时请注明出处! 本文记录了对博客园主页优化的尝试过程以及相关的CSS源码. 在此之前默认已在“管理-选项”部分设定好了每页显示的内容,在“管理-设置”部分进行下列设置. Part 1  定制CSS代码(body部分) 首先应该解决网页端缩放和手机端图片显示不全的问题,这里采用手机端“强制使用网页端”的模式来修

博客园代码块样式一

参考:点击跳转 代码块: .cnblogs_code pre { font-family: Courier New!important; font-size: 15px!important; word-wrap: break-word; white-space: pre-wrap; } .cnblogs_code span { font-family: Courier New!important; font-size: 15px!important; line-height: 1.5!impor

博客园代码块

.cnblogs_code pre { font-family: Courier New!important; font-size: 15px!important; word-wrap: break-word; white-space: pre-wrap; } .cnblogs_code span { font-family: Courier New!important; font-size: 15px!important; line-height: 1.5!important; } .cnbl

博客园代码

<pre class="brush: java;html-script: false;quick-code: true;smart-tabs: true;auto-links: false;toolbar: false;gutter; true;light: false;ruler: false;pad-line-numbers: 2;collapse: false;tab-size: 4;first-line: 1;"> </pre> 原文地址:https:/