Pelican静态博客架设

Posted on 2014-10-04 in Coding

虽然是更新,但这篇文章是完全重写,之前的版本是英文写的。

从新浪等博客平台到Wordpress,我折腾过不少次的博客。两年前我开始使用Pelican+Markdown来书写,托管在Github Pages上,坚持使用了一年多时间。之前我使用基于pure的定制版主题,后来Pelican升级导致API有些变动,正好我忙于其他事情,博客就没法更新了,最大的问题是当时木有使用virtualenv来隔离运行环境。吃一堑,长一智,端午节有些时间,于是我升级了博客,主题基于官方默认的notmyidea,稍微变动了一点点成为littleidea。

基础配置

使用GitShell:

cd d://
mkdir pelicanblog
cd pelicanblog
virtualenv --no-site-package venv # no extra packages, pure Python
venv\Scripts\activate

(venv) pip install pelican markdown

(venv) mkdir blog # Now, the fold 'blog' and 'venv' inside the top fold
(venv) cd blog
(venv) pelican-quickstart

回答一些问题,就可以,后面pelicanconf.py中可以改。我们可以使用Pelican官方教程中的pelican命令来完成实验性的架设,实践中我们在Windows平台下最适合使用make来自动化生成博客内容。为了避免添加PATH路径,我们把make.exe文件直接放在系统中安装的Python文件夹中即可,这样在虚拟的环境中仍然可以使用。

(venv) make html
(venv) make regenerate # Or, make publish, we can find the meaning in the ‘Makefile’

其实第一个指令会将content文件夹中的markdown文件转成output中的html文件,这个时候整个output中的内容已经可以使用,例如提交到Github Pages中。第二个命令是可以实时更新你在content中的修改。

如果我们想在本地的开发服务器 (http://localhost:8000/)中看看网站的样子,需要另外用一个GitShell(默认的cmd也可以),进入venv下的blog中使用

(venv) make serve

启用Pelican自带的开发服务器,指令的具体含义在Makefile文件中可以看,如果用python3的话,注意第一行PY?=python3,可能需要改成python,我这里就是这样,因为PATH路径中就是python命令。

截止当前,写markdown文章,生成html,查看效果的循环已经备齐。学习使用markdown和LaTeX,参考博文Markdown语法和LaTeX数学记号速查手册

常用插件

PLUGIN_PATHS = ['pelican-plugins']
PLUGINS = ['summary',
           'render_math',
          ]

希望支持Ipython/Jupyter Notebook,使用liquid_tags插件或者pelican-ipynb

更新:2016-06-17

  • 使用pelican-ipynb支持Ipython Notebook作为博文发表
  • 对由notmyidea衍生的littleidea主题进行较多修改:本地化、简化文章信息、CSS使用ipython notebook
  • 使用Disqus支持评论

更新:2016-12-17

  • 使用flex主题