我已将其更新为 markerjs2 并清理了代码。
PR 链接如下:
编辑器的改进太棒了,还删除了大量代码 ![]()
不过遗憾的是,保存编辑后,帖子不再显示,因为 Markdown 格式不太正确。看起来字符串解析出了问题。
上方图片中的 Markdown 是未编辑的文件。编辑后可以看到,组件因文件名中的 (1) 而感到困惑,并将其错误地放入了上传路径,请查看 (1upload。既然主题现在可以包含 JS 测试,我们不妨为文件名解析添加一个测试。
在问题修复之前,我将在 Meta 上暂时禁用该主题组件。它已经被标记为 #theme:broken-theme,所以这不算什么新情况 ![]()
我修复了在查找图片 URL 时捕获错误括号的 bug。
PR 链接如下:
我还计划添加一个功能:当用户将鼠标悬停在图片上时,可以选择对其进行标注或进行裁剪(旋转/翻转)。
嗨 Nam,
组件现在已安装在 Meta 上,我正在测试它!
一些反馈:
- 不清楚如何打开编辑器。建议在此处提供一些提示(例如在预览区域浮动“编辑”文字或铅笔图标):
-
编辑器与图片之间存在严重的 z-index 冲突,导致图片被编辑器遮挡。你必须将编辑器大幅缩小才能看到全部内容。
-
正在编辑的图片看起来过大。有没有办法保持正在编辑的图片的尺寸?
非常感谢你们的反馈!
我正在处理反馈 #1。我会调整它们的样式,但“ANNOTATE”或“CROP”按钮仍会打开所请求的工具。
关于反馈 #2,能否请您进一步澄清一下问题?
我很快就可以着手处理 #3。
哦,我明白是怎么回事了。你能用“聚焦侧边栏”主题测试一下吗?该主题仅对 Discourse 团队(以及 Discourse for Teams 的一部分)启用。
我猜你需要把 z-index 再稍微调高一点。@markvanlan 正在协助处理这个问题。
@Nam 合并了一个很棒的功能变更,支持裁剪和旋转。现在,在点击(仅限本地上传)图片后,会进入一个选择阶段,可以选择进行标注或裁剪/旋转。![]()
目前唯一的问题是另一个 z-index 问题,但这次出现在裁剪模态框上(标注模态框的 z-index 是正确的)。裁剪模态框的外层元素没有稳定的 className,因此我已为 cropro 库提交了一个 PR,以添加该属性。
编辑:
我已 fork 了该仓库并做出了我们所需的小修改。z-index 问题已解决。
似乎没有解决方案来解决编辑的图像过大的问题。这是因为 MarkerJs 和 Cropro 在编辑时会设置图像尺寸。
Meta 使用 S3 和 CDN,如果你在上传图片的同时进行编辑,效果很好。据我所知,它无法在编辑现有图片时使用。
有意思,我在另一个当前已禁用所有插件和 TC 的网站上测试,也遇到了同样的问题,但禁用 s3 后就能正常工作,有什么建议吗?另外,图片也被奇怪地拉伸了,本应是 2:3 的比例,却拉伸到了屏幕宽度。
你的 app.yml 中是否包含 DISCOURSE_ENABLE_CORS: true?
不,我没有那一行,cors-origins 站点设置中也未进行任何配置。
尝试设置并重新构建。
我遇到了问题,无法完成编辑。

在智能手机上尝试此操作时,它不会编辑当前图像,而是替换下一张图像(当前图像的下一张)。
您能检查一下这个问题吗?










