瀏覽代碼

Add the featured customers logos (#2120)

* Add SVGs

* Add logos

* Set links

* Add hovers (wip)

* Fix issuu hover styles

* More whitespace before the customer logos section on desktop

* Add subtle transition on hover

* Fine-tune margins

* Better copy /thx @arturi

* Update website/themes/uppy/layout/index.ejs /thx @goto-bus-stop

Co-Authored-By: Renée Kooi <renee@kooi.me>

Co-authored-by: Kevin van Zonneveld <kevin@vanzonneveld.net>
Co-authored-by: Renée Kooi <renee@kooi.me>
Alexander Zaytsev 5 年之前
父節點
當前提交
cf756eb3c1

+ 72 - 150
package-lock.json

@@ -7861,8 +7861,7 @@
       "dependencies": {
         "es6-promise": {
           "version": "4.2.8",
-          "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
-          "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w=="
+          "bundled": true
         }
       }
     },
@@ -7965,8 +7964,7 @@
       "dependencies": {
         "react": {
           "version": "16.5.0",
-          "resolved": "https://registry.npmjs.org/react/-/react-16.5.0.tgz",
-          "integrity": "sha512-nw/yB/L51kA9PsAy17T1JrzzGRk+BlFCJwFF7p+pwVxgqwPjYNeZEkkH7LXn9dmflolrYMXLWMTkQ77suKPTNQ==",
+          "bundled": true,
           "requires": {
             "loose-envify": "^1.1.0",
             "object-assign": "^4.1.1",
@@ -8090,18 +8088,15 @@
       "dependencies": {
         "@purest/providers": {
           "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/@purest/providers/-/providers-1.0.1.tgz",
-          "integrity": "sha512-1ekKViRit0jo1IzDLSRSziU/OpX9ckoj8uWvSWzHLASyTqhKZL9Pdq628guq7yT3qFcJeeaeaA5T97a4w7fpqA=="
+          "bundled": true
         },
         "atob": {
           "version": "2.1.2",
-          "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
-          "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
+          "bundled": true
         },
         "aws-sdk": {
           "version": "2.587.0",
-          "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.587.0.tgz",
-          "integrity": "sha512-MAdUE4BC+hyfFPoQc61aV/tIfApp5ifqe3segW4GJq6dMmSCZdFbDwvs5ZUkgOSJ4ks3ZrpH9eCHpt6r0dFJYQ==",
+          "bundled": true,
           "requires": {
             "buffer": "4.9.1",
             "events": "1.1.1",
@@ -8116,15 +8111,13 @@
           "dependencies": {
             "uuid": {
               "version": "3.3.2",
-              "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
-              "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA=="
+              "bundled": true
             }
           }
         },
         "body-parser": {
           "version": "1.19.0",
-          "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
-          "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
+          "bundled": true,
           "requires": {
             "bytes": "3.1.0",
             "content-type": "~1.0.4",
@@ -8140,8 +8133,7 @@
         },
         "buffer": {
           "version": "4.9.1",
-          "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
-          "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
+          "bundled": true,
           "requires": {
             "base64-js": "^1.0.2",
             "ieee754": "^1.1.4",
@@ -8150,13 +8142,11 @@
         },
         "buffer-from": {
           "version": "0.1.2",
-          "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-0.1.2.tgz",
-          "integrity": "sha512-RiWIenusJsmI2KcvqQABB83tLxCByE3upSP8QU3rJDMVFGPWLvPQJt/O1Su9moRWeH7d+Q2HYb68f6+v+tw2vg=="
+          "bundled": true
         },
         "chalk": {
           "version": "2.4.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
-          "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+          "bundled": true,
           "requires": {
             "ansi-styles": "^3.2.1",
             "escape-string-regexp": "^1.0.5",
@@ -8165,13 +8155,11 @@
         },
         "content-security-policy-builder": {
           "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/content-security-policy-builder/-/content-security-policy-builder-2.1.0.tgz",
-          "integrity": "sha512-/MtLWhJVvJNkA9dVLAp6fg9LxD2gfI6R2Fi1hPmfjYXSahJJzcfvoeDOxSyp4NvxMuwWv3WMssE9o31DoULHrQ=="
+          "bundled": true
         },
         "cookie-parser": {
           "version": "1.4.4",
-          "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.4.tgz",
-          "integrity": "sha512-lo13tqF3JEtFO7FyA49CqbhaFkskRJ0u/UAiINgrIXeRCY41c88/zxtrECl8AKH3B0hj9q10+h3Kt8I7KlW4tw==",
+          "bundled": true,
           "requires": {
             "cookie": "0.3.1",
             "cookie-signature": "1.0.6"
@@ -8179,38 +8167,32 @@
         },
         "debug": {
           "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+          "bundled": true,
           "requires": {
             "ms": "2.0.0"
           },
           "dependencies": {
             "ms": {
               "version": "2.0.0",
-              "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-              "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+              "bundled": true
             }
           }
         },
         "dns-prefetch-control": {
           "version": "0.2.0",
-          "resolved": "https://registry.npmjs.org/dns-prefetch-control/-/dns-prefetch-control-0.2.0.tgz",
-          "integrity": "sha512-hvSnros73+qyZXhHFjx2CMLwoj3Fe7eR9EJsFsqmcI1bB2OBWL/+0YzaEaKssCHnj/6crawNnUyw74Gm2EKe+Q=="
+          "bundled": true
         },
         "dont-sniff-mimetype": {
           "version": "1.1.0",
-          "resolved": "https://registry.npmjs.org/dont-sniff-mimetype/-/dont-sniff-mimetype-1.1.0.tgz",
-          "integrity": "sha512-ZjI4zqTaxveH2/tTlzS1wFp+7ncxNZaIEWYg3lzZRHkKf5zPT/MnEG6WL0BhHMJUabkh8GeU5NL5j+rEUCb7Ug=="
+          "bundled": true
         },
         "expect-ct": {
           "version": "0.2.0",
-          "resolved": "https://registry.npmjs.org/expect-ct/-/expect-ct-0.2.0.tgz",
-          "integrity": "sha512-6SK3MG/Bbhm8MsgyJAylg+ucIOU71/FzyFalcfu5nY19dH8y/z0tBJU0wrNBXD4B27EoQtqPF/9wqH0iYAd04g=="
+          "bundled": true
         },
         "express-session": {
           "version": "1.15.6",
-          "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.15.6.tgz",
-          "integrity": "sha512-r0nrHTCYtAMrFwZ0kBzZEXa1vtPVrw0dKvGSrKP4dahwBQ1BJpF2/y1Pp4sCD/0kvxV4zZeclyvfmw0B4RMJQA==",
+          "bundled": true,
           "requires": {
             "cookie": "0.3.1",
             "cookie-signature": "1.0.6",
@@ -8225,13 +8207,11 @@
         },
         "frameguard": {
           "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/frameguard/-/frameguard-3.1.0.tgz",
-          "integrity": "sha512-TxgSKM+7LTA6sidjOiSZK9wxY0ffMPY3Wta//MqwmX0nZuEHc8QrkV8Fh3ZhMJeiH+Uyh/tcaarImRy8u77O7g=="
+          "bundled": true
         },
         "grant": {
           "version": "4.6.5",
-          "resolved": "https://registry.npmjs.org/grant/-/grant-4.6.5.tgz",
-          "integrity": "sha512-gxMaIw6MRI/HaPxuV04NTOCZTFtPRCjpZIAQH3NqCnOHUHXenor+IOTYqjmeSQzcH0KJ0rv3PQp9Q3Cj18n8jw==",
+          "bundled": true,
           "requires": {
             "qs": "^6.9.1",
             "request-compose": "^1.2.1",
@@ -8240,15 +8220,13 @@
           "dependencies": {
             "qs": {
               "version": "6.9.1",
-              "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.1.tgz",
-              "integrity": "sha512-Cxm7/SS/y/Z3MHWSxXb8lIFqgqBowP5JMlTUFyJN88y0SGQhVmZnqFK/PeuMX9LzUyWsqqhNxIyg0jlzq946yA=="
+              "bundled": true
             }
           }
         },
         "helmet": {
           "version": "3.21.2",
-          "resolved": "https://registry.npmjs.org/helmet/-/helmet-3.21.2.tgz",
-          "integrity": "sha512-okUo+MeWgg00cKB8Csblu8EXgcIoDyb5ZS/3u0W4spCimeVuCUvVZ6Vj3O2VJ1Sxpyb8jCDvzu0L1KKT11pkIg==",
+          "bundled": true,
           "requires": {
             "depd": "2.0.0",
             "dns-prefetch-control": "0.2.0",
@@ -8269,15 +8247,13 @@
           "dependencies": {
             "depd": {
               "version": "2.0.0",
-              "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
-              "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="
+              "bundled": true
             }
           }
         },
         "helmet-csp": {
           "version": "2.9.4",
-          "resolved": "https://registry.npmjs.org/helmet-csp/-/helmet-csp-2.9.4.tgz",
-          "integrity": "sha512-qUgGx8+yk7Xl8XFEGI4MFu1oNmulxhQVTlV8HP8tV3tpfslCs30OZz/9uQqsWPvDISiu/NwrrCowsZBhFADYqg==",
+          "bundled": true,
           "requires": {
             "bowser": "^2.7.0",
             "camelize": "1.0.0",
@@ -8287,38 +8263,32 @@
         },
         "hide-powered-by": {
           "version": "1.1.0",
-          "resolved": "https://registry.npmjs.org/hide-powered-by/-/hide-powered-by-1.1.0.tgz",
-          "integrity": "sha512-Io1zA2yOA1YJslkr+AJlWSf2yWFkKjvkcL9Ni1XSUqnGLr/qRQe2UI3Cn/J9MsJht7yEVCe0SscY1HgVMujbgg=="
+          "bundled": true
         },
         "hsts": {
           "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/hsts/-/hsts-2.2.0.tgz",
-          "integrity": "sha512-ToaTnQ2TbJkochoVcdXYm4HOCliNozlviNsg+X2XQLQvZNI/kCHR9rZxVYpJB3UPcHz80PgxRyWQ7PdU1r+VBQ==",
+          "bundled": true,
           "requires": {
             "depd": "2.0.0"
           },
           "dependencies": {
             "depd": {
               "version": "2.0.0",
-              "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
-              "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="
+              "bundled": true
             }
           }
         },
         "ienoopen": {
           "version": "1.1.0",
-          "resolved": "https://registry.npmjs.org/ienoopen/-/ienoopen-1.1.0.tgz",
-          "integrity": "sha512-MFs36e/ca6ohEKtinTJ5VvAJ6oDRAYFdYXweUnGY9L9vcoqFOU4n2ZhmJ0C4z/cwGZ3YIQRSB3XZ1+ghZkY5NQ=="
+          "bundled": true
         },
         "isarray": {
           "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+          "bundled": true
         },
         "jsonwebtoken": {
           "version": "8.5.1",
-          "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz",
-          "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==",
+          "bundled": true,
           "requires": {
             "jws": "^3.2.2",
             "lodash.includes": "^4.3.0",
@@ -8334,41 +8304,35 @@
           "dependencies": {
             "semver": {
               "version": "5.7.1",
-              "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-              "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
+              "bundled": true
             }
           }
         },
         "mime-types": {
           "version": "2.1.25",
-          "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.25.tgz",
-          "integrity": "sha512-5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg==",
+          "bundled": true,
           "requires": {
             "mime-db": "1.42.0"
           }
         },
         "ms": {
           "version": "2.1.2",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+          "bundled": true
         },
         "nocache": {
           "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/nocache/-/nocache-2.1.0.tgz",
-          "integrity": "sha512-0L9FvHG3nfnnmaEQPjT9xhfN4ISk0A8/2j4M37Np4mcDesJjHgEUfgPhdCyZuFI954tjokaIj/A3NdpFNdEh4Q=="
+          "bundled": true
         },
         "node-redis-pubsub": {
           "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/node-redis-pubsub/-/node-redis-pubsub-4.0.0.tgz",
-          "integrity": "sha512-sAUOzisio/8UYCRbjPo6+u7aTpBmxSBjTJYwu49x9KruIQgi//wbEnvbqGSH5JWViP7HyQSMtkHUcZXH7qGsOQ==",
+          "bundled": true,
           "requires": {
             "redis": "^2.7.1"
           }
         },
         "node-schedule": {
           "version": "1.3.2",
-          "resolved": "https://registry.npmjs.org/node-schedule/-/node-schedule-1.3.2.tgz",
-          "integrity": "sha512-GIND2pHMHiReSZSvS6dpZcDH7pGPGFfWBIEud6S00Q8zEIzAs9ommdyRK1ZbQt8y1LyZsJYZgPnyi7gpU2lcdw==",
+          "bundled": true,
           "requires": {
             "cron-parser": "^2.7.3",
             "long-timeout": "0.1.1",
@@ -8377,21 +8341,18 @@
         },
         "prom-client": {
           "version": "11.5.3",
-          "resolved": "https://registry.npmjs.org/prom-client/-/prom-client-11.5.3.tgz",
-          "integrity": "sha512-iz22FmTbtkyL2vt0MdDFY+kWof+S9UB/NACxSn2aJcewtw+EERsen0urSkZ2WrHseNdydsvcxCTAnPcSMZZv4Q==",
+          "bundled": true,
           "requires": {
             "tdigest": "^0.1.1"
           }
         },
         "punycode": {
           "version": "1.3.2",
-          "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
-          "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0="
+          "bundled": true
         },
         "purest": {
           "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/purest/-/purest-3.1.0.tgz",
-          "integrity": "sha512-9slCC5je2UNERS/YNcrs1/7K5Bh7Uvl6OY1S+XZ6iDNMCwk8Fio6VBdrklo7eMzt5M/Wt2fQlwXRjn4puBccRQ==",
+          "bundled": true,
           "requires": {
             "@purest/config": "^1.0.0",
             "@request/api": "^0.6.0",
@@ -8400,28 +8361,23 @@
         },
         "referrer-policy": {
           "version": "1.2.0",
-          "resolved": "https://registry.npmjs.org/referrer-policy/-/referrer-policy-1.2.0.tgz",
-          "integrity": "sha512-LgQJIuS6nAy1Jd88DCQRemyE3mS+ispwlqMk3b0yjZ257fI1v9c+/p6SD5gP5FGyXUIgrNOAfmyioHwZtYv2VA=="
+          "bundled": true
         },
         "request-compose": {
           "version": "1.2.1",
-          "resolved": "https://registry.npmjs.org/request-compose/-/request-compose-1.2.1.tgz",
-          "integrity": "sha512-w4qjUH1N4OdMfnHVi4Z0oKvDZyu75rJlvnuKe40wVg+khnfdJLt0qf+LF8QjIiDqSOSYdbMZE6a0ixU58B3Jow=="
+          "bundled": true
         },
         "sax": {
           "version": "1.2.1",
-          "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz",
-          "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o="
+          "bundled": true
         },
         "semver": {
           "version": "6.3.0",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+          "bundled": true
         },
         "tus-js-client": {
           "version": "1.8.0",
-          "resolved": "https://registry.npmjs.org/tus-js-client/-/tus-js-client-1.8.0.tgz",
-          "integrity": "sha512-qPX3TywqzxocTxUZtcS8X7Aik72SVMa0jKi4hWyfvRV+s9raVzzYGaP4MoJGaF0yOgm2+b6jXaVEHogxcJ8LGw==",
+          "bundled": true,
           "requires": {
             "buffer-from": "^0.1.1",
             "combine-errors": "^3.0.3",
@@ -8434,8 +8390,7 @@
         },
         "url": {
           "version": "0.10.3",
-          "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz",
-          "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=",
+          "bundled": true,
           "requires": {
             "punycode": "1.3.2",
             "querystring": "0.2.0"
@@ -8443,26 +8398,22 @@
         },
         "uuid": {
           "version": "3.3.3",
-          "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz",
-          "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ=="
+          "bundled": true
         },
         "validator": {
           "version": "12.1.0",
-          "resolved": "https://registry.npmjs.org/validator/-/validator-12.1.0.tgz",
-          "integrity": "sha512-gIC2RBuFRi574Rb9vewGCJ7TCLxHXNx6EKthEgs+Iz0pYa9a9Te1VLG/bGLsAyGWrqR5FfR7tbFUI7FEF2LiGA=="
+          "bundled": true
         },
         "ws": {
           "version": "6.2.1",
-          "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz",
-          "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==",
+          "bundled": true,
           "requires": {
             "async-limiter": "~1.0.0"
           }
         },
         "x-xss-protection": {
           "version": "1.3.0",
-          "resolved": "https://registry.npmjs.org/x-xss-protection/-/x-xss-protection-1.3.0.tgz",
-          "integrity": "sha512-kpyBI9TlVipZO4diReZMAHWtS0MMa/7Kgx8hwG/EuZLiA6sg4Ah/4TRdASHhRRN3boobzcYgFRUFSgHRge6Qhg=="
+          "bundled": true
         }
       }
     },
@@ -8646,8 +8597,7 @@
       "dependencies": {
         "es6-promise": {
           "version": "4.2.5",
-          "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz",
-          "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg=="
+          "bundled": true
         }
       }
     },
@@ -18300,7 +18250,7 @@
         "qs": "^6.5.0",
         "react-native-branch": "2.2.5",
         "react-native-gesture-handler": "~1.0.14",
-        "react-native-maps": "github:expo/react-native-maps#v0.22.1-exp.0",
+        "react-native-maps": "github:expo/react-native-maps#e6f98ff7272e5d0a7fe974a41f28593af2d77bb2",
         "react-native-reanimated": "1.0.0-alpha.11",
         "react-native-screens": "1.0.0-alpha.22",
         "react-native-svg": "8.0.10",
@@ -19571,8 +19521,7 @@
         },
         "ansi-regex": {
           "version": "2.1.1",
-          "bundled": true,
-          "optional": true
+          "bundled": true
         },
         "aproba": {
           "version": "1.2.0",
@@ -19590,13 +19539,11 @@
         },
         "balanced-match": {
           "version": "1.0.0",
-          "bundled": true,
-          "optional": true
+          "bundled": true
         },
         "brace-expansion": {
           "version": "1.1.11",
           "bundled": true,
-          "optional": true,
           "requires": {
             "balanced-match": "^1.0.0",
             "concat-map": "0.0.1"
@@ -19609,18 +19556,15 @@
         },
         "code-point-at": {
           "version": "1.1.0",
-          "bundled": true,
-          "optional": true
+          "bundled": true
         },
         "concat-map": {
           "version": "0.0.1",
-          "bundled": true,
-          "optional": true
+          "bundled": true
         },
         "console-control-strings": {
           "version": "1.1.0",
-          "bundled": true,
-          "optional": true
+          "bundled": true
         },
         "core-util-is": {
           "version": "1.0.2",
@@ -19723,8 +19667,7 @@
         },
         "inherits": {
           "version": "2.0.3",
-          "bundled": true,
-          "optional": true
+          "bundled": true
         },
         "ini": {
           "version": "1.3.5",
@@ -19734,7 +19677,6 @@
         "is-fullwidth-code-point": {
           "version": "1.0.0",
           "bundled": true,
-          "optional": true,
           "requires": {
             "number-is-nan": "^1.0.0"
           }
@@ -19747,20 +19689,17 @@
         "minimatch": {
           "version": "3.0.4",
           "bundled": true,
-          "optional": true,
           "requires": {
             "brace-expansion": "^1.1.7"
           }
         },
         "minimist": {
           "version": "0.0.8",
-          "bundled": true,
-          "optional": true
+          "bundled": true
         },
         "minipass": {
           "version": "2.3.5",
           "bundled": true,
-          "optional": true,
           "requires": {
             "safe-buffer": "^5.1.2",
             "yallist": "^3.0.0"
@@ -19777,7 +19716,6 @@
         "mkdirp": {
           "version": "0.5.1",
           "bundled": true,
-          "optional": true,
           "requires": {
             "minimist": "0.0.8"
           }
@@ -19850,8 +19788,7 @@
         },
         "number-is-nan": {
           "version": "1.0.1",
-          "bundled": true,
-          "optional": true
+          "bundled": true
         },
         "object-assign": {
           "version": "4.1.1",
@@ -19861,7 +19798,6 @@
         "once": {
           "version": "1.4.0",
           "bundled": true,
-          "optional": true,
           "requires": {
             "wrappy": "1"
           }
@@ -19937,8 +19873,7 @@
         },
         "safe-buffer": {
           "version": "5.1.2",
-          "bundled": true,
-          "optional": true
+          "bundled": true
         },
         "safer-buffer": {
           "version": "2.1.2",
@@ -19968,7 +19903,6 @@
         "string-width": {
           "version": "1.0.2",
           "bundled": true,
-          "optional": true,
           "requires": {
             "code-point-at": "^1.0.0",
             "is-fullwidth-code-point": "^1.0.0",
@@ -19986,7 +19920,6 @@
         "strip-ansi": {
           "version": "3.0.1",
           "bundled": true,
-          "optional": true,
           "requires": {
             "ansi-regex": "^2.0.0"
           }
@@ -20025,13 +19958,11 @@
         },
         "wrappy": {
           "version": "1.0.2",
-          "bundled": true,
-          "optional": true
+          "bundled": true
         },
         "yallist": {
           "version": "3.0.3",
-          "bundled": true,
-          "optional": true
+          "bundled": true
         }
       }
     },
@@ -36718,7 +36649,7 @@
         "hexo": "4.0.0",
         "hexo-browsersync": "^0.3.0",
         "hexo-cli": "3.1.0",
-        "hexo-filter-github-emojis": "github:arturi/hexo-filter-github-emojis",
+        "hexo-filter-github-emojis": "github:arturi/hexo-filter-github-emojis#c0b188687b47669d0aa452d6f9adbb7487925baf",
         "hexo-generator-alias": "^0.1.3",
         "hexo-generator-archive": "^1.0.0",
         "hexo-generator-category": "^1.0.0",
@@ -36745,29 +36676,25 @@
       "dependencies": {
         "ansi-regex": {
           "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
-          "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg=="
+          "bundled": true
         },
         "braces": {
           "version": "3.0.2",
-          "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-          "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+          "bundled": true,
           "requires": {
             "fill-range": "^7.0.1"
           }
         },
         "fill-range": {
           "version": "7.0.1",
-          "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
-          "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+          "bundled": true,
           "requires": {
             "to-regex-range": "^5.0.1"
           }
         },
         "hexo": {
           "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/hexo/-/hexo-4.0.0.tgz",
-          "integrity": "sha512-woVSeutGyFDLdE3UWJsZWw18KboFSsmmcxuivuLJPQ0pqLLz4zar07BG/YQXgVaXzR1jQ7Hurbx1gGZj5Z7y2w==",
+          "bundled": true,
           "requires": {
             "abbrev": "^1.1.1",
             "archy": "^1.0.0",
@@ -36800,18 +36727,15 @@
         },
         "is-number": {
           "version": "7.0.0",
-          "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
-          "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
+          "bundled": true
         },
         "marked": {
           "version": "0.7.0",
-          "resolved": "https://registry.npmjs.org/marked/-/marked-0.7.0.tgz",
-          "integrity": "sha512-c+yYdCZJQrsRjTPhUx7VKkApw9bwDkNbHUKo1ovgcfDjb2kc8rLuRbIFyXL5WOEUwzSSKo3IXpph2K6DqB/KZg=="
+          "bundled": true
         },
         "micromatch": {
           "version": "4.0.2",
-          "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
-          "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+          "bundled": true,
           "requires": {
             "braces": "^3.0.1",
             "picomatch": "^2.0.5"
@@ -36819,16 +36743,14 @@
         },
         "strip-ansi": {
           "version": "5.2.0",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
-          "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+          "bundled": true,
           "requires": {
             "ansi-regex": "^4.1.0"
           }
         },
         "to-regex-range": {
           "version": "5.0.1",
-          "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
-          "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+          "bundled": true,
           "requires": {
             "is-number": "^7.0.0"
           }

+ 84 - 102
website/package-lock.json

@@ -331,6 +331,15 @@
       "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz",
       "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8="
     },
+    "ajax-request": {
+      "version": "1.2.3",
+      "resolved": "https://registry.npmjs.org/ajax-request/-/ajax-request-1.2.3.tgz",
+      "integrity": "sha1-mfy+wdbSeS+F+pSVNTMr0U9fN5A=",
+      "requires": {
+        "file-system": "^2.1.1",
+        "utils-extend": "^1.0.7"
+      }
+    },
     "ajv": {
       "version": "6.10.0",
       "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz",
@@ -494,8 +503,7 @@
     "array-unique": {
       "version": "0.3.2",
       "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
-      "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
-      "optional": true
+      "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
     },
     "arraybuffer.slice": {
       "version": "0.0.7",
@@ -720,6 +728,15 @@
       "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz",
       "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg="
     },
+    "base64-img": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/base64-img/-/base64-img-1.0.4.tgz",
+      "integrity": "sha1-PiLVXWx0okVT2EDSsbwSp9sHjTU=",
+      "requires": {
+        "ajax-request": "^1.2.0",
+        "file-system": "^2.1.0"
+      }
+    },
     "base64-js": {
       "version": "1.3.0",
       "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz",
@@ -1164,8 +1181,7 @@
             },
             "ansi-regex": {
               "version": "2.1.1",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "aproba": {
               "version": "1.2.0",
@@ -1183,13 +1199,11 @@
             },
             "balanced-match": {
               "version": "1.0.0",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "brace-expansion": {
               "version": "1.1.11",
               "bundled": true,
-              "optional": true,
               "requires": {
                 "balanced-match": "^1.0.0",
                 "concat-map": "0.0.1"
@@ -1202,18 +1216,15 @@
             },
             "code-point-at": {
               "version": "1.1.0",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "concat-map": {
               "version": "0.0.1",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "console-control-strings": {
               "version": "1.1.0",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "core-util-is": {
               "version": "1.0.2",
@@ -1316,8 +1327,7 @@
             },
             "inherits": {
               "version": "2.0.4",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "ini": {
               "version": "1.3.5",
@@ -1327,7 +1337,6 @@
             "is-fullwidth-code-point": {
               "version": "1.0.0",
               "bundled": true,
-              "optional": true,
               "requires": {
                 "number-is-nan": "^1.0.0"
               }
@@ -1340,20 +1349,17 @@
             "minimatch": {
               "version": "3.0.4",
               "bundled": true,
-              "optional": true,
               "requires": {
                 "brace-expansion": "^1.1.7"
               }
             },
             "minimist": {
               "version": "0.0.8",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "minipass": {
               "version": "2.9.0",
               "bundled": true,
-              "optional": true,
               "requires": {
                 "safe-buffer": "^5.1.2",
                 "yallist": "^3.0.0"
@@ -1370,7 +1376,6 @@
             "mkdirp": {
               "version": "0.5.1",
               "bundled": true,
-              "optional": true,
               "requires": {
                 "minimist": "0.0.8"
               }
@@ -1451,8 +1456,7 @@
             },
             "number-is-nan": {
               "version": "1.0.1",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "object-assign": {
               "version": "4.1.1",
@@ -1462,7 +1466,6 @@
             "once": {
               "version": "1.4.0",
               "bundled": true,
-              "optional": true,
               "requires": {
                 "wrappy": "1"
               }
@@ -1538,8 +1541,7 @@
             },
             "safe-buffer": {
               "version": "5.1.2",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "safer-buffer": {
               "version": "2.1.2",
@@ -1569,7 +1571,6 @@
             "string-width": {
               "version": "1.0.2",
               "bundled": true,
-              "optional": true,
               "requires": {
                 "code-point-at": "^1.0.0",
                 "is-fullwidth-code-point": "^1.0.0",
@@ -1587,7 +1588,6 @@
             "strip-ansi": {
               "version": "3.0.1",
               "bundled": true,
-              "optional": true,
               "requires": {
                 "ansi-regex": "^2.0.0"
               }
@@ -1626,13 +1626,11 @@
             },
             "wrappy": {
               "version": "1.0.2",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "yallist": {
               "version": "3.1.1",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             }
           }
         },
@@ -3558,8 +3556,7 @@
         "kind-of": {
           "version": "6.0.2",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
-          "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
-          "optional": true
+          "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
         }
       }
     },
@@ -3601,6 +3598,23 @@
       "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
       "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc="
     },
+    "file-match": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/file-match/-/file-match-1.0.2.tgz",
+      "integrity": "sha1-ycrSZdLIrfOoFHWw30dYWQafrvc=",
+      "requires": {
+        "utils-extend": "^1.0.6"
+      }
+    },
+    "file-system": {
+      "version": "2.2.2",
+      "resolved": "https://registry.npmjs.org/file-system/-/file-system-2.2.2.tgz",
+      "integrity": "sha1-fWWDPjojR9zZVqgTxncVPtPt2Yc=",
+      "requires": {
+        "file-match": "^1.0.1",
+        "utils-extend": "^1.0.4"
+      }
+    },
     "file-uri-to-path": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
@@ -4510,6 +4524,14 @@
         "hexo-pagination": "1.0.0"
       }
     },
+    "hexo-helper-inline-svg": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/hexo-helper-inline-svg/-/hexo-helper-inline-svg-1.1.3.tgz",
+      "integrity": "sha512-hQLxvuY+H95n6//ffgLzQDDWK7qfqoLHsdtKpidUJhbKrggoEgJ8k+aU/+MrZPgQ5uyJVpwVfpkYS/iSIf634g==",
+      "requires": {
+        "base64-img": "^1.0.3"
+      }
+    },
     "hexo-i18n": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/hexo-i18n/-/hexo-i18n-1.0.0.tgz",
@@ -5332,8 +5354,7 @@
     "isobject": {
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
-      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
-      "optional": true
+      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
     },
     "isstream": {
       "version": "0.1.2",
@@ -6291,7 +6312,6 @@
           "version": "2.3.2",
           "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
           "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-          "optional": true,
           "requires": {
             "arr-flatten": "^1.1.0",
             "array-unique": "^0.3.2",
@@ -6309,7 +6329,6 @@
               "version": "2.0.1",
               "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
               "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-              "optional": true,
               "requires": {
                 "is-extendable": "^0.1.0"
               }
@@ -6340,7 +6359,6 @@
           "version": "4.0.0",
           "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
           "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-          "optional": true,
           "requires": {
             "extend-shallow": "^2.0.1",
             "is-number": "^3.0.0",
@@ -6352,7 +6370,6 @@
               "version": "2.0.1",
               "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
               "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-              "optional": true,
               "requires": {
                 "is-extendable": "^0.1.0"
               }
@@ -6377,8 +6394,7 @@
             },
             "ansi-regex": {
               "version": "2.1.1",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "aproba": {
               "version": "1.2.0",
@@ -6396,13 +6412,11 @@
             },
             "balanced-match": {
               "version": "1.0.0",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "brace-expansion": {
               "version": "1.1.11",
               "bundled": true,
-              "optional": true,
               "requires": {
                 "balanced-match": "^1.0.0",
                 "concat-map": "0.0.1"
@@ -6415,18 +6429,15 @@
             },
             "code-point-at": {
               "version": "1.1.0",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "concat-map": {
               "version": "0.0.1",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "console-control-strings": {
               "version": "1.1.0",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "core-util-is": {
               "version": "1.0.2",
@@ -6529,8 +6540,7 @@
             },
             "inherits": {
               "version": "2.0.4",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "ini": {
               "version": "1.3.5",
@@ -6540,7 +6550,6 @@
             "is-fullwidth-code-point": {
               "version": "1.0.0",
               "bundled": true,
-              "optional": true,
               "requires": {
                 "number-is-nan": "^1.0.0"
               }
@@ -6553,20 +6562,17 @@
             "minimatch": {
               "version": "3.0.4",
               "bundled": true,
-              "optional": true,
               "requires": {
                 "brace-expansion": "^1.1.7"
               }
             },
             "minimist": {
               "version": "0.0.8",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "minipass": {
               "version": "2.9.0",
               "bundled": true,
-              "optional": true,
               "requires": {
                 "safe-buffer": "^5.1.2",
                 "yallist": "^3.0.0"
@@ -6583,7 +6589,6 @@
             "mkdirp": {
               "version": "0.5.1",
               "bundled": true,
-              "optional": true,
               "requires": {
                 "minimist": "0.0.8"
               }
@@ -6664,8 +6669,7 @@
             },
             "number-is-nan": {
               "version": "1.0.1",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "object-assign": {
               "version": "4.1.1",
@@ -6675,7 +6679,6 @@
             "once": {
               "version": "1.4.0",
               "bundled": true,
-              "optional": true,
               "requires": {
                 "wrappy": "1"
               }
@@ -6751,8 +6754,7 @@
             },
             "safe-buffer": {
               "version": "5.1.2",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "safer-buffer": {
               "version": "2.1.2",
@@ -6782,7 +6784,6 @@
             "string-width": {
               "version": "1.0.2",
               "bundled": true,
-              "optional": true,
               "requires": {
                 "code-point-at": "^1.0.0",
                 "is-fullwidth-code-point": "^1.0.0",
@@ -6800,7 +6801,6 @@
             "strip-ansi": {
               "version": "3.0.1",
               "bundled": true,
-              "optional": true,
               "requires": {
                 "ansi-regex": "^2.0.0"
               }
@@ -6839,13 +6839,11 @@
             },
             "wrappy": {
               "version": "1.0.2",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "yallist": {
               "version": "3.1.1",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             }
           }
         },
@@ -6874,7 +6872,6 @@
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
           "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-          "optional": true,
           "requires": {
             "kind-of": "^3.0.2"
           },
@@ -6883,7 +6880,6 @@
               "version": "3.2.2",
               "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
               "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-              "optional": true,
               "requires": {
                 "is-buffer": "^1.1.5"
               }
@@ -10546,6 +10542,11 @@
         "object.getownpropertydescriptors": "^2.0.3"
       }
     },
+    "utils-extend": {
+      "version": "1.0.8",
+      "resolved": "https://registry.npmjs.org/utils-extend/-/utils-extend-1.0.8.tgz",
+      "integrity": "sha1-zP17ZFQPjpDuIe7Fd2nQZRyril8="
+    },
     "utils-merge": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
@@ -10877,8 +10878,7 @@
             },
             "ansi-regex": {
               "version": "2.1.1",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "aproba": {
               "version": "1.2.0",
@@ -10896,13 +10896,11 @@
             },
             "balanced-match": {
               "version": "1.0.0",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "brace-expansion": {
               "version": "1.1.11",
               "bundled": true,
-              "optional": true,
               "requires": {
                 "balanced-match": "^1.0.0",
                 "concat-map": "0.0.1"
@@ -10915,18 +10913,15 @@
             },
             "code-point-at": {
               "version": "1.1.0",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "concat-map": {
               "version": "0.0.1",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "console-control-strings": {
               "version": "1.1.0",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "core-util-is": {
               "version": "1.0.2",
@@ -11029,8 +11024,7 @@
             },
             "inherits": {
               "version": "2.0.4",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "ini": {
               "version": "1.3.5",
@@ -11040,7 +11034,6 @@
             "is-fullwidth-code-point": {
               "version": "1.0.0",
               "bundled": true,
-              "optional": true,
               "requires": {
                 "number-is-nan": "^1.0.0"
               }
@@ -11053,20 +11046,17 @@
             "minimatch": {
               "version": "3.0.4",
               "bundled": true,
-              "optional": true,
               "requires": {
                 "brace-expansion": "^1.1.7"
               }
             },
             "minimist": {
               "version": "0.0.8",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "minipass": {
               "version": "2.9.0",
               "bundled": true,
-              "optional": true,
               "requires": {
                 "safe-buffer": "^5.1.2",
                 "yallist": "^3.0.0"
@@ -11083,7 +11073,6 @@
             "mkdirp": {
               "version": "0.5.1",
               "bundled": true,
-              "optional": true,
               "requires": {
                 "minimist": "0.0.8"
               }
@@ -11164,8 +11153,7 @@
             },
             "number-is-nan": {
               "version": "1.0.1",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "object-assign": {
               "version": "4.1.1",
@@ -11175,7 +11163,6 @@
             "once": {
               "version": "1.4.0",
               "bundled": true,
-              "optional": true,
               "requires": {
                 "wrappy": "1"
               }
@@ -11251,8 +11238,7 @@
             },
             "safe-buffer": {
               "version": "5.1.2",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "safer-buffer": {
               "version": "2.1.2",
@@ -11282,7 +11268,6 @@
             "string-width": {
               "version": "1.0.2",
               "bundled": true,
-              "optional": true,
               "requires": {
                 "code-point-at": "^1.0.0",
                 "is-fullwidth-code-point": "^1.0.0",
@@ -11300,7 +11285,6 @@
             "strip-ansi": {
               "version": "3.0.1",
               "bundled": true,
-              "optional": true,
               "requires": {
                 "ansi-regex": "^2.0.0"
               }
@@ -11339,13 +11323,11 @@
             },
             "wrappy": {
               "version": "1.0.2",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             },
             "yallist": {
               "version": "3.1.1",
-              "bundled": true,
-              "optional": true
+              "bundled": true
             }
           }
         },

+ 3 - 2
website/package.json

@@ -17,8 +17,8 @@
     "glob": "^7.1.2",
     "he": "^1.2.0",
     "hexo": "4.0.0",
-    "hexo-cli": "3.1.0",
     "hexo-browsersync": "^0.3.0",
+    "hexo-cli": "3.1.0",
     "hexo-filter-github-emojis": "arturi/hexo-filter-github-emojis",
     "hexo-generator-alias": "^0.1.3",
     "hexo-generator-archive": "^1.0.0",
@@ -26,9 +26,10 @@
     "hexo-generator-feed": "^2.1.1",
     "hexo-generator-index": "^1.0.0",
     "hexo-generator-tag": "^1.0.0",
+    "hexo-helper-inline-svg": "^1.1.3",
     "hexo-include-markdown": "^1.0.2",
-    "hexo-renderer-marked": "2.0.0",
     "hexo-renderer-ejs": "^1.0.0",
+    "hexo-renderer-marked": "2.0.0",
     "hexo-renderer-scss": "^1.2.0",
     "hexo-server": "^1.0.0",
     "hexo-util": "^1.5.0",

+ 23 - 0
website/themes/uppy/layout/index.ejs

@@ -15,6 +15,29 @@
   </div>
 </section>
 
+<section class="IndexLogos">
+  <div class="IndexLogos-container">
+    <h2 class="IndexLogos-title">Used by:</h2>
+    <div class="IndexLogos-logos">
+      <a href="https://www.coursera.org/" class="IndexLogos-item IndexLogos-item--coursera">
+        <%- inline_svg('/images/featured-customers/coursera.svg') %>
+      </a>
+      <a href="https://www.photobox.com/" class="IndexLogos-item IndexLogos-item--photobox">
+        <%- inline_svg('/images/featured-customers/photobox.svg') %>
+      </a>
+      <a href="https://issuu.com/" class="IndexLogos-item IndexLogos-item--issuu">
+        <%- inline_svg('/images/featured-customers/issuu.svg') %>
+      </a>
+      <a href="https://zulipchat.com/" class="IndexLogos-item IndexLogos-item--zulip">
+        <%- inline_svg('/images/featured-customers/zulip.svg') %>
+      </a>
+    </div>
+    <div class="IndexLogos-join">
+      Using Uppy in your project? <a href="https://github.com/transloadit/uppy/issues/769" rel="noreferrer noopener" target="_blank">Let us know ›</a>
+    </div>
+  </div>
+</section>
+
 <section class="IndexDemo">
   <div class="IndexDemo-tabContent">
     <div class="TabPane TabPane--active" id="live-demo">

+ 83 - 0
website/themes/uppy/source/css/_index.scss

@@ -99,6 +99,89 @@
   }
 }
 
+.IndexLogos {
+  font-size: 12px;
+  color: $color-gray;
+  text-align: center;
+  margin: 80px 0;
+
+  @media #{$screen-medium} {
+    margin-top: 120px;
+  }
+
+  &-container {
+    max-width: 900px;
+    padding: 0 20px;
+    margin: 0 auto;
+  }
+
+  &-title {
+    font-weight: bold;
+    text-transform: uppercase;
+    letter-spacing: 0.2em;
+    margin-bottom: 10px;
+    font-size: inherit;
+    color: inherit;
+  }
+
+  &-logos {
+    margin: 12px 0 0;
+    font-size: 0;
+  }
+
+  &-item {
+    font-size: 14px;
+    display: inline-block;
+    margin: 0 20px 5px;
+    vertical-align: middle;
+
+    @media #{$screen-medium} {
+      margin: 0 30px 5px;
+    }
+  }
+
+  &-join {
+    a {
+      color: inherit;
+      text-decoration: underline;
+    }
+  }
+}
+
+.IndexLogos-item path {
+  fill: #b7b9bb;
+  transition: fill 0.3s ease;
+}
+
+.IndexLogos-item--coursera:hover {
+  .coursera {
+    fill: #4a89dc;
+  }
+}
+
+.IndexLogos-item--photobox:hover {
+  .photobox {
+    fill: #007377;
+  }
+}
+
+.IndexLogos-item--issuu:hover {
+  .issuu-glyph {
+    fill: #f26f61;
+  }
+
+  .issuu-text {
+    fill: #353535;
+  }
+}
+
+.IndexLogos-item--zulip:hover {
+  .zulip {
+    fill: #50a395;
+  }
+}
+
+
 .IndexDemo {
   margin: 60px auto;
   max-width: 900px;

File diff suppressed because it is too large
+ 0 - 0
website/themes/uppy/source/images/featured-customers/coursera.svg


File diff suppressed because it is too large
+ 0 - 0
website/themes/uppy/source/images/featured-customers/issuu.svg


File diff suppressed because it is too large
+ 0 - 0
website/themes/uppy/source/images/featured-customers/photobox.svg


+ 1 - 0
website/themes/uppy/source/images/featured-customers/zulip.svg

@@ -0,0 +1 @@
+<svg width="99" height="42" viewBox="0 0 99 42" xmlns="http://www.w3.org/2000/svg"><g><path class="zulip" fill="#B7B9BB" fill-rule="nonzero" d="M16 4.141c8.758 0 15.859 7.1 15.859 15.859 0 8.758-7.1 15.859-15.859 15.859C7.242 35.859.141 28.759.141 20c0-8.758 7.1-15.859 15.859-15.859zm4.94 7.903H9.4l1.611 3.55 6.421-.001-8.076 8.167 1.808 3.855H22.77L20.92 23.76H14.78l7.86-8.21-1.7-3.506zM52.376 27v-2.09h-6.805l6.762-10.369v-1.493H43.14v2.09h6.122L42.52 25.508V27h9.856zm8.261.256c3.243 0 5.27-1.792 5.27-6.379v-7.829h-2.368v8.021c0 3.03-1.195 4.032-2.902 4.032-1.685 0-2.816-1.002-2.816-4.032v-8.021h-2.474v7.83c0 4.586 2.069 6.378 5.29 6.378zM78.328 27v-2.09h-5.803V13.047h-2.474V27h8.277zm5.573 0V13.048h-2.474V27H83.9zm6.683 0v-5.12h2.005c3.008 0 5.312-1.43 5.312-4.523 0-3.242-2.304-4.309-5.397-4.309h-4.395V27h2.475zm1.813-7.104h-1.813v-4.864h1.728c2.07 0 3.157.576 3.157 2.325 0 1.707-1.002 2.539-3.072 2.539z"/></g></svg>

Some files were not shown because too many files changed in this diff