mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/Math
synced 2024-11-23 23:25:02 +00:00
Display MathML when MathPlayer is installed
When MathPlayer is installed, we show the MathML instead of the SVG fallback. This will in particular allow the sync highlighting feature of MathPlayer. This also introduces a module ext.math.js that could be used to do some Javascript postprocessing. Bug: 71748 Change-Id: I438a20032c312d12321ca4c5686bcfd107656b37
This commit is contained in:
parent
b59a37640c
commit
c3894c2c49
|
@ -135,6 +135,7 @@ class MathHooks {
|
|||
$parser->getOutput()->addModules( array( 'ext.math.mathjax.enabler' ) );
|
||||
}
|
||||
$parser->getOutput()->addModuleStyles( array( 'ext.math.styles' ) );
|
||||
$parser->getOutput()->addModules( array( 'ext.math.scripts' ) );
|
||||
|
||||
// Writes cache if rendering was successful
|
||||
$renderer->writeCache();
|
||||
|
|
5
Math.php
5
Math.php
|
@ -235,6 +235,11 @@ $wgResourceModules['ext.math.styles'] = array(
|
|||
'remoteExtPath' => 'Math/modules',
|
||||
'styles' => 'ext.math.css',
|
||||
);
|
||||
$wgResourceModules['ext.math.scripts'] = array(
|
||||
'localBasePath' => __DIR__ . '/modules',
|
||||
'remoteExtPath' => 'Math/modules',
|
||||
'scripts' => 'ext.math.js',
|
||||
);
|
||||
|
||||
// MathJax module
|
||||
// If you modify these arrays, update ext.math.mathjax.enabler.js to ensure
|
||||
|
|
|
@ -424,6 +424,9 @@ class MathMathML extends MathRenderer {
|
|||
} else {
|
||||
$class .= 'inline';
|
||||
}
|
||||
if ( !$fallback) {
|
||||
$class .= ' mwe-math-mathml-a11y';
|
||||
}
|
||||
return $class;
|
||||
}
|
||||
/**
|
||||
|
|
|
@ -10,8 +10,8 @@
|
|||
/* Default style for MathML. */
|
||||
.mwe-math-mathml-inline { display: inline !important; }
|
||||
.mwe-math-mathml-display { display: block !important; margin-left: auto; margin-right: auto; }
|
||||
.mwe-math-mathml-inline, .mwe-math-mathml-display {
|
||||
/* We try to hide the MathML formula in a way that still makes it accessible to screen readers. */
|
||||
.mwe-math-mathml-a11y {
|
||||
/* We try to hide the MathML formula in a way that still makes it accessible to accessibility tools. */
|
||||
clip: rect(1px, 1px, 1px, 1px);
|
||||
overflow: hidden;
|
||||
position: absolute;
|
||||
|
@ -59,7 +59,7 @@ img.mwe-math-fallback-png-display { display: block; }
|
|||
@-moz-document url-prefix() {
|
||||
/* For Gecko browsers, hide the SVG fallback and show the MathML instead.
|
||||
We override the style for SVG and MathML above */
|
||||
.mwe-math-mathml-inline, .mwe-math-mathml-display {
|
||||
.mwe-math-mathml-a11y {
|
||||
clip: auto;
|
||||
overflow: visible;
|
||||
position: static;
|
||||
|
|
10
modules/ext.math.js
Normal file
10
modules/ext.math.js
Normal file
|
@ -0,0 +1,10 @@
|
|||
( function ( $ ) {
|
||||
'use strict';
|
||||
// If MathPlayer is installed we show the MathML rendering.
|
||||
if (navigator.userAgent.indexOf('MathPlayer') > -1) {
|
||||
$( '.mwe-math-mathml-a11y' ).removeClass( 'mwe-math-mathml-a11y' );
|
||||
$( 'img' ).removeClass( 'mwe-math-fallback-svg-inline mwe-math-fallback-svg-display' );
|
||||
}
|
||||
// FIXME: for browsers without SVG support, the <img> fallback should be
|
||||
// updated to point to PNG images.
|
||||
}( jQuery ) );
|
Loading…
Reference in a new issue