diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 00000000..854a651b
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,13 @@
+name: "Automated releases"
+on:
+ schedule:
+ # "At 00:00 on Sunday" (https://crontab.guru/once-a-week)
+ - cron: "0 0 * * 0"
+
+jobs:
+ release:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: simple-icons/release-action@master
+ with:
+ repo-token: "${{ secrets.GITHUB_TOKEN }}"
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 438a380d..7681015e 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -65,7 +65,9 @@ There are many different tools for editing SVG files, some options include:
Using your preferred tool you should:
-1. Isolate the icon from any text or extraneous items. Please also make sure that there are no overlapping paths by merging them.
+1. Isolate the icon from any text or extraneous items.
+1. Merge any overlapping paths.
+1. Compound all paths into one.
1. Change the icon's viewbox/canvas/page size to 24x24.
1. Scale the icon to fit the viewbox, while preserving the icon's original proportions. This means the icon should be touching at least two sides of the viewbox.
1. Center the icon horizontally and vertically.
diff --git a/README.md b/README.md
index d3313c1e..a9dd3312 100644
--- a/README.md
+++ b/README.md
@@ -15,20 +15,22 @@ Icons can be downloaded as SVGs directly from [our website](https://simpleicons.
### CDN Usage
-Icons can be served from a CDN such as [JSDelivr](https://www.jsdelivr.com/package/npm/simple-icons) or [Unpkg](https://unpkg.com). Simply use the `simple-icons` npm package and specify a version in the URL like the following:
+Icons can be served from a CDN such as [JSDelivr](https://www.jsdelivr.com/package/npm/simple-icons) or [Unpkg](https://unpkg.com/browse/simple-icons/). Simply use the `simple-icons` npm package and specify a version in the URL like the following:
```html
-
-
+
+
```
Where `[ICON NAME]` is replaced by the icon name, for example:
```html
-
-
+
+
```
+These examples use the latest major version. This means you won't receive any updates following the next major release. You can use `@latest` instead to receive updates indefinitely. However, this will result in a `404` error if the icon is removed.
+
### Node Usage
The icons are also available through our npm package. To install, simply run:
diff --git a/_data/simple-icons.json b/_data/simple-icons.json
index 77182e81..d4bccb25 100644
--- a/_data/simple-icons.json
+++ b/_data/simple-icons.json
@@ -485,6 +485,11 @@
"hex": "000000",
"source": "https://commons.wikimedia.org/wiki/File:AppleTV.svg"
},
+ {
+ "title": "AppSignal",
+ "hex": "21375A",
+ "source": "https://appsignal.com/"
+ },
{
"title": "AppVeyor",
"hex": "00B3E0",
@@ -545,6 +550,11 @@
"hex": "DB3552",
"source": "https://ask.fm/"
},
+ {
+ "title": "ASUS",
+ "hex": "000000",
+ "source": "https://www.asus.com/"
+ },
{
"title": "AT&T",
"hex": "00A8E0",
@@ -725,6 +735,11 @@
"hex": "004A9D",
"source": "https://commons.wikimedia.org/wiki/File:Beijing_Subway_logo.svg"
},
+ {
+ "title": "Bentley",
+ "hex": "333333",
+ "source": "https://en.wikipedia.org/wiki/File:Bentley_logo.svg"
+ },
{
"title": "Big Cartel",
"hex": "222222",
@@ -860,6 +875,11 @@
"hex": "CC092F",
"source": "https://en.wikipedia.org/wiki/Broadcom_Inc"
},
+ {
+ "title": "BT",
+ "hex": "6400AA",
+ "source": "https://www.bt.com/"
+ },
{
"title": "Buddy",
"hex": "1A86FD",
@@ -1000,6 +1020,11 @@
"hex": "117ACA",
"source": "https://commons.wikimedia.org/wiki/File:Chase_logo_2007.svg"
},
+ {
+ "title": "Checkmarx",
+ "hex": "54B848",
+ "source": "https://www.checkmarx.com/resources/datasheets/"
+ },
{
"title": "Chef",
"hex": "F09820",
@@ -1120,6 +1145,11 @@
"hex": "EE3322",
"source": "https://github.com/CocoaPods/shared_resources"
},
+ {
+ "title": "Coda",
+ "hex": "F46A54",
+ "source": "https://coda.io/"
+ },
{
"title": "Codacy",
"hex": "222F29",
@@ -1925,6 +1955,11 @@
"hex": "000000",
"source": "http://flask.pocoo.org/community/logos/"
},
+ {
+ "title": "Flathub",
+ "hex": "4A86CF",
+ "source": "https://flathub.org/"
+ },
{
"title": "Flattr",
"hex": "000000",
@@ -2095,6 +2130,11 @@
"hex": "738A94",
"source": "https://ghost.org/design"
},
+ {
+ "title": "Ghostery",
+ "hex": "00BAF2",
+ "source": "https://www.ghostery.com/"
+ },
{
"title": "GIMP",
"hex": "5C5543",
@@ -2200,6 +2240,11 @@
"hex": "478CBF",
"source": "https://godotengine.org/themes/godotengine/assets/download/godot_logo.svg"
},
+ {
+ "title": "GoFundMe",
+ "hex": "00B964",
+ "source": "https://www.gofundme.com/"
+ },
{
"title": "GOG.com",
"hex": "86328A",
@@ -2435,6 +2480,11 @@
"hex": "FBA919",
"source": "https://github.com/gruntjs/gruntjs.com/tree/master/src/media"
},
+ {
+ "title": "Guangzhou Metro",
+ "hex": "C51935",
+ "source": "https://commons.wikimedia.org/wiki/File:Guangzhou_Metro_logo.svg"
+ },
{
"title": "Gulp",
"hex": "DA4648",
@@ -2995,6 +3045,11 @@
"hex": "000000",
"source": "https://www.foundry.com/products/katana"
},
+ {
+ "title": "KDE",
+ "hex": "1D99F3",
+ "source": "https://kde.org/stuff/clipart.php"
+ },
{
"title": "KeePassXC",
"hex": "6CAC4D",
@@ -3085,6 +3140,11 @@
"hex": "00B057",
"source": "https://koding.com/About"
},
+ {
+ "title": "Kofax",
+ "hex": "00558C",
+ "source": "https://www.kofax.com/styleguide/logos"
+ },
{
"title": "Kotlin",
"hex": "0095D5",
@@ -3515,6 +3575,11 @@
"hex": "DE4F4F",
"source": "http://logo.meteorapp.com/"
},
+ {
+ "title": "Métro de Paris",
+ "hex": "003E95",
+ "source": "https://www.ratp.fr/"
+ },
{
"title": "micro:bit",
"hex": "00ED00",
@@ -3665,6 +3730,11 @@
"hex": "DB1F29",
"source": "https://www.mojang.com/"
},
+ {
+ "title": "Moleculer",
+ "hex": "3CAFCE",
+ "source": "https://moleculer.services/"
+ },
{
"title": "Monero",
"hex": "FF6600",
@@ -3700,6 +3770,11 @@
"hex": "00945E",
"source": "https://www.moo.com/uk/about/press.html"
},
+ {
+ "title": "Moscow Metro",
+ "hex": "D9232E",
+ "source": "https://mosmetro.ru/"
+ },
{
"title": "Mozilla",
"hex": "000000",
@@ -3720,6 +3795,11 @@
"hex": "0039A6",
"source": "https://mta.info/"
},
+ {
+ "title": "MTR",
+ "hex": "AC2E45",
+ "source": "https://commons.wikimedia.org/wiki/File:MTR_(logo_with_text).svg"
+ },
{
"title": "MuseScore",
"hex": "1A70B8",
@@ -4085,6 +4165,11 @@
"hex": "212121",
"source": "https://pagekit.com/logo-guide"
},
+ {
+ "title": "PagerDuty",
+ "hex": "06AC38",
+ "source": "https://www.pagerduty.com/brand/"
+ },
{
"title": "PagSeguro",
"hex": "FFC801",
@@ -4215,6 +4300,11 @@
"hex": "517A9E",
"source": "https://www.pivotaltracker.com/branding-guidelines"
},
+ {
+ "title": "Piwigo",
+ "hex": "FF7700",
+ "source": "https://github.com/Piwigo/piwigodotorg/blob/6edb840c16257314caec770a9a51f67ef81836e4/images/piwigo.org.svg"
+ },
{
"title": "Pixabay",
"hex": "2EC66D",
@@ -4355,6 +4445,16 @@
"hex": "50FA7B",
"source": "https://github.com/liyasthomas/postwoman"
},
+ {
+ "title": "Power BI",
+ "hex": "F2C811",
+ "source": "https://powerbi.microsoft.com/en-us/"
+ },
+ {
+ "title": "POWERS",
+ "hex": "D21F3C",
+ "source": "https://www.powerswhiskey.com/"
+ },
{
"title": "PowerShell",
"hex": "5391FE",
@@ -4665,6 +4765,16 @@
"hex": "00CCBB",
"source": "https://c5.rgstatic.net/m/428059296771819/images/favicon/favicon.svg"
},
+ {
+ "title": "RetroArch",
+ "hex": "000000",
+ "source": "https://github.com/libretro/RetroArch/blob/b01aabf7d1f025999ad0f7812e6e6816d011e631/media/retroarch.svg"
+ },
+ {
+ "title": "RetroPie",
+ "hex": "CC0000",
+ "source": "https://github.com/RetroPie/RetroPie-Docs/blob/c4e882bd2c9d740c591ff346e07a4a4cb536ca93/images/logo.svg"
+ },
{
"title": "ReverbNation",
"hex": "E43526",
@@ -4885,6 +4995,11 @@
"hex": "FD5750",
"source": "https://serverless.com/"
},
+ {
+ "title": "Shanghai Metro",
+ "hex": "EC1C24",
+ "source": "https://en.wikipedia.org/wiki/File:Shanghai_Metro_Full_Logo.svg"
+ },
{
"title": "Shazam",
"hex": "0088FF",
@@ -5650,6 +5765,11 @@
"hex": "303030",
"source": "https://tio.run/"
},
+ {
+ "title": "TUI",
+ "hex": "70CBF4",
+ "source": "https://www.tuiholidays.ie/"
+ },
{
"title": "Tumblr",
"hex": "36465D",
@@ -5780,6 +5900,11 @@
"hex": "3930D8",
"source": "https://www.uplabs.com/"
},
+ {
+ "title": "Uploaded",
+ "hex": "0E70CB",
+ "source": "https://www.uploaded.net"
+ },
{
"title": "Upwork",
"hex": "6FDA44",
diff --git a/icons/appsignal.svg b/icons/appsignal.svg
new file mode 100644
index 00000000..b3c0f462
--- /dev/null
+++ b/icons/appsignal.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/asus.svg b/icons/asus.svg
new file mode 100644
index 00000000..7227c2dd
--- /dev/null
+++ b/icons/asus.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/bentley.svg b/icons/bentley.svg
new file mode 100644
index 00000000..cbbe29b1
--- /dev/null
+++ b/icons/bentley.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/bt.svg b/icons/bt.svg
new file mode 100644
index 00000000..c94a6e46
--- /dev/null
+++ b/icons/bt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/checkmarx.svg b/icons/checkmarx.svg
new file mode 100644
index 00000000..48df0fdd
--- /dev/null
+++ b/icons/checkmarx.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/coda.svg b/icons/coda.svg
new file mode 100644
index 00000000..ff916e60
--- /dev/null
+++ b/icons/coda.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/flathub.svg b/icons/flathub.svg
new file mode 100644
index 00000000..1efc9b09
--- /dev/null
+++ b/icons/flathub.svg
@@ -0,0 +1 @@
+
diff --git a/icons/ghostery.svg b/icons/ghostery.svg
new file mode 100644
index 00000000..04160fcb
--- /dev/null
+++ b/icons/ghostery.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/gofundme.svg b/icons/gofundme.svg
new file mode 100644
index 00000000..99e50574
--- /dev/null
+++ b/icons/gofundme.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/guangzhoumetro.svg b/icons/guangzhoumetro.svg
new file mode 100644
index 00000000..e47a6b5f
--- /dev/null
+++ b/icons/guangzhoumetro.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/kde.svg b/icons/kde.svg
new file mode 100644
index 00000000..306db765
--- /dev/null
+++ b/icons/kde.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/kofax.svg b/icons/kofax.svg
new file mode 100644
index 00000000..782fd84f
--- /dev/null
+++ b/icons/kofax.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/metrodeparis.svg b/icons/metrodeparis.svg
new file mode 100644
index 00000000..0fcf8690
--- /dev/null
+++ b/icons/metrodeparis.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/moleculer.svg b/icons/moleculer.svg
new file mode 100644
index 00000000..d1b12bd7
--- /dev/null
+++ b/icons/moleculer.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/moscowmetro.svg b/icons/moscowmetro.svg
new file mode 100644
index 00000000..86ce57fa
--- /dev/null
+++ b/icons/moscowmetro.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/mtr.svg b/icons/mtr.svg
new file mode 100644
index 00000000..2938717d
--- /dev/null
+++ b/icons/mtr.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/pagerduty.svg b/icons/pagerduty.svg
new file mode 100644
index 00000000..e28e95d4
--- /dev/null
+++ b/icons/pagerduty.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/piwigo.svg b/icons/piwigo.svg
new file mode 100644
index 00000000..61935738
--- /dev/null
+++ b/icons/piwigo.svg
@@ -0,0 +1 @@
+
diff --git a/icons/powerbi.svg b/icons/powerbi.svg
new file mode 100644
index 00000000..f750ee78
--- /dev/null
+++ b/icons/powerbi.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/powers.svg b/icons/powers.svg
new file mode 100644
index 00000000..baf25520
--- /dev/null
+++ b/icons/powers.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/retroarch.svg b/icons/retroarch.svg
new file mode 100644
index 00000000..3b7c7315
--- /dev/null
+++ b/icons/retroarch.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/retropie.svg b/icons/retropie.svg
new file mode 100644
index 00000000..4c4f1fd4
--- /dev/null
+++ b/icons/retropie.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/shanghaimetro.svg b/icons/shanghaimetro.svg
new file mode 100644
index 00000000..bda77cfd
--- /dev/null
+++ b/icons/shanghaimetro.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/tui.svg b/icons/tui.svg
new file mode 100644
index 00000000..34c1f680
--- /dev/null
+++ b/icons/tui.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/uploaded.svg b/icons/uploaded.svg
new file mode 100644
index 00000000..b62084ee
--- /dev/null
+++ b/icons/uploaded.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index f5b8dc10..9a1b101d 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "simple-icons",
- "version": "2.9.0",
+ "version": "2.10.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -6953,4 +6953,4 @@
}
}
}
-}
+}
\ No newline at end of file
diff --git a/package.json b/package.json
index db41fc25..5a1cd3a5 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "simple-icons",
- "version": "2.9.0",
+ "version": "2.10.0",
"description": "SVG icons for popular brands https://simpleicons.org",
"homepage": "https://www.simpleicons.org",
"keywords": [
@@ -40,4 +40,4 @@
"svgo": "svgo --config=./.svgo.yml",
"get-filename": "node scripts/get-filename.js"
}
-}
+}
\ No newline at end of file
diff --git a/tests/icons.test.js b/tests/icons.test.js
index f3e551f0..455c3b00 100644
--- a/tests/icons.test.js
+++ b/tests/icons.test.js
@@ -24,7 +24,7 @@ icons.forEach(icon => {
test(`${icon.title} has a "path"`, () => {
expect(typeof subject.path).toBe('string');
- expect(subject.path).toMatch(/[MmZzLlHhVvCcSsQqTtAa0-9-,.\s]/g);
+ expect(subject.path).toMatch(/[MmZzLlHhVvCcSsQqTtAae0-9-,.\s]/g);
});
test(`${icon.title} has a "slug"`, () => {
diff --git a/tests/index.test.js b/tests/index.test.js
index 5a01f200..29ba3ef6 100644
--- a/tests/index.test.js
+++ b/tests/index.test.js
@@ -24,7 +24,7 @@ icons.forEach(icon => {
test(`${icon.title} has a "path"`, () => {
expect(typeof subject.path).toBe('string');
- expect(subject.path).toMatch(/^[MmZzLlHhVvCcSsQqTtAa0-9-,.\s]+$/g);
+ expect(subject.path).toMatch(/^[MmZzLlHhVvCcSsQqTtAae0-9-,.\s]+$/g);
});
test(`${icon.title} has a "slug"`, () => {