Go to file
Ed Sanders 905a834be2 VE: Move hash changes to the rendering hash
Depends on I5d42943a0 in VE core.

Bug: T114689
Change-Id: Ib64a1184132fbf62f38c6bd5dde689acff7b8ae5
2015-10-07 14:40:43 +00:00
db Increase size of the math_mathml in the mathlatexml table 2014-11-18 12:42:27 +01:00
i18n Localisation updates from https://translatewiki.net. 2015-09-28 22:46:05 +02:00
images Convert VisualEditor Beta Feature to a normal (non-optional) plugin 2014-04-29 13:34:40 -07:00
maintenance Add php code sniffer to composer 2015-09-23 10:46:14 +01:00
math Regularize spacing in texvc and texvccheck 2014-10-12 22:04:41 +02:00
mathoid Separate Mathoid from the Math extension 2014-02-10 18:28:08 +00:00
modules VE: Move hash changes to the rendering hash 2015-10-07 14:40:43 +00:00
tests Add php code sniffer to composer 2015-09-23 10:46:14 +01:00
texvccheck Fix perl script permissions and shebang 2015-07-01 13:27:22 +00:00
.csslintrc build: Add csshint, jshint and jscs to math extension 2015-09-14 22:28:15 +00:00
.gitattributes Update to MathJax 2.3 2014-01-27 21:36:02 +00:00
.gitignore Remove client-side MathJax support 2015-07-16 00:46:29 +00:00
.gitreview Adding .gitreview 2012-03-23 10:30:45 -07:00
.jscsrc build: Add csshint, jshint and jscs to math extension 2015-09-14 22:28:15 +00:00
.jshintignore Adding mathoid as tex to MathML and SVG renderer 2013-10-04 17:03:34 -07:00
.jshintrc build: Add csshint, jshint and jscs to math extension 2015-09-14 22:28:15 +00:00
.rubocop.yml Fixed Style/StringLiterals RuboCop offense 2015-09-22 10:18:13 -07:00
composer.json Update mediawiki-codesniffer and parallel-lint settings 2015-09-29 02:19:04 +02:00
COPYING Add COPYING 2014-03-01 16:15:39 +00:00
extension.json Rename modules/VisualEditor to modules/ve-math 2015-09-17 15:10:30 +00:00
Gemfile Fixed Style/StringLiterals RuboCop offense 2015-09-22 10:18:13 -07:00
Gemfile.lock Updated RuboCop to the latest version 2015-09-22 10:18:13 -07:00
Gruntfile.js Rename modules/VisualEditor to modules/ve-math 2015-09-17 15:10:30 +00:00
HISTORY Use extension.json, empty PHP entry point 2015-07-30 22:01:20 +00:00
Makefile Makefile in root directory 2014-01-28 20:55:48 +01:00
Math.alias.noTranslate.php Add php code sniffer to composer 2015-09-23 10:46:14 +01:00
Math.alias.php Add Persian special page alias 2015-08-22 17:14:38 +00:00
Math.hooks.php Update mediawiki-codesniffer and parallel-lint settings 2015-09-29 02:19:04 +02:00
Math.php Add php code sniffer to composer 2015-09-23 10:46:14 +01:00
MathInputCheck.php Add php code sniffer to composer 2015-09-23 10:46:14 +01:00
MathInputCheckTexvc.php Add php code sniffer to composer 2015-09-23 10:46:14 +01:00
MathLaTeXML.php Add php code sniffer to composer 2015-09-23 10:46:14 +01:00
MathMathML.php Add php code sniffer to composer 2015-09-23 10:46:14 +01:00
mathParserTests.txt Coverage tests for the Math extension 2014-03-11 15:35:07 +00:00
MathRenderer.php Add php code sniffer to composer 2015-09-23 10:46:14 +01:00
MathSource.php Add php code sniffer to composer 2015-09-23 10:46:14 +01:00
MathTexvc.php Add php code sniffer to composer 2015-09-23 10:46:14 +01:00
package.json build: Add csshint, jshint and jscs to math extension 2015-09-14 22:28:15 +00:00
phpcs.xml Update mediawiki-codesniffer and parallel-lint settings 2015-09-29 02:19:04 +02:00
README Use extension.json, empty PHP entry point 2015-07-30 22:01:20 +00:00
RELEASE-NOTES-3.0.0 Add release notes for version 3.0.0 2015-07-25 22:01:48 +01:00
SpecialMathShowImage.php Add php code sniffer to composer 2015-09-23 10:46:14 +01:00
SpecialMathStatus.php Add php code sniffer to composer 2015-09-23 10:46:14 +01:00

This version (for MediaWiki 1.19) has some changes since previous versions:

* rendering options have been reduced to just 'Always PNG' and 'Leave it as TeX'
** all other rendering options will merge to PNG.
* initial experimental support for integrating MathJax client-side rendering

See the README in the math subdirectory for more info on setting up the
low-level conversion tools.
See the README in the texvccheck subdirectory for more info on setting up the
security checking tools for MathJax and LaTeXML.

MathML support:
If you prefer MathML rather than images you can use LaTeXML to convert the
math tags to MathML. To use that feature you have to enable LaTeXML by setting
$wgMathUseLaTeXML = true;
It is possible to choose LaTeXML as default option (for anonymous user) by setting
$wgDefaultUserOptions['math'] = 'latexml';
in the LocalSettings.php file.
The LaTeXML option requires php5-curl to be installed. Without php5-curl no proper
error handling can be guaranteed.
Furthermore, a core version of wmf/1.22wmf7 or newer is recommended.
Otherwise, errors in LaTeXML can lead to mal-formatted XML output and disturb the
page layout.

MathJax configuration:
Client-side configuration of MathJax can be done by specifying a mathJax.config
table, which takes a table as described in:
http://docs.mathjax.org/en/v1.1-latest/options/index.html#configuration

Example:
if ( typeof mathJax === 'undefined' ) {
  mathJax = {};
  mathJax.config = {
    showProcessingMessages: true
  };
}

Attributes of the <math /> element:
attribute "display":
possible values: "inline", "block" or "inline-displaystyle" (default)

"display" reproduces the old texvc behavior:
The equation is rendered with large height operands (texvc used $$ $tex $$ to render)
but the equation printed to the current line of the output and not centered in a new line.
In Wikipedia users use :<math>$tex</math> to move the math element closer to the center.

"inline" renders the equation in with small height operands by adding {\textstyle $tex } to the
users input ($tex). The equation is displayed in the current text line.

"inline-displaystyle" renders the equation in with large height operands centered in a new line by adding
{\displaystyle $tex } to the user input ($tex).


For testing your installation run
php tests/phpunit/phpunit.php extensions/Math/tests/
from your MediWiki home path.

== Logging ==
The math extension supports PSR-3 logging:
Configuration can be dona via
$wgDebugLogGroups['Math'] = array( 'level' => 'info', 'destination' => '/path/to/file.log' );