ZMonster's Blog 巧者劳而智者忧,无能者无所求,饱食而遨游,泛若不系之舟

更换博客主题

今天更换了主题,其实就是jekyll-bootstrap的 twitter主题

对于 掌心 设计的主题 The One ,我不能说不好,只是还是不太符合我的喜好,我这段时间花了大量的时间想自己写一个 极致简洁 的模板,比如说Liutos的博客 这样的风格,不过web知识太过匮乏,全凭自己在w3school在线教程 上对HTML/CSS 得到的丁点了解,而没有前端设计的理念,完全就是乱来(我自己倒是搞了个比较简单的模板出来,但是太丑了(╯‵□′)╯︵┴─┴ )。

之前我试用jekyll-bootstrap时它不能处理\_posts/目录下的html文件,这是我当时放弃它的主要原因——我可不想写markdown,今天一试居然可以了……我一定是记错了什么……

不过我也没有把jekyll-bootstrap全部都拿过来用,而是把twitter主题的模板直接放到了\_layouts目录下,顺便也修改了一下css。

还有,jekyll-bootstrap的twitter主题有一个问题,它的模板 page.htmlpost.html 中,本应显示页面/文章 标签的地方,一直显示的是

Supporting tagline

这是因为模板中的相应地方作者遗忘了一处细节,请看这段代码:

<div class="page-header">
  <h1>更换博客主题 <small>Supporting tagline</small></h1>
</div>

其中 small 标签内部应该修改为 {{ page.tagline }}

还有一个小问题是,模板的首页文件即 index.md 设置了一个title为 Hello World ,而由于 default.html 这个模板将页面文件的tile设置为博客页面的title,这就有一个问题了。index.md生成的index.html会渲染为博客的首页,也就是说,博客首页的标题会被设置为index.md中指定的title,按照常理,首页的页面标题应该是和博客的标题一致的。接下来就有两种情况:

  1. 将index.md中的title设置为博客标题,但这样和导航栏中的博客标题重复了,看起来有点多余
  2. 将index.md中的title设置为非博客标题的内容,这样就和刚才说的 常理 不符

我的做法是:

  1. 修改default.html

    将以下内容

    <title>{{ page.title }}</title>
    

    修改为:

     <title>
       {% if page.title %}
       {{ page.title }}
       {% else %}
       {{ site.title }}
       {% endif %}
    </title>
    
  2. 修改index.md

    删除其title,修改其模板为 default,在头部添加:

    <div class="page-header">
    <h1>文章列表 <small>{{ page.tagline }}</small></h1>
    </div>
    

要不要跟作者提提意见呢?嘿嘿