Blog 实践 markdown + gitbook + vscode
[toc]
原先建的基于wordpress
的博客总觉得很臃肿,对markdown
的支持有限,或者说写作体验一言难尽,所以现在已经废弃了.
随着阅历的增长,精力的分散,对事物的追求逐渐朝着极简的方向走去,另一方面自感当前自身的主要矛盾在于信息的大量输入与总结和深度思考之间的不平衡,本身有用onenote
+xmind
做知识库的习惯,一直没有时间整理输出,本质是拖延症导致的输出不力,所以希望能简单地及时地输出一些技术文章或心得总结,在此过程中满足好奇心,整理知识体系,有所进益.
对于一个严谨的技术宅来说,如何长期维护好一个Blog是一件值得好好研究的事情.想清楚以下2个问题,那么问题就解决了一半.
当前影响Blog持久维护的因素有哪些?
- 国内访问不良,如果自建站的云虚机在国外的服务商,容易导域名污染等问题.特别是往往同一个VPS还要挂载自己的代理服务,更容易被BAN。
- VPS维护不良,每年的域名,HTTPS管理,还有大量脚本小子喜欢扫描漏洞,对小虚机来说跟DDOS一样,容易崩.
- 搜索引擎索引不良,流量可以产生正向反馈,如果没人看的话持续写作的积极性会受到影响, MSDN类博客占搜索引擎权重较高流量较好但是写作及阅读体验不够简洁.
- 写作体验不良,网页编辑器不友好,对
markdown
的支持不佳特别是md的高阶功能,流程图等等. - 阅读体验不佳,自建站需要易用的md渲染器.Wordpress上有插件,但WP本身不够简洁.
- 图像资源管理麻烦,一般需要先上传到OSS再插入网络链接,为了方便迁移,转载,一般不放网站本地.
- 文章管理不方便,如果需要移动或者重新分类的话,点来点去实在不够方便.
一个好的Blog实践最好应该满足哪些条件?
- 省时省心省资源
- 一切不让人省时省心的方案都应该Pass掉,让Blog回归写作与分享
- 使用托管而非自建站
- 网页静态构建
- 良好的文本编辑体验
- 跨平台(迁移性)
- 富文本(描述性)
- 社群支持丰富(扩展性)
- 所见即所得
- 良好的可维护性
- 足够简洁,满足基础Blog功能
- 项目直接管理图像资源
- 良好的可阅读性
- 结构化书籍模式,文章分层分类,一目了然
- 代码高亮
- 搜索引擎索引良好
当前常见方案有哪些缺点?
wordpress
- 臃肿,不适合技术写作
github project + issue
- 可迁移性差,issue放文章简直反人类
github jkeyll
jkeyll
学习成本相对较高- 首先需要找个好的静态模板,挑个模板得调试半天
- 不够简洁
- 各博客网站
- 辅助传播可以,不够技术范
综上,经过一番探索,当前比较适合我的方案是:
写作载体: markdown
内容载体: gitbook
编辑载体: vscode
这三者的搭配是一脉相承,全面且是更加md-style
的.
markdown
不必细说,除了原生语法,高阶语法/特性需要平台或编辑器能够支持:科学公式LaTeX,文章目录TOC,流程图,时序图,甘特图,思维导图(xmind支持使用markdown
来写导图)等等.
vscode
宇宙第一编辑器,安装扩展插件Markdown Preview Enhanced
,支持大量功能特性,建议查看MPE官方文档。
gitbook
基于markdown
,可以构建静态页面放到GitHub Pages中托管并且自动和Github仓库同步,支持社交分享评论,代码高亮等等各类丰富的插件,且插件及其容易集成配置,能够满足许多增强性扩展性的要求.关于gitbook
的更多细节可以参看gitbook简明教程.
Github pages和Gitbook设置完成后可以通过 https://mainvooid.github.io/ 或 https://ipanda.gitbook.io/blog 访问到同一个Blog.
事实上我首先考虑的是用jekyll
做内容载体,更丰富的网站模板与功能,但是我发现在开始使用jekyll
之前,我需要首先找到一个符合我风格的足够合适的模板,毕竟我不是前端,琳琅满目的模板实在没有让我满意的,我累了,这不够naive and simple
,我放弃了,所以我选择另寻出路,直到我意识到gitbook
可以完美担此重任.
而且使用gitbook
还有一个好处是,可以像写书一样写Blog,更有层次感也更容易建立分类体系,对Blog结构和内容的控制是一体化的,不需要涉及HTML,而且构建出来的网页是左目录右内容的形式,更加有md-style
的感觉,最重要的是——简洁.
影响Blog持久维护的本质其实就是写作以外的事情占用了过多的精力.比如设计调整Blog风格,需要过多考虑博文分类,甚至自建站需要考虑更多东西例如网站安全或SEO,写到后期会发现Blog越来越臃肿而难以管理,但凡写Blog的人多少有点完美主义,这种事情注定是难以持续的.
所以,如果你正好看见了我的这篇博文,正在考虑如何持久维护一个Blog,比如五年起步,那么,我给你的建议就是——"越简单越好,回归写作本身".
关于什么叫md-style
,我的个人理解是:
- 简洁但不简单
- 语法简单,同时支持大量高级特性与富文本扩展
- 左右对称
- 语法块大多是闭合体
- 编辑时,左编辑右预览
- 英文符号
- 标点符号使用英文字符,删除所有尾随空格,与md统一风格的话输入法可以设置中文时使用英文标点.
扩展:
- 其他类似gitbook的框架:
vuepress
- Blog分发平台:
- 语雀 : 足够小白,并且个人主页有类似Github的活跃度呈现
- 知乎 : 对markdown的支持不够好
- CSDN
- 简书
- 博客园
- 掘金
gitbook自由度高有许多文本增强插件,想要迁移分发写的东西可能需要费点心思.