Pelican 体验: 使用 Markdown 书写 wiki

更新日期: 2021-07-14 阅读次数: 17613 分类: 自建博客

一部钢琴,从琴键开始,结束。你知道钢琴只有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 分支

sunzhongwei/pelican on github

新增特性:

  • 运营统计: 增加百度统计
  • SEO 优化: sitemap
  • 界面美化: 中文 title 使用楷体
  • 界面美化: 正文图片增加阴影
  • 编辑工具: vim 模板 SLUG 参数支持
  • 界面美化: 正文 h2 采用与首页置顶 h2 相同的颜色
  • SEO 优化: 增加 keywords, description
  • 用户体验: 增加 back to top 按钮
  • 用户体验: 增加 Archive 视图
  • 界面美化: 文章信息区域遵循对齐原则
  • 本地化: 使用多说替换掉 Disqus (只支持 facebook,twitter,google 的账号, 不合国情)

TODO:

  • 站内导航,及搜索页
  • 兼容移动设备的展示
  • 广告移到右侧

如何保存草稿

当 markdown 文件写到一半时,并不想发布。可以加上标签

Status: draft

这样就不会发布到线上。

参考

收集的一些不错的 pelican 博客

tags: VimWiki markdown

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式