Commit graph

116 commits

Author SHA1 Message Date
Frédéric Wang e26d641b85 Make MathML mode work on mobile devices
- 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
2014-10-20 22:40:53 +02:00
James D. Forrester c190beaf33 VisualEditor: Update icon to use consistent blackness with other icons
Change-Id: I51abe923c82204be0f4e098b92e9e4d35c33dd60
2014-10-16 10:49:04 -07:00
jenkins-bot 67fbac7d67 Merge "Use radio buttons only for math mode selection" 2014-10-13 07:59:21 +00:00
Gabriel Wicke c61b8becac Use radio buttons only for math mode selection
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
2014-10-13 09:42:37 +02:00
Frédéric Wang d4e928a486 SVG images should not be loaded when MathML is used
- 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
2014-10-12 23:00:55 +00:00
Frédéric Wang 3d0b787cbe Move vertical-align back to ext.math.css
This improves If8ee1cf6453257a0a2f6aa186d4007954a8e5d8e

Change-Id: I794b39a5d322a92d9f722ded790e213803448127
2014-10-12 18:22:06 +00:00
Frédéric Wang 296c79e070 Rename fallback-svg and fallback-png to fallback-image
- 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
2014-10-12 13:42:01 +02:00
Frédéric Wang 74e4c3733d (Experimental) Fix centering of SVG image in display mode.
Change-Id: I7d5ec171c39b2eec563e074a4062b3e3682790f7
2014-10-11 21:21:46 +02:00
Frédéric Wang ee479e8e68 Fix centering of PNG image in display mode.
Revert the mistake made in https://gerrit.wikimedia.org/r/#/c/139120.

Change-Id: I31420ba3ab1e1b47c3e7307ac4a9aca2a6a8223f
2014-10-11 21:17:15 +02:00
Frédéric Wang 8e66e40780 Improvements to the PNG fallback style.
- 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
2014-10-11 17:21:30 +00:00
Frédéric Wang 0ddd3afaea Cleanup after the removal of the PNG fallback
- 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
2014-10-11 13:21:59 +00:00
Frédéric Wang 82f919b496 Upgrade Latin Modern Math to 1.959
Bug: 70360
Change-Id: Icb6ae3770a3d56bc03453ff5604eabb4699f2595
2014-10-11 13:26:37 +02:00
Frédéric Wang c3894c2c49 Display MathML when MathPlayer is installed
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
2014-10-10 20:20:47 +02:00
Frédéric Wang 050564646d Modify the math font-family for native MathML
- add "Cambria" to workaround a bug on Firefox Windows.
- remove obsolete local fonts (MathJax and STIXGeneral).

Change-Id: I06e757b029b8778b88bc6e75e20929e0c945e364
2014-10-09 21:09:10 +02:00
Frédéric Wang 9f6257c329 Improve the way mathematical formulas are exposed to screen readers.
- 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
2014-10-05 17:48:41 +00:00
Frédéric Wang 639d8a766f Separating MediaWiki specific files from MathJax module
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
2014-08-29 21:03:41 +02:00
Physikerwelt 7f6db28dd6 Revert "Added a hook for modifications to MathJax"
This reverts commit 0a8fbac418.

Change-Id: If4442d07e4d82e1f45211bb2b331221c62fadbb8
2014-08-19 19:13:35 +00:00
Translation updater bot 0a8fbac418 Added a hook for modifications to MathJax
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
2014-08-19 11:07:57 -04:00
Frédéric Wang f590974c25 Add default display options
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
2014-07-25 17:19:30 +00:00
physikerwelt (Moritz Schubotz) bc519c22f4 Move @namespace css style to top
According to PHPStrom the @namespace css
element must be before normal css rules

Change-Id: I43eb10e976446bf846856f9c4f462a5be034062f
2014-07-25 13:00:13 -04:00
Trevor Parscal b3335f60c4 Specify dialog size in VisualEditor
Corresponds to changes to window system of OOUI and thus VisualEditor Ia74732e

Change-Id: I72f410e09eddc82e562b6beb74772636b896dcd7
2014-07-19 22:36:15 +00:00
Ed Sanders 47a6bd2073 Fix rerendering in VE
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
2014-07-14 17:45:24 +00:00
Frédéric Wang 382454a979 Update modules/ext.math.css
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
2014-06-30 10:52:59 +00:00
Ed Sanders 7c08fc5b72 Migrate VE icon from VE extension
Removed from VE with Ic8074be2.

Change-Id: I33cdb6204b4abc44398ecedd65f7d9251e73e9b0
2014-06-21 14:52:16 +00:00
Ed Sanders e0a7cdf26d Remove display:inline-block highlight hacks for math nodes
With getClientRects these are no longer necessary.

Depends on I09f1c0850 in VE core.

Change-Id: I2c4c1809a92c6d2cbf6769782f7595a508d823ea
2014-06-16 14:48:29 +01:00
Frédéric Wang a3015f6e79 Hide redundant output in the MathML mode.
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
2014-06-11 14:16:57 +02:00
Frédéric Wang 27aee07cb0 Fonts for native MathML
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
2014-06-10 11:07:10 +00:00
jenkins-bot 09359385b4 Merge "Use new MWInlineExtensionNode and DM node construction" 2014-06-07 03:47:54 +00:00
physikerwelt c390f6479a Add getHtmlOutput method
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
2014-06-06 21:52:35 +02:00
Ed Sanders 03f09e4e26 Use new MWInlineExtensionNode and DM node construction
Depends on I0ddcabeb and I8d4f37b6 in core.

Change-Id: I7d5e1174c4f8a49d926b287b8dd109e3148cf95b
2014-06-03 19:24:30 +01:00
Frédéric Wang a586c80083 Revome useless MathJax files added in Ib7f2e4b8eb7250ea4fc24aac3cedf196211f38c2
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
2014-05-08 08:47:04 +02:00
physikerwelt (Moritz Schubotz) 7c0a940a78 Add missing MathJax files
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
2014-05-07 11:50:14 +00:00
jenkins-bot e6a412132d Merge "Update for 126166 in VE Core" 2014-04-21 22:46:32 +00:00
James D. Forrester c12523f908 Simplify VE inspector code by extending new MWLiveExtensionInspector
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
2014-04-17 17:55:37 -07:00
Trevor Parscal bd8aca6e5d Update for 126166 in VE Core
Change-Id: Ie5d4dbbc8ae301017f8ae047fb492368b965f980
2014-04-15 16:22:03 -07:00
Ed Sanders 3032c22480 Update VE implementation to use model-only inpsectors
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
2014-04-14 18:52:09 -07:00
Trevor Parscal 01f3f8ee67 Update tool to use a command
Bug: 63541
Change-Id: Iaeaf183dc2d906364d1dc69270bcf06c24ba833a
2014-04-09 22:56:42 +00:00
Moritz Schubotz (Physikerwelt) 58f913ecb0 $wgMathValidModes and orthogonal MathJax enabler
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
2014-04-08 15:29:42 +00:00
Derk-Jan Hartman ec4b89854d Fix trailing commas in MathJax wiki2jax
This breaks MathJax in IE7

Change-Id: I998cb98e688ef3e075d9d08012331f5e55e30b83
2014-04-08 17:25:55 +02:00
jenkins-bot c782b62261 Merge "Add dependency for math edit button" 2014-04-07 21:26:50 +00:00
Derk-Jan Hartman 13df3c9b0c MathJax: Listen for wikipage.content hook
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
2014-04-07 18:04:02 +02:00
Derk-Jan Hartman 23f94d5b6a Add dependency for math edit button
Declare that ext.math.editbutton.enabler depends on
mediawiki.action.edit.

Follow up to: I3d126c1c252c27fa65ab8fb42ffab66a2d99cfa8
Bug: 60471
Change-Id: Ibcda91bbb164b0b896d4c3f5f7c2c6ea6658468e
2014-04-07 13:15:02 +00:00
Derk-Jan Hartman e1343c3f87 Fix globals in strict mode
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
2014-04-07 12:31:34 +02:00
jenkins-bot ea48a4442f Merge "Editbutton for math" 2014-04-07 09:33:56 +00:00
Moritz Schubotz 9f7a1e51c4 Editbutton for math
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
2014-04-07 09:26:16 +00:00
Derk-Jan Hartman 28efa34ffd Convert MathJax enabler script to tabs
Per our coding conventions:
https://www.mediawiki.org/wiki/Manual:Coding_conventions/JavaScript

Change-Id: I679246089ec485678088ff08f3a46d8b74a262c5
2014-04-07 11:05:08 +02:00
Moritz Schubotz (Physikerwelt) c5b0b15d8f Fix MathJax centers equations
* 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
2014-04-06 21:58:30 +00:00
Derk-Jan Hartman eda0726fd4 Reset the fontstack of mathjax back to defaults
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
2014-04-05 11:52:34 +02:00
Ed Sanders 31df8ff3a8 Emit rerender on math node if Tex image is not present
This happens with then empty tag is rendered.

Bug: 63093
Change-Id: I5cf731cedda134d2542946da82997bddf58b00b5
2014-03-31 16:07:59 -07:00
Roan Kattouw 91ac23377f Make VE math inspector title not be null
Forgot to update this for the deferMsg refactor.

Bug: 63083
Change-Id: Ib401c36d656344b74f2358e3e32870186e54e351
2014-03-25 11:35:22 -07:00