Add options for zoom and accessibility (#6)

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload
This commit is contained in:
mcmcclur 2017-07-28 16:14:55 -04:00 committed by Sam
parent 892971c3cc
commit 611840a32d
5 changed files with 27 additions and 4 deletions

View File

@ -2,18 +2,27 @@ import { withPluginApi } from 'discourse/lib/plugin-api';
import loadScript from 'discourse/lib/load-script'; import loadScript from 'discourse/lib/load-script';
let initializedMathJax = false; let initializedMathJax = false;
let zoom_on_hover, enable_accessibility;
function initMathJax() { function initMathJax() {
if (initializedMathJax) { return; } if (initializedMathJax) { return; }
window.MathJax = { var extensions = ["toMathML.js", "Safe.js"];
if(enable_accessibility) {
extensions.push("[a11y]/accessibility-menu.js")
}
var settings = {
jax: ['input/TeX', 'input/AsciiMath', 'input/MathML', 'output/CommonHTML'], jax: ['input/TeX', 'input/AsciiMath', 'input/MathML', 'output/CommonHTML'],
TeX: {extensions: ["AMSmath.js", "AMSsymbols.js", "autoload-all.js"]}, TeX: {extensions: ["AMSmath.js", "AMSsymbols.js", "autoload-all.js"]},
extensions: ["toMathML.js"], extensions: extensions,
showProcessingMessages: false, showProcessingMessages: false,
root: '/plugins/discourse-math/mathjax' root: '/plugins/discourse-math/mathjax'
}; }
if(zoom_on_hover) {
settings.menuSettings = {zoom: "Hover"};
settings.MathEvents = {hover: 750};
}
window.MathJax = settings;
initializedMathJax = true; initializedMathJax = true;
} }
@ -72,6 +81,8 @@ export default {
name: "apply-math", name: "apply-math",
initialize(container) { initialize(container) {
const siteSettings = container.lookup('site-settings:main'); const siteSettings = container.lookup('site-settings:main');
zoom_on_hover = siteSettings.discourse_math_zoom_on_hover;
enable_accessibility = siteSettings.discourse_math_enable_accessibility;
if (siteSettings.discourse_math_enabled) { if (siteSettings.discourse_math_enabled) {
withPluginApi('0.5', initializeMath); withPluginApi('0.5', initializeMath);
} }

View File

@ -4,3 +4,5 @@
en: en:
site_settings: site_settings:
discourse_math_enabled: 'Enable Discourse Math plugin (will add special processing to $ and $$ blocks)' discourse_math_enabled: 'Enable Discourse Math plugin (will add special processing to $ and $$ blocks)'
discourse_math_zoom_on_hover: 'Zoom 200% on hover'
discourse_math_enable_accessibility: 'Enable accessibility features'

View File

@ -4,3 +4,5 @@
es: es:
site_settings: site_settings:
discourse_math_enabled: 'Habilitar plugin Discourse Math (agregará procesamiento especial para los bloques con $ y $$)' discourse_math_enabled: 'Habilitar plugin Discourse Math (agregará procesamiento especial para los bloques con $ y $$)'
discourse_math_zoom_on_hover: 'Zoom 200% en hover'
discourse_math_enable_accessibility: 'Habilitar las funciones de accesibilidad'

View File

@ -4,3 +4,5 @@
fi: fi:
site_settings: site_settings:
discourse_math_enabled: 'Ota käyttöön Discoursen matematiikkalisäosa ($ ja $$ blokit käsitellään erityisellä tavalla)' discourse_math_enabled: 'Ota käyttöön Discoursen matematiikkalisäosa ($ ja $$ blokit käsitellään erityisellä tavalla)'
discourse_math_zoom_on_click: 'Zoomaa 200% hoverissa'
discourse_math_enable_accessibility: 'Ota käyttöön esteettömyysominaisuudet'

View File

@ -2,3 +2,9 @@ plugins:
discourse_math_enabled: discourse_math_enabled:
default: false default: false
client: true client: true
discourse_math_zoom_on_hover:
default: false
client: true
discourse_math_enable_accessibility:
default: false
client: true