Azalea - 高度个性化的现代个站系统 [构思阶段]

目前的博客存在的问题:

  1. Hexo, Hugo 等静态博客: 不能在线编辑, 不能手机编辑. 对于非专业人群难以快速实现搭建. 维护难度大.
  2. Wordpress, Typecho: 没有完整 API, 同时不支持文集, 动态, 相册等刚需, 除此之外, 前者还过于臃肿, 后者则官方文档不明, 开发者必须阅读源码才能深入开发, 增加了开发难度, 而主题制作者能利用的接口太少, 一般情况下所有额外功能都只能塞在一个 function.php 文件.
  3. Tumblr, 简书, 博客园等产品: 缺乏社交性.

总之, 现有的博客程序, 已经不能满足人民日益增长的自我表达需要.

这将是一场博客的革命

特性(你可以只看粗体字)

一句话概括: API 为纽带, 以人的自我表达需求为核心的系统

上面的各种模块, 主题, 插件各自独立, 使用者可以抽取需要的, 在简洁的基础上完成特定需求.

我们要满足的具体是什么样的需求?

不妨以例子来说明。如果您感兴趣,建议看完这部分。(以下设想基于 Azalea 在未来的完全态,当然也会有不切实际的部分,仅当我们的一个幻想吧)

  1. 小明是一个编程高手,由于工作需要他最近在学习 DirectX 和图形学。两边需要同时记笔记。 在以往,他只能交叉记笔记,也就是说两种文章夹杂在时间线上,最后单独写一个页面作为目录。现在,他建立了两个文集:《DirectX 学习笔记》和《计算机图形学笔记》,而且他可以直接以读一本书的形式阅读自己的系列文章。关注这个领域的其他初学者也通过整合平台看到了他的内容,纷纷点赞、评论、请教,他干脆打算整理成书。于是直接把文集用插件导出为PDF格式,发布在网络上。
  2. 小明喜欢平时发发微博,逛逛贴吧,或者QQ空间动态,Bilibili上也关注了几个装机up主,但是他发现自己每天耗费大量的时间来查看有没有人回复、Up主有没有更视频。现在,他可以在博客发送动态,自动推送到各个平台,同时通知和提醒也可以关了,因为 Azalea 可以自动从各个平台拉取他需要的提醒。另一方面,他也可以把贴吧、微博的动态同步推送到自己博客。博客一下子热闹了许多。
  3. 小明因为 Typecho 的简洁,之前一直在用。但是没有手机客户端,后台编辑界面丑陋,这次他换用了 Azalea,由于 API 公开,安卓和iOS都有好几种客户端可以选择。PC 上甚至可以直接在 Typora 中写文章,自动发布到博客,这极大提高了他的书写体验。
  4. 小明又开始学习机器学习,但是他懒得配置 Jupyter Notebook 的各种东西。好在 Azalea 支持多后端,他只需要安装一个 python 版的后端和一个插件,就可以实现在线运行代码。
  5. 老王是个资深游戏玩家,但是对代码的事情不怎么懂。前几年他在贴吧写了很多教程,结果不久前贴吧出事了,2017 年前的帖子全部消失,加上之前他发布在 Lofter 的文章无故被删,而每次在Bilibili发个文章还要审核半天,一切都让他感觉操蛋,不用审核,控制权在手,这就是他选择自己搭博客的原因,现在他不用写一句高深莫测的代码,只要动动鼠标,就可以使用 Azalea 自动备份自己在贴吧、Lofter 或者 Tumblr 发布的重要内容,并使用插件自动同步到自己的云主机、坚果云和 Dropbox,或者自己的 NAS,再也不怕数据丢失了。
  6. 老王翻看着自己在十多年前写的文章,感慨颇深,觉得有必要捞一捞,于是他在 Azalea 内转发了自己的文章,配上了自己新的见解,同时@了自己的几个好友。
  7. 小陈是一个业余作家,由于 Azalea 支持 WebDav 同步,他可以每天在安卓平板的《纯纯写作》上写小说,然后自动更新到对应的文集。结合订阅插件,他的读者可以第一时间读到他写的文字。同时,他在豆瓣的写的书评,也会第一时间抓取到博客。
  8. 小陈平时还喜欢写日记,但是每天写个日记就要新建文章总是觉得麻烦,还要确保没设置为“公开”,如果用单独的 App 的话,转存灵感到博客又不太方便,现在他可以直接安装日记模块,就可以统一在一个地方管理日记和其它作品,由于 Azalea 支持 WebDav 同步,他还可以直接在《一本日记》这样精美界面中记录日记,然后以隐私的设置自动同步到 Azalea 上。

后话

已经筹备良久, 预计七月正式开始开发. 当然, 这个项目的难度非常大, 正式版本的推出时间至少要一两年, 也随时有弃坑的可能性.

相关信息将在本站和 QQ 群 107349757 进行更新. 欢迎关注. 也欢迎提出建议.
Slack 频道:https://join.slack.com/t/azaleaorg/shared_invite/enQtNjQzMTAzODU2NTM1LWMwZDUyMWFhMDFkNWJiYjMyZGY3ZDU5Yzg5NTE3ZmNlZGU3ODg1NTEwMDIyZWU1ZGFlNjRhMTNkOGRhZjUyOTc

针对一些人的质疑进行的说明

感谢大家提出的意见, 也希望大家提出更多意见, 这些意见能让我们更清楚地了解现状, 从而更好地指定计划.

Q: Wordpress 什么都能实现.

A: 首先, Wordpress 确实强大, 我们也并没有打算取而代之. 然而, 对于我们普通用户, 甚至一些只有几百兆空间, 共享CPU的虚拟主机的普通站长而言, Wordpress (相对于 Typecho 等)强大到了过于臃肿的地步, 甚至一度被空间商抱怨1. 这是我们反对使用 Wordpress 的主要原因. 其次, Wordpress 界面复杂, 不容易操作, 没有教程是很难快速掌握使用的. 我们希望用户多表达自我而不是折腾程序

Q: 可选择程度倒是大, 但是部署后端太笨重

A: 我们打算先用使用门槛最低的 php + MySQL 开发后端, 任何人都能一键安装.

Q: 可以直接用现成的 Github Api 拉取省事

A: 我们的方案并不与此冲突, 你可以利用插件自动从 Github 同步文章. 或者直接利用我们的API进行静态Github Page 或 FTP 部署. (这样门槛其实已经降低到服务器只要能展示静态页面就能访问)

Q: 现在博客已经不火了, 这个是否落后时代了?

A: 博客的热度不如从前是事实2, 但是, 自我表达的需求永远不会过时. 与其只看到现象, 不如想想其背后的原因. 同样是自我表达的载体, 为什么微博更火, 贴吧更火, 知乎更火? 其关键在于交互, 马斯洛的需求层次理论3 认为人有社交的需求, 尊重的需求和自我实现的需求. 博客之所以不火了, 是因为如今的个人博客太过于孤立, 无法满足人社交的需求, 而像简书这样的平台, 虽然称不上真正的个人博客(因为远远足够的自我定制权), 但是凭借其社交优势, 获得了博客无法企及的热度4:

所以说, 自我表达的需求永远不会过时, 而之所以博客不火, 在于其缺乏互动性. 没有了社交这一环, 自我表达的需求便无法实现. 我在前面就说道: API 为纽带, 统一API之后, 就如同我们便可以在不同博主之间建立关联, 博客不再是孤岛

其实, 我们要做的严格来说已经不是传统意义上的博客, 而是超越了博客. 以往的博客, 更像是一个笔记本或者日记本, 而我们却要让博客升级为高度个性化站点, 变成你的家, 变成你的创作中心.

开发量很大,做这个的目的是什么,毕竟时间比金钱还贵,这么做能获得什么样的收益?

复杂版:

做这个的目的很简单,就是满足需求,这个项目本身不指望也不在乎盈利的,它是对现状不满的产物,即使我现在不做,只要需求还在,以后也会有其它人做。

要完成一切的功能,我一个人鼓捣几年绝无可能,而且现在的设想也只是头脑风暴而已,理论和实际上都不可能全部实现,仔细看看就会发现,光是需求之间就有矛盾。我的打算是先出一个精要的版本,作为内测版本,此版本首先解决的核心需求就是:a. 创造的同时博客间社交的需求 b. 多客户端的优质书写体验的需求 c. 数据安全、数据同步的需求 。这些需求实际上各有现成的实现,甚至可以和已有的服务对接,因此在这一阶段,工作量并不算大,也就是几个月的事情。

简单版:不会一次写完,而会更新迭代。做这个不指望赚钱。

后端如果让用户自己写的话,是不是对用户会有一点要求?

复杂版:
这个项目的纽带其实在于 API,它更像是一个规范。我们打算用门槛最低的 php + sqlite 作为官方示例后端。而有能力的开发者,也可以用 go,nodejs,python 等等实现。(不过说实话,这里存在大量有待进一步考虑的问题)。用户的行为是这样的:域名和主机的绑定->上传程序->打开安装页面->设置管理员账号密码->安装完毕。对于官方后端,可以保证安装的便捷性。而对其它语言的后端,我们无法左右开发者的选择。至于 restful 的问题,其实现在还没有拿定主意,选择 Restful,Graphql 或者传统的 service.Action ( rpc ),各有优劣都有可能。GraphQL 的话后端用 nodejs 写会更好,但目前决定用 php,个人更偏好 rest 是因为 rest 比较成熟,工具也多(指 php 上)

简单版:后端官方给一个,保证简单好上手

支持在线公式、图形、代码高亮都是难题,你怎么办?

这些属于前端插件,是否实现,如何实现取决于前端工程师。统一用现成的 js 库是最快的方法。我们的能力做不到连这个都造轮子。官方前端的话,自然会选现有库。

代码高亮这种自然也是丢给前端和用户去选择。官方前端的话,自然会选现有库。

简单版:用现成的

对于新手是否需要一个富文本? 如需,也是一个麻烦,这是个大坑。

仍然是前端的事情。到时候应该会有各种编辑器的插件可供选择。由于前后分离,切换起来非常方便。

简单版:用现成的

SEO 怎么办?

SEO 本质上就是输出 HTML 的问题,正文部分用后置解析器解析为 HTML,然后统一一个输出格式就行。比如 discuz archiver,收录效果就比较好。当然,服务端渲染也是一个选择,但不是一个好的选择。

简单版:针对爬虫输出简单HTML

真的,真的有这么多用户写博客吗?他们缺的可能不是笔,而是动力。缺的不是博客网站,而是写博客本身的需求。

这个问题我已经详细回答过了,不重复了。


  1. https://lusongsong.com/upload/526-2.jpg ↩︎

  2. https://trends.google.com/trends/explore?date=all&geo=US&q=blog ↩︎

  3. https://zh.wikipedia.org/wiki/%E9%9C%80%E6%B1%82%E5%B1%82%E6%AC%A1%E7%90%86%E8%AE%BA ↩︎

  4. https://trends.google.com/trends/explore?date=today%205-y&q=简书 ↩︎