折腾博客记

Friday, January 6, 2017 字数 1794

这个博客我其实并没有毅力经常保持更新,不过这几天刚好有空,于是把这个博客的一些已知问题修复一下。

  1. 听说纯静态博客有着更快的速度和更高的安全性,于是试试把大脸猫转移到静态博客上。失败
  2. 那就优化已有的框架吧,还是呆在 wordpress
  3. 主题的各种 bug
  4. 本地镜像
  5. 撰写流程由 Ulysses 转回 Dayone

静态化

对于我这种没事只会发发文字贴贴图的人来说,很多朋友都推荐用纯静态的博客来写作。科普一下:所谓纯静态呢,就是说整个网站不需要数据库、不需要 php 、整个网站就是 html 文件与 css ,最多主题带个 js 文件就好了。静态化的博客优点就是快、快、快。比如说我现在用的是 wordpress 的框架,几乎你打开的每个页面都需要经过对数据库的访问、服务的渲染之后实时生成的 html 文件,当我的服务器性能不够高或者访问的人数太多(开什么玩笑,根本没有人来看),就会很慢。另外一个优点就是静态化之后安全性会更高,同样是因为服务器无需执行任何代码,漏洞也就无从谈起了。

说了这么多,于是按捺不住开始折腾了。静态化博客生成的程序有很多很多,而像我这种什么也不懂的设计师自然就选择了利用 python 语言写的 pelica 博客生成框架。关于 pelica 网上的教程有很多,没有 pyhton 基础的朋友不建议尝试。最后放弃的原因是:pelica 的主题太少了,在我尝试自己写主题失败多次之后还是决定放弃。

优化 wordpress 速度

好吧,不作死就不会死。我又开始作死了。wordpress 有个全站静态化插件:simple static。这个插件牛逼的地方在于它会抓取整个站所有的页面并把它们生成单独静态 html 文件,生成之后不能和本身的 wordpress 并存,也就是说:全站静态化之后 wordpress 可以退下了。想法是很 ok,我特意把大脸猫移到子目录下,可是问题又来了:每次更新博客的时候,按我这里文章的数量,它要 10 多分钟才能生成完毕,生成完之后还得手动替换之前的文件,太!麻!烦!放弃

后来我意识到一件事情:对于拖慢整体速度来说,wordpress 自身的性能相对于主机空间的网络延迟来说,压根就不算是事。就好比我要去美国买一个鸡蛋饼,美国大妈做鸡蛋饼的时间相对于把鸡蛋饼海淘回来的时间根本就不算是事。(我知道美国大妈不会做鸡蛋饼!)

那就来把大脸猫的主题 bug 修复吧

之前有朋友问我这个主题是什么:Diaspora,主题的作者在 github 上开源过: https://github.com/LoeiFy/Diaspora 感谢大神!但是有一些问题:

  • 手机端浏览有很大机率会一直显示载入状态,也就是一个小点点的过场动画
  • 手机端浏览有很大机率会有一个广告拦在页面下方,极度无法忍受
  • 手机端一些 js 错误使得首面那个视差动画会载入不成功,
  • 手机端页面宽度是错误的,会有一个横向滚动条

很神奇所有的问题都是在手机上产生的,而手机上很难调试找不到问题在哪。下午终于找到了一个办法,在 mac 下的 safari 可以和 iphone 联动作调试用。 于是有了相应的办法:

  • 直接去掉那个过场的小点动画,简单粗暴
  • 这个广告出现的原因我只能猜测是运营商劫持,全站 ssl 加密可破。于是你现在能看到大脸猫的网址前面是加了把锁的。
  • 修复一些其他js错误,此处参照了『顾道』发布的修改版本,感谢。
  • 把大脸猫的 logo 格式由 png 改成了 svg。这样在高分屏上的显示效果会更好。
  • 在菜单里加入了我在 Behance 和 dribbble 的设计作品链接,如果觉得博客里作品发的太零散了可以去那里看看,欢迎 follow。

至此,所有主题的主作完成。如果有朋友发现新的 bug 还是希望能留言给我。

本地镜像

继续作。写博客有五六年了,其间有好几次因为没有备份的习惯,丢失了所有数据。 想死的心都有了,还是得狡兔三窟,于是在本地的群晖上搭建了一个 wordpress,定时镜像资料回家。当然有很多博客测试也可以在 nas 上进行。还是很有必要的。

撰写与发布流程

之前有写过一篇文章专门介绍 Ulysses 的:Ulysses to wordpress 发布工具 UIyssese 的优点就是:好看,稳定。作为一个外貌党,这两点就让我青睐于它。但是用了这么长一段时间之后还是发现了问题:

  • 它的撰写界面默认是不显示图片的,只能在预览界面显示。对于我这种经常写写图文教程的人来说极其的不方便
  • 它的对外输出数据里不包含 tag 、不包含文章时间,这样我自己写的发布脚本就没办法有这些信息,是非常不友好。

以上的缺点恰恰 Dayone 都不存在。但是 Dayone 对 Markdown 的渲染经常有问题,比如我加粗了的文本有时认不出来,一列表的嵌套也会出错。但是好在我可以直接输出 markdown 文本然后在 python 里面自己渲染。 所以问题还是可以解决。

所以,现在基本上在 Dayone 里写完文章之后,打上标签(设计、教程、败家……)之后直接输出的 python 脚本里,上传所有图片发布文章都是自动完成的。

目前来说还是比较满意。

至此,折腾完毕。