博客完全静态化

黄杰, 2012-12-18
root[a]linuxsand.info

update:我又切换回去了:用自己的脚本去生成。

使用 pelican 来把 blog 完全静态化,不再使用自己山寨的了。

文档在此 http://pelican.readthedocs.org/en/3.1.1/

修改 settings.py

cd C:\Python27\Lib\site-packages\pelican-3.1.1-py2.7.egg\pelican

并改动相关字段为:

'DEFAULT_LANG': 'zh-CN',
'TIMEZONE': 'Asia/Shanghai',
'DEFAULT_DATE_FORMAT': '%Y-%m-%d',
'DIRECT_TEMPLATES': ('archives',),
'SITENAME': "linuxsand's blog",
'SITEURL': 'http://blog.linuxsand.info',
'OUTPUT_PATH': 'C:\\Users\\Administrator\\Dropbox\\Public\\output\\',
'CATEGORY_URL': '',
'CATEGORY_SAVE_AS': '',

修改 basic 主题

这里下载 basic 主题。basic 主题继承自 pelican 自带的 simple 主题。

cd C:\Python27\Lib\site-packages\pelican-3.1.1-py2.7.egg\pelican\themes\simple\templates 更改相关模板。

我更改了 3 处:

修改 C:\Python27\Lib\site-packages\pelican-3.1.1-py2.7.egg\pelican\themes\basic\static\css\style.css,可以使用 sofish 的 TYPO.CSS,见本文底部链接。

生成静态 HTML

pelican path/where/md/files/locate,具体可以 pelican --help

配置 nginx

OK,现在静态内容已成生成到 dropbox 的公共目录,并同步到 VPS。接下来需要配置 nginx 来 serve 这个 blog。

增加一条:

server {
    listen 80;
    server_name blog.linuxsand.info;
    root /xx/xx/xx/xx;

    location / {
        index archieves.html;
    }

    location ~* \.(jpg|jpeg|png|gif|js|css) {
        expires max;
    }
}

重启 nginx,ta~da~