# Discourse基础编辑器

**URL:** https://meta.discourse.org/t/discourse-basic-editor/159431
**Category:** Plugin
**Tags:** broken
**Created:** [2020年七月31日 16:00 UTC](https://meta.discourse.org/t/discourse-basic-editor/159431 "2020-07-31T16:00:55Z")
**Posts on this page:** 20
**Page:** 2

<div class="post-metadata">

### Author: ![spirobel](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/spirobel/32/170908_2.png) [@spirobel](https://meta.discourse.org/u/spirobel)
#### Post date: [2020年九月6日 12:32 UTC](https://meta.discourse.org/t/discourse-basic-editor/159431/21 "2020-09-06T12:32:52Z")

</div>

也许可以通过 CSS 修复这个问题。它是完全不显示，还是你可以向上滚动查看？你使用的是哪个浏览器和操作系统？我们或许可以将其设置为顶部固定。问题在于，最近一些浏览器试图“创新”，将浏览器栏移到了底部。

---

<div class="post-metadata">

### Author: ![emyoulation](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/emyoulation/32/165545_2.png) [@emyoulation](https://meta.discourse.org/u/emyoulation)
#### Post date: [2020年九月6日 12:38 UTC](https://meta.discourse.org/t/discourse-basic-editor/159431/22 "2020-09-06T12:38:18Z")

</div>

浏览器为 Android 系统上的 Motorola 手机，使用的是 Firefox 和 Chrome。Discourse 应用中也出现同样的问题。

按钮栏始终存在，只是当选区位于文本框中可见的前三行时，它会被弹出菜单遮挡。

一个变通方法是在第一段文字前插入 3 个换行符（CR/LF），然后在发布前删除这些多余的换行符。

---

<div class="post-metadata">

### Author: ![spirobel](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/spirobel/32/170908_2.png) [@spirobel](https://meta.discourse.org/u/spirobel)
#### Post date: [2020年九月6日 12:45 UTC](https://meta.discourse.org/t/discourse-basic-editor/159431/23 "2020-09-06T12:45:05Z")

</div>

是的，我刚刚测试了一下。我明白你的意思了，这确实超级烦人。不过我觉得底部的工具栏更糟糕。而且我还需要研究一下如何实现这个功能，但这并不是我的付费工作。不过，可能有一种更干净的方法来实现。我敢打赌其他项目也遇到了同样的问题，并且已经有标准化的解决方案了。但正如我所说，我还有其他优先事项。抱歉我这么直白 😃  
编辑：补充一点。有一种方法可以禁用右键点击（在移动设备上是双击）：[https://stackoverflow.com/questions/381795/how-to-disable-right-click-context-menu-in-javascript，但这样用户就无法复制内容了，真是让人头疼……](https://stackoverflow.com/questions/381795/how-to-disable-right-click-context-menu-in-javascript%EF%BC%8C%E4%BD%86%E8%BF%99%E6%A0%B7%E7%94%A8%E6%88%B7%E5%B0%B1%E6%97%A0%E6%B3%95%E5%A4%8D%E5%88%B6%E5%86%85%E5%AE%B9%E4%BA%86%EF%BC%8C%E7%9C%9F%E6%98%AF%E8%AE%A9%E4%BA%BA%E5%A4%B4%E7%96%BC%E2%80%A6%E2%80%A6)

---

<div class="post-metadata">

### Author: ![emyoulation](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/emyoulation/32/165545_2.png) [@emyoulation](https://meta.discourse.org/u/emyoulation)
#### Post date: [2020年九月6日 13:17 UTC](https://meta.discourse.org/t/discourse-basic-editor/159431/24 "2020-09-06T13:17:55Z")

</div>

该变通方案可行，只是不太方便。

针对这个烦人的问题，可能有一种移动端 CSS 的解决方案。我会继续查找。

为此特殊情况添加大量代码并不是对您时间和精力的最佳利用（此外还会增加开销）。感谢您向社区分享您的项目，这非常慷慨。

---

<div class="post-metadata">

### Author: ![davidkingham](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/davidkingham/32/119528_2.png) [@davidkingham](https://meta.discourse.org/u/davidkingham)
#### Post date: [2020年九月12日 18:20 UTC](https://meta.discourse.org/t/discourse-basic-editor/159431/25 "2020-09-12T18:20:59Z")

</div>

仅供知悉，发送私信时会导致错误

 ![image](https://global.discourse-cdn.com/meta/original/3X/a/9/a9b450b91c4e1c1d23e54e7dddafc97519bbe701.png)

---

<div class="post-metadata">

### Author: ![spirobel](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/spirobel/32/170908_2.png) [@spirobel](https://meta.discourse.org/u/spirobel)
#### Post date: [2020年九月12日 23:05 UTC](https://meta.discourse.org/t/discourse-basic-editor/159431/26 "2020-09-12T23:05:13Z")

</div>

好的，非常感谢你的报告。我刚刚已经修复了这个问题。

> <https://github.com/spirobel/discourse-basic-editor/commit/c7bb720a1c29bc495ef100e9e910503ae71e1f50>

---

<div class="post-metadata">

### Author: ![fzngagan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/fzngagan/32/259349_2.png) [@fzngagan](https://meta.discourse.org/u/fzngagan)
#### Post date: [2020年九月14日 05:20 UTC](https://meta.discourse.org/t/discourse-basic-editor/159431/27 "2020-09-14T05:20:15Z")

</div>

一个小提示：Rails 在几个 Ruby 类中添加了 `.present?` 方法，这比与空字符串比较更好。它主要用于数组和字符串。

另外还有一个 `.empty?` 方法，它是 `.present?` 的反义方法。

---

<div class="post-metadata">

### Author: ![ozkn](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ozkn/32/196013_2.png) [@ozkn](https://meta.discourse.org/u/ozkn)
#### Post date: [2020年九月15日 10:13 UTC](https://meta.discourse.org/t/discourse-basic-editor/159431/28 "2020-09-15T10:13:21Z")

</div>

能否修复移动端上传按钮的问题？

 ![Screenshot_20200915-131247_Samsung Internet](https://global.discourse-cdn.com/meta/original/3X/0/3/034e44f342db2b79b31d8e8eaff443f83fa1408a.jpeg)

---

<div class="post-metadata">

### Author: ![spirobel](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/spirobel/32/170908_2.png) [@spirobel](https://meta.discourse.org/u/spirobel)
#### Post date: [2020年九月16日 02:00 UTC](https://meta.discourse.org/t/discourse-basic-editor/159431/29 "2020-09-16T02:00:38Z")

</div>

我特意移除了这个按钮，因为图片需要通过编辑器上传。但我刚刚发现，出于某种原因，在 Android 的 Firefox 上文件选择菜单无法弹出。为了调查这个问题，我需要安装远程调试工具，因此修复需要一些时间。在此期间，请使用高级编辑器来上传图片。  
编辑：实际上它运行完全正常。之前无法打开只是因为我之前拒绝了该应用的相机访问权限。因此，您可以直接使用与桌面端相同的图片上传按钮。如果您感到困惑，请查看我上传的测试截图：  
[https://cidian.social/t/file-upload-from-mobile/292](https://cidian.social/t/file-upload-from-mobile/292)

---

<div class="post-metadata">

### Author: ![Shah\_Wajahat](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/shah_wajahat/32/186772_2.png) [@Shah\_Wajahat](https://meta.discourse.org/u/Shah_Wajahat)
#### Post date: [2020年九月16日 13:39 UTC](https://meta.discourse.org/t/discourse-basic-editor/159431/30 "2020-09-16T13:39:21Z")

</div>

我想在工具栏中仅启用加粗、斜体、链接和图片上传选项，该如何操作？

---

<div class="post-metadata">

### Author: ![spirobel](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/spirobel/32/170908_2.png) [@spirobel](https://meta.discourse.org/u/spirobel)
#### Post date: [2020年九月19日 12:14 UTC](https://meta.discourse.org/t/discourse-basic-editor/159431/31 "2020-09-19T12:14:11Z")

</div>

完成后，我会添加一个选项来配置它。

---

<div class="post-metadata">

### Author: ![Shah\_Wajahat](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/shah_wajahat/32/186772_2.png) [@Shah\_Wajahat](https://meta.discourse.org/u/Shah_Wajahat)
#### Post date: [2020年九月21日 15:56 UTC](https://meta.discourse.org/t/discourse-basic-editor/159431/32 "2020-09-21T15:56:16Z")

</div>

这意味着对此没有解决办法吗？我无法编辑插件中使用的 CKEditor 的配置文件吗？

---

<div class="post-metadata">

### Author: ![meglio](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/meglio/32/71444_2.png) [@meglio](https://meta.discourse.org/u/meglio)
#### Post date: [2020年十月9日 07:08 UTC](https://meta.discourse.org/t/discourse-basic-editor/159431/33 "2020-10-09T07:08:08Z")

</div>

你们会让它与其他插件（例如图像注释、BB 标记等）兼容吗？

---

<div class="post-metadata">

### Author: ![spirobel](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/spirobel/32/170908_2.png) [@spirobel](https://meta.discourse.org/u/spirobel)
#### Post date: [2020年十月12日 08:09 UTC](https://meta.discourse.org/t/discourse-basic-editor/159431/34 "2020-10-12T08:09:05Z")

</div>

好的，让我澄清一点：当我提到“某些功能无法正常工作”时，我只是指它们没有在所见即所得（WYSIWYG）输入窗口中渲染出来。最终发布的帖子一切正常。目前，这个编辑器只是另一种创建 Markdown 的方式，最终输出的仍然是 Markdown。从我的角度来看，未来应该走向“仅 HTML

---

<div class="post-metadata">

### Author: ![meglio](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/meglio/32/71444_2.png) [@meglio](https://meta.discourse.org/u/meglio)
#### Post date: [2020年十月13日 02:45 UTC](https://meta.discourse.org/t/discourse-basic-editor/159431/35 "2020-10-13T02:45:30Z")

</div>

切换到 HTML 并停止支持 Markdown 后，一旦关闭您的插件，所有以 HTML 创建的帖子将无法再编辑。这是正确的吗？

---

<div class="post-metadata">

### Author: ![torstensson](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/torstensson/32/83638_2.png) [@torstensson](https://meta.discourse.org/u/torstensson)
#### Post date: [2020年十月13日 10:36 UTC](https://meta.discourse.org/t/discourse-basic-editor/159431/36 "2020-10-13T10:36:55Z")

</div>

@spirobel 虽然我个人不使用你的插件，但我非常赞赏它的功能，并向你出色的努力致敬！

[quote=“spirobel, post:34, topic:159431”]  
在我看来，“仅 HTML

---

<div class="post-metadata">

### Author: ![spirobel](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/spirobel/32/170908_2.png) [@spirobel](https://meta.discourse.org/u/spirobel)
#### Post date: [2020年十月13日 11:14 UTC](https://meta.discourse.org/t/discourse-basic-editor/159431/37 "2020-10-13T11:14:09Z")

</div>

非常感谢您的评论！

我理解您的意思，但我仍然持不同意见。🙂 从长远来看，快捷键更能满足高级用户的需求。例如，可以为斜体设置快捷键，这样您在输入时就可以直接按下快捷键。快捷键甚至可以是类似 CTRL+\* 的组合，几乎就像在使用 Markdown 一样。

关于第二点，我想说的是 HTML 也是可读的，因为它始终会在浏览器中渲染；而且即使您在文本编辑器中查看 HTML 代码，也是可以阅读的。当然，Markdown 可能看起来更美观一些，但这仅限于使用非常基础的功能时，而且即便如此，其实也没什么区别。

遗憾的是，混合方案并不可行。我之所以选择“仅 HTML

---

<div class="post-metadata">

### Author: ![nathank](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nathank/32/290039_2.png) [@nathank](https://meta.discourse.org/u/nathank)
#### Post date: [2020年十一月8日 14:03 UTC](https://meta.discourse.org/t/discourse-basic-editor/159431/38 "2020-11-08T14:03:01Z")

</div>

插件很棒，@spirobel！这正是我们那些非技术用户所需要的，我相信它将显著推动我们网站的运转。感谢您为此付出的时间和精力。我注意到几个可能对您有帮助的问题：

### 与“共享编辑”插件的冲突

我刚刚同时安装了本插件和 [https://meta.discourse.org/t/discourse-shared-edits/167583。不出所料，它们之间存在一些冲突。但看起来这个问题是可以修复的。您是否考虑过让它们兼容呢？就我个人而言，我认为未来两者都是不可或缺的。](https://meta.discourse.org/t/discourse-shared-edits/167583%E3%80%82%E4%B8%8D%E5%87%BA%E6%89%80%E6%96%99%EF%BC%8C%E5%AE%83%E4%BB%AC%E4%B9%8B%E9%97%B4%E5%AD%98%E5%9C%A8%E4%B8%80%E4%BA%9B%E5%86%B2%E7%AA%81%E3%80%82%E4%BD%86%E7%9C%8B%E8%B5%B7%E6%9D%A5%E8%BF%99%E4%B8%AA%E9%97%AE%E9%A2%98%E6%98%AF%E5%8F%AF%E4%BB%A5%E4%BF%AE%E5%A4%8D%E7%9A%84%E3%80%82%E6%82%A8%E6%98%AF%E5%90%A6%E8%80%83%E8%99%91%E8%BF%87%E8%AE%A9%E5%AE%83%E4%BB%AC%E5%85%BC%E5%AE%B9%E5%91%A2%EF%BC%9F%E5%B0%B1%E6%88%91%E4%B8%AA%E4%BA%BA%E8%80%8C%E8%A8%80%EF%BC%8C%E6%88%91%E8%AE%A4%E4%B8%BA%E6%9C%AA%E6%9D%A5%E4%B8%A4%E8%80%85%E9%83%BD%E6%98%AF%E4%B8%8D%E5%8F%AF%E6%88%96%E7%BC%BA%E7%9A%84%E3%80%82)

具体问题是：当我使用基础编辑器进行“共享编辑”时，帖子中的现有文本会被清空，只能通过回滚编辑才能恢复。

### @提及功能无法提供建议

Discourse 基础编辑器似乎部分破坏了 @提及功能。当我尝试在这里提及您时，会出现以下情况：

 ![image](https://global.discourse-cdn.com/meta/original/3X/e/0/e0ddb6e1ad0f046fc13fff5a32db794b83db0ea7.png)  
一旦启用基础编辑器，建议列表就不再出现。即使我点击“高级编辑”，情况也是如此。

---

<div class="post-metadata">

### Author: ![spirobel](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/spirobel/32/170908_2.png) [@spirobel](https://meta.discourse.org/u/spirobel)
#### Post date: [2020年十一月8日 16:51 UTC](https://meta.discourse.org/t/discourse-basic-editor/159431/39 "2020-11-08T16:51:33Z")

</div>

是的，这仍处于开发阶段。提及功能已在我的待办列表中。我尚未查看共享编辑功能，但实现它肯定是可行的。不过，这可能无法通过确保与共享编辑插件的兼容性来完成。基础编辑器引入的变更相当重大，因此很可能需要在基础编辑器内部构建解决方案。

---

<div class="post-metadata">

### Author: ![nathank](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nathank/32/290039_2.png) [@nathank](https://meta.discourse.org/u/nathank)
#### Post date: [2020年十一月8日 23:51 UTC](https://meta.discourse.org/t/discourse-basic-editor/159431/40 "2020-11-08T23:51:41Z")

</div>

> [@spirobel](#):
>
> 基础编辑器引入的改动相当重大，因此很可能需要在基础编辑器内部寻求解决方案。

你与 @sam 沟通过这件事吗？他可能会对这种可能性感兴趣，并且一定会给出明智的建议。

[上一頁](https://meta.discourse.org/t/discourse-basic-editor/159431.md?page=1)

[下一頁](https://meta.discourse.org/t/discourse-basic-editor/159431.md?page=3)
