16

如何使用shields.io 徽章logo中的选项?

例如,像这样

[![Raspberry Pi](https://img.shields.io/badge/gadget-Raspberry%20Pi-pink.svg?logo=http://vectorlogo4u.com/wp-content/uploads/2016/02/RASPBERRY-PI-LOGO-VECTOR.png)](https://www.raspberrypi.org)

呈现为这样

树莓派

这没有给出预期的结果。

4

3 回答 3

39

这是在盾牌/徽章中使用徽标(例如GitHub 徽标)的 3 步指南。

  1. 在 Base64 中 编码图像。

    来自维基百科

    Base64 是一组类似的二进制到文本编码方案,通过将其转换为 radix-64 表示形式,以 ASCII 字符串格式表示二进制数据。Base64 一词源自特定的 MIME 内容传输编码。

    下载图像并使用众多在线工具之一(例如http://b64.io/)对其进行编码。
    结果是一个以data:image/png;base64开头的字符串,后跟很长的字符串。

  2. 以百分比编码对 Base64 字符串进行编码。

    来自维基百科

    百分比编码,也称为 URL 编码,是一种在特定情况下对统一资源标识符 (URI) 中的信息进行编码的机制。尽管它被称为 URL 编码,但实际上,它更普遍地用于主要统一资源标识符 (URI) 集中,其中包括统一资源定位符 (URL) 和统一资源名称 (URN)。

    取很长的 Base64 字符串并(再次)使用众多在线工具之一,例如http://meyerweb.com/eric/tools/dencoder/来对字符串进行编码。
    某些字符将替换为%后跟两个十六进制数字。例如,/替换为%2F

  3. 最后,将编码后的字符串附加到您的屏蔽 URL 之后?logo=。例如:https://img.shields.io/badge/gadget-Raspberry%20Pi-pink.svg?logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgdmlld0JveD0iMTIgMTIgNDAgNDAiPjxwYXRoIGZpbGw9IiMzMzMzMzMiIGQ9Ik0zMiwxMy40Yy0xMC41LDAtMTksOC41LTE5LDE5YzAsOC40LDUuNSwxNS41LDEzLDE4YzEsMC4yLDEuMy0wLjQsMS4zLTAuOWMwLTAuNSwwLTEuNywwLTMuMiBjLTUuMywxLjEtNi40LTIuNi02LjQtMi42QzIwLDQxLjYsMTguOCw0MSwxOC44LDQxYy0xLjctMS4yLDAuMS0xLjEsMC4xLTEuMWMxLjksMC4xLDIuOSwyLDIuOSwyYzEuNywyLjksNC41LDIuMSw1LjUsMS42IGMwLjItMS4yLDAuNy0yLjEsMS4yLTIuNmMtNC4yLTAuNS04LjctMi4xLTguNy05LjRjMC0yLjEsMC43LTMuNywyLTUuMWMtMC4yLTAuNS0wLjgtMi40LDAuMi01YzAsMCwxLjYtMC41LDUuMiwyIGMxLjUtMC40LDMuMS0wLjcsNC44LTAuN2MxLjYsMCwzLjMsMC4yLDQuNywwLjdjMy42LTIuNCw1LjItMiw1LjItMmMxLDIuNiwwLjQsNC42LDAuMiw1YzEuMiwxLjMsMiwzLDIsNS4xYzAsNy4zLTQuNSw4LjktOC43LDkuNCBjMC43LDAuNiwxLjMsMS43LDEuMywzLjVjMCwyLjYsMCw0LjYsMCw1LjJjMCwwLjUsMC40LDEuMSwxLjMsMC45YzcuNS0yLjYsMTMtOS43LDEzLTE4LjFDNTEsMjEuOSw0Mi41LDEzLjQsMzIsMTMuNHoiLz48L3N2Zz4%3D对应于。你可以试试用这个。

提示:有时第 2 步或第 3 步的编码字符串可能太长而无法使用。然后,您应该尝试减小图像的大小(总像素)并重试。

于 2017-01-04T19:42:37.127 回答
14

你需要base64标志你可以使用http://b64.io/将你的png转换为base64代码链接需要实体转义你的图像对于uri来说太大了,你可以将它缩放到14px的高度。

树莓派

于 2016-08-29T18:59:01.670 回答
1

您可以使用简单图标中的徽标名称,而无需进行 base64 转换。

https://img.shields.io/static/v1?message=css3&logo=css3&labelColor=5c5c5c&color=1182c3&logoColor=white&label=%20&style=plastic

CSS

于 2021-11-22T14:14:07.830 回答