Evidenziazione della sintassi Markdown nell'editor dei post

Sarebbe difficile sostituire l’editor di post predefinito textarea con un evidenziatore di sintassi markdown?

O mi manca l’opzione da qualche parte?

Hai già implementato magnificamente questo per il CSS nell’editor di stili dell’amministratore:

3 Mi Piace

Non è già stato ottenuto utilizzando il blocco di codice, che fornisce l’evidenziazione della sintassi nell’area di anteprima?

1 Mi Piace

Questa è un’idea interessante, l’obiettivo sarebbe avere l’evidenziazione della sintassi nella textarea (cioè il lato sinistro del composer) in modo da poter vedere se si stanno commettendo errori di sintassi markdown. Sì, i blocchi di codice fanno lo stesso nell’anteprima, ma non vedrai errori markdown, per esempio. E alcuni markdown complessi sarebbero più facili da scansionare, post con molte tabelle, caricamenti, link, intestazioni.

Non sono sicuro che sia facile farlo, però. Le nostre schermate di amministrazione utilizzano l’ACE Editor e non credo che possiamo semplicemente trascinarlo e rilasciarlo nel composer del post.

4 Mi Piace

Sì, questo è esattamente il mio caso d’uso.

Fornisce un feedback molto diretto sulla tua sintassi: non devi guardare nel pannello di destra ogni secondo per verificare se non stai commettendo banali errori di sintassi.

Darebbe un po’ più di struttura a coloro che sono meno abili in Markdown (qualsiasi principiante).

Naturalmente hai ancora l’HTML renderizzato sul lato destro della finestra di composizione.

Non vedrei svantaggi immediati, soprattutto se fosse un’opzione.

PS: Apparentemente non è nemmeno installato un evidenziatore di sintassi Markdown per i blocchi di codice :grin::

# La sintassi dei blocchi di codice Markdown...

... sfortunatamente ...

- non è
- evidenziata

**affatto**!

EDIT 2 ore dopo: Corretto da @pmusaraj

4 Mi Piace

Ottima osservazione! Sembra che ci manchino alcuni stili per l’evidenziatore markdown.

2 Mi Piace

Usare un editor completo per il “solo” markdown non è un po’ troppo?

Secondo me, usare un semi-wysiwyg markdown è più in linea con le esigenze dell’OP, come ad esempio https://ui.toast.com/tui-editor, Playground | Milkdown, ecc.

3 Mi Piace

Entrambi sono ottimi!

Tuttavia, potrei immaginare che il Milkdown più semplice sarebbe più adatto, dato che va bene se l’editor dà una sensazione più simile a uno ‘schermo subacqueo’[1], dato che hai comunque l’anteprima sulla destra.


  1. Sì, ricordo vividamente WordPerfect :older_man: ↩︎

3 Mi Piace

Sì, ACE, TUI, Milkdown sono tutti cambiamenti molto grandi, tutti richiederebbero la sostituzione della textarea con contenteditable. Vale la pena sperimentare, di sicuro, ma nel core è un progetto importante.

4 Mi Piace

PR è attivo con una correzione per l’evidenziazione markdown mancante: UX: Update highlight.js styles by pmusaraj · Pull Request #23999 · discourse/discourse · GitHub

6 Mi Piace

Solo per espandere, innanzitutto questo è qualcosa che voglio davvero che il core supporti, ma vale anche la pena espandere sulla complessità.

Il core di Discourse utilizza molte API direttamente contro TEXTAREA, @menzioni, inserimenti della barra degli strumenti in TEXTAREA, caricamenti, copia e incolla di immagini e altro ancora.

Tutto ciò non è astratto e presuppone che stia parlando con un TEXTAREA. Aggiungere un contenteditable lì direttamente significherebbe che dovrebbe anche simulare correttamente e molto accuratamente un TEXTAREA, qualcosa che probabilmente fallirà. Abbiamo bisogno di un bel po’ di lavoro per creare una sorta di framework di provider in modo da poter sostituire le cose.

Vedi anche:

Highlighter è certamente un ottimo primo passo in questa direzione perché non devi preoccuparti del mapping bidirezionale da markdown a testo.

Potrebbe esserci qualche hack ninja in cui puoi nascondere il TEXTAREA e quindi renderizzare un contenteditable sopra di esso, trasferendo gli eventi all’originale, ma anche questo richiederebbe una reimplementazione del posizionamento di @menzione.

9 Mi Piace

Devo essere sincero: ora che ho visto l’editor di Trello, Discourse sembra un po’ anni 2000 per quanto riguarda l’editor:

Penso che questo tipo di cose sia importante.

Nota: Accetta ancora al 100% la sintassi Markdown.

1 Mi Piace

Personalmente non mi piace. È troppo disordinato. Adoro che l’editor in Discourse sia visivamente pulito. Tutto ciò che vedo è testo, e ciò che viene renderizzato è a lato, dove dovrebbe essere.

Tornando al punto principale dell’evidenziazione della sintassi, questa è una cosa che mi piacerebbe vedere. Almeno # Intestazioni e ## Sottotitoli verrebbero evidenziati in qualche modo. Non potete immaginare quante volte cerco nei miei post più lunghi, dove l’anteprima e l’editor sono disallineati, e mi ci vuole un’eternità per trovare dove si trova la mia # intestazione correlata.

Per me, rendere semplicemente # Intestazioni in grassetto, o di un colore particolare sul lato editor del compositore, sarebbe un enorme miglioramento.

2 Mi Piace

Lo è, non trovi?

Questi editor sono fatti per sviluppatori e programmatori e sono davvero confusionari per quelli normali.

Ma è così e fa parte del core, quindi non si può cambiare. Come la domanda in bozza :wink:

Comunque — fuori tema ecc.

1 Mi Piace

Ci si sta avvicinando a questo?

Contesto:

1 Mi Piace

Abbiamo iniziato a lavorare in quest’area. @lindsey condividerà informazioni man mano che progrediremo.

9 Mi Piace

È un’ottima notizia: l’uso di markdown è fantastico per i nostri utenti esperti, ma rappresenta una curva di apprendimento piuttosto ripida per la maggior parte dei nostri utenti meno esperti e contribuirebbe notevolmente a rendere la nostra community più accessibile.

4 Mi Piace

Ciao @lindsey, non voglio metterti fretta in alcun modo, ma ho pensato di chiederti se fossi in grado di condividere quanto segue:

  1. Se le modifiche includeranno l’interoperabilità / un framework per consentire ai plugin di sviluppare soluzioni per l’editor.

  2. In relazione a ciò, se stai pensando di sviluppare un tuo editor di testo rich, ad esempio in un plugin.

  3. Una vaga idea di quale sia la tempistica che stai considerando per 1 e/o 2.

Il contesto per me è l’approccio e la tempistica di questo potenziale progetto

Io e @Rohail_Altaf stiamo cercando di pensare a come affrontare al meglio questo problema, in particolare per quanto riguarda le tempistiche. Tuttavia, capisco perfettamente se non sei in grado di condividere queste informazioni in questa fase.

5 Mi Piace

Ciao Angus, scusa per il ritardo, eravamo al ritiro annuale della nostra azienda a Tokyo!

Non posso rispondere con troppi dettagli in questo momento poiché stiamo ancora definendo i dettagli dell’implementazione. Penso che avremo risolto entro le prossime settimane, almeno abbastanza da rispondere a queste domande, quindi ti ricontatterò non appena ne sapremo di più.

6 Mi Piace

Discourse sta ora distribuendo un editor sperimentale WYSIWYG :confetti_ball:

Questa infrastruttura rende anche possibile a lungo termine applicare l’evidenziazione della sintassi al markdown, se vogliamo intraprendere quella strada, anche se diventa molto meno necessaria con il nuovo editor.

Ad esempio, il nuovo editor ora ti consente di applicare l’evidenziazione della sintassi al codice mentre lo stai digitando!

5 Mi Piace