Math library for MediaWiki (patched)
Go to file
Moritz Schubotz d8822169ab
Mathoid CLI interface
Renders formulae via mathoid without to run mathoid as a service.
Mathoid 0.7.1 or later must be installed locally and configured to be
accessed directly from the math extension. It has been tested with the
config.dev.yaml of version 0.7.1. If mathoid is installed in
'/srv/mathoid' the following line might be added to LocalSettings.php
$wgMathoidCli = ['/srv/mathoid/cli.js', '-c', '/srv/mathoid/config.dev.yaml'];
i.e., make sure to specify the -c parameter with an absolute path.
In addition mathoid uses more memory than the the default. With
the config.dev.yaml a value of
$wgMaxShellMemory = 2097152;
has been tested to work well.

Change-Id: I0600f056d21927963267cf979d342e313419e9fa
2018-02-21 20:29:20 +01:00
db Mathoid CLI interface 2018-02-21 20:29:20 +01:00
i18n Localisation updates from https://translatewiki.net. 2018-02-19 22:25:37 +01:00
images Update reference images 2016-10-10 18:26:22 +02:00
maintenance build: Updating mediawiki/mediawiki-codesniffer to 0.9.0 2017-06-21 00:59:25 +00: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 Mathoid CLI interface 2018-02-21 20:29:20 +01:00
tests Mathoid CLI interface 2018-02-21 20:29:20 +01: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
.phpcs.xml build: Updating mediawiki/mediawiki-codesniffer to 16.0.0 2018-02-15 12:23:00 +00:00
.rubocop.yml Fixed Style/StringLiterals RuboCop offense 2015-09-22 10:18:13 -07:00
.stylelintrc.json Use json extension for .stylelintrc 2017-08-19 09:58:39 +02:00
CODE_OF_CONDUCT.md Add CODE_OF_CONDUCT.md 2017-06-07 14:32:26 +04:30
COPYING Add COPYING 2014-03-01 16:15:39 +00:00
Gemfile Update RuboCop Ruby gem 2017-12-04 16:49:44 +01:00
Gemfile.lock Update RuboCop Ruby gem 2017-12-04 16:49:44 +01:00
Gruntfile.js Use json extension for .stylelintrc 2017-08-19 09:58:39 +02: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 Setting alias of Special:MathStatus for Urdu language 2017-10-05 08:31:18 +00:00
Math.php Add php code sniffer to composer 2015-09-23 10:46:14 +01:00
MathChemSymbolsDataModule.php build: Updating mediawiki/mediawiki-codesniffer to 15.0.0 2017-12-30 01:27:41 +00:00
MathFormatter.php Remove deprecated SnakFormatter::FORMAT_HTML_WIDGET constant 2017-07-16 19:16:22 +00:00
MathHooks.php Mathoid CLI interface 2018-02-21 20:29:20 +01:00
MathInputCheck.php build: Updating mediawiki/mediawiki-codesniffer to 0.10.1 2017-07-26 22:43:39 +02:00
MathInputCheckRestbase.php build: Updating mediawiki/mediawiki-codesniffer to 0.11.0 2017-08-10 23:57:43 -04:00
MathInputCheckTexvc.php build: Updating mediawiki/mediawiki-codesniffer to 0.11.0 2017-08-10 23:57:43 -04:00
MathLaTeXML.php Improve some parameter docs 2017-08-09 22:56:19 +02:00
MathMLRdfBuilder.php RDF Formatter for Math data type 2016-02-12 20:38:27 +00:00
MathMathML.php Mathoid CLI interface 2018-02-21 20:29:20 +01:00
MathMathMLCli.php Mathoid CLI interface 2018-02-21 20:29:20 +01:00
MathMathSymbolsDataModule.php build: Updating mediawiki/mediawiki-codesniffer to 15.0.0 2017-12-30 01:27:41 +00:00
MathRenderer.php Mathoid CLI interface 2018-02-21 20:29:20 +01:00
MathRestbaseInterface.php build: Updating mediawiki/mediawiki-codesniffer to 0.11.0 2017-08-10 23:57:43 -04:00
MathSource.php build: Updating mediawiki/mediawiki-codesniffer to 0.10.1 2017-07-26 22:43:39 +02:00
MathTexvc.php SquidUpdate => CdnCacheUpdate 2017-11-09 23:14:19 -08:00
MathValidator.php build: Updating mediawiki/mediawiki-codesniffer to 0.9.0 2017-06-21 00:59:25 +00:00
MathWikidataHook.php Improve some parameter docs 2017-08-09 22:56:19 +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
Rakefile Migration of browsertests* Jenkins jobs to selenium* jobs 2016-04-25 18:31:00 +02:00
SpecialMathShowImage.php Mathoid CLI interface 2018-02-21 20:29:20 +01:00
SpecialMathStatus.php build: Updating mediawiki/mediawiki-codesniffer to 0.9.0 2017-06-21 00:59:25 +00:00
composer.json build: Updating mediawiki/minus-x to 0.3.1 2018-02-18 04:07:31 +00:00
extension.json Mathoid CLI interface 2018-02-21 20:29:20 +01:00
mathParserTests.txt Coverage tests for the Math extension 2014-03-11 15:35:07 +00:00
package.json build: Update linters 2018-02-04 22:08:31 +00:00

README

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' ];