用 Pelican 打造轻量级个人博客

最近想要重新搭一个博客,认认真真地写一些优质的博文。于是对各种博客的平台做了详细的了解。 总结下来,到目前为止,Wordpress 一家独大,各种小众平台遍地开花。

综合以下几个原因,我放弃 Wordpress ,选择了 Pelican

  • Wordpress 内存和数据库的占用较高,对于个人博客来讲服务器开销太大。一台1G内存的机器开了 Wordpress 就基本跑不了别的东西了。
  • PHP 的 template(也就是主题)结构过于混乱,当有一些自己的需求(例如增加百度统计), 想改模版的时候经常眼花缭乱。
  • Wordpress 更新频率较高,并且更新时数据库有可能会挂掉。
  • Pelican 可以支持使用 RST , 或者 MarkDown 来写博客。并且可以直接使用 Git 进行文章的管理。符合程序员的需求。
  • Pelican 原生支持代码高亮,多种Meta标签,并且有丰富的插件可供选择,包括 sitemap, 评论系统,多语言,视频等。https://github.com/getpelican/pelican-plugins
  • Pelican 本质上是一套静态页面生成系统,搭建方便,服务器资源占用非常小。一旦写完编译完成, 以后每次访问这个页面时都不需再重新生成页面。页面的响应速度快。

建议非程序员或者不懂 Python 的同学出门左转选择 Wordpress,不要浪费时间为了搭建博客, 专门学一门语言。

安装配置

我认为你读到这里,一定是一个程序员,并且了解git,python的基本知识。以下的安装过程 主要是根据我个人的习惯进行配置,你可以根据你的习惯进行调整。

Pelican 是一个 python pip 的包,我建议在你的电脑(笔记本或服务器均可,装一个就可以) 上安装 virtualenv,将 Pelican 装在虚拟环境中。virtualenv 如何安装自行 Google。装好 基本的 python 环境之后,可以进行以下的步骤。

mkdir <你博客存放的目录>
virtualenv --no-site-packages venv
source venv/bin/activate
pip install pelican
deactivate
source venv/bin/activate

至此,pelican安装完成, Pelican 提供了一个命令行工具来初始化一个博客。

pelican-quickstart

根据需要填写基本信息,对于博客的 URL Prefix 这个选项,建议填最终需要的值。 填写的过程中会让你填你希望上传博客的方法和服务器地址。如果不确定的话可以后面再改。 填完这些信息后,会生成如下的目录结构,并利用你刚才填写的内容生成相应的自动化脚本。

.
├── Makefile            # 所有的 make 命令的具体内容
├── content             # 写文章存放的路径
├── develop_server.sh   # 自动reload的开发用服务器
├── fabfile.py          # 如果你不熟悉 make,也可以用 fab
├── output              # 编译结果的存放目录
├── pelicanconf.py      # 编译开发结果的配置
└── publishconf.py      # 编译正式结果的配置

至此,配置也完成了,你只需执行如下命令就会在output文件夹中生成需要的html文件:

make html

你可以使用 SimpleHttpServer (对于python3,是 http.server )来在本地预览你的网站内容。

cd output
# For python2 user
python -m SimpleHTTPServer 8080
# For python3 user
python -m http.server 8080

编写你的第一篇文章

你只需要在content文件夹中存放你写的 rst 文件作为文章就可以。但是别急, Pelican 的文章需要一些必须的元素作为基本的meta标签以及分类的标签, 最简单的文章格式如下:

My super title
##############

:date: 2010-10-03 10:20
:modified: 2010-10-04 18:40
:tags: thats, awesome
:category: yeah
:slug: my-super-post
:authors: Alexis Metaireau, Conan Doyle
:summary: Short version for index and feeds

根据你的需求填写Title,时间等信息,然后在后面添加文章的具体内容就可以。

至此,你已经拥有了自己的 Pelican 为平台的博客生成器。如果有什么问题的话, 欢迎在文章后留言。后续有需要的化,我再加一篇关于 Pelican 插件和主题的文章。

Comments !

blogroll

social