瀏覽代碼

Don't set config unless needed in directive

Updates mathjax directive to only set config if it is needed. The main
config is now set in base.coffee so isn't needed
Alasdair Smith 8 年之前
父節點
當前提交
db518e16aa
共有 1 個文件被更改,包括 8 次插入 和 15 次删除
  1. 8 15
      services/web/public/coffee/directives/mathjax.coffee

+ 8 - 15
services/web/public/coffee/directives/mathjax.coffee

@@ -4,23 +4,16 @@ define [
 	App.directive "mathjax", () ->
 		return {
 			link: (scope, element, attrs) ->
-				mathjaxConfig =
-					extensions: ["Safe.js"]
-					messageStyle: "none"
-					imageFont:null
-					"HTML-CSS": { availableFonts: ["TeX"] },
-					TeX:
-						equationNumbers: { autoNumber: "AMS" },
-						useLabelIDs: false
-					skipStartupTypeset: true
-					tex2jax:
-						processEscapes: true,
-						inlineMath: [ ["\\(","\\)"] ],
-						displayMath: [ ['$$','$$'], ["\\[","\\]"] ]
 				if attrs.delimiter != 'no-single-dollar'
-					mathjaxConfig.tex2jax.inlineMath.push(['$','$']);
+					inlineMathConfig = MathJax?.Hub?.config?.tex2jax.inlineMath
+					alreadyConfigured = _.find inlineMathConfig, (c) ->
+						c[0] == '$' and c[1] == '$'
 
-				MathJax?.Hub?.Config(mathjaxConfig);
+					if !alreadyConfigured?
+						MathJax?.Hub?.Config(
+							tex2jax:
+								inlineMath: inlineMathConfig.concat([['$', '$']])
+						)
 
 				setTimeout () ->
 					MathJax?.Hub?.Queue(["Typeset", MathJax?.Hub, element.get(0)])