This is doing a bulk of the job of creating a service
for working with math modes configuration. There's
still things to do, like moving math mode names,
and perhaps depending on default user options to
provide a bit more convenience, but that will be the
next step.
Change-Id: I1259a93651920f44104f2f5135e3e620c858be8d
Additionally - remove RestbaseInterface::checkBackend.
When HTTP requests are banned from unit tests this method
makes no sence.
MathoidCli tests were not reenabled cause it's a bit hard
to mock shell acceess. Hopefully as part of Shellbox
transition we can have MockShell trait in core and reenable
those tests
Bug: T265628
Depends-On: I350ed59af603a0504704af3265787a4be8f2dc2a
Change-Id: I294d0ed905193850dc38cb3071eb9b31c8863121
This hook is no longer needed by core so it's not
called anymore.
See I5124789fac333a664b73b4b4a1e801ecc0a618ca
Change-Id: I9a554b4e70a2564834e1df4058b1ad5cb98a56e3
* Reenable math validator tests
* Introduce $wgMathUseRestBase which defaults to true
and determines if mathoid is used via RESTbase or directly
* The effect of this change can be tested by setting $wgMathUseRestBase
to false, and then creating a new statement of a property with type math.
One should see a connection to mathoid for every new string and one should
also see the WAN cache for the check endpoint to fill up. Note that
setting WANObject cache to the database simplifies the investigation
of the WAN cache content.
Bug: T274436
Change-Id: I40109e9e09464da78bf855646fb800ee87c1ea67
This additional hook does not seem to be needed.
- wgMathValidModes: All access to this information already uses
getValidModes() and thus there is no need to write this back
to the input variable (use outside the extension is not supported
and it is already not used as cache either).
- wgMathDisableTexFilter: All access already uses getDisableTexFilter()
Move the last bit of logic there instead.
- wgDefaultUserOptions: Duplicate of this already exists in the
onGetPreferences hook higher up.
This seems almost too easy, so I suspect someone tried this before
and intentionally didn't finish it because of some non-obvious
issue.
See T189966 for related perf anaysis.
Change-Id: I4d7fdf6fcae3d44a37bf80d9c72fff2b4361f0c9
The current wikidata entity selector requires WikibaseRepo to be enabled on the client wiki, which is only the case for very small installations.
We implement our custom entity selector that
* displays the item label and
* uses the description as tool-tip.
The implementation was inspired by
mw.widgets.TitleInputWidget.
Bug: T229939
Change-Id: I35d6cc317cf2984d9de6e062f79030f5c31c0811
Expose the math checking service via the REST API.
Port the behaviour of the RESTbase check endpoint to a new endpoint
that uses the MediaWiki API.
* this endpoint does not (yet) provide actual rendering (only checking)
* consequently it does not supply the x-resource-location header
Bug: T252390
Change-Id: I28bcb9a925953062b43cd3481536784431edcd8a
Use WANObjectCache rather than genuine DB tables for greater
flexibility.
Note, this commit is the second step of Ifd89e2d9cb30fa15cc318f077b434207ed6b7214
Bug: T252390
Change-Id: Ifa7d943875f05088ef697a5a18ad292342a9b4ad
Introduce new namespace \MediaWiki\Extension\Math\ and move checking
code to this new namespace.
Note, this commit is the first step of Ifd89e2d9cb30fa15cc318f077b434207ed6b7214
Bug: T252390, T187154
Change-Id: I8c93f4b21d4a72ef2d52d4774d69e4ef55d037ec
The xsede project was terminated. Thus a new sane default is needed.
This value is picked up by extension MathSearch.
Bug: T117659
Change-Id: I7845484a603ef008c9373b76202705c818184dc1
Add a special page and an API endpoint to fetch data from Wikibase
items with a given qID. The special page summarizes information from
Wikibase. The API endpoint allows to request the information
directly. Both, the API endpoint and the special page, fetch the data
from a new helper class for consistency.
Bug: T208758
Bug: T229939
Change-Id: Idd22057a88312bf1a1cb5546d0a6edca5678d80d
The replacement OutputPage::addWikiTextAsInterface() method was added in
MW 1.32; the minimum required MW version has been bumped accordingly.
Bug: T198214
Change-Id: Ie9932b7398d0a9184094a99aec060d78f62dd6f0
Create MathDataUpdater class that checks if statements
are using math and adds the stlyes required for math in that case.
This patch has no effect until
I5bc0622ee7338f3215d14e15331a0a1931ca1ae0
is merged.
After both changes are in effect
I0abd6acbfa12fd503d11476f0c8c8c8a8a851cdc
can be merged.
Bug: T173949
Change-Id: I0e24bbb53e6e01d549f534744780ca1afc49fdd7
In T74240 support for LaTeX based rendering of the <math/>-tags was
removed. This change eliminates the unused code from the repository.
Bug: T195871
Change-Id: Ic57d83fa49f090b574ce8b82fd2ebc84a5350318
* Use the exactly same routines to deliver png images that are used in
mathml mode.
* Change the output to use mathoids png image rather than the mathml
and svg output.
* Locally tested on Firefox and Chrome: Depending on the mode either
the SVG or the PNG path is used.
Bug: T74240
Change-Id: I4b1cac92eb9a02190f316faab6621940951603d5
Make math run out of the box without any additional setup.
After this the only remaining 'additional' requirement is 'php-curl' (cf. I25edfcb34ee5451a742cac6ae099019a16f6c417)
Bug: T186327
Change-Id: Ied495f0a4bb2d6292a8d926ae3e2891a0091eeed
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
SPDX released version 3 of their license list (<https://spdx.org/licenses/>),
which changed the FSF licenses to explicitly end in -only or -or-later
instead of relying on an easy to miss + symbol.
Bug: T183858
Change-Id: I998ba3c3b3adaf66b7a028d5fab1d7169d595b6c
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
There are separate JS files for them, so the CSS should be separate, too.
This is a part of the refactoring that is required for bug T153365.
Change-Id: Iadbe5eeccff25ed1d184658945a4eb52e465d863
This reverts commit e674d7e73b.
That commit does not help to solve T134281.
It adds a CSS class name which is configurable
by a global variable to various math elements, which is confusing.
Change-Id: Iea5f231e0cea1221dc717b3409b36c0baf11bb24
This is the fix for the bug that makes the whole page scroll when long
equations are present in the wiki article.
Bug: T134281
Change-Id: I29f8df027384098cd0923bcfa23a914c8d887bba
1) Because enabling native MathML now requires special configuration steps
from the users, they can as well just check their math font setup. Hence we
remove the Web font fallback.
2) We then can actually just remove ext.math.desktop.css since no specific
style is necessary any more on desktop.
3) We also no longer need to add the Web font to the list of font-family on
the <math> element. We actually just remove the whole font-family rule so
that it is up to web engines developers & users to decide the best math font
to use (e.g. via the "Fonts for mathematics" option in the font preference
menu of Firefox).
Change-Id: I1818d288b0f28715a460e3163590e4d0374c42b4
The MultiHttpClient class allows the user to set the number of
concurrent connections it keeps open. This patch simply allows users of
the Math extension to set it when connecting to RESTBase.
Note that this patch is effectively a no-op, since MultiHttpClient's
default is (also) 50.
Bug: T132096
Change-Id: If9b6e61ffa23f8d22b3aab874058e809ff4c74b8
Set to true per default.
In order to be able to switch it off in production
for a coordinated deployment.
Change-Id: I520b2ff1ae6dc3bad4b6067f0b673821d3c01cb4
This change implements all components to use the datatype 'Math' in Wikidata.
Because 'String 'is used as value type, only the Formatter and Validator are needed to be implemended.
The components are:
* hooks
* Formatter class
* Validator class
* Test cases
Bug: T67397
Change-Id: Ic64fd6c8560f48052e2db24ae1f013d48a82b5e9
The context item for math nodes now has two edit buttons,
one for the inspector (edit inline) and one for the dialog
(edit). Creating a new math node automatically opens the
dialog.
Bug: T120382
Change-Id: Icd3ec75262fcc5e0cbc304051c651278b0d8b01c
This change only connects the restbase and the mathinput interfaces
but does not change any functionality.
Change-Id: I3a23e5008c26c5f14ad842dcb5d22906a8aff33c
The main components are:
- a menu of formula fragment buttons
- an ace editor text input into which LaTeX commands are
inserted on clicking the buttons
- a preview of the formula
The deviations from the draft design (full-width menu,
smaller buttons, dialog is 'larger' instead of 'large')
are so that more buttons can be seen at once.
Depends on Ia0f46da2d4 in ve-mw
Depends on Ib75fb7b087 in ve-mw
Depends on I758f90abb9 in ve-mw
Depends on Ibcd941d938 in CodeEditor
Depends on Ie814f59086 in oojs-ui
Depends on If540670bf2 in oojs-ui
Depends on I5f70f133b7 in ve core
Bug: T114163
Bug: T118617
Bug: T118618
Change-Id: I96d4b72f2e49ad3f43a2e5c71f0d348fdfb35503
* LaTeXML has a feature to add automatic line breaks
* This change adds a new integration test
* Sets a default line length of 90
* add the additional display attribute 'linebreak' which
can be used to enable the feature
* mathoid support for line breaks will follow shortly
Bug: T106423
Change-Id: I029328849f05ec2afcabf38d2b79b337cb54cbd5
* Use string constants instead of integers
* Derive new names from old via conversion of constant
naming convention to CamelCase.
* Replace old constant string e.g. 'MW_MATH_ABC_DEF'
with new string 'abcDef'
* Replace old constant value with new string.
* Tests to demonstrates what is actually done.
* Rename constants
Bug: T106630
Bug: T106631
Bug: T87941
Change-Id: I6d1094ece79e912d9ddbef6681a25196c7a6e801