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 „Gefällt mir“

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 „Gefällt mir“

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 „Gefällt mir“

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

1 „Gefällt mir“

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 „Gefällt mir“

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 „Gefällt mir“

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 „Gefällt mir“

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

4 „Gefällt mir“

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 „Gefällt mir“

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 „Gefällt mir“

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 „Gefällt mir“

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 „Gefällt mir“

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 „Gefällt mir“

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 „Gefällt mir“

Ich habe hierfür einen PR hinzugefügt: UX: pasting links on a selection will apply a link format by gwwar · Pull Request #15010 · discourse/discourse · GitHub

23 „Gefällt mir“

Willkommen zurück und danke! Es ist eine Weile her!

6 „Gefällt mir“

Ich benutze das ständig in WordPress. Ich schreibe zuerst den ganzen Satz oder sogar einen Absatz, dann mache ich eine weitere Runde und wandle Wörter/Phrasen in Links um.

2 „Gefällt mir“

Hier auch. Viel einfacher, Inhalte zu erstellen.

Ich weiß, CMS wie WordPress sind etwas anders als Foren, aber diese Grenzen verschwinden, wie Computer vs. Tablets vs. Handys.

Für mich ist die Frage ganz einfach: Es ist eine Frage der Benutzererfahrung und Einfachheit, aber wenn Entwickler die Dinge anders sehen, ist das möglich.

Ich versuche nicht, einen Streit anzuzetteln, aber ab und zu vergessen Entwickler die Endbenutzer und machen die Dinge, wie sie es gewohnt sind :wink:

1 „Gefällt mir“

Das ist jetzt zusammengeführt!

  • Eine URL ausschneiden
  • Ein Wort im Discourse-Komponisten auswählen
  • URL einfügen
  • Das Wort wird zu einem Link… Magie :woman_mage: :mage:

Vielen Dank gwwar ← Das wurde einfach mit dem Einfügetrick @gwwar erstellt!

Ich finde das ziemlich cool, es ist sehr schwer, davon zu erfahren, aber jetzt, wo ich weiß, dass es existiert, werde ich den Trick gelegentlich anwenden.

21 „Gefällt mir“