Pelican静态博客搭建总结

2013.09.08/2015.01.09发布于笔记暂无评论#pelican#setup#static_blog#总结

介绍Pelican并总结在搭建Pelican博客过程中需要注意的问题等。

Pelican介绍

Pelican是一个用Python语言编写的静态网站生成器,支持使用restructuredText和Markdown写文章,配置灵活,扩展性强。目前Pelican已发布3.2.2版本,有许多优秀的主题插件可供使用。

配置文件介绍

以下内容以Pelican3.2.2的配置文件为标准,选择部分难设置的变量进行说明。

继续阅读...

使用w3tc,ocp和cron让wordpress成为一个伪静态博客

2012.12.21发布于研究暂无评论#golang#php#static_blog#wordpress

前一段时间折腾了一会PelicanRuhoh这些静态博客引擎,不过因为舍不得wordpress的众多优秀主题和插件,最终没有迁移到静态博客引擎上,我果然是一个懒人。使用过静态博客引擎的人肯定对其闪电般的页面加载速度(nginx+静态文件)印象深刻,相较之下wordpress这类动态博客便差强人意。好在wordpress有众多的缓存插件,适当的配置之后页面加载速度会有很大的提高。不过这还不够,我想要的效果是,既有动态博客的便利也要有静态博客的速度。所以,免不了又要折腾一翻。

要让wordpress成为一个“伪静态博客“,至少要实现如下的几个功能:

  • 文章和页面必须被缓存,未注册用户访问时直接读取缓存的静态文件即可。这一点使用w3tc插件可以实现。
  • 使用Markdown撰写文章,这一点可以使用Markdown on Save Improved插件实现。
  • 社会化评论,可以使用Disqus, 多说灯鹭等社会化评论服务提供的插件实现。

使用w3tc有一个缺点,当写完新的文章后,文章存档、文章分类和标签这些页面将无法及时更新。一个解决的方法是,在w3tc的page cache里,将Garbage collection interval(垃圾回收间隔)设置的小一些会有所帮助。不过垃圾回收后,所有的页面缓存都会失效,然而绝大多数的页面并未改变,所以每次都重新生成所有的页面缓存有点资源浪费。

对此,我的解决方案是使用Optimus Cache Prime(ocp)爬取网站的sitemap.xml(使用Google XML Sitemaps v3 for qTranslate插件自动生成)来自动更新文章存档、文章分类和标签的页面缓存(w3tc会自动删除新文章的页面缓存)。要达到这一目的必须对ocp和Google XML Sitemaps的代码做一些修改。

继续阅读...