mirror of
https://github.com/BradNut/personal-website-sveltekit
synced 2025-09-08 23:20:18 +00:00
Fix bandcamp source and images on about.
This commit is contained in:
parent
dead3073f5
commit
1ef2acba4b
2 changed files with 26 additions and 29 deletions
|
|
@ -1,6 +1,6 @@
|
|||
import { BANDCAMP_USERNAME, USE_REDIS_CACHE } from '$env/static/private';
|
||||
import scrapeIt from 'scrape-it';
|
||||
import type { ScrapeResult, ScrapeOptions } from 'scrape-it';
|
||||
import type { ScrapeResult } from 'scrape-it';
|
||||
import { redis } from '../server/redis';
|
||||
import type { Album } from '../types/album';
|
||||
|
||||
|
|
@ -14,36 +14,33 @@ export async function fetchBandcampAlbums() {
|
|||
console.log(`Cache hit!`);
|
||||
const ttl = await redis.ttl('bandcampAlbums');
|
||||
|
||||
return { ttl, response };
|
||||
return response;
|
||||
}
|
||||
}
|
||||
|
||||
const scrapeItOptions: ScrapeOptions = {
|
||||
collectionItems: {
|
||||
listItem: '.collection-item-container',
|
||||
data: {
|
||||
url: {
|
||||
selector: '.collection-title-details > a.item-link',
|
||||
attr: 'href'
|
||||
},
|
||||
artwork: {
|
||||
selector: 'div.collection-item-art-container a img',
|
||||
attr: 'src'
|
||||
},
|
||||
title: {
|
||||
selector: 'span.item-link-alt > div.collection-item-title'
|
||||
},
|
||||
artist: {
|
||||
selector: 'span.item-link-alt > div.collection-item-artist'
|
||||
const { data }: ScrapeResult<Album[]> = await scrapeIt(
|
||||
`https://bandcamp.com/${BANDCAMP_USERNAME}`,
|
||||
{
|
||||
collectionItems: {
|
||||
listItem: '.collection-item-container',
|
||||
data: {
|
||||
url: {
|
||||
selector: '.collection-title-details > a.item-link',
|
||||
attr: 'href'
|
||||
},
|
||||
artwork: {
|
||||
selector: 'div.collection-item-art-container a img',
|
||||
attr: 'src'
|
||||
},
|
||||
title: {
|
||||
selector: 'span.item-link-alt > div.collection-item-title'
|
||||
},
|
||||
artist: {
|
||||
selector: 'span.item-link-alt > div.collection-item-artist'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// TODO: Add cache for results
|
||||
const { data }: ScrapeResult<Album[]> = await scrapeIt(
|
||||
`https://bandcamp.com/${BANDCAMP_USERNAME}`,
|
||||
scrapeItOptions
|
||||
);
|
||||
|
||||
const albums: Album[] = data?.collectionItems || [];
|
||||
|
|
@ -55,7 +52,7 @@ export async function fetchBandcampAlbums() {
|
|||
}
|
||||
return albums;
|
||||
} else {
|
||||
return []; // TODO: Add ttl for cache
|
||||
return [];
|
||||
}
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
|
|
|
|||
|
|
@ -9,9 +9,9 @@
|
|||
import Remix from '@iconify-icons/simple-icons/remix';
|
||||
import Svelte from '@iconify-icons/simple-icons/svelte';
|
||||
import TypeScript from '@iconify-icons/simple-icons/typescript';
|
||||
import space_needle from '$lib/assets/images/space-needle.png?format=webp;avif;png&metadata?run';
|
||||
import tortie_derp from '$lib/assets/images/tortie_derp.jpg?format=webp;avif;jpg&metadata?run';
|
||||
import orange_derp from '$lib/assets/images/orange_derp.jpg?format=webp;avif;jpg&metadata?run';
|
||||
import space_needle from '$lib/assets/images/space-needle.png?run';
|
||||
import tortie_derp from '$lib/assets/images/tortie_derp.jpg?run';
|
||||
import orange_derp from '$lib/assets/images/orange_derp.jpg?run';
|
||||
import Tag from '$root/lib/components/Tag.svelte';
|
||||
import ExternalLink from '$root/lib/components/ExternalLink.svelte';
|
||||
</script>
|
||||
|
|
|
|||
Loading…
Reference in a new issue