中文论坛的小步计划

这篇几个短字的文章我已经欠了很久了。我先唠叨几句很多人觉得 Discourse 不够好的点,然后再说说有什么事可以做。

Discourse 这两年的变化

Discourse 依然是一个及其年轻的的社群软件,很不同,很多坑,也很好扩展,有你不仔细找和学习就发现不了的功能。这两年的时间内,这样装逼的社群软件一点点地更新了界面,从一个灰暗的方块世界,更新到了一个明亮的方块世界。

设计

方块世界是不够 fancy。但方块世界也没那么可怕,这么多留白的空间是不是更聚焦于阅读了呢?再说现在在英文论坛上已经有许多个优美的 CSS/HTML 自定义的代码了。Discourse 在字体上和字号上的选择非常保守。

简简单单地调整颜色和细节就能够出彩不少。不过话虽如此,能进步的地方也太多太多。路总要一步步走。

事实上,社群的成败没有那么在意于软件的选择,更在于怎么运营整个社群的过程。凝聚人,本身就是个了不起的事。十年前,我也懵懂无知地闯到网络世界的论坛中,结果却是给了我不小的启蒙作用。软件的作用,大多只能在于帮助你在提供的功能上设置社群的 规则。信任等级的那个复杂设置弄清楚了吗?文字都重写了吗?分类的颜色、论坛设计和品牌的设计匹配了么?

性能

今年刚开头,1.5 发布前的倒数 beta 版本里,官方又折腾了一遍,用 virtual DOM 重新实现了帖子的渲染过程,5x - 8x 的速度提升。截止 2015 年,这两年 Android 设备的性能提升是超乎想象的慢,核多、单核性能还是比 iPhone 差,国内 Android 用户多,首当其冲感觉慢。现在能感觉好一点。(这里已经更新,但是在美西,速度感觉会慢)

紧接着又重写了插件的 API,清晰不少,也是要重写不少代码。

但是后端的优化其实已经很显著了,平均的响应时间可以在 100ms 以内,而且是新用户请求首页。没优化的 Rails 项目扔在那,平均响应速度在 200ms 上算正常。网络状态好一些,已经感觉很快了。

编辑器用 Ember 重写了,插件修改编辑器更加方便了。

邮件

最后说到邮件,国内似乎很鸡肋,麻烦不断,环境也差。这个东西,高端点的用户估计会用得很开心,不过不太像大众国内用户的习惯。

但是大众用户的习惯是什么呢?微信吗?手机吗?也支持不了邮件这里能提供的功能,而且要集成也要很长的时间。Discourse 这很快就基本可以替代邮件列表了。

中文论坛的目标

刚开始建立论坛的目的大概就是传播和提供支持,这个目标应该不需要改变。我个人的时间因为学业减少了很多,但是我也知道我的效率提高了许多。不过要回应任何人随意提的一个问题,这一行代码要怎么改,这个配置具体要怎么配,我还真没有那个时间做到。即使我想,我也忙不过来呀。如果是付费的咨询或者插件开发,我是可以重新安排时间。除此之外,我更希望我能把空余的时间放在开发这一边,这应该对更多人更有价值。

站务

为此,我想要有更多人参与社群。不仅想要吸引对 Discourse 感兴趣的用户,我也需要更多的热心人来管理、设定和维护论坛的规则。对支持问题,要能解决问题,就需要知道发生了什么问题。这需要发帖的人知道自己要说什么,我也需要有人能站出来整理出如果有人要问一个问题,应该怎么问。

此外,有很多主题是应该可以让更多人修改的(维基功能),但是这需要版主来做适当的维护。最近一段时间我会启用 :new_moon_with_face: 暗色主题做一点测试。

除此之外,我需要赞助把中文论坛迁回到国内,来面对一下国内的网络环境,我可以明了一下法律上的问题和技术上的现状。

以上的总结是,

  • :mag: (1/3)寻求 3 位长期混迹于论坛的独行侠来担任版主,有心情想让更多的人用到 Discourse。
  • :white_check_mark: (香港)寻求赞助商提供国内的服务器相关资源。

开发

我接下来非常想解决的几个技术问题在于:

  • :white_circle: 中文用户名(Unicode)的支持、头像拼音的支持
  • :white_check_mark: 登录插件合并
  • :white_circle: 与微信的集成
  • :white_circle: 后台上传备份到七牛 CDN 这样的联动,又拍云没备案,这个站务问题不解决之前都尝试不了。
  • :mag: Discuz 导入脚本的整理。这还需要一位愿意出钱、想转 Discuz 论坛的用户。还要感谢 @zh99998 用自己的时间更新了一年前的代码。
  • :mag: 好玩的一些界面自定义代码
  • :mag: 我还在推动文档站点的建设,还没解决多语言切换的问题
  • :mag: CommonMark 这里对中文的一些坑点没解决。非常需要解决了。

当然,如果你有意参与开发是一个很好的 Web 开发的学习机会,你也可以和我交流。

Discourse 的技术架构相当 fancy。是一个 Rails API server + 简单 HTML 的服务器加上前端的 Ember 程序。

  • 这个 Rails server 优化的点非常多,撬开哪一点看都有值得看的地方。里面很多 gem 很新,很好玩,概念还不错,大致都有博客相关的解释。

  • 里面的模型极度复杂。论坛的主题和帖子的关系好理解,围绕之上打造功能之后,这里的模型很复杂。

  • 服务器和客户端之间是用长轮询实现的实时,不用 WebSocket,有相当的理由。

  • Ember.js,这是全世界最大的 Ember.js 程序。提醒一下,travis-ci 的网页端也是 Ember.js 写的,Ghost 的后台也是。不是国内的常见选择。因为是客户端程序,所以和服务器端完全分离,有的开发是不必碰到前端的程序的。

  • Onebox,复制链接,解析内容,然后展开详细信息,这是由这个 Gem 提供的功能。

  • 插件开发,这里需要的知识是 ES6,前端在迅速地提供 hook;后端是 Ruby。有很多好玩的东西可以做。

  • 主题开发、CSS 的更新。设计或者代码,也很广。

:mag: 如果你有兴趣开发,欢迎以各种方式找我。刚开始请不要包括聊天 IM,东聊一句西聊一句,开场都没开场,几个小时就要过去了。邮件是个不错的选择。
:mag: 欢迎寻求付费制作插件,你还可以把插件开源,在上面冠上你(公司)的名字,贡献给整个 Discourse 社群。
:mag: 国内 CDN 和云服务的接入。据我所知,大部分都要备案,及其啰嗦。如果有某些厂商想要让 Discourse 更好地利用你们的服务,欢迎联系。

文档和翻译

其实我做的开发已经越来越偏向于给中文圈的本地化。我在翻译上依旧要花不少时间。但是社群增长的速度已经超出我一个人能翻译的范畴了:

  • 许多有价值的指南值得从官方翻译。
  • 很多很多插件的文档和文本需要翻译。
  • 官方的翻译需要人帮忙、校对和讨论。 @freemangl 最近翻译了大量文本,感谢你。

:mag: 同样,如果你有兴趣翻译文档,欢迎以各种方式找我。
:mag: discoursecn.org 和翻译中的图片需要中文的截图,欢迎你的帮助。

当然,我也想听到别的对中文论坛的建议。希望听到你们的回复 :slight_smile:

6赞

感谢 @fantasticfears 对 Discourse 做的努力与贡献,相信 Discourse 可以推广得越来越好!

我们公司在基于 Discourse 做一个技术社区(刚开始): http://community.jpush.cn/ ,会一定程度上受益于这个 Discourse 中文社区。

我们可以提供国内的服务器,也可以参与论坛的开发、翻译、运营。具体事宜另外找你沟通。

关键是:我们非常认可 Discourse 的理念,喜欢它!

1赞

这黑色 UI 太惊悚了。。作为中文社区在界面风格上还是跟原版尽量像比较好吧…

关于赞助,我可以提供约200/月的一个国内云的费用,然后 @fantasticfears 帮我的论坛解决一些坑可以么? 只是让应当能够正常的那些功能正常运转 (例如上次提到的审核502,还有错误日志里的一坨,导入脚本附件跑不过等),不包含二次开发。

我最终选择了Discourse , 我做的不是话题社区,是一个写作论坛。

欢迎驻足「独唱者」非虚构故事写作平台,我们相信每个人都有着值得讲述亦值得倾听的故事。

###http://www.DuType.com

2赞

注册了才可以点赞吧?

顺利发现了若干小坑,还和七牛的缓存策略有关。配色功能基本上已经足够用了。

其他私下里说吧。

我非常相帮社区贡献点力量

1赞

1 个帖子被分离到了新主题:登录插件无法一键登录