CẬP NHẬT POSTLàm thế nào để sử dụng Markdown với MathJax như Math StackExchange
Ok tôi đã quản lý để làm cho Markdown và MathJax làm việc cùng nhau, đó là tương đối đơn giản thực sự. Tôi đã sử dụng marked
cùng với 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
})
});
Vấn đề bây giờ là: Tôi nghĩ markdown đang phân tích cú pháp toán 1 của tôi trước khi MathJax có thể thay đổi nó. Làm thế nào để tôi sửa lỗi này? Tôi nghĩ rằng nó cố định trên Math StackOverflow, nhưng làm thế nào? Tôi cần phải dừng lại markdown từ phân tích toán học
UPDATE 2
này hoạt động, nhưng không chắc chắn nếu đường math.stackexchange nó hiện nó, nhưng có vẻ như để sản xuất/kết quả tương tự cùng với những gì tôi đã kiểm tra để xa ...
$(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 DƯỚI
Trong stackexchange toán học, tôi có thể sử dụng MathJax với Markdown. Tôi tự hỏi tôi cần làm gì? Tôi có thể sử dụng một thư viện như marked
để hiển thị Markdown, nhưng đối với MathJax, có vẻ như nó chỉ hiển thị khi tải trang. Làm thế nào tôi có thể gọi nó lại làm cho tốt hơn hoặc chỉ làm cho whats cần thiết (theo quy định của tôi)
html = marked("some markdown string") // a HTML string
// is there something like
html = MathJax.parse(html)
CẬP NHẬT
Tôi nghĩ rằng tôi nên nhìn vào http://www.mathjax.org/docs/1.1/typeset.html#manipulating-individual-math-elements. Nhưng khi tôi cố gắng
$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"]);
})
đâu:
$text
: là yếu tố jQuery cho textarea tôi$preview
: là bản xem trướcdiv
Tôi thấy rằng math
là undefined, vì vậy có vẻ như var math = MathJax.Hub.getAllJax("preview")
không hoạt động. Tôi có div#preview
btw.
Làm MathJax trước khi đánh dấu là thông minh (đánh dấu vượt qua html thông qua) nhưng có nghĩa là toán học sẽ được hiển thị * ở mọi nơi *. Ví dụ, nó không rõ ràng rằng bạn muốn nó được hiển thị trong văn bản 'literal'. –