博客园自定义代码块样式

一直都用博客园写博客,后面自己曾经想自己写一个博客项目,但是因为各种各样的事情最后做了一半就没能继续做下去。但是中间定制markdawn样式的时候接触到的代码高亮插件highlight.js倒是给我留下了很深的影响,今天有时间于是决定利用当初的经验重新diy一下博客园的代码块样式,算是对夭折的博客项目的一个弥补吧。

一、下载highlight.js#

可以去highlight.js官网直接下载。

下载完的文件里有highlight.pack.js,决定你的代码哪里高亮,而styles文件夹存放各种样式,决定你的代码怎么样高亮。

按照官网文档引入三行代码即可生效:

<!--选择你想要的引入的样式-->
<link rel="stylesheet" href="/path/to/styles/default.css">
<!--引入highlight.js-->
<script src="/path/to/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>

可以自己建一个页面试一试,样式有很多种,我个人比较喜欢darcula.css这个样式,接下来就以这个样式为例。

二、将样式引入博客园#

首先自定义css需要开通自定义权限,这个跟着流程来即可,我就不再赘述了。

打开你想要引入的css样式,复制代码黏贴到“页面定制css代码”,

注意:这里要直接把css文件的代码复制过来,而不是引用!

image-20200713160332026

然后将js添加到“博客园侧边栏公告”

注意:这里不需要引入css!

这里js文件资源我直接放到了博客园自带的文件仓库了,要放自己的静态资源仓库,或者引用第三方都行,

然后保存以后代码样式就会发生变化。

但是仍然还会有各种各样的小问题,比如字体和背景颜色不对之类的。

三、修复冲突的字体或背景颜色#

一般主要问题都是字体或者背景颜色不对,我们直接覆盖.cnblogs-markdown .hljs的样式:

.cnblogs-markdown .hljs {
    display: block;
    overflow-x: auto;
    
    /* 替换背景和字体颜色 */
    background: #2b2b2b !important;
    color: #bababa !important;;
	
    /* 代码块不换行 */
    white-space: pre;
    word-break: normal;
}

根据自己的需求修改代码,然后把代码添加到“页面定制css代码”就可以了

四、修改字体样式或者代码块样式#

用chrome浏览器按F12查看你的文章页面元素,然后可以发现:

image-20200713161507669

.cnblogs-markdown .hljs, .cnblogs-post-body .hljs这块就是控制代码块字体和边距的样式,你可以直接根据自己的需求调整样式然后直接黏贴到“页面定制css代码”里就行了。

博客园代码块默认边距是5,字体大小是12,行高是1.5,我想让换个好看的字体,顺便行距大小啥的都大点:

@font-face {
    	font-family: consola;
    	src: url("http://static.xxxxx.top/consola.ttf");
}
.cnblogs-markdown .hljs, .cnblogs-post-body .hljs {
    font-family: consola !important;
    font-size: 13px !important;
    line-height: 1.7 !important;
    padding: 10px !important;
}

五、前后样式对比#

原本的样式:

image-20200713162724416

保存之后的新样式:

image-20200713162145863

大功告成!

作者:Createsequence

出处:https://www.cnblogs.com/Createsequence/p/13294197.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   Createsequence  阅读(3705)  评论(5编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示