- 已编辑
近半年的 0xFFFF 看起来可能没啥动静,但其实内在基于 Flarum 做了不少天翻地覆的改造,这其中默默写代码居多。为让更多人能够参与进来,感觉有必要开个新楼,记录最近的变更。
最大的变化是代码改动、开发环境基本都统一收归 Flarum 0x 这个项目仓库中,另外还有一些功能的更新。
Flarum 0x
过去 0xFFFF 的开发运维,整体经历了几个阶段:
- 18年:VPS 手工部署和代码改动(beta.9 版本)
- 19下半年:从手工部署到 Docker 化部署,参考并抽提出单独的仓库维护环境、项目配置(beta.14)
- 21下半年:更新至 v1.0 stable 版本,功能改动趋于稳定
- 22年底:整体迁移至 fly.io ,结合 patch、Docker 形成新的打包部署方案
从过去的 0xffff-flarum 更名为 Flarum 0x 重新起航,意为 0xFFFF 定制的 Flarum,主要着力于以下几方面:
- 沉淀论坛需要的自定义改动
- 现代化的云上开发、部署流程
- 降低门槛,更多人参与 flarum 的维护,回馈社区
主要的改动:
- patch 机制完善,避免直接改动 composer 依赖文件导致难以追踪
- 基于微软 Dev containers 做了个专门的 devcontainer 配置,在有 docker 环境的机器、GitHub Codespaces 上可以一键跑起 flarum 开发环境,降低环境配置门槛
功能优化
- 附件、头像存储迁移到 Cloudflare R2 对象存储
- 图片加载优化:为帖子图片补充 image size 尺寸防止加载过程中发生漂移 #31;并增加 img-proxy,针对文件体积大的图片适当压缩尺寸
- 针对 JS / CSS 加载,可以支持配置通过 CDN 加载
- 在
config.php
的自定义 Head 支持 <script> 等标签 - 基于 jsdelivr 的 Emoji、静态资源等改为走 ByteDance 的 CDN,避免无法访问
欢迎参与
由于我个人工作和生活日渐忙碌,能投入社区开发的精力和时间都越来越少。因此也期待更多人能参与进来,逐渐能脱离我的依赖去运转就更好了。
Flarum 的开发主要侧重于小型 Full-stack Web App 的领域的经验积累(Laravel, Mithril.js, 思维模型类似于 Spring + React),同时其拥有相对完善的插件架构,干净简洁的代码;另外在这个过程还会涉及到 LEMP(Linux + Nginx + MySQL + PHP)、Docker、各类 DevOps 工具等,覆盖了一个相对广但完整的知识面。
GitHub:0xffff-one/flarum-0x
目前所有的开发动态都在 0xFFFF Discord 的 #dev 频道 更新,有兴趣的朋友或者有什么想法,都可以参与进开发讨论。
后续有啥功能改动,会在楼下继续持续更新