Github shields by shields.io

Github shields by shields.io

08.02.2023
Shields.io je open source řešení pro jednoduché zobrazení aktuálního stavu projektu. Je určeno pro webové stránky a veřejné repozitáře na platformě GitHub. Každý měsíc služba (service) obslouží přes 870 milionů jednotlivých štítků a využívají ji i populární projekty jako Vue.js, Bootstrap či VS Code.

Cílem celého projektu je vytvořit konzistentní, unifikovaný a praktický přehled o kódu uvnitř repozitářů bez nutnosti delšího zkoumání nebo klonování na vlastní zařízení.

Shieds.io podporují širokou paletu služeb různých specializací, od nepřetržité integrace, přes sociální sítě až po analýzu samotného kódu a je tedy čistě na uživateli, jaké parametry svého projektu si přeje sledovat či vystavit veřejně.

Trochu historie

Předchůdce shields.io je projekt b.adge.me, vyvinutý v roce 2013. Používal kód knihovny gh-badges, jehož autorem je vývojář Thaddée Tyl. V důsledku nového vývoje a úprav projektu vznikla finální podoba pod názvem shields.io.  Za specifikací štítků a jejich současnou podobou stojí kromě T. Tyla také Olivier Lancan a mnoho dalších přispívajících vývojářů (contributors).

Vizuál a použití

Jedná se o designově minimalistické štítky (anglicky shields, badges), v SVG a rastrovém formátu, které jsou zobrazovány v přehledu projektu v rámci README.md, kam se kód pro daný štítek také umístí. Služba se následně sama stará o požadované funkce. Z velkého počtu možností níže uvádím všeobecný výběr nejčastěji žádaných informací, které jsou v základu (default) poskytovány.

Lze evidovat stav posledního buildu (build), procentuální pokrytí kódu testy (code coverage), velikost rezitáře (repo size), počet stažení (downloads), číslo verze (version), počet úspěšných i neúspěšných testů (passed, failed), či použité technologie. 

Dále můžeme kód analyzovat z hlediska zranitelnosti (vulnerability), provázanosti s knihovnami třetích stran (third-party dependeciesči úroveň využití všeobecně uznávaných postupů (best practice).

Ze světa sociálních sítí zde nalezneme např. propojení na Twitter, Youtube, Twitch a mnoho dalších. Štítky kromě odkazu umí zobrazit i obdržené palce nahoru (like) či počet odběratelů (subscribers, followers) aj.

Další zajímavou funkčností jsou podrobnosti o verzování GIT a všeobecné monitorování aktivity v projektu. Přehledně si lze nechat zobrazit nejen celkový počet commitů, ale i počet commitů v konkrétních větvích, nebo počet commitů od posledního nasazení (release).  V rámci štítku můžeme také uvést datum příštího plánovaného nasazení či měsíc a rok poslední aktivity – to se hodí zejména pro zjištění, zda je projekt stále živý.

Pokud si v nabídce shields.io pro projekt nic nevyberete, součástí služby je i možnost vytvoření vlastního štítku s funkcemi a designem, který si uživatel přizpůsobí vlastní potřebě.

Na závěr

Používání štítků poskytuje přehled základních parametrů projektu, což zajišťuje vyšší míru komfortu při analýze nejen vlastního kódu, ale i kódu dalších uživatelů.

Vizuální přitažlivost a jednoduchá implementace činí z Github shields službu, která má velký potenciál stát se v Github komunitě praktickým standardem a oblíbeným doplňkem.