Skip to content
This repository was archived by the owner on Jun 30, 2024. It is now read-only.

Commit e6c7bae

Browse files
committed
1 parent 4032def commit e6c7bae

6 files changed

+185
-40
lines changed

.svgo.config.js

+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
/**
2+
* SVGO Configuration
3+
* Recommended options from:
4+
* https://www.mediawiki.org/wiki/Manual:Coding_conventions/SVG#Exemplified_safe_configuration
5+
*/
6+
const { extendDefaultPlugins } = require('svgo');
7+
module.exports = {
8+
multipass: true,
9+
plugins: extendDefaultPlugins([
10+
{
11+
name: 'cleanupIDs',
12+
active: false,
13+
},
14+
{
15+
name: 'removeDesc',
16+
active: false,
17+
},
18+
{
19+
name: 'removeRasterImages',
20+
active: true,
21+
},
22+
{
23+
name: 'removeTitle',
24+
active: false,
25+
},
26+
{
27+
name: 'removeViewBox',
28+
active: false,
29+
},
30+
{
31+
// If the SVG doesn't start with an XML declaration, then its MIME type will
32+
// be detected as "text/plain" rather than "image/svg+xml" by libmagic and,
33+
// consequently, MediaWiki's CSSMin CSS minifier. libmagic's default database
34+
// currently requires that SVGs contain an XML declaration:
35+
// https://github.com/threatstack/libmagic/blob/master/magic/Magdir/sgml#L5
36+
name: 'removeXMLProcInst',
37+
active: false,
38+
},
39+
{
40+
name: 'sortAttrs',
41+
active: true,
42+
},
43+
]),
44+
// Configure the indent (default 4 spaces) used by `--pretty` here:
45+
// @see https://github.com/svg/svgo/blob/master/lib/svgo/js2svg.js#L6 for more config options
46+
//
47+
// Unfortunately EOL cannot be configured, SVGO uses the platform's EOL marker.
48+
// On non-unix systems the linebreaks will be normalized to LF (unix) only at git commit,
49+
// assuming `core.autocrlf` is 'true' (default) or 'input'.
50+
js2svg: {
51+
indent: '\t',
52+
pretty: true,
53+
},
54+
};

images/achievement-icon-fallback.svg

+4-13
Loading
Loading

images/medal.svg

+3-12
Loading

package.json

+5-3
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,20 @@
77
"lint:i18n": "banana-checker --requireLowerCase=0 i18n/",
88
"fix": "prettier . --write",
99
"selenium-daily": "npm run selenium-test",
10-
"selenium-test": "wdio tests/selenium/wdio.conf.js"
10+
"selenium-test": "wdio tests/selenium/wdio.conf.js",
11+
"minify-svg": "svgo --config=.svgo.config.js -q -r -f images/"
1112
},
1213
"devDependencies": {
13-
"grunt-banana-checker": "0.9.0",
14-
"prettier": "^2.3.1",
1514
"@prettier/plugin-xml": "^0.13.1",
1615
"@wdio/cli": "7.7.4",
1716
"@wdio/dot-reporter": "7.7.3",
1817
"@wdio/junit-reporter": "7.7.3",
1918
"@wdio/local-runner": "7.7.4",
2019
"@wdio/mocha-framework": "7.7.4",
2120
"@wdio/sync": "7.7.4",
21+
"grunt-banana-checker": "0.9.0",
22+
"prettier": "^2.3.1",
23+
"svgo": "^2.3.1",
2224
"wdio-mediawiki": "1.1.1"
2325
}
2426
}

yarn.lock

+116
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,11 @@
6969
dependencies:
7070
defer-to-connect "^2.0.0"
7171

72+
"@trysound/[email protected]":
73+
version "0.1.1"
74+
resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.1.1.tgz#3348564048e7a2d7398c935d466c0414ebb6a669"
75+
integrity sha512-Z6DoceYb/1xSg5+e+ZlPZ9v0N16ZvZ+wYMraFue4HYrE4ttONKtsvruIRf6t9TBR0YvSOfi1hUU0fJfBLCDYow==
76+
7277
"@types/aria-query@^4.2.1":
7378
version "4.2.1"
7479
resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-4.2.1.tgz#78b5433344e2f92e8b306c06a5622c50c245bf6b"
@@ -631,6 +636,11 @@ bluebird@^3.7.2:
631636
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
632637
integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
633638

639+
boolbase@^1.0.0:
640+
version "1.0.0"
641+
resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
642+
integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24=
643+
634644
brace-expansion@^1.1.7:
635645
version "1.1.11"
636646
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
@@ -877,6 +887,11 @@ combined-stream@^1.0.6, combined-stream@~1.0.6:
877887
dependencies:
878888
delayed-stream "~1.0.0"
879889

890+
commander@^7.1.0:
891+
version "7.2.0"
892+
resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7"
893+
integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==
894+
880895
compress-commons@^4.1.0:
881896
version "4.1.1"
882897
resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-4.1.1.tgz#df2a09a7ed17447642bad10a85cc9a19e5c42a7d"
@@ -926,16 +941,47 @@ cross-spawn@^4.0.2:
926941
lru-cache "^4.0.1"
927942
which "^1.2.9"
928943

944+
css-select@^4.1.3:
945+
version "4.1.3"
946+
resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.1.3.tgz#a70440f70317f2669118ad74ff105e65849c7067"
947+
integrity sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==
948+
dependencies:
949+
boolbase "^1.0.0"
950+
css-what "^5.0.0"
951+
domhandler "^4.2.0"
952+
domutils "^2.6.0"
953+
nth-check "^2.0.0"
954+
929955
css-shorthand-properties@^1.1.1:
930956
version "1.1.1"
931957
resolved "https://registry.yarnpkg.com/css-shorthand-properties/-/css-shorthand-properties-1.1.1.tgz#1c808e63553c283f289f2dd56fcee8f3337bd935"
932958
integrity sha512-Md+Juc7M3uOdbAFwOYlTrccIZ7oCFuzrhKYQjdeUEW/sE1hv17Jp/Bws+ReOPpGVBTYCBoYo+G17V5Qo8QQ75A==
933959

960+
css-tree@^1.1.2:
961+
version "1.1.3"
962+
resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d"
963+
integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==
964+
dependencies:
965+
mdn-data "2.0.14"
966+
source-map "^0.6.1"
967+
934968
css-value@^0.0.1:
935969
version "0.0.1"
936970
resolved "https://registry.yarnpkg.com/css-value/-/css-value-0.0.1.tgz#5efd6c2eea5ea1fd6b6ac57ec0427b18452424ea"
937971
integrity sha1-Xv1sLupeof1rasV+wEJ7GEUkJOo=
938972

973+
css-what@^5.0.0:
974+
version "5.0.1"
975+
resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.0.1.tgz#3efa820131f4669a8ac2408f9c32e7c7de9f4cad"
976+
integrity sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg==
977+
978+
csso@^4.2.0:
979+
version "4.2.0"
980+
resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529"
981+
integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==
982+
dependencies:
983+
css-tree "^1.1.2"
984+
939985
dashdash@^1.12.0:
940986
version "1.14.1"
941987
resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
@@ -1039,6 +1085,36 @@ [email protected]:
10391085
resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b"
10401086
integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==
10411087

1088+
dom-serializer@^1.0.1:
1089+
version "1.3.2"
1090+
resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.2.tgz#6206437d32ceefaec7161803230c7a20bc1b4d91"
1091+
integrity sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==
1092+
dependencies:
1093+
domelementtype "^2.0.1"
1094+
domhandler "^4.2.0"
1095+
entities "^2.0.0"
1096+
1097+
domelementtype@^2.0.1, domelementtype@^2.2.0:
1098+
version "2.2.0"
1099+
resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57"
1100+
integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==
1101+
1102+
domhandler@^4.2.0:
1103+
version "4.2.0"
1104+
resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.2.0.tgz#f9768a5f034be60a89a27c2e4d0f74eba0d8b059"
1105+
integrity sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==
1106+
dependencies:
1107+
domelementtype "^2.2.0"
1108+
1109+
domutils@^2.6.0:
1110+
version "2.7.0"
1111+
resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.7.0.tgz#8ebaf0c41ebafcf55b0b72ec31c56323712c5442"
1112+
integrity sha512-8eaHa17IwJUPAiB+SoTYBo5mCdeMgdcAoXJ59m6DT1vw+5iLS3gNoqYaRowaBKtGVrOF1Jz4yDTgYKLK2kvfJg==
1113+
dependencies:
1114+
dom-serializer "^1.0.1"
1115+
domelementtype "^2.2.0"
1116+
domhandler "^4.2.0"
1117+
10421118
ecc-jsbn@~0.1.1:
10431119
version "0.1.2"
10441120
resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
@@ -1074,6 +1150,11 @@ end-of-stream@^1.1.0, end-of-stream@^1.4.1:
10741150
dependencies:
10751151
once "^1.4.0"
10761152

1153+
entities@^2.0.0:
1154+
version "2.2.0"
1155+
resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55"
1156+
integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==
1157+
10771158
error-ex@^1.2.0:
10781159
version "1.3.2"
10791160
resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
@@ -1887,6 +1968,11 @@ marky@^1.2.0:
18871968
resolved "https://registry.yarnpkg.com/marky/-/marky-1.2.2.tgz#4456765b4de307a13d263a69b0c79bf226e68323"
18881969
integrity sha512-k1dB2HNeaNyORco8ulVEhctyEGkKHb2YWAhDsxeFlW2nROIirsctBYzKwwS3Vza+sKTS1zO4Z+n9/+9WbGLIxQ==
18891970

1971+
1972+
version "2.0.14"
1973+
resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50"
1974+
integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==
1975+
18901976
micromatch@^4.0.4:
18911977
version "4.0.4"
18921978
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9"
@@ -2035,6 +2121,13 @@ normalize-url@^6.0.1:
20352121
resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.0.1.tgz#a4f27f58cf8c7b287b440b8a8201f42d0b00d256"
20362122
integrity sha512-VU4pzAuh7Kip71XEmO9aNREYAdMHFGTVj/i+CaTImS8x0i1d3jUZkXhqluy/PRgjPLMgsLQulYY3PJ/aSbSjpQ==
20372123

2124+
nth-check@^2.0.0:
2125+
version "2.0.0"
2126+
resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.0.tgz#1bb4f6dac70072fc313e8c9cd1417b5074c0a125"
2127+
integrity sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==
2128+
dependencies:
2129+
boolbase "^1.0.0"
2130+
20382131
oauth-sign@~0.9.0:
20392132
version "0.9.0"
20402133
resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
@@ -2531,6 +2624,11 @@ slash@^3.0.0:
25312624
resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
25322625
integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
25332626

2627+
source-map@^0.6.1:
2628+
version "0.6.1"
2629+
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
2630+
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
2631+
25342632
spdx-correct@^3.0.0:
25352633
version "3.1.1"
25362634
resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9"
@@ -2579,6 +2677,11 @@ sshpk@^1.7.0:
25792677
safer-buffer "^2.0.2"
25802678
tweetnacl "~0.14.0"
25812679

2680+
stable@^0.1.8:
2681+
version "0.1.8"
2682+
resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf"
2683+
integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==
2684+
25822685
stack-utils@^2.0.3:
25832686
version "2.0.3"
25842687
resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.3.tgz#cd5f030126ff116b78ccb3c027fe302713b61277"
@@ -2686,6 +2789,19 @@ supports-color@^7.1.0:
26862789
dependencies:
26872790
has-flag "^4.0.0"
26882791

2792+
svgo@^2.3.1:
2793+
version "2.3.1"
2794+
resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.3.1.tgz#603a69ce50311c0e36791528f549644ec1b3f4bc"
2795+
integrity sha512-riDDIQgXpEnn0BEl9Gvhh1LNLIyiusSpt64IR8upJu7MwxnzetmF/Y57pXQD2NMX2lVyMRzXt5f2M5rO4wG7Dw==
2796+
dependencies:
2797+
"@trysound/sax" "0.1.1"
2798+
chalk "^4.1.0"
2799+
commander "^7.1.0"
2800+
css-select "^4.1.3"
2801+
css-tree "^1.1.2"
2802+
csso "^4.2.0"
2803+
stable "^0.1.8"
2804+
26892805
tar-fs@^2.0.0:
26902806
version "2.1.1"
26912807
resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784"

0 commit comments

Comments
 (0)