一部钢琴,从琴键开始,结束。你知道钢琴只有88个键。它们不是无限的。你才是无限的,在琴键上制作出的音乐是无限的。我喜欢这样,我活的惯。 你把我推到舷梯上然后扔给我一架有百万琴键的钢琴,百万千万的没有尽头的琴键,那是事实,max,它们没有尽头。那键盘是无限延伸的。然而如果琴键是无限的,那么在那架琴上就没有你能弹奏的音乐,你坐错了地方,那是上帝的钢琴。
- 海上钢琴师
背景
目前使用的 vimwiki 语法无法兼容我在 Trello 上的 Markdown 笔记,所以找了一个替代品 Pelican.
同时,可以方便的写博客。QQ 空间、微信朋友圈、微博局限性太大,难于体会自由记录的乐趣。
为啥叫 Pelican 这么奇怪的名字
“Pelican” is an anagram for calepin, which means “notebook” in French. ;)
存储方案
建立一个 bitbucket 私有项目.
所有 Markdown wiki 文档以及 Pelican 配置都放入该私有项目。
添加 .gitignore 文件,写入
cache output
以避免每次修改模板时,都生成一大批的 html 文件到 git 仓库中。
配置需注意的地方
-
如果使用的默认的主题,需要将 main.css 中的 Google Fonts 去掉,否则会导致网页加载卡顿。注意,是将 pelican 项目中的自带 themes 目录拷贝到当前目录下,然后修改 themes/notmyidea/static/css/main.css 文件。
-
模块错误
from six.moves.html_parser import HTMLParser
ImportError: No module named html_parser
这是 Mac 上 Python 2.7.6 特有的一个错误,需要重新安装 Python 2.7.8
$ pip uninstall pelican
$ brew install python
$ which python # should show /usr/local/bin/python
$ python -V # should show Python 2.7.8
$ pip install pelican
自动发布
每次都到 VPS 上执行慢的要死的 git pull 命令是非常痛苦的事情。
比较简单的做法是本地生成 output 文件,然后 rsync 到 VPS 上。
cd ~/work/pelican-wiki
pelican content
rsync -arvuz ~/work/pelican-wiki/output/ xxx@xxx.com:~/pelican-wiki/output --exclude '*.swp'
我的 Pelican fork 分支
新增特性:
- 运营统计: 增加百度统计
- SEO 优化: sitemap
- 界面美化: 中文 title 使用楷体
- 界面美化: 正文图片增加阴影
- 编辑工具: vim 模板 SLUG 参数支持
- 界面美化: 正文 h2 采用与首页置顶 h2 相同的颜色
- SEO 优化: 增加 keywords, description
- 用户体验: 增加 back to top 按钮
- 用户体验: 增加 Archive 视图
- 界面美化: 文章信息区域遵循对齐原则
- 本地化: 使用多说替换掉 Disqus (只支持 facebook,twitter,google 的账号, 不合国情)
TODO:
- 站内导航,及搜索页
- 兼容移动设备的展示
- 广告移到右侧
如何保存草稿
当 markdown 文件写到一半时,并不想发布。可以加上标签
Status: draft
这样就不会发布到线上。
参考
收集的一些不错的 pelican 博客
微信关注我哦 👍
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式