¿Cómo puedo interceptar y modificar Markdown desde el editor de Markdown de WMD antes de que se publique?

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

  •  21-09-2019
  •  | 
  •  

Pregunta

Estoy iniciando un sitio de Stack Exchange y quiero poder interceptar el texto de la pregunta antes y después de que llegue el script de rebajas.

quiero poder entrar [custom-tag]stuff to be altered[/custom-tag] en la ventana de preguntas, y luego elimine las cosas que se van a modificar (ya que el motor de rebajas estándar no podrá interpretarlas), guárdelas y luego reemplace las etiquetas en la salida con las cosas que se van a modificar después de que se hayan procesado por mi propio motor (del lado del servidor).

Estoy fallando en el primer paso;No puedo encontrar el javascript de rebajas.¿Está en algún lugar escondido en /content/js/master.js?

Editar:Intentaré aclarar esto un poco con un ejemplo de lo que intento lograr.

Estoy ejecutando un sitio SE orientado al póquer.Los jugadores discuten las manos de póquer, pero en lugar de ingresar la transcripción en texto plano de lo que sucedió en una mano, usarán un conversor para hacerlo más legible.

Entonces, en lugar de publicar esto en un foro:

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)

Primero irán a un sitio web de terceros y lo convertirán a esto:

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

antes del flop:
SB apuesta $600, BB paga $400

Fracaso: ($1200) 6, 10, 3 (2 jugadores)
Cheques BB, cheques SB

Doblar:($1200) mil (2 jugadores)
Cheques BB, cheques SB

Río: ($1200) 7 (2 jugadores)
BB apuesta $600, 1 pliegue

Bote total: $1200 | Rastrillo: $2

Quiero eliminar el paso en el que el usuario tiene que ir a un sitio web de terceros, pegarlo en su mano, seleccionar la salida HTML y luego copiar y pegar el resultado en la pregunta.En lugar de eso, quiero que puedan envolver la prueba manual sin procesar con etiquetas [hand][/hand] y la conversión se manejará automáticamente.

Edición 2:

Tras una investigación más profunda, parece que esto no es posible (sin mucho JS hacky).En primer lugar, sería necesario solucionar los problemas entre dominios de Ajax para utilizar cualquier servicio externo para realizar la conversión.

Luego, si logra anular la vista previa de armas de destrucción masiva, aún tendrá que decidir qué hacer cuando la respuesta real se muestre normalmente.Una forma de hacerlo sería hacer que JS busque la etiqueta cada vez que se represente cualquier pregunta o respuesta y actualice el DOM con una versión convertida, lo que sería una mierda desde un punto de vista de rendimiento.

Creo que tendré que esperar y esperar que SE nos permita alguna otra forma de anular esto.

¿Fue útil?

Solución

WMD rellena automáticamente el elemento de anticipación a medida que escribe, ¿verdad? Bueno, tiene que tener un convertidor de un lugar para hacer esto. Ese convertidor es arreglo de cuentas (que se podía obtener aquí ). Aquí es su uso (sacado del archivo de origen):

// Showdown usage:

var text = "Markdown *rocks*.";

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

Esto significa que simplemente no se puede utilizar el elemento de anticipación que se proporciona, a favor de su cuenta que se rellenan de sí mismo. Además, tendrá que escuchar el caso keypress en el área de texto a sí mismo y hacer su análisis del texto, seguido llamando al enfrentamiento. Cuando la salida es a su gusto, a la basura en su propio elemento de anticipación.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top