选择一个平台
我需要一个开源博客平台。
或许是 Wordpress。一个商业开源博客程序,基于 PHP。
并不否认 WP 是现在最好用的开源博客之一。 但是安全行业的经历让我选择放弃无用的功能,选择更加简洁的平台。 (功能越多,攻击面就越广,这无法避免。)
也就是静态博客,例如基于 Ruby 的 Jekyll,基于 Python 的 Pelican,基于 JS 的 Hexo。 可以选择一个自己熟悉的语言。
Pelican
基于Python,高度定制化,有不少不错的插件。 使用了Python优秀的Jinja2、Markdown和Pygments模块。
Usage
参考文档 http://docs.getpelican.com/en/stable
Editor
选择了vim
作为编辑器。当然还需要一点插件
- vim-markdown https://github.com/plasticboy/vim-markdown.git 添加语法高亮
- vim-template git://github.com/aperezdc/vim-template.git vim自动模板
Pulgin
推荐的插件有:
summary
:适合大段summaryjinja2content
:在文章中也可以使用jinja2,非常灵活
Theme
Bootstrap4的新Example不错,简洁,清晰。打算做一个移植。
- Bootstrap Example https://getbootstrap.com/docs/4.0/examples/blog/
HightLight
pygmentize -f html -S colorful -a .highlight > highlight.css
创建 pelican 工程
Python Environment
mkvirtualenv --python=/usr/bin/python3 pelican
Installation
pip install pelican Markdown
Some
Start
pelican-quickstart
Theme
git clone https://github.com/getpelican/pelican-themes.git
cp pelican-bootstrap3 /path/you/pelican/theme
Plugins
git clone https://github.com/getpelican/pelican-plugins.git
cp jinjia2content /path/you/pelican/plugins
Config
edit to pelicanconf.py
# Theme
THEME = './theme'
PYGMENTS_STYLE = 'custom'
PYGMENTS_RST_OPTIONS = {'classprefix': 'pgcss', 'linenos': 'table'}
#FAVICON = 'theme/favicon.ico'
# Plugins
PLUGIN_PATHS = ['./pelican-plugins']
PLUGINS = ['jinja2content','summary']
# Static
STATIC_PATHS = [
'static',
]
EXTRA_PATH_METADATA = {
'extra/robots.txt': {'path': 'robots.txt'},
}