MDL-43856 MathJax: Add a mathjax loader filter.
[moodle.git] / filter / mathjaxloader / settings.php
1 <?php
2 // This file is part of Moodle - http://moodle.org/
3 //
4 // Moodle is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
8 //
9 // Moodle is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 // GNU General Public License for more details.
13 //
14 // You should have received a copy of the GNU General Public License
15 // along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
17 /**
18  * MathJAX filter settings
19  *
20  * @package    filter_mathjaxloader
21  * @copyright  2014 Damyon Wiese
22  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
23  */
25 defined('MOODLE_INTERNAL') || die;
27 if ($ADMIN->fulltree) {
28     $item = new admin_setting_heading('filter_mathjaxloader/localinstall',
29                                          new lang_string('localinstall', 'filter_mathjaxloader'),
30                                          new lang_string('localinstall_help', 'filter_mathjaxloader'));
31     $settings->add($item);
33     $item = new admin_setting_configtext('filter_mathjaxloader/httpurl',
34                                          new lang_string('httpurl', 'filter_mathjaxloader'),
35                                          new lang_string('httpurl_help', 'filter_mathjaxloader'),
36                                          'http://cdn.mathjax.org/mathjax/2.3-latest/MathJax.js',
37                                          PARAM_RAW);
38     $settings->add($item);
40     $item = new admin_setting_configtext('filter_mathjaxloader/httpsurl',
41                                          new lang_string('httpsurl', 'filter_mathjaxloader'),
42                                          new lang_string('httpsurl_help', 'filter_mathjaxloader'),
43                                          'https://c328740.ssl.cf1.rackcdn.com/mathjax/2.3-latest/MathJax.js',
44                                          PARAM_RAW);
45     $settings->add($item);
47     $default = '
48 MathJax.Hub.Config({
49     config: ["MMLorHTML.js", "Safe.js"],
50     jax: ["input/TeX","input/MathML","output/HTML-CSS","output/NativeMML"],
51     extensions: ["tex2jax.js","mml2jax.js","MathMenu.js","MathZoom.js"],
52     TeX: {
53         extensions: ["AMSmath.js","AMSsymbols.js","noErrors.js","noUndefined.js"]
54     },
55     menuSettings: {
56         zoom: "Double-Click",
57         mpContext: true,
58         mpMouse: true
59     },
60     errorSettings: { message: ["!"] },
61     tex2jax: {
62         skipTags: ["script","noscript","style","textarea"],
63         inlineMath: [
64             ["\\\\(","\\\\)"],
65             ["$$","$$"],
66             ["\\\\[","\\\\]"]
67         ],
68         displayMath: [
69             ["[tex]","[/tex]"],
70         ],
71         balanceBraces: true,
72         preview: "TeX"
73     },
74     skipStartupTypeset: true,
75     messageStyle: "none"
76 });
77 ';
79     $item = new admin_setting_configtextarea('filter_mathjaxloader/mathjaxconfig',
80                                              new lang_string('mathjaxsettings','filter_mathjaxloader'),
81                                              new lang_string('mathjaxsettings_desc', 'filter_mathjaxloader'),
82                                              $default);
84     $settings->add($item);
86 }