Pelican 体验: 使用 Markdown 书写 wiki

文章目录

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

    关于作者 🌱

    我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式