Как я могу перехватить и изменить уценку из редактора уценки wmd перед ее публикацией?

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

  •  21-09-2019
  •  | 
  •  

Вопрос

Я запускаю сайт Stack Exchange и хочу иметь возможность перехватывать текст вопроса до и после того, как сценарий уценки доберется до него.

Я хочу иметь возможность войти [custom-tag]stuff to be altered[/custom-tag] в окне вопроса, а затем удалите материал, который нужно изменить (поскольку стандартный механизм уценки не сможет его интерпретировать), сохраните его, а затем замените теги на выходе материалом, который нужно изменить после того, как он был обрабатывается моим собственным (серверным) движком.

Я терплю неудачу на первом этапе;Я не могу найти уценку JavaScript.Это где-то спрятано? /content/js/master.js?

Редактировать:Я постараюсь прояснить это на примере того, чего я пытаюсь достичь.

Я управляю сайтом SE, ориентированным на покер.Игроки обсуждают покерные раздачи, но вместо ввода текстовой расшифровки того, что произошло в раздаче, они используют конвертер, чтобы сделать ее более читабельной.

Итак, вместо того, чтобы публиковать это на форуме:

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)

сначала они перейдут на сторонний веб-сайт и преобразуют его в следующее:

PokerStars Пот-Лимит Омаха, $200,00BB (2 руки)
СБ ($14729)
ББ ($28306)

Префлоп:
МБ ставит $600, ББ коллирует $400

Флоп: ($1200) 6, 10, 3 (2 игрока)
BB чекает, SB чекает

Повернуть:(1200 долларов США) тыс. (2 игрока)
BB чекает, SB чекает

Река: ($1200) 7 (2 игрока)
ББ ставит 600 долларов, 1 раз

Общий банк: $1200 | Грабли: $2

Я хочу вырезать шаг, на котором пользователь должен перейти на сторонний веб-сайт, вставить его в руку, выбрать вывод HTML, а затем скопировать и вставить результат в вопрос.Вместо этого я хочу, чтобы они могли просто обернуть необработанный ручной тест тегами [hand][/hand], и преобразование будет обрабатываться автоматически.

Редактировать 2:

При дальнейшем расследовании выяснилось, что это невозможно (без большого количества хакерского JS).Сначала нужно будет обойти проблемы с междоменным доступом Ajax, чтобы использовать любую внешнюю службу для преобразования.

Тогда, если вам удастся переопределить предварительный просмотр WMD - вам все равно придется придумать, что делать, когда фактический ответ отображается нормально.Один из способов сделать это — заставить JS искать тег всякий раз, когда отображается какой-либо вопрос или ответ, и обновлять DOM преобразованной версией, что было бы отстой с точки зрения производительности.

Я думаю, мне придется подождать и надеяться, что SE предоставит нам какой-нибудь другой способ обойти это.

Это было полезно?

Решение

WMD автоматически заполняет элемент предварительного просмотра по мере ввода, верно?Ну, для этого нужен где-то конвертер.Этот конвертер — Showdown (который вы могли бы получить здесь).Вот его использование (взято из исходного файла):

// Showdown usage:

var text = "Markdown *rocks*.";

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

Это означает, что вы можете просто не использовать предоставленный элемент предварительного просмотра в пользу своего собственного, который вы заполняете самостоятельно.Кроме того, вам нужно будет послушать keypress событие в текстовом поле самостоятельно и выполните синтаксический анализ текста, а затем вызовите Showdown.Когда результат будет таким, как вам нравится, добавьте его в свой собственный элемент предварительного просмотра.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top