From 11159ba71e04c72113e338fbd59d985c62c95034 Mon Sep 17 00:00:00 2001 From: Waqas Khalid Date: Fri, 16 Jan 2015 01:31:39 +0500 Subject: [PATCH] Discussion forum doesn't work when mathjax is down When mathjax is down discussion forum doesn't work as we were using markdown.js with processor as mathjax. Unavailability of mathjax raise error in js which stops discussion to render. So I made markdown independent of mathjax. Markdown now will use mathjax when it is available otherwise ignore it. TNL-1149 --- .../views/discussion_thread_profile_view.coffee | 3 ++- .../views/discussion_thread_show_view.coffee | 3 ++- .../views/response_comment_show_view.coffee | 3 ++- .../views/thread_response_show_view.coffee | 3 ++- common/templates/mathjax_include.html | 2 ++ lms/static/coffee/src/customwmd.coffee | 14 +++++--------- .../coffee/src/mathjax_delay_renderer.coffee | 2 +- 7 files changed, 16 insertions(+), 14 deletions(-) diff --git a/common/static/coffee/src/discussion/views/discussion_thread_profile_view.coffee b/common/static/coffee/src/discussion/views/discussion_thread_profile_view.coffee index 51afd0bd24..2d248f49c7 100644 --- a/common/static/coffee/src/discussion/views/discussion_thread_profile_view.coffee +++ b/common/static/coffee/src/discussion/views/discussion_thread_profile_view.coffee @@ -10,7 +10,8 @@ if Backbone? @$el.html(Mustache.render(@template, params)) @$("span.timeago").timeago() element = @$(".post-body") - MathJax.Hub.Queue ["Typeset", MathJax.Hub, element[0]] + if MathJax? + MathJax.Hub.Queue ["Typeset", MathJax.Hub, element[0]] @ convertMath: -> diff --git a/common/static/coffee/src/discussion/views/discussion_thread_show_view.coffee b/common/static/coffee/src/discussion/views/discussion_thread_show_view.coffee index 6319b1d950..5a1a0a5b29 100644 --- a/common/static/coffee/src/discussion/views/discussion_thread_show_view.coffee +++ b/common/static/coffee/src/discussion/views/discussion_thread_show_view.coffee @@ -32,7 +32,8 @@ if Backbone? convertMath: -> element = @$(".post-body") element.html DiscussionUtil.postMathJaxProcessor DiscussionUtil.markdownWithHighlight element.text() - MathJax.Hub.Queue ["Typeset", MathJax.Hub, element[0]] + if MathJax? + MathJax.Hub.Queue ["Typeset", MathJax.Hub, element[0]] edit: (event) -> @trigger "thread:edit", event diff --git a/common/static/coffee/src/discussion/views/response_comment_show_view.coffee b/common/static/coffee/src/discussion/views/response_comment_show_view.coffee index e25a7ac5db..51432770a2 100644 --- a/common/static/coffee/src/discussion/views/response_comment_show_view.coffee +++ b/common/static/coffee/src/discussion/views/response_comment_show_view.coffee @@ -33,7 +33,8 @@ if Backbone? convertMath: -> body = @$el.find(".response-body") body.html DiscussionUtil.postMathJaxProcessor DiscussionUtil.markdownWithHighlight body.text() - MathJax.Hub.Queue ["Typeset", MathJax.Hub, body[0]] + if MathJax? + MathJax.Hub.Queue ["Typeset", MathJax.Hub, body[0]] _delete: (event) => @trigger "comment:_delete", event diff --git a/common/static/coffee/src/discussion/views/thread_response_show_view.coffee b/common/static/coffee/src/discussion/views/thread_response_show_view.coffee index de71ca3eb2..6d634dd481 100644 --- a/common/static/coffee/src/discussion/views/thread_response_show_view.coffee +++ b/common/static/coffee/src/discussion/views/thread_response_show_view.coffee @@ -27,7 +27,8 @@ if Backbone? convertMath: -> element = @$(".response-body") element.html DiscussionUtil.postMathJaxProcessor DiscussionUtil.markdownWithHighlight element.text() - MathJax.Hub.Queue ["Typeset", MathJax.Hub, element[0]] + if MathJax? + MathJax.Hub.Queue ["Typeset", MathJax.Hub, element[0]] edit: (event) -> @trigger "response:edit", event diff --git a/common/templates/mathjax_include.html b/common/templates/mathjax_include.html index 753b2319a5..bb0c14ece9 100644 --- a/common/templates/mathjax_include.html +++ b/common/templates/mathjax_include.html @@ -12,6 +12,7 @@ tex2jax: {inlineMath: [ ['$','$'], ["\\(","\\)"]], displayMath: [ ['$$','$$'], ["\\[","\\]"]]} }); + HUB = MathJax.Hub %else: %endif diff --git a/lms/static/coffee/src/customwmd.coffee b/lms/static/coffee/src/customwmd.coffee index 8307ecd396..46cfc66827 100644 --- a/lms/static/coffee/src/customwmd.coffee +++ b/lms/static/coffee/src/customwmd.coffee @@ -2,11 +2,6 @@ $ -> - if not MathJax? - return - - HUB = MathJax.Hub - class MathJaxProcessor MATHSPLIT = /// ( @@ -116,10 +111,11 @@ $ -> Markdown.getMathCompatibleConverter = (postProcessor) -> postProcessor ||= ((text) -> text) converter = Markdown.getSanitizingConverter() - processor = new MathJaxProcessor() - converter.hooks.chain "preConversion", MathJaxProcessor.removeMathWrapper(processor) - converter.hooks.chain "postConversion", (text) -> - postProcessor(MathJaxProcessor.replaceMathWrapper(processor)(text)) + if MathJax? + processor = new MathJaxProcessor() + converter.hooks.chain "preConversion", MathJaxProcessor.removeMathWrapper(processor) + converter.hooks.chain "postConversion", (text) -> + postProcessor(MathJaxProcessor.replaceMathWrapper(processor)(text)) converter Markdown.makeWmdEditor = (elem, appended_id, imageUploadUrl, postProcessor) -> diff --git a/lms/static/coffee/src/mathjax_delay_renderer.coffee b/lms/static/coffee/src/mathjax_delay_renderer.coffee index 9c3f3c5f92..83bad7f8cf 100644 --- a/lms/static/coffee/src/mathjax_delay_renderer.coffee +++ b/lms/static/coffee/src/mathjax_delay_renderer.coffee @@ -57,7 +57,7 @@ class @MathJaxDelayRenderer @$buffer.html(text) curTime = getTime() @elapsedTime = curTime - prevTime - if MathJax + if MathJax? prevTime = getTime() @mathjaxRunning = true MathJax.Hub.Queue ["Typeset", MathJax.Hub, @$buffer.attr("id")], =>