一波更新
1. 升级 PHP 7.4
升级了网站的基础设施,新版的上传插件增加了一个识别 exif 的 orientation 标记,自动纠正图片的功能,需要 PHP 的 exif
扩展,否则会报错。
恰好 PHP 正式发布了最新的 7.4 版本,带来一波性能优化。所以把容器镜像升级到了最新的 php:7.4-fpm-alpine。
2. 增加 LaTeX 公式支持
如 本帖所述,一个乌克兰小哥开发了基于 KaTeX 库 的插件 MathRen for Flarum,这里引了进来。
现在编辑器底部有一个公式的功能,分别支持:
- 块级公式 Block Expression(单独成行)
- 行内公式 Inline Expression(与文字混排)
在编辑器底部可以看到:
修复了一些交互细节问题,另外做了一点性能优化:
这个插件在前端引入了 KaTeX 包里包括字体在内的所有文件,打包后的 js 一下增加了 250+KiB,让人难以接受。
为保持站点的打开速度,让它用 JsDelivr 的 CDN 单独异步加载,优化后 257 KiB 的 forum.js
降低到了 10 KiB。
3. 尝试换掉 moment.js
moment.js 是 JavaScript 里一个处理日期时间的类库,它的功能十分强大,但代码体积巨大,参考:
you-dont-need/You-Dont-Need-Momentjs: List of functions which you can use to replace moment.js + ESLint Plugin
实际上很多功能我们是用不上的,尝试把 moment 换成 dayjs,换掉后可以带来压缩后 40KB 的收益。但帖子详情页用到了 moment.js 提供的 duration
API,dayjs 没有支持。
Feature request: Add Duration Plugin · Issue #564 · iamkun/dayjs
等 dayjs 有了支持再换 = =
btw:这个 Feature 实现之后可以拿 110 多刀(到目前为止),有兴趣的话可以搞起啊!