Amio
6 years ago
2 changed files with 76 additions and 0 deletions
@ -0,0 +1,8 @@ |
|||
# badgen-icons |
|||
|
|||
Icons for badgen.net |
|||
|
|||
## Add an icon |
|||
|
|||
- Optimize markup with [svgomg](https://jakearchibald.github.io/svgomg/) |
|||
- Preview with `preview/index.html` |
@ -0,0 +1,68 @@ |
|||
<html> |
|||
<head> |
|||
<style> |
|||
body { |
|||
font-size: 16px; |
|||
} |
|||
#preview { |
|||
text-align: center; |
|||
padding: 15vh 0; |
|||
} |
|||
#preview svg { |
|||
transform: scale(2); |
|||
} |
|||
#markup { |
|||
border: none; |
|||
box-sizing: border-box; |
|||
background: #EEE; |
|||
padding: 1em 1.2em; |
|||
height: 30vh; |
|||
width: 100%; |
|||
font-size: 14px; |
|||
} |
|||
</style> |
|||
</head> |
|||
<body> |
|||
<div id="preview"></div> |
|||
<textarea id="markup" placeholder="paste svg markup"></textarea> |
|||
<script> |
|||
const markup = document.querySelector('#markup') |
|||
const preview = document.querySelector('#preview') |
|||
|
|||
function createBadge (svg) { |
|||
const base64 = svg |
|||
? `data:image/svg+xml;base64,${btoa(markup.value)}` |
|||
: 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7' |
|||
|
|||
return `<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="53.6" height="30" viewBox="0 0 536 200"> |
|||
<linearGradient id="a" x2="0" y2="100%"> |
|||
<stop offset="0" stop-opacity=".1" stop-color="#EEE"/> |
|||
<stop offset="1" stop-opacity=".1"/> |
|||
</linearGradient> |
|||
<mask id="m"><rect width="536" height="200" rx="30" fill="#FFF"/></mask> |
|||
<g mask="url(#m)"> |
|||
<rect width="212" height="200" fill="#555"/> |
|||
<rect width="324" height="200" fill="#08C" x="212"/> |
|||
<rect width="536" height="200" fill="url(#a)"/> |
|||
</g> |
|||
<g fill="#fff" text-anchor="start" font-family="Verdana,DejaVu Sans,sans-serif" font-size="110"> |
|||
<text x="172" y="148" textLength="0" fill="#000" opacity="0.25"/> |
|||
<text x="162" y="138" textLength="0"/> |
|||
<text x="267" y="148" textLength="224" fill="#000" opacity="0.25">icon</text> |
|||
<text x="257" y="138" textLength="224">icon</text> |
|||
</g> |
|||
<image x="40" y="35" width="130" height="130" xlink:href="${base64}"/> |
|||
</svg>` |
|||
} |
|||
|
|||
// init badge |
|||
preview.innerHTML = createBadge() |
|||
|
|||
// update badge on input |
|||
markup.oninput = function () { |
|||
preview.innerHTML = createBadge(markup.value) |
|||
} |
|||
</script> |
|||
</body> |
|||
<body> |
|||
</html> |
Loading…
Reference in new issue