badge: add scoop (#387)

Co-authored-by: Amio <amio.cn@gmail.com>
pull/388/head
Dario Vladović 2020-05-18 06:47:07 +02:00 zatwierdzone przez GitHub
rodzic 5b4b9b6148
commit f3c7362d7c
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
2 zmienionych plików z 43 dodań i 0 usunięć

42
api/scoop.ts 100644
Wyświetl plik

@ -0,0 +1,42 @@
import got from '../libs/got'
import { version, versionColor } from '../libs/utils'
import { createBadgenHandler, PathArgs } from '../libs/create-badgen-handler'
const SCOOP_MAIN_BUCKET_URL = 'https://github.com/ScoopInstaller/Main/raw/master/bucket/'
const SCOOP_EXTRAS_BUCKET_URL = 'https://github.com/lukesampson/scoop-extras/raw/master/bucket/'
export default createBadgenHandler({
title: 'Scoop',
examples: {
'/scoop/v/1password-cli': 'version',
'/scoop/v/adb': 'version',
'/scoop/license/caddy': 'license',
'/scoop/extras/v/age': 'version',
'/scoop/extras/v/codeblocks': 'version',
'/scoop/extras/license/deluge': 'license',
},
handlers: {
'/scoop/:topic<v|license>/:app': handler,
'/scoop/:bucket<main|extras>/:topic<v|license>/:app': handler
}
})
async function handler ({ bucket = 'main', topic = 'v', app }: PathArgs) {
const prefixUrl = bucket === 'extras' ? SCOOP_EXTRAS_BUCKET_URL : SCOOP_MAIN_BUCKET_URL
const { license, version:ver } = await got(`${app}.json`, { prefixUrl }).json<any>()
switch (topic) {
case 'v':
return {
subject: bucket === 'extras' ? 'scoop-extras' : 'scoop',
status: version(ver),
color: versionColor(ver)
}
case 'license':
return {
subject: 'license',
status: license || 'unknown',
color: 'blue'
}
}
}

Wyświetl plik

@ -28,6 +28,7 @@ export const liveBadgeList = [
'cocoapods',
'haxelib',
'opam',
'scoop',
// CI
'travis',
'circleci',