Come posso intercettare e modificare il markdown dall'editor wmd markdown prima che venga pubblicato?

StackOverflow https://stackoverflow.com/questions/1561012

  •  21-09-2019
  •  | 
  •  

Domanda

Sto avviando un sito Stack Exchange e voglio essere in grado di intercettare il testo della domanda prima e dopo che lo script markdown lo raggiunge.

Voglio poter entrare [custom-tag]stuff to be altered[/custom-tag] nella finestra della domanda, quindi rimuovere gli elementi da modificare (poiché il motore di markdown standard non sarà in grado di interpretarli) memorizzarli, quindi sostituire i tag nell'output con gli elementi da modificare dopo che sono stati modificati elaborato dal mio motore (lato server).

Sto fallendo al primo passo;Non riesco a trovare il javascript markdown.E' nascosto da qualche parte? /content/js/master.js?

Modificare:Cercherò di renderlo un po' più chiaro con un esempio di ciò che sto cercando di ottenere.

Gestisco un sito SE orientato al poker.I giocatori discutono delle mani di poker ma invece di inserire la trascrizione in testo semplice di ciò che è accaduto in una mano, utilizzeranno un convertitore per renderlo più leggibile.

Quindi, invece di postare questo su un forum:

PokerStars Game #29112867044:  Omaha Pot Limit ($100/$200) - 2009/06/07 19:51:27 ET
Table 'Thomsen' 9-max Seat #2 is the button
Seat 2: Mary & Joey ($14729 in chips) 
Seat 4: William ($28306 in chips) 
Mary & Joey: posts small blind $100
William: posts big blind $200
*** HOLE CARDS ***
Mary & Joey: raises $400 to $600
William: calls $400
*** FLOP *** [6d Td 3c]
William: checks 
Mary & Joey: checks 
*** TURN *** [6d Td 3c] [Kc]
William: checks 
Mary & Joey: checks 
*** RIVER *** [6d Td 3c Kc] [7d]
William: bets $600
Mary & Joey: folds 
Uncalled bet ($600) returned to William
William collected $1198 from pot
William: doesn't show hand 
*** SUMMARY ***
Total pot $1200 | Rake $2 
Board [6d Td 3c Kc 7d]
Seat 2: Mary & Joey (button) (small blind) folded on the River
Seat 4: William (big blind) collected ($1198)

andranno prima su un sito Web di terze parti e lo convertiranno in questo:

PokerStars Pot-Limit Omaha, $200,00 BB (2 mani)
SB ($14729)
BB ($28306)

Preflop:
SB punta $600, BB chiama $400

Flop: ($1200) 6, 10, 3 (2 giocatori)
Assegni BB, assegni SB

Giro:($ 1200) K (2 giocatori)
Assegni BB, assegni SB

Fiume: ($1200) 7 (2 giocatori)
BB scommette $600, 1 piega

Piatto totale: $1200 | Rake: $2

Voglio eliminare il passaggio in cui l'utente deve accedere a un sito Web di terze parti, incollarlo nella mano, selezionare l'output HTML e quindi copiare e incollare il risultato nella domanda.Voglio invece che siano in grado di racchiudere il test della mano grezza con i tag [hand][/hand] e la conversione verrà gestita automaticamente.

Modifica 2:

Dopo ulteriori indagini sembra che ciò non sia possibile (senza un sacco di JS hacky).Sarebbe necessario innanzitutto aggirare i problemi tra domini Ajax per utilizzare qualsiasi servizio esterno per eseguire la conversione.

Quindi, se riesci a sovrascrivere l'anteprima delle WMD, devi ancora capire cosa fare quando la risposta effettiva viene visualizzata normalmente.Un modo per farlo sarebbe fare in modo che JS cerchi il tag ogni volta che viene visualizzata una domanda o risposta e aggiorni il DOM con una versione convertita, il che farebbe schifo da un POV delle prestazioni.

Penso che dovrò aspettare e sperare che SE ci consenta qualche altro modo per ignorarlo.

È stato utile?

Soluzione

WMD popola automaticamente l'elemento di anteprima durante la digitazione, giusto?Bene, è necessario avere un convertitore da qualche parte per farlo.Quel convertitore è Showdown (che potresti ottenere qui).Ecco il suo utilizzo (estratto dal file sorgente):

// Showdown usage:

var text = "Markdown *rocks*.";

var converter = new Showdown.converter();
var html = converter.makeHtml(text);

Ciò significa che non puoi semplicemente utilizzare l'elemento di anteprima fornito, a favore del tuo che compilerai tu stesso.Inoltre, dovrai ascoltare il keypress evento sulla textarea tu stesso ed esegui l'analisi del testo, quindi chiama Showdown.Quando l'output è come preferisci, inseriscilo nel tuo elemento di anteprima.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top