L'impostazione 'Abilita scorciatoie emoji' dovrebbe consentire l'escape tramite backslash

Quando l’impostazione abilita scorciatoie emoji è attiva, le emoticon come :) vengono convertite in vere e proprie emoji (:slight_smile:). Tuttavia, non è possibile aggirare questo comportamento inserendo semplicemente una barra rovesciata prima di esse (:)). Questo è incoerente con altre situazioni in cui la sequenza di escape funziona, e su Discord esiste un’impostazione simile:

image

Tuttavia, non è obbligatorio: se voglio che :-) rimanga così com’è, basta inserire una barra rovesciata prima e ottengo quello che desidero.

Per aggirare il problema è necessario inserire un carattere a larghezza zero tra i simboli, oppure racchiudere una lettera tra parentesi angolate al centro, dato che queste non vengono visualizzate, ecc. Ad esempio:

:<g>), :​)

ciò crea una cattiva esperienza utente per coloro che desiderano maggiore libertà nel modo in cui scrivono le emoji.

8 Mi Piace

Non si tratta solo di scorciatoie, ma di tutti gli emoji. Immagino che non sia contro cambiare il modo in cui usiamo gli emoji se abbiamo un \ prima.

Quindi:

\:thinking: ha la stessa parità di \`thinking` e \*thinking*

:thinking: ha la stessa parità di `thinking` e *thinking*

5 Mi Piace

Ho pubblicato un post a riguardo sul forum per sviluppatori di Roblox, che utilizza Discourse, e sono d’accordo: dover usare sempre caratteri vuoti o qualcosa per non attivare un’emoji è un po’ fastidioso; le emoji tendono a rendere il post un po’ meno professionale, e a volte vuoi solo un piccolo :) ma non un :slight_smile:

Spero che questo venga modificato (“Immagino non si aggiornerebbe dato che è open-source e tutto il resto;”)

In realtà ho trovato questo argomento perché ho incrociato anch’io questa domanda (ho provato a evitare l’uso di uno smiley, ma ahimè, si è trasformato in un’emoji E ha inghiottito il mio carattere di escape… l’audacia, ahah)

Abbiamo già una soluzione di bypass per questo tra i backtick, ad esempio :-) e :) … oltre ai blocchi di codice … non siamo davvero sicuri che servano ancora più metodi per raggiungere lo stesso obiettivo?

Il mio punto era più sull’uso delle emoji nelle conversazioni reali: non basterebbe semplicemente non renderizzarle, mantenendole come emoticon se c’è una barra rovesciata prima di esse?

`` sono per il codice in linea; se non si sta discutendo di programmazione, l’uso dei blocchi di codice non ha senso. Anche se lo fosse, non avrebbe comunque senso, poiché i codici in linea sono generalmente utilizzati per evidenziare una singola riga di codice o per evidenziare nomi di classi/membri e simili.

1 Mi Piace

Non proprio: l’HTML proverà a renderizzare se, ad esempio, digiti <a>. Quindi, i blocchi di codice in linea sono il modo previsto per renderizzarlo.

Non sono sicuro di voler dedicare tempo prezioso dell’ingegneria a qualcosa per cui abbiamo già un modo di gestirlo.

Ho impostato PR welcome su questo, ho dato un’occhiata di 15 minuti e non esiste una soluzione banale.

Il nostro parser consuma il codice di escape, quindi quando lo abbiamo non abbiamo idea che l’escape fosse presente.

Qualsiasi soluzione esista qui richiederà di modificare markdown.it e di inviare una patch a monte. Molto, molto complicato… cc @Vitaly

Stesso problema su https://markdown-it.github.io/

Consiglio di aprire un ticket a monte, anche se ciò potrebbe significare che dovremo annotare i token di testo con “originale grezzo per il token di testo”.

Il livello di difficoltà è circa 95.

4 Mi Piace

Questo bug presenta una simile svista di progettazione come “gli underscore possono interrompere i collegamenti automatici”, ma potrebbe essere un espediente specifico possibile. Darò un’occhiata a cosa si può fare.

Problema creato: Postpone escape info drop · Issue #840 · markdown-it/markdown-it · GitHub

2 Mi Piace

Devo dissentire con tutto il cuore. “:)” non è semplicemente la stessa cosa di “:<)”.

Tuttavia, concordo sul fatto che non sia qualcosa su cui sprecare tempo/denaro. Fastidioso, ma comprensibile.

Sembra che @Vitaly abbia risolto in v13, aggiorneremo a quella versione

2 Mi Piace

Un utente nel mio forum si è lamentato di questo problema di formattazione, ho disabilitato l’autocompletamento delle emoji come soluzione per il nostro caso d’uso, ma poiché Discourse è stato aggiornato a markdown-it v13 un po’ di tempo fa, il problema sembra persistere, mentre l’escape con barra rovesciata ora funziona su https://markdown-it.github.io/

Potrebbe essere dovuto al fatto che ember.js si basa ancora sulla versione 12 di markdown, come indicato qui?

Siamo alla 13 ora, per quanto ne so… cc @david e il problema rimane.

Sembra che abbiamo una nostra implementazione di Emoji: non usiamo quella di markdown-it.

(scorciatoie definite qui, referenziate qui. La logica di sostituzione è qui)

3 Mi Piace

Quindi dovrebbe essere piuttosto semplice da correggere (parole famose dette per ultime)

Inizio a lavorarci ora. :slight_smile:

Modifica: Potrebbe essere più difficile di quanto pensassi. :upside_down_face:

2 Mi Piace