Skip to content

Commit

Permalink
[Release] v1.1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
ptkdev committed May 16, 2020
1 parent f782980 commit 2fb820f
Show file tree
Hide file tree
Showing 8 changed files with 277 additions and 99 deletions.
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
# v1.1.0 (May 16, 2020)
* Support: fury.io
* Support: snyk.io
* Support: badgen.net
* Fix: Replace "space" with `%20`
* Fix: Replace `-` with `--`
* Feature: `custom` attribute. Now you can set any badge string on image url of badge services.

[![](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)


# v1.0.1 (May 16, 2020)
* Docs: 🔑 Liquid variables

Expand Down
45 changes: 27 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
[![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)
[![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)

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

[![](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)
[![](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)

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)
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)

## 🎁 Support: Donate
> 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!**
Expand All @@ -30,10 +30,17 @@ Tool to help automate your badges of shields.io from a dotfile for your markdown
## 💡 Features
* [✔️] Easy to use
* [✔️] MIT License
* [✔️] Tool to help automate your badges of shields.io from a dotfile for your markdown files. Inspired by all-contributors-cli
* [✔️] Support: shields.io
* [✔️] Support: fury.io
* [✔️] Support: snyk.io
* [✔️] Support: badgen.net
* [✔️] Full customizations!
* [✔️] Liquid Variables
* [✔️] Tool to help automate your badges on markdown.
* [✔️] Badges generator from dotfiles for any markdown

## 👔 Screenshot
[![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)
[![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)

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

## 🧰 Options: Badges Array

| Parameter | Description | Values | Default value | Available since |
| --- | --- | --- | --- | --- |
| url | If you click on badge open this url | `string` | empty | **v1.0.0** |
| color | Badge hexcode color (right side) | `string` / `hexcode` | `lightgray` | **v1.0.0** |
| label | Badge text (left side) | `string` | empty | **v1.0.0** |
| title | Mouse hover alt text | `string` | empty | **v1.0.0** |
| message | Badge text (right side) | `string` | empty | **v1.0.0** |
| style | Look of badge | `plastic` / `flat` / `flat-square` / `for-the-badge` / `social` | `flat` | **v1.0.0** |
| logo | Show logo (left side) | `bitcoin` / `dependabot` / `discord` / `gitlab` / `npm` / `paypal` / `serverfault` / `stackexchange` / `superuser` / `telegram` / `travis` | empty | **v1.0.0** |
| platform | Switch platform | `discord` / `shields` | `shields` | **v1.0.0** |
| server_id | if platform is discord, set your discord server_id | `DISCORD_SERVER_ID` | empty | **v1.0.0** |
| Parameter | Description | Values | Default value | Available on platforms | Available since |
| --- | --- | --- | --- | --- | --- |
| platform | Define platform | `discord` / `shields` / `fury` / `snyk` / `badgen` | `shields` | | **v1.0.0** |
| custom | Set custom string of image url (appended after domain url of badge service) | `string` | empty | `discord`, `shields`, `fury`, `snyk`, `badgen` | **v1.1.0** |
| url | If you click on badge open this url | `URI` | empty | `discord`, `shields`, `fury`, `snyk`, `badgen` | **v1.0.0** |
| color | Badge hexcode color (right side). NOTE: Overwrited if `custom` is set. | `string` / `hexcode` | `lightgray` | `shields`, `badgen` | **v1.0.0** |
| label | Badge text (left side). NOTE: Overwrited if `custom` is set. | `string` | empty | `shields`, `badgen` | **v1.0.0** |
| title | Mouse hover alt text | `string` | empty | `discord`, `shields`, `fury`, `snyk`, `badgen` | **v1.0.0** |
| message | Badge text (right side). NOTE: Overwrited if `custom` is set. | `string` | empty | `discord`, `shields`, `fury`, `snyk`, `badgen` | **v1.0.0** |
| style | Look of badge. NOTE: Overwrited if `custom` is set. | `plastic` / `flat` / `flat-square` / `for-the-badge` / `social` | `flat` | `shields` | **v1.0.0** |
| 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** |
| server_id | if platform is discord, set your discord server_id | `DISCORD_SERVER_ID` | empty | `discord` | **v1.0.0** |

## 🔨 Developer Mode
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.
Expand Down
39 changes: 35 additions & 4 deletions cli/generate.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
/**
* CLI: all-shields-cli
* =====================
* Tool to help automate your badges of shields.io from a dotfile for your markdown files
* Tool to help automate your badges from dotfiles for your markdown.
*
* @contributors: Patryk Rzucidło [@ptkdev] <support@ptkdev.io> (https://ptk.dev)
*
Expand Down Expand Up @@ -36,8 +36,9 @@ for (let j = 0; j < json.files.length; j++) {
for (let i = 0; i < json.shields[z].badges.length; i++) {

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

switch (badge.platform) {
case "discord":
replacement = `${replacement}[![${badge.title}](https://discordapp.com/api/guilds/${badge.server_id}/embed.png)](${badge.url}) `;
if (badge.custom !== "") {
replacement = `${replacement}[![${badge.title}](https://discordapp.com${badge.custom})](${badge.url}) `;
} else {
replacement = `${replacement}[![${badge.title}](https://discordapp.com/api/guilds/${badge.server_id}/embed.png)](${badge.url}) `;
}
break;
case "fury":
if (badge.custom !== "") {
replacement = `${replacement}[![${badge.title}](https://badge.fury.io${badge.custom})](${badge.url}) `;
} else {
replacement = `${replacement}[![${badge.title}](https://badge.fury.io/js/${badge.message.replace(new RegExp("\\s", "g"), "%20").replace(new RegExp("-", "g"), "--")}.svg)](${badge.url}) `;
}
break;
case "snyk":
if (badge.custom !== "") {
replacement = `${replacement}[![${badge.title}](https://snyk.io${badge.custom})](${badge.url}) `;
} else {
replacement = `${replacement}[![${badge.title}](https://snyk.io/test/${badge.message.replace(new RegExp("\\s", "g"), "%20").replace(new RegExp("-", "g"), "--")}.svg)](${badge.url}) `;
}
break;
case "badgen":
if (badge.custom !== "") {
replacement = `${replacement}[![${badge.title}](https://badgen.net${badge.custom})](${badge.url}) `;
} else {
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}) `;
}
break;
default:
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}) `;
if (badge.custom !== "") {
replacement = `${replacement}[![${badge.title}](https://img.shields.io${badge.custom})](${badge.url}) `;
} else {
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}) `;
}

}
}

Expand Down
205 changes: 148 additions & 57 deletions examples/.all-shieldsrc
Original file line number Diff line number Diff line change
@@ -1,59 +1,150 @@
{
"files": [
"README.md"
],
"shields": [
{
"id": "badge-top",
"badges": [
{
"url": "https://www.npmjs.com/package/@ptkdev/all-shields-cli",
"color": "lightgray",
"label": "package name",
"title": "package name",
"message": "{{name}}",
"style": "flat",
"logo": ""
},
{
"url": "https://www.npmjs.com/package/@ptkdev/all-shields-cli",
"color": "#c0392b",
"label": "version",
"title": "npm version",
"message": "current: {{version}}",
"style": "flat",
"logo": "npm"
},
{
"url": "https://discord.ptkdev.io",
"server_id": "383373985666301975",
"title": "discord server",
"platform": "discord"
}
]
},
{
"id": "badge-bottom",
"badges": [
{
"url": "https://www.ptk.dev",
"color": "#8e44ad",
"label": "website",
"title": "my website",
"message": "ptkdev",
"style": "plastic",
"logo": ""
},
{
"url": "https://patreon.com/ptkdev",
"color": "#f96854",
"label": "donate",
"title": "donate on patreon",
"message": "patreon",
"style": "plastic",
"logo": "patreon"
}
]
}
]
"files": [
"README.md"
],
"shields": [
{
"id": "shields-badge",
"badges": [
{
"url": "https://www.npmjs.com/package/@ptkdev/all-shields-cli",
"color": "lightgray",
"label": "package name",
"title": "package name",
"message": "{{name}}",
"style": "flat",
"logo": "",
"platform": "shields"
},
{
"url": "https://www.npmjs.com/package/@ptkdev/all-shields-cli",
"color": "#c0392b",
"label": "version",
"title": "npm version",
"message": "current: {{version}}",
"style": "flat",
"logo": "npm",
"platform": "shields"
},
{
"url": "https://www.ptk.dev",
"color": "#8e44ad",
"label": "website",
"title": "my website",
"message": "ptkdev",
"style": "plastic",
"logo": "",
"platform": "shields"
},
{
"url": "https://patreon.com/ptkdev",
"color": "#f96854",
"label": "donate",
"title": "donate on patreon",
"message": "patreon",
"style": "plastic",
"logo": "patreon",
"platform": "shields"
},
{
"custom": "/github/followers/ptkdev?label=Follow",
"platform": "shields"
},
{
"custom": "/npm/v/@ptkdev/all-shields-cli",
"platform": "shields"
}
]
},
{
"id": "badgen-badge",
"badges": [
{
"url": "https://www.npmjs.com/package/@ptkdev/all-shields-cli",
"color": "#ae22cc",
"label": "package name",
"title": "package name",
"message": "{{name}}",
"platform": "badgen"
},
{
"url": "https://www.npmjs.com/package/@ptkdev/all-shields-cli",
"color": "#c0392b",
"label": "version",
"title": "npm version",
"message": "current: {{version}}",
"logo": "npm",
"platform": "badgen"
},
{
"url": "https://www.ptk.dev",
"color": "#8e44ad",
"label": "website",
"title": "my website",
"message": "ptkdev",
"platform": "badgen"
},
{
"url": "https://patreon.com/ptkdev",
"color": "#f96854",
"label": "donate",
"title": "donate on patreon",
"message": "patreon",
"logo": "patreon",
"platform": "badgen"
},
{
"custom": "/github/assets-dl/ptkdev/all-shields-cli",
"platform": "badgen"
},
{
"custom": "/github/last-commit/ptkdev/all-shields-cli",
"platform": "badgen"
},
{
"custom": "/github/status/micromatch/micromatch/f4809eb6df80b",
"platform": "badgen"
}
]
},
{
"id": "fury-badge",
"badges": [
{
"url": "https://github.com/ptkdev/all-shields-cli/",
"title": "version",
"custom": "/js/%40ptkdev%2Flogger.svg",
"platform": "fury"
},
{
"url": "https://github.com/ptkdev/all-shields-cli/",
"title": "version",
"message": "%40ptkdev%2Flogger",
"platform": "fury"
}
]
},
{
"id": "snyk-badge",
"badges": [
{
"url": "https://github.com/ptkdev/all-shields-cli/",
"title": "snyk vuln checks",
"custom": "/test/github/ptkdev/all-shields-cli/badge.svg",
"platform": "snyk"
}
]
},
{
"id": "discord-badge",
"badges": [
{
"url": "https://discord.ptkdev.io",
"server_id": "383373985666301975",
"title": "discord server",
"platform": "discord"
}
]
}
]
}
Loading

0 comments on commit 2fb820f

Please sign in to comment.