badge(melpa): Add MELPA service (#461)

pull/351/head^2
Dario Vladović 2020-12-19 12:07:24 +01:00 zatwierdzone przez GitHub
rodzic 03f0acf1b4
commit aa5c80702e
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
2 zmienionych plików z 30 dodań i 0 usunięć

29
api/melpa.ts 100644
Wyświetl plik

@ -0,0 +1,29 @@
import got from '../libs/got'
import { version, versionColor } from '../libs/utils'
import { createBadgenHandler, PathArgs } from '../libs/create-badgen-handler'
export default createBadgenHandler({
title: 'MELPA',
examples: {
'/melpa/v/magit': 'version'
},
handlers: {
'/melpa/:topic<v>/:pkg': handler
}
})
async function handler ({ topic, pkg }: PathArgs) {
const badgeUrl = `https://melpa.org/packages/${pkg}-badge.svg`
const svg = await got(badgeUrl).text()
const title = svg.match(/<title>([^<]+)<\//i)?.[1].trim()
const ver = title?.split(':')?.[1]
switch (topic) {
case 'v':
return {
subject: 'melpa',
status: version(ver),
color: versionColor(ver)
}
}
}

Wyświetl plik

@ -25,6 +25,7 @@ export const liveBadgeList = [
'apm',
'hackage',
'vs-marketplace',
'melpa',
'maven',
'cocoapods',
'haxelib',