Go to file
Amire80 848d762e24 Add support for chemical formulae in VisualEditor
The chemical and mathematical formula inspectors and dialogs
have a lot of similar functionality, and the common parts are
now moved to the common MWLatex class.

MWMath* classes now inherit from MWLatex*, and so do
the new MWChem* classes.

Bug: T153365
Change-Id: I4452ceca55197fda5f1e1293a5741c6f5fb7c245
2017-02-19 18:36:26 +00:00
db Increase size of the math_mathml in the mathlatexml table 2014-11-18 12:42:27 +01:00
i18n Add support for chemical formulae in VisualEditor 2017-02-19 18:36:26 +00:00
images Update reference images 2016-10-10 18:26:22 +02:00
maintenance Updated maintenance scripts to use $this->requireExtension() 2016-12-17 15:23:58 -05:00
math Do not ignore all .mli files in texvccheck 2016-12-25 13:39:20 +00:00
mathoid Separate Mathoid from the Math extension 2014-02-10 18:28:08 +00:00
modules Add support for chemical formulae in VisualEditor 2017-02-19 18:36:26 +00:00
tests Improve error reporting 2016-08-17 21:15:02 +02:00
texvccheck Merge "Remove broken test script texvccheck/test.pl" 2016-12-26 00:05:16 +00:00
.eslintrc.json eslint: Re-enable wrap-iife and partially enable dot-notation 2016-11-15 13:13:05 +00:00
.gitattributes Update to MathJax 2.3 2014-01-27 21:36:02 +00:00
.gitignore Expand .gitignore for more editors 2016-11-13 13:22:03 +01:00
.gitreview Whoops, track not trace 2016-10-24 17:02:56 -07:00
.rubocop.yml Fixed Style/StringLiterals RuboCop offense 2015-09-22 10:18:13 -07:00
.stylelintrc build: Introduce stylelint to lint for css errors 2016-05-19 19:16:00 +01:00
composer.json build: Updating mediawiki/mediawiki-codesniffer to 0.7.2 2016-05-27 18:21:41 -07:00
COPYING Add COPYING 2014-03-01 16:15:39 +00:00
extension.json Add support for chemical formulae in VisualEditor 2017-02-19 18:36:26 +00:00
Gemfile Update mediawiki_api gem to 1.7.1 2016-05-26 01:34:35 +02:00
Gemfile.lock Update Gemfile.lock to match Gemfile 2016-05-26 13:43:08 +02:00
Gruntfile.js build: Re-use MessageDirs in banana conf 2017-01-23 13:48:34 +00:00
HISTORY Use extension.json, empty PHP entry point 2015-07-30 22:01:20 +00:00
Makefile Remove unused Makefile variable "DIRS" 2016-12-25 13:35:16 +00:00
Math.alias.noTranslate.php Convert all array() syntax to [] 2016-04-13 10:18:23 -04:00
Math.alias.php Convert all array() syntax to [] 2016-04-13 10:18:23 -04:00
Math.hooks.php Change chemistry tag name from ce to chem 2017-01-11 11:55:01 -08:00
Math.php Add php code sniffer to composer 2015-09-23 10:46:14 +01:00
MathChemSymbolsDataModule.php Add support for chemical formulae in VisualEditor 2017-02-19 18:36:26 +00:00
MathFormatter.php Convert all array() syntax to [] 2016-04-13 10:18:23 -04:00
MathInputCheck.php Add php code sniffer to composer 2015-09-23 10:46:14 +01:00
MathInputCheckRestbase.php Update to mediawiki-codesniffer 0.6.0 2016-04-19 17:07:21 -04:00
MathInputCheckTexvc.php Skip shell invocation on large input 2017-01-20 15:09:56 -08:00
MathLaTeXML.php Replace use of &$this 2017-01-31 22:54:07 -05:00
MathMathML.php Replace use of &$this 2017-01-31 22:54:07 -05:00
MathMathSymbolsDataModule.php Add support for chemical formulae in VisualEditor 2017-02-19 18:36:26 +00:00
MathMLRdfBuilder.php RDF Formatter for Math data type 2016-02-12 20:38:27 +00:00
mathParserTests.txt Coverage tests for the Math extension 2014-03-11 15:35:07 +00:00
MathRenderer.php Merge "Avoid DBPerformance warnings in writeToDatabase()" 2016-06-10 08:34:56 +00:00
MathRestbaseInterface.php Improve error reporting 2016-08-17 21:15:02 +02:00
MathSource.php Revert "Add class mwe-math-element to math elements" 2017-01-03 23:57:46 +00:00
MathTexvc.php Replace use of &$this 2017-01-31 22:54:07 -05:00
MathValidator.php Convert all array() syntax to [] 2016-04-13 10:18:23 -04:00
MathWikidataHook.php Remove woff fonts 2016-05-23 14:52:59 +00:00
package.json build: Bump stylelint and make pass 2017-02-17 15:30:18 -08:00
phpcs.xml Update mediawiki-codesniffer and parallel-lint settings 2015-09-29 02:19:04 +02:00
Rakefile Migration of browsertests* Jenkins jobs to selenium* jobs 2016-04-25 18:31:00 +02:00
README Convert all array() syntax to [] 2016-04-13 10:18:23 -04:00
RELEASE-NOTES-3.0.0 Add release notes for version 3.0.0 2015-07-25 22:01:48 +01:00
SpecialMathShowImage.php Convert all array() syntax to [] 2016-04-13 10:18:23 -04:00
SpecialMathStatus.php Convert all array() syntax to [] 2016-04-13 10:18:23 -04: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'] = [ 'level' => 'info', 'destination' => '/path/to/file.log' ];