Add mwe-math-element class attribute to the outermost element
holding mathematical expressions. Add a css rule that adds a
scrollbar to the element in case it's a div, which is the case
for displaystyle formulae.
Note, there will be no scroll bar if long formulae are not
explicitly marked up das displaystyle formulae.
Bug: T134281
Change-Id: Iba462601bb15f8667d1284282ba4f6c2020a02b9
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
Primary command name is used by double click and enter.
Make this launch the default edit action 'mathDialog'.
Change-Id: Ie7a87914a55ecc87769c4a1aa029b36966b83a04
In Ifdd75ce51076b098af67a96b5dcb0fc0726d2b00
I missed to update the png fallback mechanism
given the fact that SVG is now a <img element
as well and no longer a <meta tag.
Bug: T136905
Change-Id: If1b4fb11cfb50eab98f847674fdbef2cd0e43e37
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 Firefox specific CSS changes require a special
setup of math fonts on the system. To avoid problems
OS dependent behavior, this browser specific modifications
are removed from the ext.math.css file.
There are a couple of places, where people can overwrite
their CSS rules individually.
For example from version 1.8 the plugin
cf. de1eec2f0d
Note that this change will make things worse for users
that chose the MathML rendering option and managed to
configure their font setup right.
Change-Id: I5a376904a01a46634eea2160e02736df74cd0b5f
When the math dialog's menuLayout height is below 450 px,
make the symbol menu and the preview element shorter, so
the input is still in view. (This works until about
280px, below which the user will need to scroll down to
use the input.
Bug: T121150
Change-Id: I9e41cce80c3f770b1e3d0e7b133470045a1afe67
InternetExplorer versions that do support SVG images
have problems rendering these in meta tags.
Replacing meta tags with img elements resolves the problem.
Bug: T132491
Change-Id: I353e911a8e2066c10d8df583cae88861a8623816
This attribute was added in Ia0f601c1d5. Use it instead of
extracting the information from the SVG.
Change-Id: Ib6d6f4c9480ae00ccb2977b57c7b93de8ebb03f2
Sub-pixel alignment errors are unavoidable as the browser will rasterise
the SVG then round percentage offsets to the pixel grid.
Change-Id: I704db755d49be189db9670594e2ae2f193e6052d
This was set low to avoid issues with local servers, but the new default
server (wmflabs.org) can handle a higher value, and the script runs
much faster.
Change-Id: I69b06c59fc03c4c4b15619e8dff7bfc904dba96f
If a symbol has "backgroundPosition" set to true, adjust
its vertical position in the button, according to the
vertical-align property on the SVG, by adding a
background-position property on its CSS rule.
Also set "backgroundPosition" to true for a number of
symbols and generate a new CSS file.
Bug: T123397
Change-Id: Ic9bbb65d2bedf38f569d8922599a2e3d2575f153
Every time the math dialog is resized, calculate the
vertical space available to the input and resize the
input to fill this space.
Bug: T123891
Depends-On: Ia2e094071f385628449f1935f0250cbeb75196f0
Change-Id: I3f3c915469f282a6e0459a7e4d10e19bee68b8db
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
Also make input widget height respond to its contents. These two
changes address the problems of overlapping when the screen
height is limited.
Bug: T119900
Change-Id: Ie21c141673a9343d05da05cdbd2eaa96efff0a58
The formula preview is not centered when the display attribute
is set to block. Correct this by enforcing display: inline-block
when the math image is inside the preview element.
Bug: T119670
Change-Id: I77d9b213a31d3005212c8c11874112ddb64aa74a
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
Also keep the CSS file in alphabetical order so additions make
for clean diffs. (The async built file had a pseudo-random order)
Change-Id: Iad76ef36c90f42ba3232f135b05465408f42b2ba
Also produces a CSS file for the symbol buttons, using the
SVG filenames. Gets the list of symbols from symbols.json.
Bug: T118660
Change-Id: Iaa792418d870a7e266b6455ef037994e31278278
* With the current settings for example the distance between
matrix rows is too large.
Bug: T106890
Change-Id: Iffa2534f7d39e9faf41ab11124c9b9ff571988d2
Also modify method that formats the error so only
the text is appended.
Depends on Ie84130d4ac0 in VE-MW.
Bug: T113172
Change-Id: I5310f22877f56d1828a9d1782ee335d5793700df
An error will contain an element with class "error".
Relies on I3f4ba354a in visual editor core in order to work.
Also remove old afterRender method.
Bug: T112610
Change-Id: Ie681806aebfdd7de918685c9343f5e176baaf517
Also adds the corrections made to various js files when jscs
was run, and removes an old version of .jshintrc. Only
VisualEditor files are checked by csshint due to clashes with
an upstream bug in the csslint parser. This could be looked
into in the future.
Bug: T112576
Change-Id: I611901040d3b38ae3ef707deb8d25771f043b1d8
Because the id doesn't affect the rendering of a
math node, it is not needed in the hash object.
Also removed event listener from the id input for
the same reason.
Bug: T112466
Change-Id: I4da07cb7c112ce9ab449a060132856a2d054e57f
* 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
wikipage.content hook is fired before the new content is attached, but
MathJax cannot deal with that. Use setTimeout to delay execution until
next execution run.
Bug: T90808
Change-Id: I02178bfd61d34dff49435f3a17a0ce385b37d14d
Force display:none on a hidden MathML rendering to avoid generating
focusable node highlights.
Move adding of class to setup to ensure it persists after render.
Bug: T87007
Change-Id: I5fc21afa61ccc07e9d2126846cf29ee898182a7c
Follows-up Ibcda91bbb164b0.
ext.math.editbutton.enabler uses mw.toolbar. The toolbar interface
used to be part of mediawiki.action.edit but is now in its own module.
Bug: T86235
Change-Id: I37a0b8e84a9bd6a0de0386d5b9924bbbbbd7249c
- load ext.math.css on mobile devices
- move the @font-face rules for the Latin Modern WOFF fonts into a separate
Desktop-only stylesheet.
Change-Id: Ifca3679185a4675bc31dff99a086fef740b9dab5
While the combination of all redering modes, might
be useful for some power users it will confuse the
average user and makes bug reporting harder.
Therefore, source rendering on the server side is
used when MathJax is enabled on the client side.
Change-Id: I05a20d7c2298115dbf0429db6c107e8132cc15ff
- Use span with a background-image instead of <img> for the fallback SVG so
that they don't load in Gecko.
- Make the image fallback a span inline-block so that it can have a dimension.
Bug: 71929
Change-Id: I7f820cd5766db1fece452ebfc72915a55e42c82e
- Merge fallback-svg and fallback-png into one fallback-image class.
- Move the vertical centering of PNG to MathTexvc and ext.math.js.
- Remove "img" from ext.math.css to reduce CSS specificity and make
style easier to override by user stylesheets.
- Add a comment about the !important rules for centering in
display mode.
- Only load ext.math.scripts in MathML mode.
Bug: 71955
Change-Id: If8ee1cf6453257a0a2f6aa186d4007954a8e5d8e
- create a new <img> tag to avoid copying unwanted style from the SVG fallback.
- keep the legacy tex class for consistency with the PNG mode.
Bug: 71912
Change-Id: Ibe4683d2898b49fda190e2f1535cab1b952250b0
- remove the default "display: none" style on the SVG fallback
- remove the IE CSS hacks from ext.math.css
- add a client-side implementation of the PNG fallback
Bug: 71912
Change-Id: I91b11313aae25c4d05f8f2333d2f21537c9b8887
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
- add "Cambria" to workaround a bug on Firefox Windows.
- remove obsolete local fonts (MathJax and STIXGeneral).
Change-Id: I06e757b029b8778b88bc6e75e20929e0c945e364
- Mark the png and svg fallback as aria-hidden="true".
- For browsers without good enough MathML visual rendering,
hide the <math> tag in a way that still makes it accessible to
screen readers.
Bug: 66537
Change-Id: I7ecf07a4da669d927e11265fd497a813786c6410
This commit separates the files wiki2jax.js and texvc.js from the
MathJax modules. This allows for MathJax updates without affecting
MediaWiki files. It also defines the MediaWiki path configuration,
although this will really only be usable in MathJax 2.4. Finally,
it fixes jshint errors in texvc.js and wiki2jax.js
Moved texvc.js and wiki2jax.js to extensions/Math/modules/mediawiki-extensions directory
Change-Id: I97d68c0555bc9fbdd6bf42912aa249d57b3d9359
The signal 'ext.math.mathjax.customize' is added to the
mathJax.Init function. Extensions can call this signal for
modifications to MathJax.
Change-Id: Ia2bae50cd1fcd15d4775d7b9666679c477060659
In some cases for example if the vagrant role
mobilefrontend is enabled the stylesheets are not
processed on mobile devices.
Without a default setting for the display attribute
all elements are displayed at the same time.
Change-Id: Ic0e95effaf0b413ec4c5878e1cfd5c269daa44c3
this.$element is no longer a wrapper, so use .filter instead
of .find. Don't use domElements argument as this has already
been written to this.$element at this stage (will remove this
argument in VE core).
Change-Id: If24580102201e2b83b57c63d85335bd728a28784
Currently, the PNG fallback is hidden in the MathML mode and the MathML & SVG
are respectively hidden and visible by default; the visibility of the
SVG/MathML output is only changed for Gecko. This does not work well for
IE < 9, which does not support SVG. This commit tries to improve the selection
of PNG, SVG or MathML according to the browser capatibility.
Change-Id: Ie9b0fdb66c51fbf6be98df092ce4de29fbba6068
In the MathML mode, the SVG is always visible and for Gecko the MathML
output is visible too. This commit modifies ext.math.css to hide redundant
output for a given mathematical formula.
Change-Id: I5d48ec4f2a40246567b201e82444e61d408cb3b5
This sets the default font-family on <math> elements so that we try to use
OpenType MATH fonts that are likely to be installed or fallback to WOFF and
obsolete mathematical fonts.
Bug: 65532
Change-Id: Id4517a3ce5eab4acdf2264712ba132b972120042
Currently the method render always returns
a html string that can be a string that
represents the correct result or a rendered
error message.
This change adds a mechanism that allows
to fetch the HTML output.
In a followup commit the rendering function
is changed to return a boolean value rather
than the rendering result.
This will simplify the error handling and caching.
Change-Id: I80760493e391911c41eb69d75a93c6a34db8852e
These files were added in but the change was totally unrelated to the
AsciiMath issue mentioned there and moreover this commit bypassed review.
These entity references are useless for LaTeXML
(which does not generate entity names), for the client-side MathJax
(which does not use MathML input) and for mathoid (which uses
phantomjs=webkit and thus already parses the HTML5 entity names correctly).
Finally, these files are likely to disappear in future MathJax versions.
So let's remove these files until it is clear what the intention was.
Change-Id: Iee875632411b98d1e86d3bb10f69ae3797105de7
some files required for Mathoid were missing in the
modules/MahtJax folder
For example I15cb2d1cb0533a2fa0e21012198387501a3b42ea
requires AsciiMath and LaTeXML requires named entities
Change-Id: Ib7f2e4b8eb7250ea4fc24aac3cedf196211f38c2
All live preview logic has been moved to ve.ui.MWLiveExtensionInspector so
so this can be simplified down to just static configuration.
Depends on I708c4cb012be in VE-MW.
Change-Id: I24b4788e97411eec18161709ca5d47c87d3f64da
As we can't access the view node we have to use stagin transactions
to apply changes to the real document node.
In all cases we can now bypass the parent teardown method as the
model has already been updated.
Depends on If1250402f266 being pulled through to the VE extension.
Bug: 63785
Change-Id: Ic42db8531a5119e8454fb26c80565cef656d3a80
To adjust the selectable math rendering modes in user preferences $wgMathValidModes
is introduced.
* $wgUseLaTeXML becomes unnecessary use $wgMathValidModes[] = MW_MATH_LATEXML;
to enable the LaTeXML rendering mode
* add $wgMathValidModes[] = MW_MATH_MATHJAX; to enable MathJax
Currently, MathJax is bound to the MW_MATH_SOURCE rendering mode.
This change makes the base mode user configurable.
That means before MathJax is loaded the png fallback image could
be displayed.
ATTENTION: This change modifies global variables as follows:
* MW_MATH_MATHJAX is deprecated.
Bug: 57981
Change-Id: Ibf705cb66754d04e4c7eafd1e98608b25d7dbb94
This brings us one step closer to solving the JS rendering bug. The
remaining issue is how to know that the enabler script needs to be
loaded.
Bug: 36060
Change-Id: I9cbd032afaf90a735c92f055c2bf82766e9acbe0
Declare that ext.math.editbutton.enabler depends on
mediawiki.action.edit.
Follow up to: I3d126c1c252c27fa65ab8fb42ffab66a2d99cfa8
Bug: 60471
Change-Id: Ibcda91bbb164b0b896d4c3f5f7c2c6ea6658468e
I didn't really intend to make this strict yet, but since I did,
better make it work
Follow up to: I679246089ec485678088ff08f3a46d8b74a262c5
Change-Id: Ic6180b3188d46ce92e0547b0fbb6c333906c49f6
Move the code that creates the Editbutton for math from core,
where it is removed in Ib17aa47c7d647e1ed293541adbdd1aa77e25e59e.
Imported button image from:
ssh://gerrit.wikimedia.org:29418/mediawiki/core.git/skins/common/button_math.png
We don't need to vary the icon per language, because there is not a
single language that has a non default icon.
Bug: 60471
Change-Id: I3d126c1c252c27fa65ab8fb42ffab66a2d99cfa8
* Removes the MathJax heuristics that decides
if equations are centered or left-aligned.
* Introduces the attribute display to specify
if the math element is rendered in inline,
display, or inline-displaystyle.
* add css rules for display / inline math images
Bug: 61051
Change-Id: Iba69903f781f0cb1606b8ddcffb90fb86c9b229b
I suspect we retained this of the import of Nageh's option, it was
never really a conscious decision. This makes is to so that locally
installed fonts are preferred over the Tex webfont.
Bug: 63016
Change-Id: I6876f4969314b2feea01ecfef29f98dcd5f1056a
Many things in MediaWiki (and various on-wiki templates, at least on
enwiki) output error messages wrapped in <strong class="error">. MathJax
parsing all of these (added in I1199cb34) is completely broken.
What appears to have been intended is that MathJax would parse the
errors output by MathRenderer.php. So let's add a "texerror" class to
those and have MathJax look for that class instead.
Bug: 55675
Change-Id: Iaa6c3a892af463f38e6706f9407c6dcb948fe670
Uses nodejs to call phantomjs that renders the
tex input using MathJax and returns a json object
that includes both the SVG and the MathML
representation.
The project was forked from
https://github.com/agrbin/svgtex.
Co-Authored-By: Gabriel Wicke <gwicke@wikimedia.org>
Co-Authored-By: Moritz Schubotz <wiki@physikerwelt.de>
Change-Id: Ie5f24006c3aacd8f61f48ca275acd63a418d7529
- Remove MathMathJax.php, which uses exactly the same output as MathSource.php.
- Make wiki2jax able to handle texvc output as a preview before MathJax rendering.
Change-Id: I1199cb34d555d2a1e57da98857f41a22cfe81df4