kopia lustrzana https://github.com/badgen/badgen.net
rodzic
a337d4656d
commit
55b5a3cb59
|
@ -0,0 +1,44 @@
|
||||||
|
import got from '../libs/got'
|
||||||
|
import { parseDocument } from 'yaml'
|
||||||
|
import { version, versionColor } from '../libs/utils'
|
||||||
|
import { createBadgenHandler, PathArgs } from '../libs/create-badgen-handler'
|
||||||
|
|
||||||
|
const F_DROID_METADATA_REPO_URL = 'https://gitlab.com/fdroid/fdroiddata/raw/master/metadata/'
|
||||||
|
|
||||||
|
const client = got.extend({ prefixUrl: F_DROID_METADATA_REPO_URL })
|
||||||
|
|
||||||
|
export default createBadgenHandler({
|
||||||
|
title: 'F-Droid',
|
||||||
|
examples: {
|
||||||
|
'/f-droid/v/org.schabi.newpipe': 'version',
|
||||||
|
'/f-droid/v/com.amaze.filemanager': 'version',
|
||||||
|
'/f-droid/license/org.tasks': 'license'
|
||||||
|
},
|
||||||
|
handlers: {
|
||||||
|
'/f-droid/:topic<v|license>/:appId': handler
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
async function handler ({ topic, appId }: PathArgs) {
|
||||||
|
const yaml = await client.get(`${appId}.yml`).text()
|
||||||
|
const metadata = parseDocument(yaml)
|
||||||
|
|
||||||
|
switch (topic) {
|
||||||
|
case 'v': {
|
||||||
|
const ver = metadata.get('CurrentVersion')
|
||||||
|
return {
|
||||||
|
subject: 'f-droid',
|
||||||
|
status: version(ver),
|
||||||
|
color: versionColor(ver)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
case 'license': {
|
||||||
|
const license = metadata.get('License')
|
||||||
|
return {
|
||||||
|
subject: 'license',
|
||||||
|
status: license || 'unknown',
|
||||||
|
color: 'blue'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -29,6 +29,7 @@ export const liveBadgeList = [
|
||||||
'haxelib',
|
'haxelib',
|
||||||
'opam',
|
'opam',
|
||||||
'scoop',
|
'scoop',
|
||||||
|
'f-droid',
|
||||||
'pub',
|
'pub',
|
||||||
// CI
|
// CI
|
||||||
'travis',
|
'travis',
|
||||||
|
|
|
@ -11379,6 +11379,11 @@
|
||||||
"integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
|
"integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"yaml": {
|
||||||
|
"version": "1.10.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz",
|
||||||
|
"integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg=="
|
||||||
|
},
|
||||||
"yargs": {
|
"yargs": {
|
||||||
"version": "14.2.2",
|
"version": "14.2.2",
|
||||||
"resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.2.tgz",
|
||||||
|
|
|
@ -42,7 +42,8 @@
|
||||||
"semver": "^7.3.2",
|
"semver": "^7.3.2",
|
||||||
"serve-handler": "^6.1.2",
|
"serve-handler": "^6.1.2",
|
||||||
"serve-marked": "^2.0.2",
|
"serve-marked": "^2.0.2",
|
||||||
"url-parse": "^1.4.7"
|
"url-parse": "^1.4.7",
|
||||||
|
"yaml": "^1.10.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/cheerio": "^0.22.17",
|
"@types/cheerio": "^0.22.17",
|
||||||
|
|
Ładowanie…
Reference in New Issue