更新了博客主题

去年年底在typecho官方论坛上看到了@ihewrohandsome主题,觉得不错,于是换掉了之前使用的NexT.Pisces主题。结果发现有一些地方还需要稍作调整,回想了一下,当时应该修改了这几个地方:

解决语法高亮和MathJax失效的问题。

这个问题是由InstantClick导致的,因为切换页面的时候没有重新加载JavaScript,所以一些初始化工作不能进行。于是在footer.php中加入了下列代码:

InstantClick.on('change', function(isInitialLoad) {
  if (isInitialLoad === false) {
    if (typeof MathJax !== 'undefined') // support MathJax
      MathJax.Hub.Queue(["Typeset",MathJax.Hub]);
    if (typeof Prism !== 'undefined') // support Prism
      Prism.highlightAll();
  }
});

过去我用Hexo博客的时候折腾过MathJax,所以很轻松就搞定了。其实这段代码也是从我的老博客里复制出来修改而成的。记得我原先用的是另外一款语法高亮插件,但是在这个主题里,不知道是不是CSS冲突的原因,左边的行号对应右边一大片空白,然后下面才是代码。后来试了试Prism,效果还不错,虽然行号和代码有一点错位,不过也能接受。网上并没有关于Prism相关资料,初始化的工作是载入JS的时候自动运行的。稍微阅读了一下它的源代码,然后发现Prism.highlightAll()就是执行初始化任务的函数,所以加上去了。

当前版本的主题比起老版本,已经提供多说之类的支持。如果你也使用MathJax和Prism,只需补上最后那两个if语句就OK了。

去掉头图

曾经我也想自己写一款主题,带有头图功能。用了这个主题之后感觉头图占据的空间太大了,文章标题分得很开,于是我用Notepad++的目录查找功能一下子删除了所有头图相关的代码。

新版的主题可以在设置里禁用头图了。

Meta标签的信息

当时使用的版本中,head区域中meta标签有许多没有意义的信息,是一对类似于“扁平化、响应式”之类的英文单词堆砌。我把它修改成了根据当前文章标题和内容来生成的meta标签。
修改完了之后发现其实没有多少用处,似乎百度爬虫不是很喜欢Typecho的样子,过去我用Hexo的时候,百度把每一个页面,甚至rss都收录了,而换了Typecho之后只收录首页。后来我用百度搜了一下其他Typecho博客,发现都是只收录了主页,或者不超过两页的文章页。
因为我迁移博客的时候做301跳转晚了几天,当时的域名现在也已经过期了,所以似乎百度并没有把我的文章识别为原创文章。
当然这也有我的文章被转载这个因素,转载的同时还不注明出处。虽然写了作者,不过应该没人认识。

还是Google娘比较能干,所有Typecho博客完整收录。

Yodu音乐播放器CSS冲突

因为主题使用了阿里巴巴的Iconfont图标库,YoduBGM也使用了同样的图标库,YoduBGM的覆盖了博客主题的同名class,导致除了YoduBGM的图标以外,其他的图标都变成了方框。

于是我简单地修改了YoduBGM,除了重命名冲突的class以外,也把位置稍微往下调整了一下,解决了顶部导航栏遮住YoduBGM按钮的问题。
然后发现YoduBGM的阴影太大了,画风不太对劲,就顺便把阴影半径改小了。

更新博客主题之后发现新版主题内置了YoduBGM……
于是我把修改过的YoduBGM禁用了,然后把配置复制了过来。

PS:记得当时@qqdie的博客打不开了,我试图用百度快照去寻找下载地址,结果发现百度没有收录那篇文章。
还是Google娘比较可靠( >з<)。

总结

总体来说,这次更新需要做的工作比我想象中的还要少很多,除了MathJax和Prism需要改动代码以外,其他的只需改改配置就搞定了。
感谢@ihewro大神的付出,暂时打算用着这套主题了。
不过Cross页面下的三个图标在Firefox中不能正常显示,之前试着折腾过,也没法解决这个问题。
我也没能解决我的favicon在Chrome浏览器里不能显示的问题,是不是Chrome只认PNG格式……

3 条评论

  1. xuhxi

    驰哥啊,为什么不搞一个注册用户的功能,业方面咱们交流对不对.....

    1. 夜光
      @xuhxi

      (゚∀゚*)……注册了之后是不是可以在我的博客发表文章。。。。。。

  2. jrotty

    我当时博客应该是被人打了,汗死,必应搜索收录也很快,只不过用的人少

发表评论