Commit graph

311 commits

Author SHA1 Message Date
jenkins-bot cb190d507d Merge "Add scrollbars to displaystyle formulae" 2017-01-17 18:51:13 +00:00
Amire80 48a5a0a7e8 Split ve.ui.MWMathPage.css from ve.ui.MWMathDialog.css
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
2017-01-11 19:44:31 -08:00
jenkins-bot f8ceb1d495 Merge "Add word list to math dialog for autocompletion" 2017-01-11 23:57:20 +00:00
Thalia 06f6af78dc Add word list to math dialog for autocompletion
Bug: T155107
Change-Id: I57bbf9d9a75810cd06b9ba43a173f9bf4a74c9fc
2017-01-11 14:44:16 -08:00
Ed Sanders edd166cfa3 Create chemistry icon for upcoming VE chemistry support
Bug: T153365
Change-Id: Ieaf5708932cfc91de6c293fd752dd64b8a73c73d
2017-01-11 14:28:31 -08:00
Moritz Schubotz c877e564fc Add scrollbars to displaystyle formulae
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
2017-01-11 10:49:40 -08:00
Physikerwelt 797c8ddfc9 Revert "Add class mwe-math-element to math elements"
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
2017-01-03 23:57:46 +00:00
tameeshb e674d7e73b Add class mwe-math-element to math elements
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
2016-12-21 23:03:18 +00:00
Ed Sanders a182a9d332 Fix primary command name
Primary command name is used by double click and enter.
Make this launch the default edit action 'mathDialog'.

Change-Id: Ie7a87914a55ecc87769c4a1aa029b36966b83a04
2016-11-30 12:39:59 +00:00
Ed Sanders 422ea757ae eslint: Re-enable wrap-iife and partially enable dot-notation
Also removed upstreamed spaced-comment rule.

Change-Id: Ide83abeedfea27c1f4574af0069d5a9fdb81de84
2016-11-15 13:13:05 +00:00
Ed Sanders f66ef920fb build: Replace jscs and jshint with eslint
Change-Id: I95f59d9bef6bb8fec69b454dc8efe4b4c7e40805
2016-10-28 11:11:26 -07:00
Thalia 3ebade4175 Make width of buttons in math dialog more flexible
Previously there were only two possible button widths,
now there are four.

Bug: T145613
Change-Id: I233f4f7c6cb810d6b5d54a5242514afed7c2ad9d
2016-10-14 16:30:50 -07:00
Ed Sanders 5f31ddeb8f VE: Make all edits 'quick edit' on mobile
Mobile doesn't really have room for the full dialog.

Change-Id: I08f45c3b26bd88f75deb4dbd51435a109021f0fe
2016-09-08 16:19:29 -07:00
James D. Forrester fda31a802f build: Fix stylelint devDependencies
Bug: T142235
Change-Id: I45021b2cd1decdc4cd9a9e9908d132cc1f6d795b
2016-08-05 11:59:39 -07:00
Ed Sanders 7938545a7c Use transition timing from OOUI theme config
Depends-On: I00eaa2b815d7c76b6315a3993a9a7921ae503c00
Change-Id: Iddd99171137a7457d0c3084c396453575a1e7231
2016-07-12 13:29:15 +01:00
Moritz Schubotz 2fc8fa6ccd Fix: Update png fallback
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
2016-06-03 10:10:06 +02:00
Moritz Schubotz 349d7cfc16 Use img instead of meta tags for SVGs
* replace meta tag with img tag
* remove js workaround for IE

Bug: T136709
Change-Id: Ifdd75ce51076b098af67a96b5dcb0fc0726d2b00
2016-06-02 12:12:32 +02:00
James D. Forrester 9b6f6c7300 Follow-up 3f456b1: Fix typo in function call
Bug: T132736
Change-Id: I36862baf287efe275d5b5fdc3bef911b7815a762
2016-05-26 09:22:33 -07:00
Frédéric Wang be7be3becb Remove woff fonts
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
2016-05-23 14:52:59 +00:00
Ed Sanders e2139b1657 build: Introduce stylelint to lint for css errors
Also update the rest of the CI world whilst we're at it.

Change-Id: Iaad2867797cccb2dd0df7758e448b553859fa62c
2016-05-19 19:16:00 +01:00
Frédéric Wang d808880450 Remove some obsolete CSS rules that are no longer needed in Firefox ESR 45:
- Use the non-math font Cambria first (fixed in https://bugzilla.mozilla.org/show_bug.cgi?id=598900).
- Set line-height to normal (fixed in https://bugzilla.mozilla.org/show_bug.cgi?id=1187673).

Change-Id: I19836285e08c2996d611a47361bbb5f9e9eb6921
2016-04-25 16:28:11 +00:00
Moritz Schubotz f071dbcf80 Remove Firefox specific CSS styles
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
2016-04-24 20:32:28 +00:00
jenkins-bot 950c0596ca Merge "Make short mode for the math dialog" 2016-04-19 19:22:23 +00:00
Thalia a5e6d22495 Make short mode for the math dialog
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
2016-04-19 19:50:17 +01:00
physikerwelt 0b17471332 Use img element to display SVGs in new IEs
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
2016-04-19 17:16:50 +00:00
jenkins-bot 86f359ec30 Merge "Add inverse of texToClass function in comment" 2016-04-12 15:29:34 +00:00
jenkins-bot e00af78d9a Merge "Use new executeCommand method" 2016-04-12 15:20:29 +00:00
Ed Sanders 4010978ebf Add inverse of texToClass function in comment
Change-Id: Iba9658cfb8f413eaff8cdd62b6b7b2d836c5b23d
2016-04-12 15:01:04 +01:00
Ed Sanders dba01a653e CSS code style: spaces inside parentheses
Change-Id: Ia1324fe4ee98b487b82d01ee0d9cffe284a64811
2016-04-12 14:57:27 +01:00
Ed Sanders 3f456b1931 Use new executeCommand method
Change-Id: I24afd6c94c3224a3ae1f86204ddc16c726833c7c
2016-04-12 14:56:45 +01:00
Ed Sanders 617e0ccd53 Remove icon properties from windows
Windows stopped supporting icons a while ago.

Change-Id: I7a3fba6aef39b761f8eac9ed0f639ed18b1c4e65
2016-03-29 12:34:56 +01:00
Ed Sanders 481138a73d Remove SVGO compression, now done upstream in Mathoid
Change-Id: I961eb82722ae161bdf7a3ea945c299244ce321fb
Depends-On: I86c1a14ad81d2d252ac73da973274f88153d993c
2016-03-23 10:52:10 +00:00
Ed Sanders 49fc247004 Use the mathoidStyle property instead of parsing the SVG
This attribute was added in Ia0f601c1d5. Use it instead of
extracting the information from the SVG.

Change-Id: Ib6d6f4c9480ae00ccb2977b57c7b93de8ebb03f2
2016-03-22 14:46:48 +00:00
Ed Sanders 2b9bce4a0b makeSvgsAndCss: Add missing semi-colons to CSS, tweak symbol alignment formula
Sub-pixel alignment errors are unavoidable as the browser will rasterise
the SVG then round percentage offsets to the pixel grid.

Change-Id: I704db755d49be189db9670594e2ae2f193e6052d
2016-02-02 19:03:01 +00:00
Ed Sanders fd6f963504 makeSvgsAndCss: Increase max connections
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
2016-02-02 12:49:32 +00:00
Thalia 2b9e3307ac Add option to adjust SVG baseline on math dialog buttons
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
2016-02-01 18:07:13 +00:00
jenkins-bot e736202170 Merge "Resize math dialog input to fit the available space" 2016-01-25 15:12:44 +00:00
Thalia 150e658dc3 Correct \mathit button in math dialog
Change-Id: Ida4d82a9b859234e84a93ac34549076be9c42c46
2016-01-24 11:48:23 +00:00
Thalia 79eeb24bc0 Resize math dialog input to fit the available space
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
2016-01-23 11:08:48 +00:00
Thalia a3a76811d2 Use more generic host and port for updating the math menu
Change-Id: Iaa079b8037d3c73cfc8a283aa3f7c7926feb328b
2016-01-13 20:04:14 +00:00
Thalia f62b625c21 Small corrections to the math dialog menu
Remove some duplicated symbols and correct some typos

Change-Id: I41e98a7b80554f3332e9abff33b9d12701a5d855
2016-01-11 18:18:42 +00:00
physikerwelt c085e6952b Fix link to PNG fallback for IE 8 and older
Change-Id: Iffb65af756a8fc53fcc9f484c783f69f8d908690
2016-01-06 22:16:21 +00:00
jenkins-bot 2499ea5236 Merge "VE: Rename parent tool" 2016-01-04 20:50:58 +00:00
jenkins-bot 867ad7f91a Merge "Allow users to choose math inspector or math dialog" 2016-01-04 17:10:42 +00:00
Ed Sanders ee3e0855f1 VE: Rename parent tool
Depends on I3a0e761f0 in core.

Change-Id: I7c6e5f2bd20e7875efc0ee60e329cdf081b64bd5
2016-01-04 17:07:51 +00:00
Thalia 5fe280c3cf Allow users to choose math inspector or math dialog
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
2016-01-04 08:20:16 +00:00
jenkins-bot e04098facf Merge "Force Ace Editor to resize after the dialog has been rendered" 2015-12-20 12:57:58 +00:00
Thalia ac1ce967c1 Force Ace Editor to resize after the dialog has been rendered
If the editor resizes first, the height is 0px.

Depends on: I48307bd9184b

Bug: T121164
Change-Id: Ieb4ed963b03c9e7d802e9547478eb3c9cde512ae
2015-12-20 12:51:57 +00:00
Ed Sanders abb5573424 VE MWMathDialog: Fix documentation
Change-Id: Ic362df855ba616d2d2b3e0ccd4cebd3befd4ab94
2015-12-19 17:37:13 +00:00
Thalia 4087a1cec0 Focus the math dialog input after the symbols promise has returned
Bug: T119778
Change-Id: Ia5afe667241543addbda95d4d284b8af63f693a1
2015-12-08 13:26:34 +00:00
Thalia 3f193f6745 Make math dialog menu content scrollable
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
2015-12-03 16:25:00 +00:00
Thalia dfbce3f5ce Focus input and move cursor to end when MathDialog opens
Change-Id: Ie963913723b8c5f8ffb32701477627387c77eb85
2015-11-25 14:43:41 -08:00
Thalia bd36680d21 Ensure the formula preview in MathDialog is vertically centered
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
2015-11-25 14:22:49 -08:00
Thalia a48a216171 Modify updateMwData in MathDialog to update display and id attributes
Also populate the options form with pre-existing values and add event
handlers.

Bug: T119663
Change-Id: I32fbecdb9b204fa33e309662f1f670942968fee7
2015-11-25 14:22:21 -08:00
Thalia 959d0d7b3a Set autocomplete options for math dialog input
Depends on I57db44c876c in ve-mw

Bug: T119549
Change-Id: I80193b7b662336c65b81556eb000f3895cddf49f
2015-11-24 18:54:48 -08:00
Thalia 6e73aaf86c Make math dialog with clickable list of formula fragments
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
2015-11-23 16:30:38 -08:00
Ed Sanders e4719c56a7 SVG/CSS generator: Ignore duplicates and 'notWorking' buttons
Change-Id: I5f0c9fc62a1e434576550e142d6b25f329e63e7f
2015-11-20 18:03:06 -08:00
Ed Sanders cbc847222e SVG/CSS generator: Make faster by skipping already-fetched icons
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
2015-11-20 17:32:03 -08:00
Ed Sanders a682d9677f VE: Correct name of script in header
Change-Id: I4a76d72dcb22a5ebeb02f6c0b6946c1ef4744185
2015-11-18 20:16:13 -08:00
Thalia eac71ab60f Add tool to create SVG files of LaTeX symbols
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
2015-11-19 04:11:59 +00:00
jenkins-bot fabdb488b5 Merge "VE: Register sequence with CommandHelp" 2015-11-05 15:36:46 +00:00
Ed Sanders 17168f573b VE: Register sequence with CommandHelp
Depends on I65e2bfc2 in VE-MW

Change-Id: I8f71b1b242cb5c273c6d4a16bdfef6bf1e0adb55
2015-11-05 10:12:38 +00:00
physikerwelt 6b30663057 Move Math specific CSS from core to extension
Bug: T110492
Change-Id: I3775980916de12aef23bac85c38a6f92253aa479
2015-11-03 18:49:19 +00:00
physikerwelt 2548c12e49 Use normal line-height for math elements
* With the current settings for example the distance between
  matrix rows is too large.

Bug: T106890
Change-Id: Iffa2534f7d39e9faf41ab11124c9b9ff571988d2
2015-11-03 19:30:23 +01:00
Thalia f4a9297a70 Use new error element
Depends on I5839ba62fe in VE-MW

Bug: T114754
Change-Id: Iedd632af8743a53aa96b736ca5ef5af40c28bc7a
2015-10-29 22:08:31 +00:00
Ed Sanders 358635a33d VE: Add a '<math' sequence
Change-Id: I5ec6cc2e6b7487ef3ac5987b8eb055adbfc41931
2015-10-22 11:49:55 +01:00
jenkins-bot 11b0f02dd1 Merge "VE: Move hash changes to the rendering hash" 2015-10-07 19:18:15 +00:00
Ed Sanders 905a834be2 VE: Move hash changes to the rendering hash
Depends on I5d42943a0 in VE core.

Bug: T114689
Change-Id: Ib64a1184132fbf62f38c6bd5dde689acff7b8ae5
2015-10-07 14:40:43 +00:00
Thalia d24748769f Append error container to inspector
Also modify method that formats the error so only
the text is appended.

Depends on Ie84130d4ac0 in VE-MW.

Bug: T113172
Change-Id: I5310f22877f56d1828a9d1782ee335d5793700df
2015-10-05 00:07:21 +01:00
Thalia d81a1ff7ad Fix the check for the error class in generated content
Check the root of the generated content for the 'error'
class as well as the children.

Change-Id: I29044b5bfc33ce250c415a54d6c56f0620680658
2015-10-01 21:09:50 +01:00
Thalia 7241d5d3a7 Check for error in Parsoid response for math node
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
2015-09-30 21:51:51 +01:00
Siebrand Mazeland 9a07f022f9 Update mediawiki-codesniffer and parallel-lint settings
Fix remaining sniffer warnings and errors

Change-Id: I2a2ab037793df771be2abc4a4433726469f60ab0
2015-09-29 02:19:04 +02:00
Thalia 2ca833f9e6 Fix old class name
Change-Id: Ia78e4c064e66536cb3144dd2af4c157087690b51
2015-09-19 01:33:01 +01:00
jenkins-bot 01004cbf94 Merge "Remove redundant size property" 2015-09-17 21:08:24 +00:00
Thalia 11ec6a3c12 Remove redundant size property
Change-Id: Iebedb66fda25078d507f012b17a459fde6a393e9
2015-09-17 19:48:42 +00:00
Ed Sanders 07c037e897 VisualEditor: Remove MathJax support
No longer needed.

Change-Id: Ibf6277f5cfccd1c689b55be5e4fbd8dbceafacae
2015-09-17 15:11:20 +00:00
Ed Sanders abad392272 Rename modules/VisualEditor to modules/ve-math
Per new naming convention (i.e. to be consistent with
ve-graph).

Change-Id: I3eae4ce011f0078b204d882a8068f844cd19daa3
2015-09-17 15:10:30 +00:00
jenkins-bot f99b77c98e Merge "build: Add csshint, jshint and jscs to math extension" 2015-09-14 22:30:31 +00:00
Thalia fe3165faff build: Add csshint, jshint and jscs to math extension
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
2015-09-14 22:28:15 +00:00
Thalia dc3b663e3b VisualEditor: Ignore id when getting hash object
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
2015-09-14 17:51:27 +01:00
Ed Sanders 2b6e4ce539 Replace updatePreview with updateMwData
No need to reimplement updatePreview, just override updateMwData instead.

Change-Id: I606fb200c458aff979df660d3b7095bb52c5d012
2015-08-20 15:40:54 +01:00
physikerwelt bc52c77d24 Use extension.json, empty PHP entry point
* 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
2015-07-30 22:01:20 +00:00
physikerwelt 1157896149 Remove client-side MathJax support
Bug: T99369
Change-Id: I767dd2720386221891f25b5c692b766b4708be15
2015-07-16 00:46:29 +00:00
Ed Sanders 5ce015011e Remove this.$ remnants
Change-Id: I17b9f795693cc4ca1efe3678dbde9bce5d1a3da3
2015-05-09 11:52:57 +01:00
Ed Sanders cc1009dc0d Remove paragraph unwrapping, moved to parent class
Depends on Ib04234f740 in VisualEditor.

Change-Id: I542f9e73f5fe3713a91ca5794d175936d873038d
2015-04-08 23:13:41 +00:00
Ed Sanders be96c3d5e0 Update inspector now it inherits from NodeInspector
Depends on Ib0131c94 in VisualEditor.

Bug: T93592
Change-Id: Ic6538e19693bf7378316eb5462471be59f74678c
2015-04-08 23:13:18 +00:00
Derk-Jan Hartman fbfefac248 LivePreview: Use setTimeout to delay rendering of MathJax
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
2015-02-27 20:51:30 +01:00
Ed Sanders da0e6cab16 Fix rendering issues in MathML mode
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
2015-01-29 14:15:45 +00:00
physikerwelt (Moritz Schubotz) 0fd785b7d9 Add dependency on mediawiki.toolbar
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
2015-01-22 01:18:18 +00:00
jenkins-bot ff4297026c Merge "Make main code input area monospaced" 2015-01-16 15:11:53 +00:00
Ed Sanders 4ae01c7f5a Make main code input area monospaced
A monospaced font is more suitable for writing LaTeX.

Change-Id: I1a6c7bbbe3618f43808be15eab1579de8b2ad59f
2015-01-16 12:07:31 +00:00
Ed Sanders 7bbff3f208 Update license headers
Change-Id: Ia38926b253e53a2cef5dfab623353e1dd79ad613
2015-01-16 12:06:38 +00:00
Ed Sanders 70573daa0b Add support for display and ID attributes to VisualEditor
Change-Id: Ie65ff26c9e214f74b0217238a3def2242505d4c2
2014-11-24 19:24:06 +00:00
Timo Tijhof 910e3240b6 ve.ce.MWMathNode: Remove reference to defunct ve.bind
Bug: 73627
Change-Id: I3dd6b520a24e5cecb272de8f9a4aa0ba231bee58
2014-11-20 02:51:40 +00:00
Ed Sanders 575e8407e6 VisualEditor: Add selection restriction to command
Depends on I88f3d04 in VE.

Change-Id: I33006574d86daa6ed2568b631a62e063c9f98542
2014-11-04 22:12:59 +00:00
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
Roan Kattouw e7be4f5ba7 Minor fixes for VE Math code
* Update MWMathInspectorTool for deferMsg refactor
* Update ce.MWMathNode to add primaryCommandName

Change-Id: I344e3ef498c504d07b1f42954ab44b82ed3c0a50
2014-03-19 19:31:41 -07:00
Roan Kattouw fcf045f832 Add VisualEditor support
Moved from the VisualEditor extension, where it was removed in Iab0c56246626de1e0f

Change-Id: I8e582ee6deadc2750d30b49f0c6de31ed9c16a50
2014-03-20 01:29:25 +00:00
Davide P. Cervone 01ca982894 Push math nodes onto mathArray individually to avoid problem in IE < 9 where push.apply doesn't work on a nodeList. Also, avoid duplicate elements in the array by checking for namespace prefixes. This needs to work for both HTML and XHTML. Resolves issue #672.
Signed-off-by: physikerwelt <wiki@physikerwelt.de>

Change-Id: I0e2071aebee4e524960b01c4a5a10e49b5520846
(cherry picked from commit d463f88c18)
2014-02-17 03:29:45 +00:00
Frédéric Wang 2c3e4a4b5d Update to MathJax 2.3
* Uses the MediaWiki resource modules to load MathJax

Change-Id: I9471b1baf41d2bcc4fdc64a26e7d806e92b9b17f
2014-01-27 21:36:02 +00:00
Brad Jorsch 2b8534793f MathJax must not process every <strong class="error">
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
2014-01-15 12:05:55 -05:00