关于 Pyblic 写作系统

Pyblic 是什么?

基于 Flask(Python 生态最简单的 web 框架)和 Markdown 的 git 写作系统。设计目标是极简的实现逻辑和随心所欲的掌控。

「多余取景器」是基于这套系统实现。

为什么要做 Pyblic?

首先需要问的是,为什么要用 git 管理自己的写作?

写作是一种知识树的重组织。基于有限的文档撰写经验,我发现用 git 更新文档是一种非常舒服的方式,好处包括:

一、版本化、可追溯

对于知识体系而言,思路变化的过程其实很可能非常值得记录。对于同一个主题,可能出现结构上的大幅调整,而这时如果出现大段删节,其实会挺「心疼」的。有了 git 机制,现在就可以大刀阔斧,反正万一删掉的东西有用,后面版本需要的话还可以找回。

二、版本的合适粒度

现在大部分的文档工具,包括石墨文档、WPS 都开始支持类似「时光机」无限历史版本回滚,是不是已经远好于 git 了呢?其实不是。

「时光机」的回滚是自动生成的,索引的唯一方式是时间。而 git 每一次 commit,都会要求你手动撰写 note。这其实是梳理自己想法变化的一个很好时机。而 git 管理工具基于 commit note 的清晰时间线,能够让想法变化的整个过程一目了然。

三、集中和专注

传统写作的过程会打若干版本的草稿,放在印象笔记/熊掌记的不同条目下。成稿的时候再去索引、查找和组织成篇。使用 git 之后,写文章就和写代码一样,始终只需要面对一份代码库,不断往前迭代即可(实在不确定性太大还可以开分支),这种工作方式带来的集中和专注感是界面上的优化无法带来的。

更直接的,是可以用自己熟悉的代码编辑器,比如 Sublime Text、VS Code 等等,直接像写代码一样写文章。无需习惯调整,还更方便直接用代码控制内容之外的部分——比如样式和页面结构。

除了是 git 写作,Pyblic 还有什么特性?

Pyblic 为把技术栈压缩到极简,省去了大部分功能,包括但不限于:
1. 互动/留言功能
2. 丰富的样式
3. 多级导航
4. 复杂的分类和存档
5. 图形化后台

这样的好处是什么呢?直接的变化是,你可以直接把代码库作为你的文章库:只有一个 repo,无需费心处理子母 repo 的关联关系;也不用考虑 RDS 的备份或各种文件存储方式的备份——你的 repo 里已经包括了你所有的劳动成果:无论是文章内容,还是对页面样式、网站结构的调整。

Pyblic 基于 Python 生态,也把搭建部署简化到了极致。整套代码只有非常简单的依赖:Flask、Markdown,以及用于搭建服务的 gunicorn 和 supervisor。安装流程指引也在同一个代码库中,无需四处翻找。

总之,从里到外删繁就简,从而达到「一手掌控」的效果。

Pyblic 适合什么人?

工具栈的极度简化(只有 Python 和 Markdown),直接结果是 Pyblic 几乎没有让人分心的「可玩性」。没有琳琅满目的模板、插件可供选择,反而能逼迫自己立即开始写作。同时把底层的 Python 代码逻辑暴露给你,也使得定制设计的难度完全可把握,也丝毫不用担心创造力受限。

如果你略懂代码,同时保持专注对你来说很难也很重要,Pyblic 就是很不错的选择。

听着挺不错,代码开源么?

Pyblic 是一时心血来潮,总共只花了两个晚上写出来(大半时间在设计样式)的东西,单纯为自用,代码质量没有到能开源的水平,暂时就不公开下载了。其实一共也只有 50 行 Python 代码;告知技术栈后,相信普通程序员一个晚上也能轻松搞定:
1. Python3 库:Flask、Markdown、gunicorn、supervisor
2. CSS 库:typo.css
3. 服务器:nginx

当然实在需要代码也可以来信联系,我可以单独发你一份。

十多年来独立网志一直是我很重要的知识来源。即便如今互联网生态日趋封闭,在微信微博知乎之外稍加探索,仍然能够发现「别有洞天」——剩下的都是陈皓、阳志平、阮一峰、池建强这样的老「学究」,味道绝对独特。这个群体的精神,不妨引用陈皓先生的一句话:

信息的传播正确姿势,是被检索、讨论、引用、整理、补充和更新,而不是社交网络的转发、点赞、粉丝、订阅和打赏。
—— 陈皓《为什么我不在微信公众号上写文章

祝写作愉快!

嗨,谢谢你在多余取景器上花费时间,我是多余。这里没有留言互动功能,如需交流想法,可以搜索微信视频号「多余取景器」找到我,也可以加我微信:nuxuil

HOME