这两天在搭建Jekyll,然后利用Markdown来写文章,挑了一个喜欢的模板,本来一切都挺好的。然后发现操蛋的来了,这个模板的代码块样式和链接样式那叫一个丑。我又不舍得换模板,只能想着怎么把这些样式给定制。经过一番折腾,总结了一些小经验,但是感觉我的这种方法太暴力,应该会有更方便的方法,以后慢慢继续琢磨吧。
这些样式是在哪定义的
最好的办法就是打开控制台,定位到代码块和链接,然后就可以看到这些规则是在哪个 css 文件里的。在我这个模板里,是在assets/css/main.css这里定义的。
修改样式
链接样式
原模板里的样式有下划线、颜色还是红色的。。 于是直接在main.css中修改了这些规则,搞定
代码块样式
如果用的是Markdown写文章,那么Jekyll中的代码块样式是由_config.yml中定义的Markdown解析引擎决定的,默认是kramdown。
我用的这个模板里定义的代码块语法高亮样式不是我喜欢的,搜索了一下,发现可以在一个Pygments上找自己喜欢的样式,然后打开控制台可以下载对应的pygments.css。
- 把这个 css 文件放到项目根目录的
assets/css/某个目录下 - 找到
/_includes/head.html,在main.css下面添加这个 css 文件的链接 - 运行
jekyll serve预览一下,发现没有变化,于是继续使用控制台调查原因,原来是我们的pygments.css中的规则优先级没有main.css中的高。这就蛋疼了,前者是我们下载的第三方 css 文件,不大建议修改它,暂时我想到的办法就是修改main.css,把跟代码高亮相关的规则全部注释了。之后发现一切都正常了,是我们想要的效果了。 
对于第三点,个人感觉应该可以配置某些变量,使得main.css和pygments.css中关于代码高亮的规则一致,这样就直接能覆盖了,后续继续研究吧。