[halo-dev/halo]使用 StackEdit 插件打开文章无法加载内容

2024-04-23 989 views
2
是什么版本出现了此问题?

最新版本2.3.1

使用的什么数据库?

MySQL 8.x

使用的哪种方式部署?

Docker Compose

发生了什么?

文章编辑有史诗级严重的bug,点击编辑后,一片空白,提示:已从缓存中恢复未保存的内容

事实确实一片空白,不知道咋回事,首页文章依然正常可以看到,我就之前编辑保存了一次,第二次编辑时候就一片空白了

回答

6

head-content请求没问题,返回都有内容的,但就是编辑器中不显示,一片空白

3

应该是 StackEdit 编辑器插件搞的,只要用过这个在线编辑器插件的文章,不是一片空白无法编辑就是格式乱套,

2

与 Halo 有关,但 StackEdit 因为网络请求的原因可能更容易复现。这个问题现在已经在 https://github.com/halo-dev/halo/pull/3468 中修复,但是之前的 2.3.1 没有包含进去,可以考虑发一个 2.3.2。

/kind support

6

与 Halo 有关,但 StackEdit 因为网络请求的原因可能更容易复现。这个问题现在已经在 #3468 中修复,但是之前的 2.3.1 没有包含进去,可以考虑发一个 2.3.2。

/kind support

我现在所有文章都无法编辑了,请求能不能赶紧发个2.3.2,感谢!

5

你可以暂时先用另外一个 Markdown 插件:https://github.com/halo-sigs/plugin-bytemd

并清理掉浏览器中与 Halo 相关的 LocalStorage。

我发现文章编辑这一块bug太多了,我按照你说的取消了 stackedit 插件,打开文章发现使用的是默认的文本编辑器,但是格式完全乱套了(换行符之类的,乱糟糟的一塌糊涂)。然后我又清空了localstorage,重新启用了 stackedit 插件,再次点击文章后,还是默认的编辑器,这篇文章根本无法切换回stackedit去了,一直是默认文本编辑器+乱糟糟的格式,十分无奈~~~

7

你可以暂时先用另外一个 Markdown 插件:https://github.com/halo-sigs/plugin-bytemd

并清理掉浏览器中与 Halo 相关的 LocalStorage。

也就是说,我根本无法在编辑已发布的文章时候,选择我想要的编辑器插件,禁用stackedit再次打开编辑就变回默认的了,然后再也回不去了,永远都是默认的文本编辑器。

4

你可以暂时先用另外一个 Markdown 插件:https://github.com/halo-sigs/plugin-bytemd

并清理掉浏览器中与 Halo 相关的 LocalStorage。

你好,经过我的摸索,我发现可以修改元数据来修改默认的编辑器 content.halo.run/preferred-editor ,这里的value修改成bytemd、default、stackedit可以更换编辑已发布文章所使用的的默认编辑器,但是十分不方便,这里能否做成UI选择方式?提供给广大用户友好界面选择自己想使用的编辑器去编辑已发布的文章,就像 新建文章 时候的界面,上面可以自由选择想用的编辑器

1

打开文章发现使用的是默认的文本编辑器

可以复现,这是因为首次在切换编辑器的时候没有将 Content 的 rawType 更新,所以创建文章内容的时候错误的传入了 rawType 为 HTML,请看:https://github.com/halo-dev/halo/blob/86ee91a92e8c478d12f08e9c5319de8e7f5d5f5f/console/src/modules/contents/posts/PostEditor.vue#L45-L51

应该还需要加上 formState.value.content.rawType = provider.rawType

如果不存在当前文章的内容格式,本应该是:

image

提供给广大用户友好界面选择自己想使用的编辑器去编辑已发布的文章,就像 新建文章 时候的界面,上面可以自由选择想用的编辑器

目前不支持切换编辑器之后将内容格式转为对应编辑器的格式,内容格式多种多样,这不是简简单单的切换一个编辑器而已,目前的措施就是上面的弹框提示。

/kand bug /area console /good-first-issue

欢迎解决此问题。

9

可以复现,这是因为首次在切换编辑器的时候没有将 Content 的 rawType 更新,所以创建文章内容的时候错误的传入了 rawType 为 HTML

这个问题已经重新创建 issue:https://github.com/halo-dev/halo/issues/3512