分享 新玩具:Campo 论坛归来!

Rei · 2019年08月04日 · 最后由 daqing 回复于 2019年09月21日 · 6157 次阅读

项目主页(暂时很简陋):https://getcampo.com/

论坛本体:https://bbs.getcampo.com/

Github:https://github.com/getcampo/campo

有的人可能记得,在参与搭建 Ruby China 论坛之前我曾经开发过一个论坛叫做 Campo,当时各类小众编程爱好者社区并不多。加入 Ruby China 之后,我为了避免分散精力,就把 Campo 论坛关了,项目也停止更新。

重启 Campo 项目的想法起源于我在前一家公司,部门领导想在公司内搭一个内部交流论坛。我考察了现有的论坛程序之后,发现并没有太好的选择:PHP 论坛先 pass;Ruby China 为社区本身定制化太多,有些功能对内部并不需要;Discourse 太笨重,对 Docker 的用法是错的,难以部署于内部 k8s 平台……当然可能有点吹毛求疵,如果把 discourse 当作黑盒,按照官方教程安装其实也没问题。不过作为写过几次论坛的人来说,没办法当看不见,所以我决定从零开始写一个,名字就沿用了以前项目的名字:Campo,在意大利语里面是小广场的意思。

最近我闲了下来,决定把这个项目好好搞搞,希望做成一个成功的开源项目。经过一段时间开发,我觉得是时候上线给大家看,虽然我知道功能还很残缺同时充满 Bug,但只有上线了才能了解到用户真正需要的功能是什么。我设想 Campo 能成为用于以下用途:内部论坛、客户论坛、爱好者论坛,欢迎有需要的人试用。

项目准备了两个部署模版:

Campo 的开发和部署都依赖于 Docker,因为经过我的观察,Docker 确实是解决环境依赖的好工具。安装依赖这类繁碎的问题,应该由开发者在打包过程解决好,运维就可以用熟悉的容器编排系统部署。上面提供了 Docker Swarm 模版而没有 k8s,是因为觉得 Docker Swarm 作为 Docker 自带的工具,比 k8s 入门要简单一些,k8s 模版预计将来也会提供。

项目还会继续开发,欢迎关注进展并提供反馈。

所以 RubyChina 啥时候迁移❓

jasl 回复

没这个计划😅

支持,学习学习

不应该是把 Ruby China 定制的功能解耦吗。。。

老板,可以 fork 来自己用吗

realwol 回复

可以,MIT 协议。

Rei 回复

谢谢你一如既往的奉献

cqcn1991 回复

很久没看,改不动了……

很多年前刚学 rails 时做了几个项目,都是在 campo 的基础上改的。当时 campo 停掉我觉得有点可惜,因为我觉得它代码很少、也很好读,是初学者上手的好帮手,你很难让新手去读 Discourse 代码或者基于它做点啥。希望 campo 继续做一个代码精简的好项目。

levi0214 回复

很高兴有人记得这项目。保持 campo 代码精简也是我的目标,所有功能尽量基于 Rails 默认栈,没有不必要的抽象,让新手更易读。

Rei 回复

最早用 campo 搭建了 test-china.org,后来用 rubychina 搭建了 testerhome.com

Rei 回复

已经跑起来了。

强列建议,dockerfile 里加上 ruby china 的 RubyGems 镜像,避免装的时候频繁报错,毕竟还是有很多人没有 VPN

canonpd 回复

这应该不会改,因为也想面向非中国区的开发者。

Rei 回复

也是,不过也不要紧。反正我挂个 vpn,一下就过去了 😀

总感觉 google Material Design 的样式用在 pc 网页上差点意思,感觉很别扭

u1351384616 回复

Material Design 缺少桌面端的指导,我自己改了很多次都不满意,目前版本算是勉强看得过眼的。如果随着项目发展能有设计师提供帮助就好了。

Rei 回复

建议你用 semantic-ui 我一直感觉这个是最漂亮的舒服的

u1351384616 回复

用 UI 库容易同质化,不好定制,反而 Material Design 没有多少网站愿意用(包括 Google 自己的服务都不合规范),我还是希望在 Material Design 方向多探索一下。

前家公司的 Campo 现在只有 .Net、Java、Go 的人在冒泡 😂 😂 另外,个人觉得一家公司一门语言能否保持活力,其实看的是一把手是业务驱动还是技术驱动,而这个本身又是由业务的性质决定的。

👏 Campo 的代码很值得借鉴,之前我自己也参考了挺多

Rei 回复

我看了你的 CSS 框架改进,你之前是用的 Bootstrap,是怎么样进化到 精简用 Material Design 的呢?全都是自己设计的吗?👍

qichunren 回复

其实变了两次,一开始就是自己实现的简化 material degisn,后来觉得用现成的 UI 库可能可以减少工作,就用上 bootstrap。用了 bootstrap 之后进行了很多定制,由于它没有设计指引,什么东西放什么地方需要自己考虑,结果发现并不比自己实现 UI 好用,就又切回 material design。

pynix 回复

官方的 MDC 库实现不完整,标签繁琐,有的甚至效果很难看,实际用的时候费时费力,试过两次还是决定放弃。

现在好像有个 教程了。。

Ruby China 很成熟了,再搞一个要费很多时间

需要 登录 后方可回复, 如果你还没有账号请 注册新账号