Idea: Paste links in the editor

Hey guys. If any of you uses WordPress, will know what I’m talking about. For others… I’ll explain.

So, in the WordPress editor, if you select a text and you press CTRL+V, it will do one of the following:

  • if the clipboard content is a valid url, it will insert the link with the selected text as anchor;
  • if the clipboard content is not a valid url, it will just overwrite the selected text.

I think it would be nice to just skip few steps (CTRL+K + CTRL+V + enter).

Any chance that this would be implemented on Discourse? :slight_smile:

(also, what’s up with the undo? it’s simply broken if you use any toolbar/shortcut)

4 个赞

Er… what? That sounds confusing. I’m confused! What would that do?

Alright, so I’ve made a short video:

Obviously enough, this should insert markdown instead.

5 个赞

这也是我在 WordPress 中非常喜爱、却在 Discourse 中每天都在怀念的功能。它让你可以一次性撰写大量文本,然后极其快速、自然地添加超链接。

2 个赞

我不太确定,你觉得呢 @eviltrout —— 这可能会出乎意料。而且我们已经有“插入超链接”工具栏按钮了。

1 个赞

使用链接按钮的流程如下:

  1. 选中文本
  2. 点击按钮(或按 Ctrl+K
  3. 粘贴链接
  4. 点击“确定”(或按 Enter

通过我提议的功能,你可以简化整个流程,只需选中文本然后粘贴即可。如果没有选中文本,粘贴操作将按正常方式执行(即直接插入剪贴板中的文本)。

3 个赞

在我所知的每个编辑器中,如果您选中一段文本并从剪贴板粘贴,该文本会被剪贴板中的内容覆盖。您提出的建议将取消用剪贴板内容替换文本的现有功能。

  • 未选中任何文本而从剪贴板粘贴是一个简单的粘贴操作。
  • 选中文本后从剪贴板粘贴是一个用剪贴板内容替换文本的操作。

插入超链接——使用已提供的按钮——是在您选中的任何文本中插入链接的最简便方法,只需先选中该文本即可。
在不选中任何文本的情况下插入超链接,则是点击按钮,粘贴链接,点击确定或按回车键,或者直接在空白处输入或粘贴链接。

我不明白您为何要将通用的选择并替换文本功能转换为现有按钮已实现的功能,同时却丢失了所有文本编辑器共有的这一功能。如果您失去了选择并替换功能,当您想要用其他文本替换现有文本时该怎么办?

在 WordPress 中,是什么决定了文本是被剪贴板内容替换,还是插入超链接而不覆盖现有文本(如您所建议的简单“选择并粘贴”)?显然,仅仅高亮文本并点击粘贴无法同时执行这两个功能,也无法在执行其中一个功能时不丢失另一个。

还是我漏掉了什么?

正如 Discourse 中已有的功能,输入或粘贴 URL 会自动将其转换为可点击的链接,无需使用插入链接功能。此外,您还有 Onebox 功能,以及插入链接按钮。

粘贴会插入文本。
选择并粘贴会替换文本。
选择并按删除/退格键会删除文本。

这些都是所有文本编辑器的通用功能。

2 个赞

这取决于剪贴板内容和编辑器状态的组合:

  • 如果剪贴板内容不是有效的 URL:粘贴行为将正如你所说(替换任何选中的文本,或者在未选中时将其追加到光标位置)。
  • 如果剪贴板内容一个 URL,且:
    • 未选中任何文本:URL 将插入到光标位置。
    • 选中了文本:将使用该文本作为锚点文本。

考虑到还有其他一些功能不像其他编辑器那样正常工作(),我相信这对用户来说不会是个大问题 :slight_smile:

1 个赞

我并不反对,但我也没听说过其他人提出过这个需求。这似乎相当小众。

4 个赞

我觉得这是那种东西,直到你真正拥有它,才会意识到自己需要它。

(我本想自己尝试把它做成一个插件之类的,但由于某些原因,我无法在 Windows 上启动 Discourse 的 Docker 开发环境。)

4 个赞

我强烈建议在此使用 WSL-2 以及我们官方的 Docker 配置,这是在 Windows 上开始使用的最简单方式。

另外……你甚至不需要完整的开发环境,你可以在主题创建器(theme creator)中进行实验,这可以构建为主题组件。

2 个赞

同时,我已经弄明白自己哪里做错了(并更新了帖子,以免他人重蹈覆辙)。现在我可以运行它了,但我目前没有多余的时间。也许在不久的将来吧:slight_smile:

1 个赞

我甚至不知道 WordPress 或其他任何工具具备此功能,所以根本没想到要提出请求。不过,这个功能会很实用,而且不太可能引发什么意外问题(我从未尝试过用 URL 覆盖任何文本;即使我尝试了,我也能明白发生了什么)。

3 个赞

说实话,这确实是 WordPress 中一个非常贴心的功能。超文本当然是网络的一个伟大事物和基础概念……但是,如果要往一篇文章里添加 10 个链接,除非能直接复制粘贴,否则真的很让人烦躁。所以我通常懒得去做,除非我在用 WordPress。直接粘贴链接就自动生成可点击链接,这本来就不该有什么意外。

1 个赞

我刚刚在 Zettlr 编辑器中尝试了一下,它没有 WordPress 那种“粘贴即创建链接”的功能,但对 Ctrl+K 有类似的行为:如果剪贴板中有 URL,你可以:

  • 选中文本
  • 按下 Ctrl+K

就这样,文本就会变成链接。或者你也可以右键点击来添加链接。而在 Discourse 中,你必须:

  • 选中文本
  • 按下 Ctrl+K
  • 按下 Ctrl+V
  • 按下回车

这真的打断了文本标记的流程。

我不确定浏览器安全策略是否允许在按下 Ctrl+K 时执行粘贴操作,但我确实认为 WordPress 的行为非常完美。

编辑 我注意到 Slack 也具有与 WordPress 相同的“粘贴即创建链接”行为,因此这也是另一个值得借鉴的常用界面设计。

3 个赞

我已在此处添加了一个 PR:UX: pasting links on a selection will apply a link format by gwwar · Pull Request #15010 · discourse/discourse · GitHub

23 个赞

欢迎回来,谢谢!好久不见!

6 个赞

我一直在 WordPress 中使用此功能。我首先写下整个句子,甚至是一个段落,然后进行另一次修改,将单词/短语转换为链接。

2 个赞

我也是。创作内容要容易得多。

我知道像 WordPress 这样的 CMS 与论坛有点不同,但那些界限正在消失,就像电脑与平板电脑与手机一样。

对我来说,问题很简单:这是用户体验和易用性的问题,但如果开发人员有不同的看法,那也是可能的。

我无意挑起任何争论,但开发人员有时会忘记最终用户,并按照他们习惯的方式做事 :wink:

1 个赞

这现在已合并!

  • 剪切一个 URL
  • 在 Discourse 编辑器中选择一个单词
  • 粘贴 URL
  • 单词变成一个链接……魔法 :woman_mage: :mage:

非常感谢 gwwar < - 使用 @gwwar 的粘贴技巧很容易实现!

我觉得这很酷,很难了解到它的存在,但现在我知道了,我偶尔一定会使用这个技巧。

21 个赞