0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Shields.io を使ってバッジを表示する

Last updated at Posted at 2024-05-18

はじめに

Githubとかでよく見る↓のような小さいバッジ。
作り方を調べては忘れてを繰り返しており、定着しないので自分なりに整理してみます。

Github

Kotlin

情報元は下記の公式ページです。

基本形: パスパラメータのみ使用

ロゴなしの基本的な形はパスパラメータの指定のみで作れます

basic - https://img.shields.io/badge/simple-badge-blue

パスパラメータの説明

下記の通り、labelmessagecolorをダッシュ(-)区切りで指定します。
バッジの左部分がlabelで右部分がmessageです。

label-message-color

labelmessageは両方が必須なのではなく、片方だけの指定でも構いません。

basic - https://img.shields.io/badge/MessageOnly-yellow

色の指定には、色の名称やカラーコードなどが使えます。
なお、ラベルとメッセージの両方がある場合にはcolorではメッセージの色が設定されます。ラベルの色指定には、後述するクエリパラメータのlabelColorを使ってください。

basic - https://img.shields.io/badge/simple-badge-3E72BC

basic - https://img.shields.io/badge/simple-badge-rgb(106,90,205)

エラー

前述のパスパラメータの条件を満たしていないなど、不適切なURL指定をすると404が返ってきて下記のように表示されます。

basic - https://img.shields.io/badge/invalid

拡張子

URL末尾が画像の拡張子で終わっていれば、画像として解釈されます。
と言っても、私が試してみて使えたのはpngsvgだけでした。

png - https://img.shields.io/badge/This_is-png-3E72BC.png

svg - https://img.shields.io/badge/This_is-svg-3E72BC.svg

gifjpgを使おうとすると410が返ってきます。

gif - https://img.shields.io/badge/This_is-gif-3E72BC.gif

jpg - https://img.shields.io/badge/This_is-jpg-3E72BC.jpg

それ以外の、bmptiffに至っては404になってしまいました。

bmp - https://img.shields.io/badge/This_is-gif-3E72BC.bmp

bmp - https://img.shields.io/badge/This_is-gif-3E72BC.tiff

なお、拡張子を何も付けなければ、デフォルトで.svgになるようです。

発展形: クエリパラメータを使用

より細かい設定のためにはクエリパラメータを使用します。ロゴもクエリパラメータで指定します。
様々なパラメータが用意されていますが、よく使いそうなものをいくつか解説します。

ちなみに私が確認できている限りでは文字色を指定する方法はありません。背景色に応じた色が文字色として使用されるようです。

logo

バッジにロゴを表示できます。
基本的にはSimple Iconsのロゴが使えますが、Shields自身が保守しているロゴもいくつかあるようです。

Tomcat - https://img.shields.io/badge/Tomcat-grey?logo=apachetomcat

Gitlab - https://img.shields.io/badge/Gitlab-white?logo=gitlab

ロゴの名前(Tomcatの場合はapachetomcat)は、Simple Iconsでロゴのタイトルをクリックするとクリップボードにコピーされます。
あるいはSimple Iconsのリポジトリにあるslugs.mdからも探せます。

用意されているものではない、任意のカスタムロゴを使用する場合、base64エンコードした値を使用します。詳細は公式ページで確認してください。

logoColor

ロゴ部分の色を指定します。
下記の例では、logoColor=redによりGithubのロゴを赤くしています。

logoColor - https://img.shields.io/badge/Github-MyAccount-white?logo=github&logoColor=red

labelColor

ラベル(バッジの左部分)の背景色を指定します。
下記の例では、labelColor=yellowにより、左側の背景色を黄色にしています。

labelColor - https://img.shields.io/badge/label-message-white?labelColor=yellow

color

バッジの右部分の背景色を指定します。
こちらがパスパラメータよりも優先されます。
下記の例ではパスパラメータでred、クエリパラメータでblueを指定したところ、右側の背景色が紫になっています。

color - https://img.shields.io/badge/label-message-red?color=purple

style

バッジの見た目を指定します。指定しない場合のデフォルトはflatです。

style sample
flat flat
flat-square flat-square
plastic plastic
for-the-badge for-the-badge
social social

Webページでの表示

画像のソースとして Shields.io のURLを入力することで表示できます

HTML

<img alt="badge" src="Shields.ioのURL" />

Markdown

![badge](Shields.ioのURL)

例として、下記のバッジを表示する場合を記載しておきます。

logoColor

HTML

<img alt="Github" src="https://img.shields.io/badge/Github-MyAccount-white?logo=github&logoColor=red" />

Markdown

![Github](https://img.shields.io/badge/Github-MyAccount-white?logo=github&logoColor=red)

特殊文字

スペース( )などURLにそのまま入力できない文字や、ダッシュ(-)のようにShields.ioにおいて意味を持つ文字を出力したい場合には、下記のように置き換えます。

URLへの入力 バッジへの出力
アンダースコア(_) スペース(
ダブルアンダースコア(__) アンダースコア(_
ダブルダッシュ(--) ダッシュ(-

space - https://img.shields.io/badge/any_text__-you--like-blue

URLエンコードされたASCII文字も使えるので、スペースは上記のアンダースコアでなく%20も使えますし、C#のバッジなどで使いそうなシャープ(#)も%23が使えます。

C# - https://img.shields.io/badge/C%23-512BD4?logo=csharp

詳細は下記のページを確認してください。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?