badgen.net/components/home-intro.tsx

126 wiersze
3.5 KiB
TypeScript
Czysty Zwykły widok Historia

2018-12-20 06:39:56 +00:00
import icons from 'badgen-icons'
2019-10-04 13:44:20 +00:00
export default function HomeIntro ({ isFlat = false }) {
2019-08-30 03:22:22 +00:00
return (
2018-12-20 06:39:56 +00:00
<div>
2019-08-24 08:24:46 +00:00
<pre>{explainCode(isFlat)}</pre>
2018-12-20 06:39:56 +00:00
2019-06-20 03:42:20 +00:00
<h3 id='colors'>Builtin color names</h3>
2019-08-24 08:24:46 +00:00
{colorExamples()}
2018-12-20 06:39:56 +00:00
2019-06-20 03:42:20 +00:00
<h3 id='icons'>Builtin icons</h3>
2019-08-24 08:24:46 +00:00
{iconExamples()}
2018-12-20 06:39:56 +00:00
2019-07-01 07:39:51 +00:00
<h3 id='options'>Options</h3>
2018-12-20 06:39:56 +00:00
<ul>
<li>
<code>color</code>
2019-06-20 03:42:20 +00:00
Override default badge color.
2018-12-20 06:39:56 +00:00
<a href='/npm/dm/express?color=pink'>e.g.</a>
</li>
<li>
<code>icon</code>
2019-06-20 03:42:20 +00:00
Use builtin icon (or url for external icon) in front of subject text.
2018-12-20 06:39:56 +00:00
<a href='/badge/docker/v1.2.3/blue?icon=docker'>e.g.</a>
</li>
<li>
<code>list</code>
2019-06-14 02:19:42 +00:00
Set <code>list=|</code> will replace <code>,</code> with <code>|</code> in status text.
<a href='/badge/platform/ios,macos,tvos?list=|'>e.g.</a>
2018-12-20 06:39:56 +00:00
</li>
<li>
<code>label</code>
Override default subject text (<a href='https://developer.mozilla.org/en-US/docs/Glossary/percent-encoding'>URL-Encoding</a> needed for spaces or special characters).
<a href='/badge/docker/v1.2.3/blue?label=container'>e.g.</a>
2018-12-20 06:39:56 +00:00
</li>
2019-07-06 10:12:35 +00:00
<li>
<code>labelColor</code>
Override default label color.
<a href='/npm/dm/express?labelColor=pink'>e.g.</a>
</li>
2019-10-04 12:45:52 +00:00
<li>
<code>scale</code>
Custom badge scale
<a href='/badge/docker/v1.2.3/blue?icon=docker&scale=2'>e.g.</a>
</li>
<li>
<code>cache</code>
Live badge are cached in cdn for 24hrs (86400), you may limit it to a minimum of 5min (300).
<a href='/npm/dm/express?cache=600'>e.g.</a>
</li>
2018-12-20 06:39:56 +00:00
</ul>
<h3>Advanced usage</h3>
<ul>
<li>
<a href='/runkit'><code>/runkit</code></a>
2018-12-20 06:39:56 +00:00
create arbitrary live badge with RunKit's online IDE.
</li>
<li>
<a href='/https'><code>/https</code></a>
2019-07-06 15:17:32 +00:00
turn an api endpoint into a svg live badge.
2018-12-20 06:39:56 +00:00
</li>
</ul>
<style jsx>{`
pre {
font-size: 15px;
}
code {
margin-right: 6px;
}
2019-08-24 08:24:46 +00:00
`}
</style>
2018-12-20 06:39:56 +00:00
</div>
2019-08-30 03:22:22 +00:00
)}
2018-12-20 06:39:56 +00:00
const colorExamples = () => {
2019-06-12 02:40:06 +00:00
const colors = ['blue', 'cyan', 'green', 'yellow', 'orange', 'red', 'pink', 'purple', 'grey', 'black']
2018-12-20 06:39:56 +00:00
return colors.map(c => (
<a href={`/badge/color/${c}/${c}`} key={c}>
<img src={`/badge/color/${c}/${c}`} />
<style jsx>{`
a {
margin-right: 4px;
}
2019-08-24 08:24:46 +00:00
`}
</style>
2018-12-20 06:39:56 +00:00
</a>
))
}
const iconExamples = () => {
return Object.keys(icons).map(icon => {
2019-06-12 11:14:13 +00:00
const url = `/badge/icon/${icon}?icon=${icon}&label`
2018-12-20 06:39:56 +00:00
return (
2019-05-17 12:25:09 +00:00
<a href={url} key={icon}>
2018-12-20 06:39:56 +00:00
<img src={url} />
<style jsx>{`
a {
margin-right: 4px;
}
2019-08-24 08:24:46 +00:00
`}
</style>
2018-12-20 06:39:56 +00:00
</a>
)
})
}
const explainCode = (isFlat) => {
const text = `
https://badgen.net/badge/:subject/:status/:color?icon=github
2019-07-01 07:39:51 +00:00
Options (label, list, icon, color)
2018-12-20 06:39:56 +00:00
TEXT TEXT RGB / COLOR_NAME ( optional )
"badge" - default (static) badge generator`
if (isFlat) {
return text
.replace('badgen.net', 'flat.badgen.net')
.replace(/\n/g, '\n ')
.trim()
} else {
return text.trim()
}
}