ОБНОВЛЕНО POST
Хорошо, мне удалось заставить Markdown и MathJax работать вместе, это было относительно просто на самом деле. Я использовал marked
вместе с MathJax.
$(function() {
var $text = $("#text"), // the markdown textarea
$preview = $("#preview"); // the preview div
$text.on("keyup", function() {
$preview.html( marked($text.val()) ); // parse markdown
MathJax.Hub.Queue(["Typeset", MathJax.Hub, "preview"]); // then let MathJax do its job
})
});
Проблема теперь: я думаю, что уценка анализирует мою математику 1-го, прежде чем MathJax сможет ее изменить. Как это исправить? Я думаю, что он исправлен в Math StackOverflow, но как? Мне нужно остановить уценку из разбора математики
ОБНОВЛЕНИЕ 2
Это работает, но не уверен, что это так, как это делает math.stackexchange, но похоже, что он дает похожие результаты с тем, что я тестировал до сих пор...
$(function() {
var $text = $("#text"),
$preview = $("#preview");
$text.on("keyup", function() {
$preview.html( $text.val() );
MathJax.Hub.Queue(["Typeset", MathJax.Hub, "preview"]);
});
MathJax.Hub.Register.MessageHook("End Process", function (message) {
$preview.html( marked($preview.html()) );
});
});
OLD POST BELOW
В math stackexchange я могу использовать MathJax с Markdown. Интересно, что мне нужно сделать? Я могу использовать библиотеку типа marked
для рендеринга Markdown, но для MathJax кажется, что он просто отображает на загрузке страницы. Как я могу вызвать его для повторной обработки или лучше всего сделать то, что нужно (указано мной)
html = marked("some markdown string") // a HTML string
// is there something like
html = MathJax.parse(html)
UPDATE
Думаю, мне стоит взглянуть на http://www.mathjax.org/docs/1.1/typeset.html#manipulating-individual-math-elements. Но когда я пытаюсь
$text.on("keyup", function() {
$preview.html( marked($text.val()) );
var math = MathJax.Hub.getAllJax("preview");
console.log(math);
MathJax.Hub.Queue(["Text", math, "a+b"]);
})
Где:
-
$text
: является элементом jQuery для моего текстового поля -
$preview
: это предварительный просмотрdiv
Я нахожу, что math
есть undefined, поэтому кажется, что var math = MathJax.Hub.getAllJax("preview")
не работает. У меня есть div#preview
btw.