Skip to content

Commit 2fb820f

Browse files
committed
[Release] v1.1.0
1 parent f782980 commit 2fb820f

8 files changed

Lines changed: 277 additions & 99 deletions

File tree

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
# v1.1.0 (May 16, 2020)
2+
* Support: fury.io
3+
* Support: snyk.io
4+
* Support: badgen.net
5+
* Fix: Replace "space" with `%20`
6+
* Fix: Replace `-` with `--`
7+
* Feature: `custom` attribute. Now you can set any badge string on image url of badge services.
8+
9+
[![](https://img.shields.io/badge/donate-paypal-005EA6.svg?logo=paypal)](https://www.paypal.me/ptkdev) [![](https://img.shields.io/badge/donate-patreon-F87668.svg?logo=patreon)](https://www.patreon.com/ptkdev) [![](https://img.shields.io/badge/donate-sponsors-ea4aaa.svg?logo=github)](https://github.com/sponsors/ptkdev/) [![](https://img.shields.io/badge/donate-ko--fi-29abe0.svg?logo=ko-fi)](https://ko-fi.com/ptkdev)
10+
11+
112
# v1.0.1 (May 16, 2020)
213
* Docs: 🔑 Liquid variables
314

README.md

Lines changed: 27 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
[![Badge generator of shields.io from .all-shieldsrc dotfile: Tool to help automate your badges of shields.io from a dotfile for your markdown files. Inspired by all-contributors-cli](https://raw.githubusercontent.com/ptkdev/all-shields-cli/nightly/.github/assets/ptkdev-all-shields-cli-logo.png)](https://www.npmjs.com/package/@ptkdev/all-shields-cli)
1+
[![Badges generator from dotfiles for any markdown: Tool to help automate your badges of shields.io, badgen.net, fury.io and snyk.io from .all-shieldsrc for your markdown files. Inspired by all-contributors-cli](https://raw.githubusercontent.com/ptkdev/all-shields-cli/nightly/.github/assets/ptkdev-all-shields-cli-logo.png)](https://www.npmjs.com/package/@ptkdev/all-shields-cli)
22

3-
# 🦌 Badge generator of shields.io from .all-shieldsrc dotfile
3+
# 🦌 Badges generator from dotfiles for any markdown
44

5-
[![](https://img.shields.io/badge/version-v1.0.1-lightgrey.svg)](https://github.com/ptkdev/all-shields-cli/releases) [![](https://img.shields.io/npm/v/@ptkdev/all-shields-cli.svg)](https://www.npmjs.com/package/@ptkdev/all-shields-cli) [![](https://img.shields.io/badge/license-MIT-brightgreen.svg)](https://github.com/ptkdev/all-shields-cli/blob/master/LICENSE.md) [![](https://img.shields.io/badge/ES-9-F7DF1E.svg)](https://wikipedia.org/wiki/ECMAScript) [![](https://snyk.io/test/github/ptkdev/all-shields-cli/badge.svg)](https://snyk.io/test/github/ptkdev/all-shields-cli) [![](https://discordapp.com/api/guilds/383373985666301975/embed.png)](http://discord.ptkdev.io)
5+
[![](https://img.shields.io/badge/version-v1.1.0-lightgrey.svg)](https://github.com/ptkdev/all-shields-cli/releases) [![](https://img.shields.io/npm/v/@ptkdev/all-shields-cli.svg)](https://www.npmjs.com/package/@ptkdev/all-shields-cli) [![](https://img.shields.io/badge/license-MIT-brightgreen.svg)](https://github.com/ptkdev/all-shields-cli/blob/master/LICENSE.md) [![](https://img.shields.io/badge/ES-9-F7DF1E.svg)](https://wikipedia.org/wiki/ECMAScript) [![](https://snyk.io/test/github/ptkdev/all-shields-cli/badge.svg)](https://snyk.io/test/github/ptkdev/all-shields-cli) [![](https://discordapp.com/api/guilds/383373985666301975/embed.png)](http://discord.ptkdev.io)
66

7-
Tool to help automate your badges of shields.io from a dotfile for your markdown files. You can use Liquid variables like `{{name}}` or `{{version}}` which refer to your `package.json`. Inspired by [all-contributors-cli](https://www.npmjs.com/package/all-contributors-cli)
7+
Tool to help automate your badges of shields.io, badgen.net, fury.io and snyk.io from `.all-shieldsrc` dotfile for your markdown files. You can use Liquid variables like `{{name}}` or `{{version}}` which refer to your `package.json`. Inspired by [all-contributors-cli](https://www.npmjs.com/package/all-contributors-cli)
88

99
## 🎁 Support: Donate
1010
> This project is **free**, **open source** and I try to provide excellent **free support**. Why donate? I work on this project several hours in my spare time and try to keep it up to date and working. **THANK YOU!**
@@ -30,10 +30,17 @@ Tool to help automate your badges of shields.io from a dotfile for your markdown
3030
## 💡 Features
3131
* [✔️] Easy to use
3232
* [✔️] MIT License
33-
* [✔️] Tool to help automate your badges of shields.io from a dotfile for your markdown files. Inspired by all-contributors-cli
33+
* [✔️] Support: shields.io
34+
* [✔️] Support: fury.io
35+
* [✔️] Support: snyk.io
36+
* [✔️] Support: badgen.net
37+
* [✔️] Full customizations!
38+
* [✔️] Liquid Variables
39+
* [✔️] Tool to help automate your badges on markdown.
40+
* [✔️] Badges generator from dotfiles for any markdown
3441

3542
## 👔 Screenshot
36-
[![Badge generator of shields.io from .all-shieldsrc dotfile](https://raw.githubusercontent.com/ptkdev/all-shields-cli/nightly/.github/assets/screenshot/ptkdev-all-shields-cli-screen1.png)](https://raw.githubusercontent.com/ptkdev/all-shields-cli/nightly/.github/assets/screenshot/ptkdev-all-shields-cli-screen1.png)
43+
[![Badges generator from dotfiles for any markdown](https://raw.githubusercontent.com/ptkdev/all-shields-cli/nightly/.github/assets/screenshot/ptkdev-all-shields-cli-screen1.png)](https://raw.githubusercontent.com/ptkdev/all-shields-cli/nightly/.github/assets/screenshot/ptkdev-all-shields-cli-screen1.png)
3744

3845
## 🚀 Installation
3946
1. In your node project run: `npm install @ptkdev/all-shields-cli --save-dev`
@@ -62,7 +69,8 @@ Tool to help automate your badges of shields.io from a dotfile for your markdown
6269
"title": "package name",
6370
"message": "{{name}}",
6471
"style": "flat",
65-
"logo": ""
72+
"logo": "",
73+
"platform": "shields"
6674
}
6775
]
6876
}
@@ -98,17 +106,18 @@ In your `.all-shieldsrc` dotfile you can use liquid variables like {{name}} or {
98106

99107
## 🧰 Options: Badges Array
100108

101-
| Parameter | Description | Values | Default value | Available since |
102-
| --- | --- | --- | --- | --- |
103-
| url | If you click on badge open this url | `string` | empty | **v1.0.0** |
104-
| color | Badge hexcode color (right side) | `string` / `hexcode` | `lightgray` | **v1.0.0** |
105-
| label | Badge text (left side) | `string` | empty | **v1.0.0** |
106-
| title | Mouse hover alt text | `string` | empty | **v1.0.0** |
107-
| message | Badge text (right side) | `string` | empty | **v1.0.0** |
108-
| style | Look of badge | `plastic` / `flat` / `flat-square` / `for-the-badge` / `social` | `flat` | **v1.0.0** |
109-
| logo | Show logo (left side) | `bitcoin` / `dependabot` / `discord` / `gitlab` / `npm` / `paypal` / `serverfault` / `stackexchange` / `superuser` / `telegram` / `travis` | empty | **v1.0.0** |
110-
| platform | Switch platform | `discord` / `shields` | `shields` | **v1.0.0** |
111-
| server_id | if platform is discord, set your discord server_id | `DISCORD_SERVER_ID` | empty | **v1.0.0** |
109+
| Parameter | Description | Values | Default value | Available on platforms | Available since |
110+
| --- | --- | --- | --- | --- | --- |
111+
| platform | Define platform | `discord` / `shields` / `fury` / `snyk` / `badgen` | `shields` | | **v1.0.0** |
112+
| custom | Set custom string of image url (appended after domain url of badge service) | `string` | empty | `discord`, `shields`, `fury`, `snyk`, `badgen` | **v1.1.0** |
113+
| url | If you click on badge open this url | `URI` | empty | `discord`, `shields`, `fury`, `snyk`, `badgen` | **v1.0.0** |
114+
| color | Badge hexcode color (right side). NOTE: Overwrited if `custom` is set. | `string` / `hexcode` | `lightgray` | `shields`, `badgen` | **v1.0.0** |
115+
| label | Badge text (left side). NOTE: Overwrited if `custom` is set. | `string` | empty | `shields`, `badgen` | **v1.0.0** |
116+
| title | Mouse hover alt text | `string` | empty | `discord`, `shields`, `fury`, `snyk`, `badgen` | **v1.0.0** |
117+
| message | Badge text (right side). NOTE: Overwrited if `custom` is set. | `string` | empty | `discord`, `shields`, `fury`, `snyk`, `badgen` | **v1.0.0** |
118+
| style | Look of badge. NOTE: Overwrited if `custom` is set. | `plastic` / `flat` / `flat-square` / `for-the-badge` / `social` | `flat` | `shields` | **v1.0.0** |
119+
| logo | Show logo (left side). NOTE: Overwrited if `custom` is set. | shields: `bitcoin` , `dependabot` , `discord` , `gitlab` , `npm` , `paypal` , `serverfault` , `stackexchange` , `superuser` , `telegram` , `travis` and more on [docs](https://shields.io/). <br><br> badgen: `airbnb`, `apple`, `appveyor`, `atom`, `awesome`, `azure`, `azurepipelines`, `bitcoin`, `buymeacoffee`, `chrome`, `circleci`, `cocoapods`, `codacy`, `codebeat`, `codeclimate`, `codecov`, `codeship`, `commonwl`, `deepscan`, `dependabot`, `discord`, `dockbit`, `docker`, `eclipse`, `firefox`, `flow`, `git`, `github`, `gitlab`, `gitter`, `googleplay`, `graphql`, `haskell`, `jsdelivr` and more on [docs](https://badgen.net/) | empty | `shields`, `badgen` | **v1.0.0** |
120+
| server_id | if platform is discord, set your discord server_id | `DISCORD_SERVER_ID` | empty | `discord` | **v1.0.0** |
112121

113122
## 🔨 Developer Mode
114123
1. Download [stable](https://github.com/ptkdev/all-shields-cli/archive/master.zip), [beta](https://github.com/ptkdev/all-shields-cli/archive/beta.zip) or [nightly](https://github.com/ptkdev/all-shields-cli/archive/nightly.zip) and extract it.

cli/generate.js

Lines changed: 35 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
/**
33
* CLI: all-shields-cli
44
* =====================
5-
* Tool to help automate your badges of shields.io from a dotfile for your markdown files
5+
* Tool to help automate your badges from dotfiles for your markdown.
66
*
77
* @contributors: Patryk Rzucidło [@ptkdev] <support@ptkdev.io> (https://ptk.dev)
88
*
@@ -36,8 +36,9 @@ for (let j = 0; j < json.files.length; j++) {
3636
for (let i = 0; i < json.shields[z].badges.length; i++) {
3737

3838
let badge = {
39+
"custom": json.shields[z].badges[i].custom === undefined || json.shields[z].badges[i].custom === null ? "" : json.shields[z].badges[i].custom,
3940
"url": json.shields[z].badges[i].url === undefined || json.shields[z].badges[i].url === null ? "" : json.shields[z].badges[i].url,
40-
"color": json.shields[z].badges[i].color === undefined || json.shields[z].badges[i].color === null ? "" : json.shields[z].badges[i].color,
41+
"color": json.shields[z].badges[i].color === undefined || json.shields[z].badges[i].color === null ? "lightgray" : json.shields[z].badges[i].color,
4142
"label": json.shields[z].badges[i].label === undefined || json.shields[z].badges[i].label === null ? "" : json.shields[z].badges[i].label,
4243
"title": json.shields[z].badges[i].title === undefined || json.shields[z].badges[i].title === null ? "" : json.shields[z].badges[i].title,
4344
"message": json.shields[z].badges[i].message === undefined || json.shields[z].badges[i].message === null ? "" : json.shields[z].badges[i].message,
@@ -49,10 +50,40 @@ for (let j = 0; j < json.files.length; j++) {
4950

5051
switch (badge.platform) {
5152
case "discord":
52-
replacement = `${replacement}[![${badge.title}](https://discordapp.com/api/guilds/${badge.server_id}/embed.png)](${badge.url}) `;
53+
if (badge.custom !== "") {
54+
replacement = `${replacement}[![${badge.title}](https://discordapp.com${badge.custom})](${badge.url}) `;
55+
} else {
56+
replacement = `${replacement}[![${badge.title}](https://discordapp.com/api/guilds/${badge.server_id}/embed.png)](${badge.url}) `;
57+
}
58+
break;
59+
case "fury":
60+
if (badge.custom !== "") {
61+
replacement = `${replacement}[![${badge.title}](https://badge.fury.io${badge.custom})](${badge.url}) `;
62+
} else {
63+
replacement = `${replacement}[![${badge.title}](https://badge.fury.io/js/${badge.message.replace(new RegExp("\\s", "g"), "%20").replace(new RegExp("-", "g"), "--")}.svg)](${badge.url}) `;
64+
}
65+
break;
66+
case "snyk":
67+
if (badge.custom !== "") {
68+
replacement = `${replacement}[![${badge.title}](https://snyk.io${badge.custom})](${badge.url}) `;
69+
} else {
70+
replacement = `${replacement}[![${badge.title}](https://snyk.io/test/${badge.message.replace(new RegExp("\\s", "g"), "%20").replace(new RegExp("-", "g"), "--")}.svg)](${badge.url}) `;
71+
}
72+
break;
73+
case "badgen":
74+
if (badge.custom !== "") {
75+
replacement = `${replacement}[![${badge.title}](https://badgen.net${badge.custom})](${badge.url}) `;
76+
} else {
77+
replacement = `${replacement}[![${badge.title}](https://badgen.net/badge/${badge.label.replace(new RegExp("\\s", "g"), "%20")}/${badge.message.replace(new RegExp("\\s", "g"), "%20")}/${badge.color.replace("#", "")}/?icon=${badge.logo})](${badge.url}) `;
78+
}
5379
break;
5480
default:
55-
replacement = `${replacement}[![${badge.title}](https://img.shields.io/badge/${badge.label.replace(" ", "%20")}-${badge.message.replace(" ", "%20")}-${badge.color.replace("#", "")}.svg?style=${badge.style}&logo=${badge.logo})](${badge.url}) `;
81+
if (badge.custom !== "") {
82+
replacement = `${replacement}[![${badge.title}](https://img.shields.io${badge.custom})](${badge.url}) `;
83+
} else {
84+
replacement = `${replacement}[![${badge.title}](https://img.shields.io/badge/${badge.label.replace(new RegExp("\\s", "g"), "%20").replace(new RegExp("-", "g"), "--")}-${badge.message.replace(new RegExp("\\s", "g"), "%20").replace(new RegExp("-", "g"), "--")}-${badge.color.replace("#", "")}.svg?style=${badge.style}&logo=${badge.logo})](${badge.url}) `;
85+
}
86+
5687
}
5788
}
5889

examples/.all-shieldsrc

Lines changed: 148 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,150 @@
11
{
2-
"files": [
3-
"README.md"
4-
],
5-
"shields": [
6-
{
7-
"id": "badge-top",
8-
"badges": [
9-
{
10-
"url": "https://www.npmjs.com/package/@ptkdev/all-shields-cli",
11-
"color": "lightgray",
12-
"label": "package name",
13-
"title": "package name",
14-
"message": "{{name}}",
15-
"style": "flat",
16-
"logo": ""
17-
},
18-
{
19-
"url": "https://www.npmjs.com/package/@ptkdev/all-shields-cli",
20-
"color": "#c0392b",
21-
"label": "version",
22-
"title": "npm version",
23-
"message": "current: {{version}}",
24-
"style": "flat",
25-
"logo": "npm"
26-
},
27-
{
28-
"url": "https://discord.ptkdev.io",
29-
"server_id": "383373985666301975",
30-
"title": "discord server",
31-
"platform": "discord"
32-
}
33-
]
34-
},
35-
{
36-
"id": "badge-bottom",
37-
"badges": [
38-
{
39-
"url": "https://www.ptk.dev",
40-
"color": "#8e44ad",
41-
"label": "website",
42-
"title": "my website",
43-
"message": "ptkdev",
44-
"style": "plastic",
45-
"logo": ""
46-
},
47-
{
48-
"url": "https://patreon.com/ptkdev",
49-
"color": "#f96854",
50-
"label": "donate",
51-
"title": "donate on patreon",
52-
"message": "patreon",
53-
"style": "plastic",
54-
"logo": "patreon"
55-
}
56-
]
57-
}
58-
]
2+
"files": [
3+
"README.md"
4+
],
5+
"shields": [
6+
{
7+
"id": "shields-badge",
8+
"badges": [
9+
{
10+
"url": "https://www.npmjs.com/package/@ptkdev/all-shields-cli",
11+
"color": "lightgray",
12+
"label": "package name",
13+
"title": "package name",
14+
"message": "{{name}}",
15+
"style": "flat",
16+
"logo": "",
17+
"platform": "shields"
18+
},
19+
{
20+
"url": "https://www.npmjs.com/package/@ptkdev/all-shields-cli",
21+
"color": "#c0392b",
22+
"label": "version",
23+
"title": "npm version",
24+
"message": "current: {{version}}",
25+
"style": "flat",
26+
"logo": "npm",
27+
"platform": "shields"
28+
},
29+
{
30+
"url": "https://www.ptk.dev",
31+
"color": "#8e44ad",
32+
"label": "website",
33+
"title": "my website",
34+
"message": "ptkdev",
35+
"style": "plastic",
36+
"logo": "",
37+
"platform": "shields"
38+
},
39+
{
40+
"url": "https://patreon.com/ptkdev",
41+
"color": "#f96854",
42+
"label": "donate",
43+
"title": "donate on patreon",
44+
"message": "patreon",
45+
"style": "plastic",
46+
"logo": "patreon",
47+
"platform": "shields"
48+
},
49+
{
50+
"custom": "/github/followers/ptkdev?label=Follow",
51+
"platform": "shields"
52+
},
53+
{
54+
"custom": "/npm/v/@ptkdev/all-shields-cli",
55+
"platform": "shields"
56+
}
57+
]
58+
},
59+
{
60+
"id": "badgen-badge",
61+
"badges": [
62+
{
63+
"url": "https://www.npmjs.com/package/@ptkdev/all-shields-cli",
64+
"color": "#ae22cc",
65+
"label": "package name",
66+
"title": "package name",
67+
"message": "{{name}}",
68+
"platform": "badgen"
69+
},
70+
{
71+
"url": "https://www.npmjs.com/package/@ptkdev/all-shields-cli",
72+
"color": "#c0392b",
73+
"label": "version",
74+
"title": "npm version",
75+
"message": "current: {{version}}",
76+
"logo": "npm",
77+
"platform": "badgen"
78+
},
79+
{
80+
"url": "https://www.ptk.dev",
81+
"color": "#8e44ad",
82+
"label": "website",
83+
"title": "my website",
84+
"message": "ptkdev",
85+
"platform": "badgen"
86+
},
87+
{
88+
"url": "https://patreon.com/ptkdev",
89+
"color": "#f96854",
90+
"label": "donate",
91+
"title": "donate on patreon",
92+
"message": "patreon",
93+
"logo": "patreon",
94+
"platform": "badgen"
95+
},
96+
{
97+
"custom": "/github/assets-dl/ptkdev/all-shields-cli",
98+
"platform": "badgen"
99+
},
100+
{
101+
"custom": "/github/last-commit/ptkdev/all-shields-cli",
102+
"platform": "badgen"
103+
},
104+
{
105+
"custom": "/github/status/micromatch/micromatch/f4809eb6df80b",
106+
"platform": "badgen"
107+
}
108+
]
109+
},
110+
{
111+
"id": "fury-badge",
112+
"badges": [
113+
{
114+
"url": "https://github.com/ptkdev/all-shields-cli/",
115+
"title": "version",
116+
"custom": "/js/%40ptkdev%2Flogger.svg",
117+
"platform": "fury"
118+
},
119+
{
120+
"url": "https://github.com/ptkdev/all-shields-cli/",
121+
"title": "version",
122+
"message": "%40ptkdev%2Flogger",
123+
"platform": "fury"
124+
}
125+
]
126+
},
127+
{
128+
"id": "snyk-badge",
129+
"badges": [
130+
{
131+
"url": "https://github.com/ptkdev/all-shields-cli/",
132+
"title": "snyk vuln checks",
133+
"custom": "/test/github/ptkdev/all-shields-cli/badge.svg",
134+
"platform": "snyk"
135+
}
136+
]
137+
},
138+
{
139+
"id": "discord-badge",
140+
"badges": [
141+
{
142+
"url": "https://discord.ptkdev.io",
143+
"server_id": "383373985666301975",
144+
"title": "discord server",
145+
"platform": "discord"
146+
}
147+
]
148+
}
149+
]
59150
}

0 commit comments

Comments
 (0)