使用Pelican搭建静态博客
周四 21 九月 2017
前言
之前用Hexo搭建静态博客,但安装完nodejs
后cmder
在启动时会调用node.exe
导致启动缓慢,又因为我比较偏爱Python
,所以我采用了使用Python
编写的Pelican
静态博客生成系统。
介绍
Pelican
是个开源的的Python
编写的静态网页生成器,支持MarkDown
和reStructuredText
,采用Jinja2
模板引擎,可以很方便的修改模板。
安装
pip install pelican
pip install markdown
这样就完成了Pelican
的安装
搭建一个博客
mkdir /path/to/your/blog
cd /path/to/your/blog
pelican-quickstart
运行pelican-quickstart
后主要会生成以下文件
.
|-- content # 所有文章放于此目录
|-- develop_server.sh # 用于开启测试服务器
|-- Makefile # 方便管理博客的Makefile
|-- output # 静态生成文件
|-- pelicanconf.py # 配置文件
|-- publishconf.py # 配置文件
配置aliase
因为在windows
下无法使用make
,所以我在cmder
的配置文件中添加了aliase
来方便博客的搭建
修改cmder
安装目录下config
文件夹下的aliase
文件,添加以下内容
blog_make=pelican /path/to/your/blog/content/ -o /path/to/your/blog/content/output/ -s /path/to/your/blog/content/pelicanconf.py
blog_update=cd /path/to/your/blog/content/output && git add . && git commit -m 'update' && git push origin master
blog_web=cd /path/to/your/blog/content/output && python -m SimpleHTTPServer
重启cmder后就可以使用blog_make
构建博客,使用blog_web
预览博客,使用blog_update
上传到Github。
开始写文章
在content
目录下新建一个HelloWorld.md
文件,写入以下内容
Title: First Blog
Date: 2017-09-18
Modified: 2017-09-18
Category: Blog
Tags: Python
It works.
然后执行
blog_make
生成html
再执行
blog_web
现在可以访问http://localhost:8000
来预览生成的网页。
创建一个页面
文章都是与时间绑定的,而有些不含时间信息的网页,例如About
或者contact
页面,就称为页面。
在contect
目录下创建pages
目录,然后在该目录下创建一些文件,再执行blog_make
生成html
,再访问http://localhost:8000
来预览生成的网页。
PS:有的主题可能默认不显示pages
更换主题
Pelican
有很多主题可供选择
git clone git://github.com/getpelican/pelican-themes.git
以zurb-F5-basic
主题为例,在pelicanconf.py
配置文件中修改THEME
THEME = 'pelican-themes/zurb-F5-basic'
重新执行
blog_make
再执行
blog_web
现在可以访问http://localhost:8000
来预览生成的网页。
使用插件
首先从Github
上下载插件
git clone git://github.com/getpelican/pelican-plugins.git
以sitemap
插件为例,在pelicanconf.py
中添加
PLUGIN_PATH = u"pelican-plugins"
PLUGINS = ["sitemap"]
SITEMAP = {
"format": "xml",
"priorities": {
"articles": 0.7,
"indexes": 0.5,
"pages": 0.3,
},
"changefreqs": {
"articles": "monthly",
"indexes": "daily",
"pages": "monthly",
}
}
重新执行
blog_make
再执行
blog_web
现在可以访问http://localhost:8000
来预览生成的网页。
添加静态目录
有时候md文件会引用一些静态的图片,这时可以配置静态目录,在pelicanconf.py
中修改
STATIC_PATHS = [u"img"]
重新执行
blog_make
原来在content
目录下的img
文件就复制到了output
目录下。
上传到Github
首先在output
目录执行
git init
git add .
git remote add origin https://github.com/yourname/yourname.github.io
git pull origin master
git commit -m 'update'
git push origin master
之后也可以通过blog_update
来上传到Github
TODO
- 添加评论
- Google Analytics
Category: Python Tagged: Python Pelican Blog