feat: apple music -> last.fm

This commit is contained in:
Cory Dransfeldt 2023-07-26 16:37:16 -07:00
commit 657e21e9cd
No known key found for this signature in database
22 changed files with 88 additions and 1347 deletions
src/_data

29
src/_data/albums.js Normal file
View file

@ -0,0 +1,29 @@
const EleventyFetch = require('@11ty/eleventy-fetch')
const ALBUM_DENYLIST = ['no-love-deep-web', 'unremittance']
module.exports = async function () {
const MUSIC_KEY = process.env.API_KEY_LASTFM
const url = `https://ws.audioscrobbler.com/2.0/?method=user.gettopalbums&user=cdrn_&api_key=${MUSIC_KEY}&limit=8&format=json&period=7day`
const res = EleventyFetch(url, {
duration: '1h',
type: 'json',
}).catch()
const data = await res
return data['topalbums'].album.map((album) => {
return {
name: album['name'],
artist: album['artist']['name'],
plays: album['playcount'],
rank: album['@attr']['rank'],
image: !ALBUM_DENYLIST.includes(album['name'].replace(/\s+/g, '-').toLowerCase())
? album['image'][album['image'].length - 1]['#text'].replace(
'https://lastfm.freetls.fastly.net',
'https://albums.coryd.dev'
)
: `https://cdn.coryd.dev/albums/${album['name'].name
.replace(/\s+/g, '-')
.toLowerCase()}.jpg`,
url: `https://musicbrainz.org/album/${album['mbid']}`,
}
})
}