diff --git a/config/filters/index.js b/config/filters/index.js index b7870efd..af5bf586 100644 --- a/config/filters/index.js +++ b/config/filters/index.js @@ -254,5 +254,6 @@ export default { } return `${allButLast} and ${last}` - } + }, + formatVenue: (venue) => venue.split(',')[0].trim() } \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 26c4eb94..767b1ad2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "coryd.dev", - "version": "21.1.5", + "version": "21.2.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "coryd.dev", - "version": "21.1.5", + "version": "21.2.0", "license": "MIT", "dependencies": { "@cdransf/api-text": "^1.4.0", diff --git a/package.json b/package.json index f46dec7a..1cd228fd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "coryd.dev", - "version": "21.1.5", + "version": "21.2.0", "description": "The source for my personal site. Built using 11ty (and other tools).", "type": "module", "scripts": { diff --git a/src/assets/styles/defaults/vars.css b/src/assets/styles/defaults/vars.css index e02e0a62..2954b61e 100644 --- a/src/assets/styles/defaults/vars.css +++ b/src/assets/styles/defaults/vars.css @@ -52,6 +52,7 @@ --about: #ff6347; --books: #32cd32; + --concerts: #e75480; --error: #d92525; --favorite: #ff69b4; --json: #4169E1; diff --git a/src/assets/styles/pages/music.css b/src/assets/styles/pages/music.css index b81499b8..55d6a16d 100644 --- a/src/assets/styles/pages/music.css +++ b/src/assets/styles/pages/music.css @@ -13,6 +13,15 @@ aspect-ratio: var(--aspect-ratio-square); } + & p.concerts { + color: var(--concerts); + + & svg { + stroke: var(--concerts); + margin-right: var(--sizing-xs); + } + } + & .artist-display { display: flex; flex-direction: column; @@ -73,6 +82,11 @@ } } +.concert-list { + margin-top: 0; + padding-left: 0; +} + @media screen and (min-width: 768px) { .artist-focus { & img { diff --git a/src/data/artists.js b/src/data/artists.js index e4f557f8..6cc56e94 100644 --- a/src/data/artists.js +++ b/src/data/artists.js @@ -66,7 +66,7 @@ const processArtists = (artists) => { totalPlays: album['total_plays'], art: album.art ? `/${album['art']}` : '' })).sort((a, b) => a['release_year'] - b['release_year']), - concerts: artist['concerts'] || [] + concerts: artist['concerts']?.[0]?.id ? artist['concerts'] : null })) } diff --git a/src/data/concerts.js b/src/data/concerts.js index 3d908d1a..96976521 100644 --- a/src/data/concerts.js +++ b/src/data/concerts.js @@ -63,7 +63,7 @@ const processConcerts = (concerts) => { } : null, url: `/concerts/${concert['id']}`, artistUrl: concert['artist'] ? `/music/artists/${sanitizeMediaString(concert['artist_name'])}-${sanitizeMediaString(parseCountryField(concert['artist_country']))}` : null - })) + })).sort((a, b) => new Date(b['date']) - new Date(a['date'])) } export default async function () { diff --git a/src/pages/dynamic/concerts.html b/src/pages/dynamic/concerts.html new file mode 100644 index 00000000..63406d2f --- /dev/null +++ b/src/pages/dynamic/concerts.html @@ -0,0 +1,29 @@ +--- +title: Concerts +layout: default +pagination: + data: concerts + size: 30 +permalink: "/music/concerts/{% if pagination.pageNumber > 0 %}{{ pagination.pageNumber }}/{% endif %}index.html" +--- +{% if pagination.pageNumber == 0 %} +
These are concerts I've attended (not all of them — just the ones I could remember or glean from emails, photo metadata et al). I've been to at least {{ concerts | size }} shows. You can also take a look at the music I've been listening to lately.
++ {% tablericon "device-speaker" "concert" %} + I've seen this artist live! +
+Album | diff --git a/src/pages/dynamic/music/index.html b/src/pages/dynamic/music/index.html index ba2f6231..daf8e1ca 100644 --- a/src/pages/dynamic/music/index.html +++ b/src/pages/dynamic/music/index.html @@ -12,7 +12,8 @@ schema: music-index
---|