前言
折腾了将近一个星期,终于把博客整个装修了一遍,使用了新的
的主题1
响应式布局
.1
hpstr
因为实在是折腾了一番.
在这里将对于新主题的一些改进进行一个细致的说明,同时也提供一些使用jekyll的心得在这里.
主要分为以下几点:
- 使用新主题
1
hsptr
- 将
解析器换为1
markdown
1
kramdown
- 使用
进行代码高亮处理,解决github pages无法使用1
google code prettify
的问题1
coderay
- 为
主题增加右侧悬浮1
hsptr
(悬停显示)1
TOC
- 为
主题增加1
hsptr
页面1
categories
新主题hsptr
之前一直使用的Jekyll 博客主题 Kunka这个主题,也对其进行了一定的修改,但是最近发现其在手机上的表现实在不尽如人意,所以决定换成响应式布局的主题.
然后首先尝试的是hexo,但是hexo有几个很致命的问题:
- Hexo 不支持Github Pages自动生成,还要在本地生成再传到Github上去,违反了简便原则
- hexo能用的主题太少,好用并且好看的主题更加是基本为0,pacman这个主题还算是不错,但是有一些位置和我的要求相悖,比如主页文章无法显示摘要等等.
最后再一番挣扎和妥协(
)之后还是放弃了hexo转而投向原生的jekyll.1
自己还修改了hexo的wordpress导出程序
并且发现jekyll还是有许多好的主题可以使用的,比如我现在使用的hsptr主题,还有许多其他的主题可以使用,参见:Jekyll Themes.
在
的基础上,我还修改了一些样式,比如:1
hsptr
的样式为有立体感觉.1
inlinecode
的字体改为1
code hightlight
.1
Consolas
kramdown
用过了之后才发现,都是
解析器,差别其实相当大,1
markdown
支持的语法非常多,比如我现在最想要的引用,其原生就支持,除了生成速度较慢,使用起来是相当方便的.1
kramdown
我也是看了一篇1
解析器的对比之后才转过来使用1
markdown
的.kramdown在任何方面都有其优势,只是由于其原生使用的1
kramdown
无法在1
coderay
上使用(Github Pages不支持插件),所以需要进行一定的修改,让其更加好用.1
Github Pages
GCP
尝试了一些方法在
上不通过插件的方式实现代码高亮,最后发现GCP(Google Code Prettify)是其中最好用的.1
Github Pages
首先在
的网站上下载它的js和css的包放入博客目录中.
然后在页面上加入如下一段代码就行了:1
Google Code Prettify
1 2 3 4 5 6 7 8 | <link rel="stylesheet" href="/assets/js/plugins/prettify/prettify.css"> <script src="/assets/js/plugins/prettify/prettify.js"></script> <script type="text/javascript"> $(function(){ $("pre").addClass("prettyprint"); prettyPrint(); }); </script> |
悬浮TOC
另外一个问题就是文章目录的问题,首先在kramdown里面可以很简单的插入文章目录,使用如下代码:
1 2 | * TOC {:toc} |
但是这样生成的文章目录不是很好用,也不美观,文章太长的话,想要找东西很麻烦,然后就本着造福人类的想法,我投身到了完全没有接触过的
和1
JS
的世界中去了,由于改动的位置实在太多,这里就不冗述了,详情参见我博客的github项目.1
CSS
这里mark一下jquery的获取元素位置的方式:
1 2 | $('#h2outline').height() //获取元素高度 $('header').outerHeight() //获取元素外部高度(包括margin) |
下面是主要修改的两个文件:
Categories
这个是借的
主题的,然后对应我的1
kunka
主题进行了一定修改,参见:1
hsptr