build: Introduce stylelint to lint for css errors

Also update the rest of the CI world whilst we're at it.

Change-Id: Iaad2867797cccb2dd0df7758e448b553859fa62c
This commit is contained in:
Ed Sanders 2016-05-19 18:06:34 +01:00 committed by James D. Forrester
parent c4636667d4
commit e2139b1657
13 changed files with 688 additions and 676 deletions

View File

@ -1,13 +0,0 @@
{
"adjoining-classes": false,
"box-model": false,
"box-sizing": false,
"fallback-colors": false,
"important": false,
"outline-none": false,
"qualified-headings": false,
"unique-headings": false,
"universal-selector": false,
"unqualified-attributes": false,
"gradients": false
}

View File

@ -3,11 +3,13 @@
"bitwise": true,
"eqeqeq": true,
"freeze": true,
"latedef": true,
"latedef": "nofunc",
"futurehostile": true,
"noarg": true,
"nonew": true,
"undef": true,
"unused": true,
"strict": false,
// Relaxing

3
.stylelintrc Normal file
View File

@ -0,0 +1,3 @@
{
"extends": "stylelint-config-wikimedia"
}

View File

@ -2,10 +2,10 @@
module.exports = function ( grunt ) {
grunt.loadNpmTasks( 'grunt-banana-checker' );
grunt.loadNpmTasks( 'grunt-jsonlint' );
grunt.loadNpmTasks( 'grunt-contrib-csslint' );
grunt.loadNpmTasks( 'grunt-contrib-jshint' );
grunt.loadNpmTasks( 'grunt-contrib-watch' );
grunt.loadNpmTasks( 'grunt-jscs' );
grunt.loadNpmTasks( 'grunt-stylelint' );
grunt.initConfig( {
banana: {
@ -17,11 +17,22 @@ module.exports = function ( grunt ) {
'!node_modules/**'
]
},
csslint: {
options: {
csslintrc: '.csslintrc'
stylelint: {
core: {
src: [
'**/*.css',
'!modules/ve-math/**',
'!node_modules/**'
]
},
all: 'modules/ve-math/*.css'
've-math': {
options: {
configFile: 'modules/ve-math/.stylelintrc'
},
src: [
'modules/ve-math/**/*.css'
]
}
},
jshint: {
options: {
@ -53,6 +64,6 @@ module.exports = function ( grunt ) {
}
} );
grunt.registerTask( 'test', [ 'jshint', 'jscs:main', 'csslint', 'jsonlint', 'banana' ] );
grunt.registerTask( 'test', [ 'jshint', 'jscs:main', 'stylelint', 'jsonlint', 'banana' ] );
grunt.registerTask( 'default', 'test' );
};

View File

@ -4,11 +4,19 @@
* Author : Physikerwelt (Moritz Schubotz)
* Description: Shows browser-dependent math output.
*/
@namespace m url('http://www.w3.org/1998/Math/MathML');
@namespace m url( http://www.w3.org/1998/Math/MathML );
/* Default style for MathML. */
.mwe-math-mathml-inline { display: inline !important; }
.mwe-math-mathml-display { display: block !important; margin-left: auto; margin-right: auto; }
.mwe-math-mathml-inline {
display: inline !important; /* stylelint-disable-line declaration-no-important */
}
.mwe-math-mathml-display {
display: block !important; /* stylelint-disable-line declaration-no-important */
margin-left: auto;
margin-right: auto;
}
.mwe-math-mathml-a11y {
/* We try to hide the MathML formula in a way that still makes it accessible to accessibility tools. */
clip: rect( 1px, 1px, 1px, 1px );
@ -18,20 +26,37 @@
height: 1px;
opacity: 0;
}
m|math {
/* Try some popular OpenType MATH fonts before the WOFF fallback */
font-family: Cambria Math, Latin Modern Math, STIX Math, LatinModernMathWOFF, serif;
font-family: 'Cambria Math', 'Latin Modern Math', 'STIX Math', 'LatinModernMathWOFF', serif;
}
/* Default style for the image fallback. */
/* Note: We had to use !important rules because of conflicts with the style
generated by Mathoid. See https://gerrit.wikimedia.org/r/#/c/166213/ */
.mwe-math-fallback-image-inline { display: inline-block; vertical-align: middle; }
.mwe-math-fallback-image-display { display: block; margin-left: auto !important; margin-right: auto !important; }
.mwe-math-fallback-image-inline {
display: inline-block;
vertical-align: middle;
}
.mwe-math-fallback-image-display {
display: block;
margin-left: auto !important; /* stylelint-disable-line declaration-no-important */
margin-right: auto !important; /* stylelint-disable-line declaration-no-important */
}
/* Default style for the source fallback. */
.mwe-math-fallback-source-inline { display: inline; vertical-align: middle; }
.mwe-math-fallback-source-display { display: block; margin-left: auto; margin-right: auto; }
.mwe-math-fallback-source-inline {
display: inline;
vertical-align: middle;
}
.mwe-math-fallback-source-display {
display: block;
margin-left: auto;
margin-right: auto;
}
/* PNG related styles from core */
img.tex {

View File

@ -10,6 +10,6 @@
/* WOFF version of Latin Modern Math.
* See https://github.com/fred-wang/MathFonts
*/
font-family: LatinModernMathWOFF;
font-family: 'LatinModernMathWOFF';
src: url( ./LatinModern/latinmodern-math.woff );
}

View File

@ -0,0 +1,12 @@
{
"extends": "stylelint-config-wikimedia",
"rules": {
"no-browser-hacks": [ true, {
"browsers": [ ">5%", "Chrome >= 1", "Firefox >= 15", "Explorer >= 9", "Edge >= 1", "iOS >= 7", "Opera >= 12", "Safari >= 7", "ExplorerMobile >= 10", "Android >= 3", "not BlackBerry >= 1", "ChromeAndroid >= 1", "FirefoxAndroid >= 1", "OperaMobile >= 12", "not OperaMini >= 1" ]
} ],
"no-unsupported-browser-features": [ true, {
"browsers": [ ">5%", "Chrome >= 1", "Firefox >= 15", "Explorer >= 9", "Edge >= 12", "iOS >= 7", "Opera >= 12", "Safari >= 7", "ExplorerMobile >= 10", "Android >= 4", "not BlackBerry >= 1", "ChromeAndroid >= 1", "FirefoxAndroid >= 1", "OperaMobile >= 12", "not OperaMini >= 1" ]
} ],
}
}

View File

@ -3,8 +3,8 @@
* Browser-specific hacks are bad but let's use that for now...
* See http://browserhacks.com
*/
@media screen and (-webkit-min-device-pixel-ratio: 0) {
@media screen and ( -webkit-min-device-pixel-ratio: 0 ) { /* stylelint-disable-line media-feature-name-no-vendor-prefix */
.ve-ce-mwMathNode .mwe-math-mathml-a11y {
display: none !important;
display: none !important; /* stylelint-disable-line declaration-no-important */
}
}

View File

@ -46,10 +46,11 @@
margin: 0 0.1em 0.1em 0;
box-sizing: border-box;
border: 1px solid #e6e6e6;
/* stylelint-disable no-unsupported-browser-features */
-webkit-transition: border-color 200ms;
-moz-transition: border-color 200ms;
-o-transition: border-color 200ms;
transition: border-color 200ms;
/* stylelint-enable no-unsupported-browser-features */
}
.ve-ui-mwMathPage-symbol-wide {
@ -57,7 +58,7 @@
}
.ve-ui-mwMathPage-symbol-contain {
background-size: contain;
background-size: contain; /* stylelint-disable-line no-unsupported-browser-features */
}
.ve-ui-mwMathPage-symbol-largeLayout {

View File

@ -6,5 +6,5 @@
*/
.ve-ui-mwMathInspector-content .ve-ui-mwExtensionWindow-input textarea {
font-family: monospace, Courier;
font-family: monospace, 'Courier';
}

View File

@ -327,10 +327,6 @@
background-image: url( data:image/svg+xml,%3Csvg%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20style%3D%22vertical-align%3A-.838ex%22%20width%3D%221.173ex%22%20height%3D%222.843ex%22%20viewBox%3D%220%20-863.1%20505%201223.9%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Ctitle%3EEquation%3C%2Ftitle%3E%3Cdesc%3Eleft-brace%3C%2Fdesc%3E%3Cdefs%3E%3Cpath%20stroke-width%3D%2210%22%20id%3D%22a%22%20d%3D%22M434-231q0-13-6-19h-18q-129%200-180%2066-5%207-8%2012t-5%2011-4%2013-2%2015-1%2022-1%2027%200%2037%200%2047v53q-1%2089-5%20100-1%201-1%202-14%2036-50%2056t-71%2020q-11%200-14%203t-3%2016%203%2016%2014%203q34%200%2070%2020t51%2056q5%2011%205%2032t1%20152v50q0%2055%206%2077t29%2042q26%2026%2080%2042%2037%208%2053%209h13q11%200%2018%201h20q6-6%206-18%200-13-3-16-2-3-16-3-53-3-83-24t-36-42q-5-13-5-148v-82q0-47-3-64t-17-39q-31-43-87-59l-14-5%2014-5q18-6%2036-15t42-34%2028-59q1-6%201-136%200-135%205-148%2010-27%2043-45t76-21q14%200%2016-3%203-3%203-15z%22%2F%3E%3C%2Fdefs%3E%3Cuse%20xlink%3Ahref%3D%22%23a%22%20stroke%3D%22currentColor%22%20fill%3D%22currentColor%22%20stroke-width%3D%220%22%20transform%3D%22matrix%281%200%200%20-1%200%200%29%22%2F%3E%3C%2Fsvg%3E );
}
.ve-ui-mwMathSymbol-_92__123_ {
background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20style%3D%22vertical-align%3A-.838ex%22%20width%3D%221.173ex%22%20height%3D%222.843ex%22%20viewBox%3D%220%20-863.1%20505%201223.9%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Ctitle%3EEquation%3C%2Ftitle%3E%3Cdesc%3Eleft-brace%3C%2Fdesc%3E%3Cdefs%3E%3Cpath%20stroke-width%3D%2210%22%20id%3D%22a%22%20d%3D%22M434-231q0-13-6-19h-18q-129%200-180%2066-5%207-8%2012t-5%2011-4%2013-2%2015-1%2022-1%2027%200%2037%200%2047v53q-1%2089-5%20100-1%201-1%202-14%2036-50%2056t-71%2020q-11%200-14%203t-3%2016%203%2016%2014%203q34%200%2070%2020t51%2056q5%2011%205%2032t1%20152v50q0%2055%206%2077t29%2042q26%2026%2080%2042%2037%208%2053%209h13q11%200%2018%201h20q6-6%206-18%200-13-3-16-2-3-16-3-53-3-83-24t-36-42q-5-13-5-148v-82q0-47-3-64t-17-39q-31-43-87-59l-14-5%2014-5q18-6%2036-15t42-34%2028-59q1-6%201-136%200-135%205-148%2010-27%2043-45t76-21q14%200%2016-3%203-3%203-15z%22%2F%3E%3C%2Fdefs%3E%3Cuse%20xlink%3Ahref%3D%22%23a%22%20stroke%3D%22currentColor%22%20fill%3D%22currentColor%22%20stroke-width%3D%220%22%20transform%3D%22matrix%281%200%200%20-1%200%200%29%22%2F%3E%3C%2Fsvg%3E);
}
.ve-ui-mwMathSymbol-_92__124_ {
background-image: url( data:image/svg+xml,%3Csvg%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20style%3D%22vertical-align%3A-.838ex%22%20width%3D%221.173ex%22%20height%3D%222.843ex%22%20viewBox%3D%220%20-863.1%20505%201223.9%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Ctitle%3EEquation%3C%2Ftitle%3E%3Cdesc%3Eparallel-to%3C%2Fdesc%3E%3Cdefs%3E%3Cpath%20stroke-width%3D%2210%22%20id%3D%22a%22%20d%3D%22M133%20736q5%2014%2020%2014%2011%200%2017-11%202-4%202-489t-2-489q-6-11-18-11-8%200-14%206l-1%201q-4%202-4%2064t-1%20429q0%20481%201%20486zm196%203q5%2011%2017%2011%207%200%2015-6l1-1q4-2%204-64t1-429%200-428-5-65l-1-1q-6-6-14-6-12%200-18%2011-2%204-2%20489t2%20489z%22%2F%3E%3C%2Fdefs%3E%3Cuse%20xlink%3Ahref%3D%22%23a%22%20stroke%3D%22currentColor%22%20fill%3D%22currentColor%22%20stroke-width%3D%220%22%20transform%3D%22matrix%281%200%200%20-1%200%200%29%22%2F%3E%3C%2Fsvg%3E );
}
@ -339,10 +335,6 @@
background-image: url( data:image/svg+xml,%3Csvg%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20style%3D%22vertical-align%3A-.838ex%22%20width%3D%221.173ex%22%20height%3D%222.843ex%22%20viewBox%3D%220%20-863.1%20505%201223.9%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Ctitle%3EEquation%3C%2Ftitle%3E%3Cdesc%3Eright-brace%3C%2Fdesc%3E%3Cdefs%3E%3Cpath%20stroke-width%3D%2210%22%20id%3D%22a%22%20d%3D%22M65%20731q0%2014%203%2016t20%203q83%200%20128-25t63-55q9-21%2010-35t2-134q1-139%202-144%2013-45%2052-66t72-22q11%200%2014-3t3-16-3-16-14-3q-37%200-72-21t-47-53q-5-14-6-36t-1-149v-51q0-55-6-77t-29-42q-54-52-167-52-18%200-21%203t-3%2017v7q0%201%201%205t3%204%208%201q14%200%2031%203t38%2010%2037%2023%2024%2038q1%205%202%20142l1%20136q13%2057%2070%2091%2035%2017%2050%2020-25%207-50%2020-55%2034-68%2082l-2%2010-1%20136q-1%20137-2%20142-12%2040-53%2056t-77%2017q-9%200-10%203t-2%2015z%22%2F%3E%3C%2Fdefs%3E%3Cuse%20xlink%3Ahref%3D%22%23a%22%20stroke%3D%22currentColor%22%20fill%3D%22currentColor%22%20stroke-width%3D%220%22%20transform%3D%22matrix%281%200%200%20-1%200%200%29%22%2F%3E%3C%2Fsvg%3E );
}
.ve-ui-mwMathSymbol-_92__125_ {
background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20style%3D%22vertical-align%3A-.838ex%22%20width%3D%221.173ex%22%20height%3D%222.843ex%22%20viewBox%3D%220%20-863.1%20505%201223.9%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Ctitle%3EEquation%3C%2Ftitle%3E%3Cdesc%3Eright-brace%3C%2Fdesc%3E%3Cdefs%3E%3Cpath%20stroke-width%3D%2210%22%20id%3D%22a%22%20d%3D%22M65%20731q0%2014%203%2016t20%203q83%200%20128-25t63-55q9-21%2010-35t2-134q1-139%202-144%2013-45%2052-66t72-22q11%200%2014-3t3-16-3-16-14-3q-37%200-72-21t-47-53q-5-14-6-36t-1-149v-51q0-55-6-77t-29-42q-54-52-167-52-18%200-21%203t-3%2017v7q0%201%201%205t3%204%208%201q14%200%2031%203t38%2010%2037%2023%2024%2038q1%205%202%20142l1%20136q13%2057%2070%2091%2035%2017%2050%2020-25%207-50%2020-55%2034-68%2082l-2%2010-1%20136q-1%20137-2%20142-12%2040-53%2056t-77%2017q-9%200-10%203t-2%2015z%22%2F%3E%3C%2Fdefs%3E%3Cuse%20xlink%3Ahref%3D%22%23a%22%20stroke%3D%22currentColor%22%20fill%3D%22currentColor%22%20stroke-width%3D%220%22%20transform%3D%22matrix%281%200%200%20-1%200%200%29%22%2F%3E%3C%2Fsvg%3E);
}
.ve-ui-mwMathSymbol-_92__37_ {
background-image: url( data:image/svg+xml,%3Csvg%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20style%3D%22vertical-align%3A-.338ex%22%20width%3D%221.946ex%22%20height%3D%222.343ex%22%20viewBox%3D%220%20-863.1%20838%201008.6%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Ctitle%3EEquation%3C%2Ftitle%3E%3Cdesc%3Epercent-sign%3C%2Fdesc%3E%3Cdefs%3E%3Cpath%20stroke-width%3D%2210%22%20id%3D%22a%22%20d%3D%22M465%20605q-37%200-71%209t-54%2018-21%209q13-33%2013-93%200-90-39-145t-91-56q-57%200-101%2055T56%20548q0%2089%2045%20145t101%2057q39%200%2070-31%2087-77%20192-77%20116%200%20186%2090%2012%2016%2018%2017%202%201%205%201%209%200%2015-7t5-17Q178-47%20170-52q-4-4-10-4-13%200-18%2011-5%209%200%2018%201%203%20221%20331%20106%20158%20162%20242t56%2084q-53-25-116-25zM207%20385q28%200%2056%2042t29%20121q0%2069-25%20116t-67%2048q-7%200-14-3t-19-11-20-30-13-53q-2-20-2-67v-21q0-91%2033-124%2018-18%2038-18h4zm293-239q0%2088%2044%20144t103%2057q52%200%2090-55t39-146T737%200t-91-56q-56%200-101%2056t-45%20146zM651-18q28%200%2056%2042t29%20122q0%2069-25%20116t-67%2047q-7%200-14-3t-19-11-20-30-13-53q-1-12-1-66v-22q0-142%2070-142h4z%22%2F%3E%3C%2Fdefs%3E%3Cuse%20xlink%3Ahref%3D%22%23a%22%20stroke%3D%22currentColor%22%20fill%3D%22currentColor%22%20stroke-width%3D%220%22%20transform%3D%22matrix%281%200%200%20-1%200%200%29%22%2F%3E%3C%2Fsvg%3E );
}
@ -356,10 +348,6 @@
background-image: url( data:image/svg+xml,%3Csvg%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20style%3D%22vertical-align%3A-.338ex%22%20width%3D%221.431ex%22%20height%3D%222.176ex%22%20viewBox%3D%220%20-791.3%20616%20936.9%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Ctitle%3EEquation%3C%2Ftitle%3E%3Cdesc%3Enormal%20alef%3C%2Fdesc%3E%3Cdefs%3E%3Cpath%20stroke-width%3D%2210%22%20id%3D%22a%22%20d%3D%22M55%20613q0%2030%206%2050t13%2025%2011%206q9%200%209-13%204-49%2040-93l278-303q4%2026%2018%20112t17%20112v10l-9%207q-31%2028-40%2045t-10%2046%206%2047%2013%2024%2011%206q7%200%209-10%202-9%2027-49t34-49q2-2%208-7t17-16%2024-23q18-24%2018-53%200-27-6-46t-12-25-9-7q-9%200-11%206t-4%2020-10%2028q-11%2018-13%2018-36-217-36-235%200-9%2025-34t50-60%2026-73q0-47-17-70-7-8-14-8-8%200-8%2012-4%2049-40%2093-8%209-139%20152T195%20412l-2-6q-2-5-4-12t-6-17-7-25-5-30-4-38-2-44q0-16%201-20%205-21%2045-68t41-82q0-25-17-41T203%208t-28-7q-5-1-60-1H79Q60%200%2058%203t-3%2017q0%2011%203%2014%202%203%2018%203%2036%202%2050%209t14%2024q0%2026-28%2078t-29%2088q0%2045%2019%2098t38%2085%2019%2033Q55%20556%2055%20613z%22%2F%3E%3C%2Fdefs%3E%3Cuse%20xlink%3Ahref%3D%22%23a%22%20stroke%3D%22currentColor%22%20fill%3D%22currentColor%22%20stroke-width%3D%220%22%20transform%3D%22matrix%281%200%200%20-1%200%200%29%22%2F%3E%3C%2Fsvg%3E );
}
.ve-ui-mwMathSymbol-_92_aleph {
background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20style%3D%22vertical-align%3A-.338ex%22%20width%3D%221.431ex%22%20height%3D%222.176ex%22%20viewBox%3D%220%20-791.3%20616%20936.9%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Ctitle%3EEquation%3C%2Ftitle%3E%3Cdesc%3Enormal%20alef%3C%2Fdesc%3E%3Cdefs%3E%3Cpath%20stroke-width%3D%2210%22%20id%3D%22a%22%20d%3D%22M55%20613q0%2030%206%2050t13%2025%2011%206q9%200%209-13%204-49%2040-93l278-303q4%2026%2018%20112t17%20112v10l-9%207q-31%2028-40%2045t-10%2046%206%2047%2013%2024%2011%206q7%200%209-10%202-9%2027-49t34-49q2-2%208-7t17-16%2024-23q18-24%2018-53%200-27-6-46t-12-25-9-7q-9%200-11%206t-4%2020-10%2028q-11%2018-13%2018-36-217-36-235%200-9%2025-34t50-60%2026-73q0-47-17-70-7-8-14-8-8%200-8%2012-4%2049-40%2093-8%209-139%20152T195%20412l-2-6q-2-5-4-12t-6-17-7-25-5-30-4-38-2-44q0-16%201-20%205-21%2045-68t41-82q0-25-17-41T203%208t-28-7q-5-1-60-1H79Q60%200%2058%203t-3%2017q0%2011%203%2014%202%203%2018%203%2036%202%2050%209t14%2024q0%2026-28%2078t-29%2088q0%2045%2019%2098t38%2085%2019%2033Q55%20556%2055%20613z%22%2F%3E%3C%2Fdefs%3E%3Cuse%20xlink%3Ahref%3D%22%23a%22%20stroke%3D%22currentColor%22%20fill%3D%22currentColor%22%20stroke-width%3D%220%22%20transform%3D%22matrix%281%200%200%20-1%200%200%29%22%2F%3E%3C%2Fsvg%3E);
}
.ve-ui-mwMathSymbol-_92_alpha {
background-image: url( data:image/svg+xml,%3Csvg%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%221.498ex%22%20height%3D%221.676ex%22%20style%3D%22vertical-align%3A-.338ex%22%20viewBox%3D%220%20-576.1%20645%20721.6%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cdefs%3E%3Cpath%20stroke-width%3D%2210%22%20id%3D%22a%22%20d%3D%22M34%20156q0%20114%2086%20200t189%2086q70%200%20112-40t57-98q6-29%207-67v-29q49%2074%2075%20166%204%2014%206%2016t16%203q21%200%2021-8%200-9-9-39t-36-85-61-100l-11-14%201-24q2-56%208-76t19-21q14%202%2026%2011t17%2023q2%207%205%208t15%202q20%200%2020-8%200-6-6-19-12-24-35-38t-44-15h-7q-67%200-91%2072l-3%207-11-8q-10-8-30-20t-45-23-58-20-64-9q-79%200-124%2050T34%20156zM208%2026q49%200%2098%2021t73%2043l24%2022q-2%20143-7%20178-14%20115-92%20115-69%200-121-73-27-40-44-108t-18-104q0-49%2025-71t62-23z%22%2F%3E%3C%2Fdefs%3E%3Cuse%20xlink%3Ahref%3D%22%23a%22%20stroke%3D%22currentColor%22%20fill%3D%22currentColor%22%20stroke-width%3D%220%22%20transform%3D%22matrix%281%200%200%20-1%200%200%29%22%2F%3E%3C%2Fsvg%3E );
background-position: 50% 56.14822100962267%;
@ -881,10 +869,6 @@
background-image: url( data:image/svg+xml,%3Csvg%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20style%3D%22vertical-align%3A-.505ex%22%20width%3D%221.819ex%22%20height%3D%222.176ex%22%20viewBox%3D%220%20-719.6%20783%20936.9%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Ctitle%3EEquation%3C%2Ftitle%3E%3Cdesc%3Egeometrically-equals%3C%2Fdesc%3E%3Cdefs%3E%3Cpath%20stroke-width%3D%2210%22%20id%3D%22a%22%20d%3D%22M421%20474h-32l-50%2019-18%2048q0%2025%2016%2046t54%2022q65-7%2065-68%200-29-17-48zM56%20347q0%2013%2014%2020h637q15-8%2015-20%200-11-14-19l-318-1H72q-16%205-16%2020zm0-194q0%2015%2016%2020h636q14-10%2014-20%200-13-15-20H70q-14%207-14%2020zm365-261h-32l-50%2019-18%2048q0%2025%2016%2046t54%2022q65-7%2065-68%200-29-17-48z%22%2F%3E%3C%2Fdefs%3E%3Cuse%20xlink%3Ahref%3D%22%23a%22%20stroke%3D%22currentColor%22%20fill%3D%22currentColor%22%20stroke-width%3D%220%22%20transform%3D%22matrix%281%200%200%20-1%200%200%29%22%2F%3E%3C%2Fsvg%3E );
}
.ve-ui-mwMathSymbol-_92_doteqdot {
background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20style%3D%22vertical-align%3A-.505ex%22%20width%3D%221.819ex%22%20height%3D%222.176ex%22%20viewBox%3D%220%20-719.6%20783%20936.9%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Ctitle%3EEquation%3C%2Ftitle%3E%3Cdesc%3Egeometrically-equals%3C%2Fdesc%3E%3Cdefs%3E%3Cpath%20stroke-width%3D%2210%22%20id%3D%22a%22%20d%3D%22M421%20474h-32l-50%2019-18%2048q0%2025%2016%2046t54%2022q65-7%2065-68%200-29-17-48zM56%20347q0%2013%2014%2020h637q15-8%2015-20%200-11-14-19l-318-1H72q-16%205-16%2020zm0-194q0%2015%2016%2020h636q14-10%2014-20%200-13-15-20H70q-14%207-14%2020zm365-261h-32l-50%2019-18%2048q0%2025%2016%2046t54%2022q65-7%2065-68%200-29-17-48z%22%2F%3E%3C%2Fdefs%3E%3Cuse%20xlink%3Ahref%3D%22%23a%22%20stroke%3D%22currentColor%22%20fill%3D%22currentColor%22%20stroke-width%3D%220%22%20transform%3D%22matrix%281%200%200%20-1%200%200%29%22%2F%3E%3C%2Fsvg%3E);
}
.ve-ui-mwMathSymbol-_92_dotplus {
background-image: url( data:image/svg+xml,%3Csvg%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20style%3D%22vertical-align%3A-.505ex%22%20width%3D%221.819ex%22%20height%3D%222.509ex%22%20viewBox%3D%220%20-863.1%20783%201080.4%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Ctitle%3EEquation%3C%2Ftitle%3E%3Cdesc%3Edot-plus%3C%2Fdesc%3E%3Cdefs%3E%3Cpath%20stroke-width%3D%2210%22%20id%3D%22a%22%20d%3D%22M339%20717q0%2022%2015%2035t34%2014q22%200%2036-15t15-35-15-35-34-15q-21%200-36%2015t-15%2036zM57%20237v13l14%2020h298v155l1%20156q10%2013%2019%2013%2013%200%2020-15V270h298q15-8%2015-20t-15-20H409V-79q-8-14-18-14h-4q-12%200-18%2014v309H71q-14%207-14%2020z%22%2F%3E%3C%2Fdefs%3E%3Cuse%20xlink%3Ahref%3D%22%23a%22%20stroke%3D%22currentColor%22%20fill%3D%22currentColor%22%20stroke-width%3D%220%22%20transform%3D%22matrix%281%200%200%20-1%200%200%29%22%2F%3E%3C%2Fsvg%3E );
}
@ -2249,10 +2233,6 @@
background-image: url( data:image/svg+xml,%3Csvg%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20style%3D%22vertical-align%3A-.338ex%22%20width%3D%221.819ex%22%20height%3D%221.676ex%22%20viewBox%3D%220%20-576.1%20783%20721.6%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Ctitle%3EEquation%3C%2Ftitle%3E%3Cdesc%3Etimes%3C%2Fdesc%3E%3Cdefs%3E%3Cpath%20stroke-width%3D%2210%22%20id%3D%22a%22%20d%3D%22M630%2029q0-20-21-20-5%200-22%2016t-94%2093L389%20222%20284%20117Q178%2013%20175%2011q-4-2-7-2-8%200-14%206t-7%2014q0%207%2014%2022t94%2095l104%20104-104%20104q-81%2081-94%2095t-14%2022q0%209%206%2014t15%205q5%200%207-1%203-2%20109-106l105-105%20104%20104q77%2077%2094%2093t22%2016q21%200%2021-20%200-7-10-18t-98-98L418%20250l104-105q84-84%2096-97t12-19z%22%2F%3E%3C%2Fdefs%3E%3Cuse%20xlink%3Ahref%3D%22%23a%22%20stroke%3D%22currentColor%22%20fill%3D%22currentColor%22%20stroke-width%3D%220%22%20transform%3D%22matrix%281%200%200%20-1%200%200%29%22%2F%3E%3C%2Fsvg%3E );
}
.ve-ui-mwMathSymbol-_92_times {
background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20style%3D%22vertical-align%3A-.338ex%22%20width%3D%221.819ex%22%20height%3D%221.676ex%22%20viewBox%3D%220%20-576.1%20783%20721.6%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Ctitle%3EEquation%3C%2Ftitle%3E%3Cdesc%3Etimes%3C%2Fdesc%3E%3Cdefs%3E%3Cpath%20stroke-width%3D%2210%22%20id%3D%22a%22%20d%3D%22M630%2029q0-20-21-20-5%200-22%2016t-94%2093L389%20222%20284%20117Q178%2013%20175%2011q-4-2-7-2-8%200-14%206t-7%2014q0%207%2014%2022t94%2095l104%20104-104%20104q-81%2081-94%2095t-14%2022q0%209%206%2014t15%205q5%200%207-1%203-2%20109-106l105-105%20104%20104q77%2077%2094%2093t22%2016q21%200%2021-20%200-7-10-18t-98-98L418%20250l104-105q84-84%2096-97t12-19z%22%2F%3E%3C%2Fdefs%3E%3Cuse%20xlink%3Ahref%3D%22%23a%22%20stroke%3D%22currentColor%22%20fill%3D%22currentColor%22%20stroke-width%3D%220%22%20transform%3D%22matrix%281%200%200%20-1%200%200%29%22%2F%3E%3C%2Fsvg%3E);
}
.ve-ui-mwMathSymbol-_92_triangledown {
background-image: url( data:image/svg+xml,%3Csvg%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20style%3D%22vertical-align%3A-.338ex%22%20width%3D%221.689ex%22%20height%3D%222.009ex%22%20viewBox%3D%220%20-719.6%20727%20865.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Ctitle%3EEquation%3C%2Ftitle%3E%3Cdesc%3Ewhite%20down%20pointing%20triangle%3C%2Fdesc%3E%3Cdefs%3E%3Cpath%20stroke-width%3D%2210%22%20id%3D%22a%22%20d%3D%22M84%20556q0%2011%2015%2020h523q15-9%2015-20%200-5-65-147T441%20127%20375-14q-7-5-15-5h-2q-9%200-16%2012t-46%2099q-47%20101-85%20183Q84%20550%2084%20556zm502-22q0%202-225%202-226%200-226-1L358%2052l3-5%20112%20243q111%20242%20113%20244z%22%2F%3E%3C%2Fdefs%3E%3Cuse%20xlink%3Ahref%3D%22%23a%22%20stroke%3D%22currentColor%22%20fill%3D%22currentColor%22%20stroke-width%3D%220%22%20transform%3D%22matrix%281%200%200%20-1%200%200%29%22%2F%3E%3C%2Fsvg%3E );
}
@ -2517,16 +2497,6 @@
background-position: 50% 45.25860887311717%;
}
.ve-ui-mwMathSymbol-f_39_ {
background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%222.023ex%22%20height%3D%222.843ex%22%20style%3D%22vertical-align%3A-.671ex%22%20viewBox%3D%220%20-934.9%20871%201223.9%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cdefs%3E%3Cpath%20stroke-width%3D%2210%22%20id%3D%22a%22%20d%3D%22M118-162q2%200%206-2t11-3%2012-1q13%200%2024%2013t16%2029q10%2027%2034%20153t46%20240%2022%20115v3h-47q-47%200-50%202-4%203-4%2010l7%2028q2%205%208%205t47%201q48%200%2048%201%200%202%209%2050t12%2058q37%20165%20146%20165%2037-2%2061-22t24-53q0-36-21-52t-42-17q-44%200-44%2042%200%2019%2011%2033t24%2021l9%205q-16%206-30%206-12%200-23-10t-15-28q-7-29-16-78t-16-83-7-36q0-2%2055-2%2045%200%2052-1t11-6q1-4-2-17t-5-16q-2-5-9-5t-54-1h-56l-23-122Q301%2015%20282-47q-27-85-70-126-37-32-73-32-32%200-58%2019t-26%2054q0%2037%2021%2054t42%2017q44%200%2044-42%200-19-11-33t-24-21l-9-5z%22%2F%3E%3Cpath%20stroke-width%3D%2210%22%20id%3D%22b%22%20d%3D%22M79%2043q-6%200-27%206T30%2061q0%207%2055%20232t61%20235q15%2032%2052%2032%2020%200%2042-15t22-44q0-5-2-15-1-7-87-223T84%2045t-5-2z%22%2F%3E%3C%2Fdefs%3E%3Cg%20stroke%3D%22currentColor%22%20fill%3D%22currentColor%22%20stroke-width%3D%220%22%20transform%3D%22matrix%281%200%200%20-1%200%200%29%22%3E%3Cuse%20xlink%3Ahref%3D%22%23a%22%2F%3E%3Cuse%20transform%3D%22scale%280.707%29%22%20xlink%3Ahref%3D%22%23b%22%20x%3D%22810%22%20y%3D%22583%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E);
background-position: 50% 45.25860887311717%;
}
.ve-ui-mwMathSymbol-f_39__39_ {
background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%222.483ex%22%20height%3D%222.843ex%22%20style%3D%22vertical-align%3A-.671ex%22%20viewBox%3D%220%20-934.9%201069%201223.9%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cdefs%3E%3Cpath%20stroke-width%3D%2210%22%20id%3D%22a%22%20d%3D%22M118-162q2%200%206-2t11-3%2012-1q13%200%2024%2013t16%2029q10%2027%2034%20153t46%20240%2022%20115v3h-47q-47%200-50%202-4%203-4%2010l7%2028q2%205%208%205t47%201q48%200%2048%201%200%202%209%2050t12%2058q37%20165%20146%20165%2037-2%2061-22t24-53q0-36-21-52t-42-17q-44%200-44%2042%200%2019%2011%2033t24%2021l9%205q-16%206-30%206-12%200-23-10t-15-28q-7-29-16-78t-16-83-7-36q0-2%2055-2%2045%200%2052-1t11-6q1-4-2-17t-5-16q-2-5-9-5t-54-1h-56l-23-122Q301%2015%20282-47q-27-85-70-126-37-32-73-32-32%200-58%2019t-26%2054q0%2037%2021%2054t42%2017q44%200%2044-42%200-19-11-33t-24-21l-9-5z%22%2F%3E%3Cpath%20stroke-width%3D%2210%22%20id%3D%22b%22%20d%3D%22M79%2043q-6%200-27%206T30%2061q0%207%2055%20232t61%20235q15%2032%2052%2032%2020%200%2042-15t22-44q0-5-2-15-1-7-87-223T84%2045t-5-2z%22%2F%3E%3C%2Fdefs%3E%3Cg%20stroke%3D%22currentColor%22%20fill%3D%22currentColor%22%20stroke-width%3D%220%22%20transform%3D%22matrix%281%200%200%20-1%200%200%29%22%3E%3Cuse%20xlink%3Ahref%3D%22%23a%22%2F%3E%3Cg%20transform%3D%22translate%28573%2C412%29%20scale%280.707%29%22%3E%3Cuse%20xlink%3Ahref%3D%22%23b%22%2F%3E%3Cuse%20xlink%3Ahref%3D%22%23b%22%20x%3D%22280%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E);
background-position: 50% 45.25860887311717%;
}
.ve-ui-mwMathSymbol-f_39__39_ {
background-image: url( data:image/svg+xml,%3Csvg%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%222.483ex%22%20height%3D%222.843ex%22%20style%3D%22vertical-align%3A-.671ex%22%20viewBox%3D%220%20-934.9%201069%201223.9%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cdefs%3E%3Cpath%20stroke-width%3D%2210%22%20id%3D%22a%22%20d%3D%22M118-162q2%200%206-2t11-3%2012-1q13%200%2024%2013t16%2029q10%2027%2034%20153t46%20240%2022%20115v3h-47q-47%200-50%202-4%203-4%2010l7%2028q2%205%208%205t47%201q48%200%2048%201%200%202%209%2050t12%2058q37%20165%20146%20165%2037-2%2061-22t24-53q0-36-21-52t-42-17q-44%200-44%2042%200%2019%2011%2033t24%2021l9%205q-16%206-30%206-12%200-23-10t-15-28q-7-29-16-78t-16-83-7-36q0-2%2055-2%2045%200%2052-1t11-6q1-4-2-17t-5-16q-2-5-9-5t-54-1h-56l-23-122Q301%2015%20282-47q-27-85-70-126-37-32-73-32-32%200-58%2019t-26%2054q0%2037%2021%2054t42%2017q44%200%2044-42%200-19-11-33t-24-21l-9-5z%22%2F%3E%3Cpath%20stroke-width%3D%2210%22%20id%3D%22b%22%20d%3D%22M79%2043q-6%200-27%206T30%2061q0%207%2055%20232t61%20235q15%2032%2052%2032%2020%200%2042-15t22-44q0-5-2-15-1-7-87-223T84%2045t-5-2z%22%2F%3E%3C%2Fdefs%3E%3Cg%20stroke%3D%22currentColor%22%20fill%3D%22currentColor%22%20stroke-width%3D%220%22%20transform%3D%22matrix%281%200%200%20-1%200%200%29%22%3E%3Cuse%20xlink%3Ahref%3D%22%23a%22%2F%3E%3Cg%20transform%3D%22translate%28573%2C412%29%20scale%280.707%29%22%3E%3Cuse%20xlink%3Ahref%3D%22%23b%22%2F%3E%3Cuse%20xlink%3Ahref%3D%22%23b%22%20x%3D%22280%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E );
background-position: 50% 45.25860887311717%;

View File

@ -4,13 +4,14 @@
"test": "grunt test"
},
"devDependencies": {
"grunt": "0.4.5",
"grunt-cli": "0.1.13",
"grunt-banana-checker": "0.4.0",
"grunt": "1.0.1",
"grunt-banana-checker": "0.5.0",
"grunt-cli": "1.2.0",
"grunt-contrib-jshint": "1.0.0",
"grunt-contrib-watch": "1.0.0",
"grunt-jscs": "2.8.0",
"grunt-jsonlint": "1.0.7",
"grunt-contrib-csslint": "0.5.0",
"grunt-contrib-jshint": "0.11.3",
"grunt-contrib-watch": "0.6.1",
"grunt-jscs": "2.1.0"
"grunt-stylelint": "0.3.0",
"stylelint-config-wikimedia": "0.1.0"
}
}