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 个赞

This is something I really enjoy in wordpress too, and miss in discourse on a daily basis. It allows you to write a whole bunch of text, then go through adding hyperlinks extremely quickly and naturally.

2 个赞

I’m not sure, what do you think @eviltrout — this could be unexpected. And we already have an insert hyperlink toolbar button.

1 个赞

The flow with the link button is this:

  1. Select the text
  2. Click the button (or press ctrl+k)
  3. Paste the link
  4. Click OK (or press enter

With the functionality I proposed, you kind of half the whole process, as you only select then paste. If no text is selected, the paste will work as usual (i.e. just insert the clipboard text).

3 个赞

In every editor I know of, if you jselect some text and paste from a clipboard, that text is overwritten by what’s in the clipboard. What you are suggesting would do away with the existing function of replace text with what’s in the clipboard.

  • Not selecting any text and pasting from clipboard is a simple PASTE action.
  • Selecting text and pasting from a clipboard is a REPLACE TEXT action with what is in the clipboard.

Inserting hyperlink - using the already supplied button - is the easiest way to insert a link in whatever text you select by selecting the text first.
Inserting a hyperlink without text is clicking on the button, paste the link, click okay or hit enter or by just typing or pasting a link to a blank space.

I don’t see why you would want to take the universal Select & Replace Text function and convert that into what the existing button already does without losing that function common to all text editors. What would happen if you wanted to replace text with other text if you lose the Select & Replace function?

In Wordpress, what determines whether the text is replaced with what’s in the clipboard or inserts a hyperlink without overwriting the existing text using a simple select & paste as you suggest? Surely a simple highlighting of text and clicking paste cannot perform both functions or do one function without losing the other.

Or am I missing something?

As is already in Discourse, typing in or pasting a URL does turn it into a clickable link without having to use the Insert Link feature. Then you have the Onebox feature. And you have the Insert Link button already.

Paste inserts text.
Select and paste replaces the text.
Select and delete/back space deletes the text.

These are common functions of all text editors.

2 个赞

A combination of clipboard content and editor state:

  • If cliboard content is not a valid URL: the paste will act just as you said (replace any selected text or append it at the cursor otherwise)
  • If the clipboard is an URL and:
    • no text selected: the URL will be inserted at the cursor position
    • text selected: use that text as an anchor text.

Considering that there are a few other things that doesn’t quite work as other editors (cough, cough), I’m pretty sure it wouldn’t be such a big problem for users :slight_smile:

1 个赞

I’m not against it but I also haven’t heard of anyone else asking for it. It seems fairly niche.

4 个赞

I think it’s one of those things you don’t know you need until you actually got it.

(I would try to do it myself as a plugin or something, but for some reasons I can’t start discourse docker dev env on windows)

4 个赞

I strongly recommend WSL-2 here, and our official docker setup, easiest way to get started on Windows.

Also … you don’t even need a full dev environment, you could experiment on theme creator, this can be built as a theme component.

2 个赞

Meanwhile I’ve figured out what I was doing wrong (and updated the post to prevent others persist in my mistake), now I can run it, but I have no spare time. Maybe in the near future :slight_smile:

1 个赞

I didn’t even know Wordpress or anything else did this, so wouldn’t have thought of asking, but it would be handy, and likely wouldn’t cause huge surprises (I’ve never tried to overwrite any text with a URL, and if I were to then I’d understand what was happening).

3 个赞

Honestly it’s just such a lovely feature in wordpress. Hypertext is a great thing, and foundational concept for the web, of course… but going back adding 10 links to a post is really irritating unless you can simply copy and paste them. So I don’t bother, unless I’m using wordpress. There should really be no surprise that pasting a link creates a link.

1 个赞

I just tried this in the zettlr editor, it doesn’t have the wordpress paste-to-create-link but does have similar behaviour for ctrl-k… With an URL in the clipboard, you …

  • select text
  • press ctrl-k

… and that’s it, the text becomes a link. Alternatively you can right-click to add a link. In discourse you have to:

  • select text
  • press ctrl-k
  • press ctrl-v
  • press enter

This really breaks the flow of marking up some text.

I’m not sure if browser security would let you paste with ctrl-k, but really I think the wordpress behaviour is perfect.

edit I’ve noticed that slack has the same link-on-paste behaviour as wordpress, so that’s another well-used UI to embrace this feature.

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 个赞