D 的个人博客

开源程序员,自由职业者

小而美的 Java 博客系统 Solo
Golang 在线 IDE Wide
黑客与画家的社区 Sym
  menu
405 文章
3446695 浏览
12 当前访客
ღゝ◡╹)ノ❤️

创业的第二个夏天

banner

如果你是第一次看这个系列的文章,可从第一篇《创业的第一个春天》1 看起。


这个夏天我开始做一些自己一直想做的事情了。

星火

做一个真正意义上的社区,这是我最近几年来最想做的一件事,通过星火已经建立了雏形。想法、认知以及如何做尽皆分享于《写在星火初版发布之际》2

目前星火暂时只作为一个 side project,以后时间多起来的话我会把更多精力放在上面。不必纠结于理想和现实之间的选择,相信只要足够努力就一定都能实现。

Lute

千呼万唤始出来,犹抱琵琶半遮面。转轴拨弦三两声,未成曲调先有情。

7 月份整整一个月基本都在闭关修炼 Markdown 程序员之道,这条道就是做一款实现《CommonMark 规范》3 的 Markdown 引擎。在第一次学用 Markdown 时就有此想法了,今年年初的时候终于付诸于实践,建立了项目仓库开始探索,但进展一直断断续续。

年初雄心壮志,年中饱受摧残,期间重写了一遍又一遍,最终还是靠抄官方的参考实现4 做了一版,算是渡劫失败吧。其中的曲折后面会单独写一篇分享给那些正在准备渡劫飞升的道友,祝好运 🙏 (2019-11-17 更新:CommonMark 规范要点解读Lute 实现后记

Beyond 有一首歌叫《勇闯新世界》5,挺应景的。

BND

其实今年 2 月份的时候 BND 就已经开源了,但我们并没有提供编译好的二进制,当时的想法是仅在程序员圈子小众使用,谁要用的话就自己编译。直到 7 月初,有人把编译好的 BND 分享到了网上,得知后我们决定直接出个“官方版6” 吧。人为了利益什么事情都有可能干,唯一能阻止悲剧发生的手段就是掐掉其作恶的念头,让其能够信手拈来的利益完全消失掉。

这是一种什么样的精神?我称之为“人类共产主义目标的程序员开源实现” doge

赞助捐赠

根据每年的记账记录统计了一下,自 2009 年做第一个开源项目到 2019 年 5 月底,在这 10 年的时间里一共收到了近 ¥10000 的赞助捐赠。之前的赞助捐赠是走的个人收款,不太方便生成赞助者列表,难以记录那些帮助过我们的人。5 月底通过公司实体接入了支付宝,正式上线了 B3log 开源社区赞助系统7,3 个月过去后现在一共收到了 ¥1K 的赞助捐赠。

希望以后仅靠赞助捐赠就能让社区服务器自己续命,感谢所有赞助者 ❤️

Sym

这个季度 Sym 商业版加入了一个特性:回帖折叠8,设计这个功能的动机来自黑客派。黑客派上各式各样的回帖已经越来越多了,歪楼的情况时有发生。要想做一个对用户有价值的社区,就一定要处理好内容“降噪”,除了极端情况需要管理员介入封禁甚至删帖,其他小的噪音可通过更柔和的方式解决。这个方式就是让有权限的用户可以折叠其他人的回帖,解决问题的同时也让用户参与到社区的运营操作中,通过共产共建形成社区,这也是“社区”这一词的核心要义。

另一个大的改进是搜索系统。对于搜索功能,之前只提供整体执行框架(比如内容新增、更新、删除时会调用搜索管理服务),具体的搜索实现上提供了较弱的 Elasticsearch 支持以及较强的 Algolia 接入支持。而对于客户而言:

  1. 接入第三方搜索(并且是付费的)虽然不用二次开发,但 Algolia 是收费的商业服务,需要付出成本
  2. 一些客户的环境不允许接入第三方服务
  3. 对于 Sym 产品本身来说 ES 支持不好的话也不够完备

所以我们进行了搜索系统的改进,将搜索功能整体移到了本地 ES 上,并提供了高级搜索功能,让用户可以从多种条件(内容类型、用户、标签、时间范围等)组合进行搜索。

Sym 社区版方面主要是升级编辑器,修复缺陷和细节改进,可参考 v3.5.1 变更记录9

Vditor

Vditor 基本完成了核心的重构,将编辑区从 <textarea> 改为带 <div contenteditable="true">10,做这个架构变更主要是为后续实现 WYSIWYG(What You See Is What You Get,所见即所得)奠定基础。

下一代 Markdown 编辑器应该是所见即所得的,目前已经有人在这个方向上做出了一定成果,比如 Mark Text11。所见即所得编辑器的用户体验不言而喻,另外目前在富文本编辑器领域上一个大趋势是块编辑器(Block Editor)的逐步流行(比如 WordPress 的古腾堡12),反观现在大部分的 Markdown 编辑器在这方面的设计理念和用户体验落后太多了。Mark Text 为实现 Markdown 的所见即所得编辑方式提供了很好的思路,但它可能受限于底层引擎 Marked13,导致在处理一些场景时稍显不足。

当初设计 Vditor 时我们就定下了它的目标——“下一代的 Markdown 编辑器,为未来而构建”。要实现这个目标仅在应用层包装的话很难,必须自己实现底层引擎,这点也是 Lute 的动机之一。预计明年年初就可以在黑客派上体验到下一代的 Markdown 编辑器了,敬请期待!

收入情况

  • 出售 Sym 商业版,主要收入来源
  • 我和 V 的失业金已经到期停止发放了,并且需要开始自己缴医保14
  • Google AdSense 平均每月 $80,增加被动收入还是很难的

相关链接

  1. 创业的第一个春天
  2. 写在星火初版发布之际
  3. CommonMark 规范
  4. CommonMark 官方参考实现项目(JavaScript)
  5. Beyond - 勇闯新世界
  6. 百度网盘不限速下载器 BND 下载地址
  7. B3log 开源社区赞助系统
  8. 关于回帖折叠功能
  9. Sym v3.5.1 变更记录
  10. Vditor v1.6.12 发布公告
  11. Mark Text - 简单而优雅的 Markdown 编辑器
  12. 古腾堡 - WordPress 的块编辑器
  13. Marked - 为速度而生的 Markdown 解析器和编译器
  14. 自由职业者、灵活就业人员社保缴费分享

创业的第二个秋天