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 Me gusta

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 Me gusta

Esto es algo que también disfruto mucho en WordPress y que echo de menos en Discourse a diario. Te permite escribir un montón de texto y luego añadir hipervínculos de forma muy rápida y natural.

2 Me gusta

No estoy seguro, ¿qué opinas @eviltrout? Esto podría ser inesperado. Además, ya tenemos un botón de la barra de herramientas para insertar hipervínculos.

1 me gusta

El flujo con el botón de enlace es el siguiente:

  1. Selecciona el texto.
  2. Haz clic en el botón (o presiona Ctrl+K).
  3. Pega el enlace.
  4. Haz clic en Aceptar (o presiona Enter).

Con la funcionalidad que propongo, reduces todo el proceso a la mitad, ya que solo necesitas seleccionar y luego pegar. Si no hay texto seleccionado, el pegado funcionará como de costumbre (es decir, simplemente insertará el texto del portapapeles).

3 Me gusta

En todos los editores que conozco, si seleccionas texto y pegas desde el portapapeles, ese texto es sobrescrito por lo que hay en el portapapeles. Lo que sugieres eliminaría la función existente de reemplazar texto con lo que está en el portapapeles.

  • No seleccionar ningún texto y pegar desde el portapapeles es una acción simple de PEGAR.
  • Seleccionar texto y pegar desde el portapapeles es una acción de REEMPLAZAR TEXTO con lo que hay en el portapapeles.

Insertar hipervínculo: usando el botón ya disponible, es la forma más sencilla de insertar un enlace en cualquier texto que hayas seleccionado previamente.
Insertar un hipervínculo sin texto consiste en hacer clic en el botón, pegar el enlace, hacer clic en Aceptar o presionar Enter, o simplemente escribir o pegar un enlace en un espacio en blanco.

No veo por qué querrías convertir la función universal de Seleccionar y reemplazar texto en lo que ya hace el botón existente, perdiendo así una función común a todos los editores de texto. ¿Qué pasaría si quisieras reemplazar texto con otro texto y perdieras la función de Seleccionar y reemplazar?

En WordPress, ¿qué determina si el texto es reemplazado por lo que hay en el portapapeles o si inserta un hipervínculo sin sobrescribir el texto existente mediante una simple selección y pegado como sugieres? Ciertamente, resaltar texto y hacer clic en pegar no puede realizar ambas funciones ni una sin perder la otra.

¿O me estoy perdiendo algo?

Como ya ocurre en Discourse, escribir o pegar una URL la convierte automáticamente en un enlace clicable sin necesidad de usar la función Insertar enlace. Además, tienes la función Onebox y ya dispones del botón Insertar enlace.

Pegar inserta texto.
Seleccionar y pegar reemplaza el texto.
Seleccionar y borrar/borrar con retroceso elimina el texto.

Estas son funciones comunes a todos los editores de texto.

2 Me gusta

Una combinación del contenido del portapapeles y el estado del editor:

  • Si el contenido del portapapeles no es una URL válida: el pegado actuará tal como dijiste (reemplazará cualquier texto seleccionado o lo añadirá al final del cursor si no hay selección).
  • Si el portapapeles es una URL y:
    • no hay texto seleccionado: la URL se insertará en la posición del cursor.
    • hay texto seleccionado: se usará ese texto como texto de ancla.

Teniendo en cuenta que hay algunas otras cosas que no funcionan del todo bien como en otros editores (cough, cough), estoy bastante seguro de que no será un gran problema para los usuarios :slight_smile:

1 me gusta

No estoy en contra, pero tampoco he oído que nadie más lo pida. Parece bastante de nicho.

4 Me gusta

Creo que es una de esas cosas de las que no sabes que las necesitas hasta que las tienes.

(Intentaría hacerlo yo mismo como un plugin o algo así, pero por alguna razón no puedo iniciar el entorno de desarrollo de Docker de Discourse en Windows)

4 Me gusta

Te recomiendo encarecidamente usar WSL-2 aquí, junto con nuestra configuración oficial de Docker, que es la forma más sencilla de empezar en Windows.

Además… ni siquiera necesitas un entorno de desarrollo completo; podrías experimentar con el Creador de Temas, ya que esto puede construirse como un componente de tema.

2 Me gusta

Mientras tanto, he descubierto qué estaba haciendo mal (y he actualizado la publicación para evitar que otros cometan el mismo error). Ahora puedo ejecutarlo, pero no tengo tiempo libre. Quizás en un futuro cercano :slight_smile:

1 me gusta

Ni siquiera sabía que WordPress o cualquier otra cosa hiciera esto, así que no se me habría ocurrido pedirlo, pero sería útil y probablemente no causaría grandes sorpresas (nunca he intentado sobrescribir texto con una URL, y si lo hiciera, entendería lo que está sucediendo).

3 Me gusta

Realmente es una función tan agradable en WordPress. El hipertexto es algo excelente y un concepto fundamental para la web, por supuesto… pero volver y añadir 10 enlaces a una publicación es realmente molesto a menos que puedas simplemente copiarlos y pegarlos. Así que no me molesto en hacerlo, a menos que esté usando WordPress. En realidad no debería sorprender que al pegar un enlace se cree un enlace.

1 me gusta

Acabo de probar esto en el editor Zettlr; no tiene la función de «pegar para crear enlace» de WordPress, pero sí un comportamiento similar con Ctrl+K.. Con una URL en el portapapeles, solo tienes que:

  • seleccionar el texto
  • pulsar Ctrl+K

.. y eso es todo, el texto se convierte en un enlace. Alternativamente, puedes hacer clic derecho para añadir un enlace. En Discourse, en cambio, debes:

  • seleccionar el texto
  • pulsar Ctrl+K
  • pulsar Ctrl+V
  • pulsar Enter

Esto realmente rompe el flujo al dar formato a algún texto.

No estoy seguro de que la seguridad del navegador permita pegar con Ctrl+K, pero creo que el comportamiento de WordPress es perfecto.

edición He notado que Slack tiene el mismo comportamiento de «enlace al pegar» que WordPress, por lo que es otra interfaz muy utilizada que debería adoptar esta función.

3 Me gusta

He agregado una PR para esto en UX: pasting links on a selection will apply a link format by gwwar · Pull Request #15010 · discourse/discourse · GitHub

23 Me gusta

¡Oh, guau! ¡Bienvenido de nuevo y gracias! ¡Ha pasado un tiempo!

6 Me gusta

Lo uso en WordPress todo el tiempo. Primero escribo la oración completa, o incluso un párrafo, luego hago otra pasada y convierto palabras/frases en enlaces.

2 Me gusta

Lo mismo por aquí. Mucho más fácil crear contenido.

Sé que los CMS, como WordPress, son un poco diferentes a los foros, pero esas fronteras están desapareciendo, como ordenadores vs. tabletas vs. teléfonos.

Para mí la pregunta es bastante fácil: es una cuestión de UX y facilidad, pero si los desarrolladores ven las cosas de manera diferente es posible.

No intento iniciar ninguna discusión, pero de vez en cuando los desarrolladores se olvidan de los usuarios finales y hacen las cosas como están acostumbrados :wink:

1 me gusta

¡Esto ya está fusionado!

  • Corta una URL
  • Selecciona una palabra en el compositor de Discourse
  • Pega la URL
  • La palabra se convierte en un enlace… Magia :woman_mage: :mage:

Muchas gracias gwwar ← ¡Eso se creó fácilmente usando el truco de pegar @gwwar!

Me parece genial, es muy difícil enterarse de que existe, pero ahora que sé que existe, sin duda usaré el truco de vez en cuando.

21 Me gusta