docs(readme): self-host badges as repo SVGs (no more shields.io)

The version/stars/downloads badges routed through shields.io and GitHub's
image proxy, which rate-limits and intermittently rendered them as broken
images. These are now static SVGs committed under docs/badges/ and referenced
by relative path, so they render like any repo asset and cannot break.
This commit is contained in:
feder-cr 2026-07-19 14:32:09 +02:00
parent cafbbca82f
commit 5026a98dec
6 changed files with 85 additions and 5 deletions

View file

@ -1,10 +1,10 @@
<p>
<a href="https://github.com/feder-cr/invisible_playwright/actions/workflows/tests.yml"><img src="https://github.com/feder-cr/invisible_playwright/actions/workflows/tests.yml/badge.svg" alt="tests"></a>
<a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT"></a>
<a href="https://www.python.org/downloads/"><img src="https://img.shields.io/badge/python-3.11+-blue.svg" alt="Python 3.11+"></a>
<a href="https://github.com/feder-cr/firefox_antidetect_patch/releases"><img src="https://img.shields.io/badge/Firefox-150.0.1-FF7139?logo=firefox&logoColor=white" alt="Firefox 150.0.1"></a>
<a href="https://github.com/feder-cr/invisible_playwright/stargazers"><img src="https://img.shields.io/github/stars/feder-cr/invisible_playwright" alt="GitHub stars"></a>
<a href="https://github.com/feder-cr/firefox_antidetect_patch/releases/tag/usage-counter"><img src="https://img.shields.io/github/downloads/feder-cr/firefox_antidetect_patch/usage-counter/total?label=browser%20launches&color=blue" alt="browser launches"></a>
<a href="LICENSE"><img src="docs/badges/license.svg" alt="License: MIT"></a>
<a href="https://www.python.org/downloads/"><img src="docs/badges/python.svg" alt="Python 3.11+"></a>
<a href="https://github.com/feder-cr/firefox_antidetect_patch/releases"><img src="docs/badges/firefox.svg" alt="Firefox 150.0.1"></a>
<a href="https://github.com/feder-cr/invisible_playwright/stargazers"><img src="docs/badges/stars.svg" alt="GitHub stars"></a>
<a href="https://github.com/feder-cr/firefox_antidetect_patch/releases/tag/usage-counter"><img src="docs/badges/launches.svg" alt="browser launches"></a>
</p>
<div align="center">

16
docs/badges/firefox.svg Normal file
View file

@ -0,0 +1,16 @@
<svg xmlns="http://www.w3.org/2000/svg" width="112" height="20" role="img" aria-label="Firefox: 150.0.1">
<title>Firefox: 150.0.1</title>
<linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient>
<clipPath id="r"><rect width="112" height="20" rx="3" fill="#fff"/></clipPath>
<g clip-path="url(#r)">
<rect width="56" height="20" fill="#555"/>
<rect x="56" width="56" height="20" fill="#FF7139"/>
<rect width="112" height="20" fill="url(#s)"/>
</g>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="11">
<text x="28.0" y="15" fill="#010101" fill-opacity=".3">Firefox</text>
<text x="28.0" y="14">Firefox</text>
<text x="84.0" y="15" fill="#010101" fill-opacity=".3">150.0.1</text>
<text x="84.0" y="14">150.0.1</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 866 B

16
docs/badges/launches.svg Normal file
View file

@ -0,0 +1,16 @@
<svg xmlns="http://www.w3.org/2000/svg" width="139" height="20" role="img" aria-label="browser launches: 1M">
<title>browser launches: 1M</title>
<linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient>
<clipPath id="r"><rect width="139" height="20" rx="3" fill="#fff"/></clipPath>
<g clip-path="url(#r)">
<rect width="116" height="20" fill="#555"/>
<rect x="116" width="23" height="20" fill="#007ec6"/>
<rect width="139" height="20" fill="url(#s)"/>
</g>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="11">
<text x="58.0" y="15" fill="#010101" fill-opacity=".3">browser launches</text>
<text x="58.0" y="14">browser launches</text>
<text x="127.5" y="15" fill="#010101" fill-opacity=".3">1M</text>
<text x="127.5" y="14">1M</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 886 B

16
docs/badges/license.svg Normal file
View file

@ -0,0 +1,16 @@
<svg xmlns="http://www.w3.org/2000/svg" width="86" height="20" role="img" aria-label="License: MIT">
<title>License: MIT</title>
<linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient>
<clipPath id="r"><rect width="86" height="20" rx="3" fill="#fff"/></clipPath>
<g clip-path="url(#r)">
<rect width="56" height="20" fill="#555"/>
<rect x="56" width="30" height="20" fill="#dfb317"/>
<rect width="86" height="20" fill="url(#s)"/>
</g>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="11">
<text x="28.0" y="15" fill="#010101" fill-opacity=".3">License</text>
<text x="28.0" y="14">License</text>
<text x="71.0" y="15" fill="#010101" fill-opacity=".3">MIT</text>
<text x="71.0" y="14">MIT</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 847 B

16
docs/badges/python.svg Normal file
View file

@ -0,0 +1,16 @@
<svg xmlns="http://www.w3.org/2000/svg" width="93" height="20" role="img" aria-label="python: 3.11+">
<title>python: 3.11+</title>
<linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient>
<clipPath id="r"><rect width="93" height="20" rx="3" fill="#fff"/></clipPath>
<g clip-path="url(#r)">
<rect width="50" height="20" fill="#555"/>
<rect x="50" width="43" height="20" fill="#007ec6"/>
<rect width="93" height="20" fill="url(#s)"/>
</g>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="11">
<text x="25.0" y="15" fill="#010101" fill-opacity=".3">python</text>
<text x="25.0" y="14">python</text>
<text x="71.5" y="15" fill="#010101" fill-opacity=".3">3.11+</text>
<text x="71.5" y="14">3.11+</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 851 B

16
docs/badges/stars.svg Normal file
View file

@ -0,0 +1,16 @@
<svg xmlns="http://www.w3.org/2000/svg" width="79" height="20" role="img" aria-label="Stars: 1.8k">
<title>Stars: 1.8k</title>
<linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient>
<clipPath id="r"><rect width="79" height="20" rx="3" fill="#fff"/></clipPath>
<g clip-path="url(#r)">
<rect width="43" height="20" fill="#555"/>
<rect x="43" width="36" height="20" fill="#e8a317"/>
<rect width="79" height="20" fill="url(#s)"/>
</g>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="11">
<text x="21.5" y="15" fill="#010101" fill-opacity=".3">Stars</text>
<text x="21.5" y="14">Stars</text>
<text x="61.0" y="15" fill="#010101" fill-opacity=".3">1.8k</text>
<text x="61.0" y="14">1.8k</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 843 B