chore: clean up logic + data + feeds
This commit is contained in:
parent
74d3fe1b44
commit
fa2ac170b3
41 changed files with 400 additions and 481 deletions
|
@ -1,8 +1,6 @@
|
||||||
# 404s
|
# 404s
|
||||||
/now.html /now 301
|
/now.html /now 301
|
||||||
/contact.html /contact 301
|
/contact.html /contact 301
|
||||||
/watching/favorite-movies /watching 301
|
|
||||||
/watching/favorite-shows /watching 301
|
|
||||||
|
|
||||||
# feeds
|
# feeds
|
||||||
/feed.xml /feeds/posts 301
|
/feed.xml /feeds/posts 301
|
||||||
|
|
34
package-lock.json
generated
34
package-lock.json
generated
|
@ -1,19 +1,18 @@
|
||||||
{
|
{
|
||||||
"name": "coryd.dev",
|
"name": "coryd.dev",
|
||||||
"version": "2.4.13",
|
"version": "2.6.7",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "coryd.dev",
|
"name": "coryd.dev",
|
||||||
"version": "2.4.13",
|
"version": "2.6.7",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@11ty/eleventy-fetch": "4.0.1",
|
"@11ty/eleventy-fetch": "4.0.1",
|
||||||
"@cdransf/api-text": "^1.8.1",
|
"@cdransf/api-text": "^1.8.1",
|
||||||
"@cdransf/select-pagination": "^1.3.1",
|
"@cdransf/select-pagination": "^1.3.1",
|
||||||
"@daviddarnes/mastodon-post": "^1.3.0",
|
"@daviddarnes/mastodon-post": "^1.3.0",
|
||||||
"http-proxy-middleware": "3.0.3",
|
|
||||||
"minisearch": "^7.1.0",
|
"minisearch": "^7.1.0",
|
||||||
"youtube-video-element": "^1.1.6"
|
"youtube-video-element": "^1.1.6"
|
||||||
},
|
},
|
||||||
|
@ -29,6 +28,7 @@
|
||||||
"fast-xml-parser": "^4.5.0",
|
"fast-xml-parser": "^4.5.0",
|
||||||
"html-minifier-terser": "^7.2.0",
|
"html-minifier-terser": "^7.2.0",
|
||||||
"html-to-text": "^9.0.5",
|
"html-to-text": "^9.0.5",
|
||||||
|
"http-proxy-middleware": "3.0.3",
|
||||||
"ics": "^3.8.1",
|
"ics": "^3.8.1",
|
||||||
"linkedom": "0.18.5",
|
"linkedom": "0.18.5",
|
||||||
"luxon": "^3.5.0",
|
"luxon": "^3.5.0",
|
||||||
|
@ -688,6 +688,7 @@
|
||||||
"version": "1.17.15",
|
"version": "1.17.15",
|
||||||
"resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.15.tgz",
|
"resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.15.tgz",
|
||||||
"integrity": "sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==",
|
"integrity": "sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==",
|
||||||
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/node": "*"
|
"@types/node": "*"
|
||||||
|
@ -722,9 +723,10 @@
|
||||||
"peer": true
|
"peer": true
|
||||||
},
|
},
|
||||||
"node_modules/@types/node": {
|
"node_modules/@types/node": {
|
||||||
"version": "22.8.7",
|
"version": "22.9.0",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.7.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.0.tgz",
|
||||||
"integrity": "sha512-LidcG+2UeYIWcMuMUpBKOnryBWG/rnmOHQR5apjn8myTQcx3rinFRn7DcIFhMnS0PPFSC6OafdIKEad0lj6U0Q==",
|
"integrity": "sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==",
|
||||||
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"undici-types": "~6.19.8"
|
"undici-types": "~6.19.8"
|
||||||
|
@ -1060,6 +1062,7 @@
|
||||||
"version": "3.0.3",
|
"version": "3.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
|
||||||
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
|
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
|
||||||
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"fill-range": "^7.1.1"
|
"fill-range": "^7.1.1"
|
||||||
|
@ -1788,9 +1791,9 @@
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/electron-to-chromium": {
|
"node_modules/electron-to-chromium": {
|
||||||
"version": "1.5.51",
|
"version": "1.5.52",
|
||||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.51.tgz",
|
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.52.tgz",
|
||||||
"integrity": "sha512-kKeWV57KSS8jH4alKt/jKnvHPmJgBxXzGUSbMd4eQF+iOsVPl7bz2KUmu6eo80eMP8wVioTfTyTzdMgM15WXNg==",
|
"integrity": "sha512-xtoijJTZ+qeucLBDNztDOuQBE1ksqjvNjvqFoST3nGC7fSpqJ+X6BdTBaY5BHG+IhWWmpc6b/KfpeuEDupEPOQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
|
@ -2145,6 +2148,7 @@
|
||||||
"version": "7.1.1",
|
"version": "7.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
|
||||||
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
|
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
|
||||||
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"to-regex-range": "^5.0.1"
|
"to-regex-range": "^5.0.1"
|
||||||
|
@ -2250,6 +2254,7 @@
|
||||||
"version": "1.15.9",
|
"version": "1.15.9",
|
||||||
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz",
|
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz",
|
||||||
"integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==",
|
"integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==",
|
||||||
|
"dev": true,
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"type": "individual",
|
"type": "individual",
|
||||||
|
@ -2666,6 +2671,7 @@
|
||||||
"version": "1.18.1",
|
"version": "1.18.1",
|
||||||
"resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
|
"resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
|
||||||
"integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
|
"integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
|
||||||
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"eventemitter3": "^4.0.0",
|
"eventemitter3": "^4.0.0",
|
||||||
|
@ -2680,6 +2686,7 @@
|
||||||
"version": "3.0.3",
|
"version": "3.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-3.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-3.0.3.tgz",
|
||||||
"integrity": "sha512-usY0HG5nyDUwtqpiZdETNbmKtw3QQ1jwYFZ9wi5iHzX2BcILwQKtYDJPo7XHTsu5Z0B2Hj3W9NNnbd+AjFWjqg==",
|
"integrity": "sha512-usY0HG5nyDUwtqpiZdETNbmKtw3QQ1jwYFZ9wi5iHzX2BcILwQKtYDJPo7XHTsu5Z0B2Hj3W9NNnbd+AjFWjqg==",
|
||||||
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/http-proxy": "^1.17.15",
|
"@types/http-proxy": "^1.17.15",
|
||||||
|
@ -2825,6 +2832,7 @@
|
||||||
"version": "2.1.1",
|
"version": "2.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
|
||||||
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
|
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
|
||||||
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
|
@ -2844,6 +2852,7 @@
|
||||||
"version": "4.0.3",
|
"version": "4.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
|
||||||
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
|
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
|
||||||
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"is-extglob": "^2.1.1"
|
"is-extglob": "^2.1.1"
|
||||||
|
@ -2863,6 +2872,7 @@
|
||||||
"version": "7.0.0",
|
"version": "7.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
|
||||||
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
|
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
|
||||||
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=0.12.0"
|
"node": ">=0.12.0"
|
||||||
|
@ -2872,6 +2882,7 @@
|
||||||
"version": "5.0.0",
|
"version": "5.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
|
||||||
"integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
|
"integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
|
||||||
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
|
@ -3256,6 +3267,7 @@
|
||||||
"version": "4.0.8",
|
"version": "4.0.8",
|
||||||
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
|
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
|
||||||
"integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
|
"integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
|
||||||
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"braces": "^3.0.3",
|
"braces": "^3.0.3",
|
||||||
|
@ -3791,6 +3803,7 @@
|
||||||
"version": "2.3.1",
|
"version": "2.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
|
||||||
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
|
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
|
||||||
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=8.6"
|
"node": ">=8.6"
|
||||||
|
@ -4640,6 +4653,7 @@
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
|
||||||
"integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
|
"integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
|
||||||
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/resolve": {
|
"node_modules/resolve": {
|
||||||
|
@ -5318,6 +5332,7 @@
|
||||||
"version": "5.0.1",
|
"version": "5.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
|
||||||
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
|
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
|
||||||
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"is-number": "^7.0.0"
|
"is-number": "^7.0.0"
|
||||||
|
@ -5411,6 +5426,7 @@
|
||||||
"version": "6.19.8",
|
"version": "6.19.8",
|
||||||
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz",
|
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz",
|
||||||
"integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==",
|
"integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==",
|
||||||
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/unpipe": {
|
"node_modules/unpipe": {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "coryd.dev",
|
"name": "coryd.dev",
|
||||||
"version": "2.4.13",
|
"version": "2.6.7",
|
||||||
"description": "The source for my personal site. Built using 11ty (and other tools).",
|
"description": "The source for my personal site. Built using 11ty (and other tools).",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"engines": {
|
"engines": {
|
||||||
|
@ -30,7 +30,6 @@
|
||||||
"@cdransf/api-text": "^1.8.1",
|
"@cdransf/api-text": "^1.8.1",
|
||||||
"@cdransf/select-pagination": "^1.3.1",
|
"@cdransf/select-pagination": "^1.3.1",
|
||||||
"@daviddarnes/mastodon-post": "^1.3.0",
|
"@daviddarnes/mastodon-post": "^1.3.0",
|
||||||
"http-proxy-middleware": "3.0.3",
|
|
||||||
"minisearch": "^7.1.0",
|
"minisearch": "^7.1.0",
|
||||||
"youtube-video-element": "^1.1.6"
|
"youtube-video-element": "^1.1.6"
|
||||||
},
|
},
|
||||||
|
@ -46,6 +45,7 @@
|
||||||
"fast-xml-parser": "^4.5.0",
|
"fast-xml-parser": "^4.5.0",
|
||||||
"html-minifier-terser": "^7.2.0",
|
"html-minifier-terser": "^7.2.0",
|
||||||
"html-to-text": "^9.0.5",
|
"html-to-text": "^9.0.5",
|
||||||
|
"http-proxy-middleware": "3.0.3",
|
||||||
"ics": "^3.8.1",
|
"ics": "^3.8.1",
|
||||||
"linkedom": "0.18.5",
|
"linkedom": "0.18.5",
|
||||||
"luxon": "^3.5.0",
|
"luxon": "^3.5.0",
|
||||||
|
|
|
@ -153,23 +153,19 @@ window.addEventListener("load", () => {
|
||||||
: plainText;
|
: plainText;
|
||||||
};
|
};
|
||||||
|
|
||||||
const formatArtistTitle = (title, totalPlays) =>
|
|
||||||
totalPlays > 0
|
|
||||||
? `${title} <strong class="highlight-text">${totalPlays} plays</strong>`
|
|
||||||
: title;
|
|
||||||
|
|
||||||
const renderSearchResults = (results) => {
|
const renderSearchResults = (results) => {
|
||||||
const resultHTML = results
|
const resultHTML = results
|
||||||
.map(
|
.map(
|
||||||
({ title, url, description, type, total_plays }) => `
|
({ title, url, description, type, total_plays }) => `
|
||||||
<li class="search__results--result">
|
<li class="search__results--result">
|
||||||
<a href="${url}">
|
<h3>
|
||||||
<h3>${
|
<a href="${url}">${title}</a>
|
||||||
type === "artist" && total_plays
|
${
|
||||||
? formatArtistTitle(title, total_plays)
|
type === "artist" && total_plays
|
||||||
: title
|
? ` <strong class="highlight-text">${total_plays} plays</strong>`
|
||||||
}</h3>
|
: ""
|
||||||
</a>
|
}
|
||||||
|
</h3>
|
||||||
<p>${truncateDescription(description)}</p>
|
<p>${truncateDescription(description)}</p>
|
||||||
</li>
|
</li>
|
||||||
`
|
`
|
||||||
|
@ -225,13 +221,14 @@ window.addEventListener("load", () => {
|
||||||
.map(
|
.map(
|
||||||
({ title, url, description, type, total_plays }) => `
|
({ title, url, description, type, total_plays }) => `
|
||||||
<li class="search__results--result">
|
<li class="search__results--result">
|
||||||
<a href="${url}">
|
<h3>
|
||||||
<h3>${
|
<a href="${url}">${title}</a>
|
||||||
|
${
|
||||||
type === "artist" && total_plays
|
type === "artist" && total_plays
|
||||||
? formatArtistTitle(title, total_plays)
|
? ` <strong class="highlight-text">${total_plays} plays</strong>`
|
||||||
: title
|
: ""
|
||||||
}</h3>
|
}
|
||||||
</a>
|
</h3>
|
||||||
<p>${truncateDescription(description)}</p>
|
<p>${truncateDescription(description)}</p>
|
||||||
</li>
|
</li>
|
||||||
`
|
`
|
||||||
|
|
|
@ -1,17 +1,15 @@
|
||||||
html body {
|
html,
|
||||||
|
body {
|
||||||
|
font-family: var(--font-mono);
|
||||||
color: var(--text-color);
|
color: var(--text-color);
|
||||||
background: var(--background-color);
|
background: var(--background-color);
|
||||||
font-family: var(--font-mono);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
html {
|
html {
|
||||||
scrollbar-width: thin;
|
|
||||||
scrollbar-color: var(--accent-color) var(--gray-light);
|
scrollbar-color: var(--accent-color) var(--gray-light);
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
font-size: var(--font-size-base);
|
|
||||||
line-height: var(--line-height-base);
|
|
||||||
letter-spacing: -0.035rem;
|
letter-spacing: -0.035rem;
|
||||||
word-spacing: -0.15rem;
|
word-spacing: -0.15rem;
|
||||||
}
|
}
|
||||||
|
@ -42,13 +40,7 @@ p {
|
||||||
margin: var(--margin-vertical-base-horizontal-zero);
|
margin: var(--margin-vertical-base-horizontal-zero);
|
||||||
}
|
}
|
||||||
|
|
||||||
:is(p, ul, ol) a {
|
.highlight-text {
|
||||||
text-decoration: underline;
|
|
||||||
text-underline-offset: var(--spacing-xs);
|
|
||||||
}
|
|
||||||
|
|
||||||
.highlight-text,
|
|
||||||
details > summary {
|
|
||||||
color: var(--text-color-inverted);
|
color: var(--text-color-inverted);
|
||||||
background-color: var(--accent-color);
|
background-color: var(--accent-color);
|
||||||
padding: var(--spacing-xs);
|
padding: var(--spacing-xs);
|
||||||
|
@ -56,7 +48,6 @@ details > summary {
|
||||||
}
|
}
|
||||||
|
|
||||||
details > summary {
|
details > summary {
|
||||||
cursor: pointer;
|
|
||||||
display: inline;
|
display: inline;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -68,27 +59,10 @@ blockquote {
|
||||||
margin: var(--margin-vertical-base-horizontal-zero);
|
margin: var(--margin-vertical-base-horizontal-zero);
|
||||||
}
|
}
|
||||||
|
|
||||||
code {
|
:is(h1, h2, h3) svg {
|
||||||
padding: var(--spacing-xs);
|
|
||||||
color: var(--text-color-inverted);
|
|
||||||
background-color: var(--background-color-inverted);
|
|
||||||
border-radius: var(--border-radius-slight);
|
|
||||||
}
|
|
||||||
|
|
||||||
p:not(.banner p) > svg {
|
|
||||||
margin-bottom: var(--inline-margin-bottom);
|
|
||||||
}
|
|
||||||
|
|
||||||
:is(h1, h2, h3, h4, h5, h6) svg {
|
|
||||||
stroke-width: var(--stroke-width-bold);
|
stroke-width: var(--stroke-width-bold);
|
||||||
}
|
}
|
||||||
|
|
||||||
:is(h1, h2, h3, h4, h5, h6):has(svg) {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
gap: var(--spacing-sm);
|
|
||||||
}
|
|
||||||
|
|
||||||
strong,
|
strong,
|
||||||
blockquote {
|
blockquote {
|
||||||
font-weight: var(--font-weight-bold);
|
font-weight: var(--font-weight-bold);
|
||||||
|
@ -105,7 +79,29 @@ svg {
|
||||||
stroke-width: var(--stroke-width-default);
|
stroke-width: var(--stroke-width-default);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* brand colors */
|
/* images */
|
||||||
|
img {
|
||||||
|
border-radius: var(--border-radius-slight);
|
||||||
|
|
||||||
|
&.image-banner {
|
||||||
|
border: var(--border-default);
|
||||||
|
height: auto;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* lists */
|
||||||
|
ul,
|
||||||
|
ol {
|
||||||
|
margin: var(--margin-vertical-base-horizontal-zero);
|
||||||
|
padding-left: var(--spacing-base);
|
||||||
|
|
||||||
|
& li:not(:last-child) {
|
||||||
|
margin-bottom: var(--spacing-lg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* brand + section colors */
|
||||||
.article,
|
.article,
|
||||||
.books,
|
.books,
|
||||||
.brand-github,
|
.brand-github,
|
||||||
|
@ -211,51 +207,44 @@ svg {
|
||||||
/* links */
|
/* links */
|
||||||
a {
|
a {
|
||||||
color: var(--accent-color);
|
color: var(--accent-color);
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
:is(a:hover, a:active, a:focus) svg[data-tablericon-name^="arrow-"] {
|
& > img {
|
||||||
stroke: var(--accent-color-hover);
|
border: var(--border-default);
|
||||||
}
|
}
|
||||||
|
|
||||||
a:hover,
|
|
||||||
a:focus,
|
|
||||||
a:active,
|
|
||||||
:is(.main-title, footer nav.sub-pages) a:hover,
|
|
||||||
:is(.main-title, footer nav.sub-pages) a:focus,
|
|
||||||
:is(.main-title, footer nav.sub-pages) a:active {
|
|
||||||
color: var(--accent-color-hover);
|
|
||||||
transition: color var(--transition-duration-default)
|
|
||||||
var(--transition-ease-in-out);
|
|
||||||
}
|
|
||||||
|
|
||||||
:is(a:has(svg):hover, a:has(svg):active, a:has(svg):focus) svg {
|
|
||||||
stroke: var(--accent-color-hover);
|
|
||||||
}
|
|
||||||
|
|
||||||
:is(a):has(svg) {
|
|
||||||
display: inline-flex;
|
|
||||||
align-items: center;
|
|
||||||
gap: var(--spacing-sm);
|
|
||||||
|
|
||||||
& svg {
|
& svg {
|
||||||
stroke: var(--accent-color);
|
stroke: var(--accent-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
&:hover svg,
|
&:hover,
|
||||||
&:active svg,
|
&:focus,
|
||||||
&:focus svg {
|
&:active {
|
||||||
stroke: var(--accent-color-hover);
|
color: var(--accent-color-hover);
|
||||||
|
transition: color var(--transition-duration-default)
|
||||||
|
var(--transition-ease-in-out);
|
||||||
|
|
||||||
|
& > img {
|
||||||
|
border-color: var(--accent-color-hover);
|
||||||
|
transition: border var(--transition-duration-default)
|
||||||
|
var(--transition-ease-in-out);
|
||||||
|
}
|
||||||
|
|
||||||
|
& > svg {
|
||||||
|
stroke: var(--accent-color-hover);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
:is(h1, h2, h3, a, p:not(.banner p), span, th, td, .post-meta):has(svg) {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: var(--spacing-xs);
|
||||||
|
}
|
||||||
|
|
||||||
/* headers */
|
/* headers */
|
||||||
h1,
|
h1,
|
||||||
h2,
|
h2,
|
||||||
h3,
|
h3 {
|
||||||
h4,
|
|
||||||
h5,
|
|
||||||
h6 {
|
|
||||||
font-weight: var(--font-weight-bold);
|
font-weight: var(--font-weight-bold);
|
||||||
line-height: var(--line-height-md);
|
line-height: var(--line-height-md);
|
||||||
margin: var(--margin-vertical-base-horizontal-zero);
|
margin: var(--margin-vertical-base-horizontal-zero);
|
||||||
|
@ -264,48 +253,32 @@ h6 {
|
||||||
h1 {
|
h1 {
|
||||||
font-size: var(--font-size-2xl);
|
font-size: var(--font-size-2xl);
|
||||||
}
|
}
|
||||||
|
|
||||||
h2 {
|
h2 {
|
||||||
font-size: var(--font-size-xl);
|
font-size: var(--font-size-xl);
|
||||||
}
|
}
|
||||||
|
|
||||||
h3 {
|
h3 {
|
||||||
font-size: var(--font-size-lg);
|
font-size: var(--font-size-lg);
|
||||||
}
|
}
|
||||||
h4 {
|
|
||||||
font-size: var(--font-size-base);
|
|
||||||
}
|
|
||||||
h5 {
|
|
||||||
font-size: var(--font-size-md);
|
|
||||||
}
|
|
||||||
h6 {
|
|
||||||
font-size: var(--font-size-sm);
|
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (min-width: 768px) {
|
@media screen and (min-width: 768px) {
|
||||||
h1 {
|
h1 {
|
||||||
font-size: var(--font-size-3xl);
|
font-size: var(--font-size-3xl);
|
||||||
}
|
}
|
||||||
|
|
||||||
h2 {
|
h2 {
|
||||||
font-size: var(--font-size-2xl);
|
font-size: var(--font-size-2xl);
|
||||||
}
|
}
|
||||||
|
|
||||||
h3 {
|
h3 {
|
||||||
font-size: var(--font-size-xl);
|
font-size: var(--font-size-xl);
|
||||||
}
|
}
|
||||||
h4 {
|
|
||||||
font-size: var(--font-size-lg);
|
|
||||||
}
|
|
||||||
h5 {
|
|
||||||
font-size: var(--font-size-base);
|
|
||||||
}
|
|
||||||
h6 {
|
|
||||||
font-size: var(--font-size-md);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* dividers */
|
/* dividers */
|
||||||
hr {
|
hr {
|
||||||
height: 1px;
|
color: var(--gray-light);
|
||||||
background-color: var(--gray-light);
|
|
||||||
border: 0;
|
|
||||||
margin: var(--margin-vertical-base-horizontal-zero);
|
margin: var(--margin-vertical-base-horizontal-zero);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -322,19 +295,11 @@ article {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.standalone .associated-media:last-of-type > hr {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
& h3 {
|
& h3 {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
& .post-meta {
|
& .post-meta {
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
gap: var(--spacing-sm);
|
|
||||||
|
|
||||||
& svg {
|
& svg {
|
||||||
stroke: var(--gray-dark);
|
stroke: var(--gray-dark);
|
||||||
width: var(--sizing-svg-sm);
|
width: var(--sizing-svg-sm);
|
||||||
|
@ -362,10 +327,6 @@ img + .associated-media,
|
||||||
& li:last-child {
|
& li:last-child {
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
& .footnote-item > p {
|
|
||||||
display: inline;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
&:has(~ *) {
|
&:has(~ *) {
|
||||||
|
@ -375,11 +336,7 @@ img + .associated-media,
|
||||||
|
|
||||||
sup.footnote-ref {
|
sup.footnote-ref {
|
||||||
line-height: var(--line-height-xs);
|
line-height: var(--line-height-xs);
|
||||||
}
|
padding: var(--spacing-xs);
|
||||||
|
|
||||||
sup.footnote-ref a,
|
|
||||||
.footnote-backref {
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* tables */
|
/* tables */
|
||||||
|
@ -476,8 +433,8 @@ td:first-of-type,
|
||||||
.active,
|
.active,
|
||||||
.active svg {
|
.active svg {
|
||||||
cursor: not-allowed;
|
cursor: not-allowed;
|
||||||
color: var(--accent-color);
|
color: var(--accent-color-active);
|
||||||
stroke: var(--accent-color-hover);
|
stroke: var(--accent-color-active);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* layout */
|
/* layout */
|
||||||
|
@ -506,8 +463,7 @@ main {
|
||||||
main,
|
main,
|
||||||
footer {
|
footer {
|
||||||
width: 80%;
|
width: 80%;
|
||||||
margin-left: auto;
|
margin: 0 auto;
|
||||||
margin-right: auto;
|
|
||||||
|
|
||||||
@media screen and (min-width: 768px) {
|
@media screen and (min-width: 768px) {
|
||||||
max-width: 768px;
|
max-width: 768px;
|
||||||
|
@ -555,28 +511,4 @@ footer {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
:is(.main-title, footer nav.sub-pages) a {
|
|
||||||
color: var(--text-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* lists */
|
|
||||||
ul,
|
|
||||||
ol {
|
|
||||||
list-style-position: inside;
|
|
||||||
margin: var(--margin-vertical-base-horizontal-zero);
|
|
||||||
padding-left: var(--spacing-base);
|
|
||||||
|
|
||||||
& li:not(:last-child) {
|
|
||||||
margin-bottom: var(--spacing-lg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* images */
|
|
||||||
.image-banner {
|
|
||||||
border: var(--border-default);
|
|
||||||
border-radius: var(--border-radius-slight);
|
|
||||||
height: auto;
|
|
||||||
width: 100%;
|
|
||||||
}
|
}
|
|
@ -1,4 +1,5 @@
|
||||||
.addon-links {
|
.addon-links {
|
||||||
|
margin-top: var(--spacing-base);
|
||||||
display: grid;
|
display: grid;
|
||||||
gap: var(--sizing-base);
|
gap: var(--sizing-base);
|
||||||
grid-template-columns: var(--grid-columns-one);
|
grid-template-columns: var(--grid-columns-one);
|
||||||
|
@ -15,9 +16,8 @@
|
||||||
border-bottom: 0;
|
border-bottom: 0;
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
|
|
||||||
& ol,
|
& ul,
|
||||||
ul {
|
& ol {
|
||||||
padding: 0;
|
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,5 +14,7 @@
|
||||||
|
|
||||||
& img {
|
& img {
|
||||||
image-rendering: pixelated;
|
image-rendering: pixelated;
|
||||||
|
border: none;
|
||||||
|
border-radius: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,14 +8,12 @@ button,
|
||||||
border: 2px solid var(--accent-color);
|
border: 2px solid var(--accent-color);
|
||||||
border-radius: var(--border-radius-full);
|
border-radius: var(--border-radius-full);
|
||||||
padding: var(--spacing-xs) var(--spacing-md);
|
padding: var(--spacing-xs) var(--spacing-md);
|
||||||
cursor: pointer;
|
|
||||||
font-size: var(--font-size-base);
|
font-size: var(--font-size-base);
|
||||||
font-weight: var(--font-weight-bold);
|
font-weight: var(--font-weight-bold);
|
||||||
line-height: var(--line-height-base);
|
line-height: var(--line-height-base);
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
color: var(--text-color-inverted);
|
color: var(--text-color-inverted);
|
||||||
background-color: var(--accent-color);
|
background-color: var(--accent-color);
|
||||||
appearance: none;
|
|
||||||
transition: color var(--transition-duration-default)
|
transition: color var(--transition-duration-default)
|
||||||
var(--transition-ease-in-out);
|
var(--transition-ease-in-out);
|
||||||
|
|
||||||
|
@ -23,10 +21,7 @@ button,
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:not(.active):hover,
|
&:not(.active):is(:hover, :active, :focus, :focus-within) {
|
||||||
&:not(.active):active,
|
|
||||||
&:not(.active):focus,
|
|
||||||
&:not(.active):focus-within {
|
|
||||||
background-color: var(--accent-color-hover);
|
background-color: var(--accent-color-hover);
|
||||||
border-color: var(--accent-color-hover);
|
border-color: var(--accent-color-hover);
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,61 +3,29 @@
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
}
|
}
|
||||||
|
|
||||||
input[type="text"],
|
input:not([type="button"]):not([type="submit"]):not([type="reset"]),
|
||||||
input[type="email"],
|
|
||||||
input[type="search"],
|
|
||||||
textarea {
|
textarea {
|
||||||
font: var(--font-weight-base) var(--font-size-base) var(--font-mono);
|
|
||||||
line-height: var(--line-height-base);
|
|
||||||
color: var(--text-color);
|
|
||||||
background-color: var(--background-color);
|
|
||||||
border: var(--border-default);
|
|
||||||
border-radius: var(--border-radius-slight);
|
|
||||||
padding: var(--spacing-sm);
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
input:not([type="button"]):not([type="submit"]):not([type="reset"]),
|
||||||
|
textarea,
|
||||||
|
select {
|
||||||
|
color: var(--text-color);
|
||||||
|
border-radius: var(--border-radius-slight);
|
||||||
|
background-color: var(--background-color);
|
||||||
|
padding: var(--spacing-sm);
|
||||||
|
border: var(--border-gray);
|
||||||
|
}
|
||||||
|
|
||||||
form:has(+ *),
|
form:has(+ *),
|
||||||
label:has(input):has(+ *) input,
|
label:has(input):has(+ *) input,
|
||||||
input[type="text"]:has(+ *),
|
input:not([type="button"]):not([type="submit"]):not([type="reset"]):has(+ *),
|
||||||
input[type="email"]:has(+ *),
|
|
||||||
input[type="search"]:has(+ *),
|
|
||||||
textarea:has(+ *) {
|
textarea:has(+ *) {
|
||||||
margin-bottom: var(--spacing-base);
|
margin-bottom: var(--spacing-base);
|
||||||
}
|
}
|
||||||
|
|
||||||
select {
|
|
||||||
color: var(--text-color);
|
|
||||||
cursor: pointer;
|
|
||||||
border: var(--border-gray);
|
|
||||||
border-radius: var(--border-radius-slight);
|
|
||||||
background-color: var(--background-color);
|
|
||||||
padding: var(--spacing-xs) var(--spacing-sm);
|
|
||||||
}
|
|
||||||
|
|
||||||
fieldset {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
gap: var(--spacing-sm);
|
|
||||||
padding: var(--spacing-lg) 0 0 0;
|
|
||||||
border: none;
|
|
||||||
|
|
||||||
@media screen and (min-width: 768px) {
|
|
||||||
flex-direction: row;
|
|
||||||
gap: var(--spacing-lg);
|
|
||||||
}
|
|
||||||
|
|
||||||
& label {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
gap: var(--sizing-xs);
|
|
||||||
}
|
|
||||||
|
|
||||||
& input[type="checkbox"] {
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.search__form {
|
.search__form {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
|
|
||||||
|
@ -79,9 +47,5 @@ fieldset {
|
||||||
margin-bottom: var(--sizing-base);
|
margin-bottom: var(--sizing-base);
|
||||||
border-bottom: var(--border-gray);
|
border-bottom: var(--border-gray);
|
||||||
}
|
}
|
||||||
|
|
||||||
& a {
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
.mastodon-post-wrapper {
|
.mastodon-post-wrapper {
|
||||||
margin-bottom: var(--spacing-base);
|
|
||||||
|
|
||||||
& dl,
|
& dl,
|
||||||
dt {
|
dt {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
.icon-link + .media-grid {
|
a + .media-grid {
|
||||||
margin-top: var(--spacing-base);
|
margin-top: var(--spacing-base);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,6 @@ menu {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: var(--spacing-sm) 0;
|
padding: var(--spacing-sm) 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
color: var(--text-color);
|
|
||||||
background: var(--background-color);
|
background: var(--background-color);
|
||||||
|
|
||||||
& a {
|
& a {
|
||||||
|
|
|
@ -39,13 +39,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
& a:has(img) {
|
|
||||||
display: flex;
|
|
||||||
}
|
|
||||||
|
|
||||||
& img {
|
& img {
|
||||||
border: var(--border-default);
|
|
||||||
border-radius: var(--border-radius-slight);
|
|
||||||
width: calc(var(--sizing-3xl) * 1.5);
|
width: calc(var(--sizing-3xl) * 1.5);
|
||||||
height: calc(var(--sizing-3xl) * 1.5);
|
height: calc(var(--sizing-3xl) * 1.5);
|
||||||
|
|
||||||
|
@ -92,18 +86,17 @@
|
||||||
|
|
||||||
& .title,
|
& .title,
|
||||||
& .subtext,
|
& .subtext,
|
||||||
& .subtext p,
|
& time {
|
||||||
& .timestamp {
|
|
||||||
line-height: var(--line-height-md);
|
line-height: var(--line-height-md);
|
||||||
word-break: break-word;
|
word-break: break-word;
|
||||||
}
|
}
|
||||||
|
|
||||||
& .subtext,
|
& .subtext,
|
||||||
& .timestamp {
|
& time {
|
||||||
font-size: var(--font-size-sm);
|
font-size: var(--font-size-sm);
|
||||||
}
|
}
|
||||||
|
|
||||||
& .timestamp {
|
& time {
|
||||||
margin-top: var(--spacing-sm);
|
margin-top: var(--spacing-sm);
|
||||||
margin-left: 0;
|
margin-left: 0;
|
||||||
|
|
||||||
|
|
|
@ -2,24 +2,23 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
}
|
|
||||||
|
|
||||||
.pagination button {
|
& button {
|
||||||
background: none;
|
background: none;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.pagination a {
|
& a {
|
||||||
display: flex;
|
display: flex;
|
||||||
}
|
|
||||||
|
|
||||||
.pagination p {
|
&.disabled svg[data-tablericon-name^="arrow-"] {
|
||||||
text-align: center;
|
cursor: not-allowed;
|
||||||
margin: 0;
|
stroke: var(--gray-medium);
|
||||||
}
|
stroke-width: var(--stroke-width-default);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.pagination a.disabled svg[data-tablericon-name^="arrow-"] {
|
& p {
|
||||||
cursor: not-allowed;
|
text-align: center;
|
||||||
stroke: var(--gray-medium);
|
}
|
||||||
stroke-width: var(--stroke-width-default);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#tracks-recent,
|
#tracks-recent,
|
||||||
#tracks-chart,
|
#tracks-chart,
|
||||||
#tracks-recent ~ .tracks-recent,
|
.tracks-recent,
|
||||||
#tracks-chart ~ .tracks-chart {
|
.tracks-chart {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ input[id="tracks-chart"] ~ .tracks-chart {
|
||||||
margin-top: var(--spacing-base);
|
margin-top: var(--spacing-base);
|
||||||
}
|
}
|
||||||
|
|
||||||
input[id="tracks-recent"] ~ [for="tracks-recent"]:has(+ [for="tracks-chart"]) {
|
[for="tracks-recent"] {
|
||||||
margin-right: var(--spacing-xs);
|
margin-right: var(--spacing-xs);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -37,4 +37,4 @@ input[id="tracks-recent"] ~ [for="tracks-recent"]:has(+ [for="tracks-chart"]) {
|
||||||
#tracks-chart:not(:checked) ~ [for="tracks-chart"]:hover,
|
#tracks-chart:not(:checked) ~ [for="tracks-chart"]:hover,
|
||||||
#tracks-chart:not(:checked) ~ [for="tracks-chart"]:active {
|
#tracks-chart:not(:checked) ~ [for="tracks-chart"]:active {
|
||||||
color: var(--accent-color-hover);
|
color: var(--accent-color-hover);
|
||||||
}
|
}
|
|
@ -2,6 +2,15 @@ youtube-video {
|
||||||
aspect-ratio: 16/9;
|
aspect-ratio: 16/9;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
overflow: hidden;
|
||||||
|
border: var(--border-default);
|
||||||
|
border-radius: var(--border-radius-slight);
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
border-color: var(--accent-color-hover);
|
||||||
|
transition: border var(--transition-duration-default)
|
||||||
|
var(--transition-ease-in-out);
|
||||||
|
}
|
||||||
|
|
||||||
&:has(+ *) {
|
&:has(+ *) {
|
||||||
margin-bottom: var(--spacing-base);
|
margin-bottom: var(--spacing-base);
|
||||||
|
|
|
@ -37,13 +37,13 @@
|
||||||
);
|
);
|
||||||
--accent-color: light-dark(var(--blue-400), var(--blue-200));
|
--accent-color: light-dark(var(--blue-400), var(--blue-200));
|
||||||
--accent-color-hover: light-dark(var(--blue-600), var(--blue-100));
|
--accent-color-hover: light-dark(var(--blue-600), var(--blue-100));
|
||||||
|
--accent-color-active: light-dark(var(--blue-600), var(--blue-100));
|
||||||
|
|
||||||
--brand-buy-me-a-coffee: #ff5f5f;
|
--brand-buy-me-a-coffee: light-dark(#0d0c22, #ffdd00);
|
||||||
--brand-github: light-dark(#333, #f5f5f5);
|
--brand-github: light-dark(#333, #f5f5f5);
|
||||||
--brand-fastmail: light-dark(#0067b9, #ffc107);
|
--brand-fastmail: light-dark(#0067b9, #ffc107);
|
||||||
--brand-listenbrainz: #e97941;
|
--brand-mastodon: light-dark(#563acc, #858afa);
|
||||||
--brand-mastodon: #6364ff;
|
--brand-npm: #cb3837;
|
||||||
--brand-npm: #cc3534;
|
|
||||||
--brand-rss: #f26522;
|
--brand-rss: #f26522;
|
||||||
|
|
||||||
--article: light-dark(#007272, #00ffff);
|
--article: light-dark(#007272, #00ffff);
|
||||||
|
@ -149,7 +149,7 @@
|
||||||
--inline-margin-bottom: -5px;
|
--inline-margin-bottom: -5px;
|
||||||
|
|
||||||
/* shadows */
|
/* shadows */
|
||||||
--box-shadow-media: inset 0 -85px 60px -40px var(--gray-900);
|
--box-shadow-media: inset 0 -85px 60px -40px var(--color-darkest);
|
||||||
--box-shadow-text-toggle: inset 0 -120px 60px -60px var(--background-color);
|
--box-shadow-text-toggle: inset 0 -120px 60px -60px var(--background-color);
|
||||||
--text-shadow-default: rgba(0, 0, 0, 0.7) 0px 0px 10px;
|
--text-shadow-default: rgba(0, 0, 0, 0.7) 0px 0px 10px;
|
||||||
|
|
||||||
|
|
|
@ -54,7 +54,7 @@
|
||||||
</h3>
|
</h3>
|
||||||
<xsl:value-of select="description" disable-output-escaping="yes" />
|
<xsl:value-of select="description" disable-output-escaping="yes" />
|
||||||
<xsl:if test="enclosure">
|
<xsl:if test="enclosure">
|
||||||
<img src="{enclosure/@url}" alt="{title}" />
|
<img class="image-banner" src="{enclosure/@url}" alt="{title}" />
|
||||||
</xsl:if>
|
</xsl:if>
|
||||||
</div>
|
</div>
|
||||||
</xsl:for-each>
|
</xsl:for-each>
|
||||||
|
|
|
@ -16,10 +16,10 @@
|
||||||
/* page styles */
|
/* page styles */
|
||||||
@import url("./pages/about.css") layer(page);
|
@import url("./pages/about.css") layer(page);
|
||||||
@import url("./pages/books.css") layer(page);
|
@import url("./pages/books.css") layer(page);
|
||||||
@import url("./pages/blogroll.css") layer(page);
|
|
||||||
@import url("./pages/contact.css") layer(page);
|
@import url("./pages/contact.css") layer(page);
|
||||||
@import url("./pages/feeds.css") layer(page);
|
@import url("./pages/feeds.css") layer(page);
|
||||||
@import url("./pages/links.css") layer(page);
|
@import url("./pages/links.css") layer(page);
|
||||||
|
@import url("./pages/media.css") layer(page);
|
||||||
@import url("./pages/music.css") layer(page);
|
@import url("./pages/music.css") layer(page);
|
||||||
@import url("./pages/watching.css") layer(page);
|
@import url("./pages/watching.css") layer(page);
|
||||||
@import url("./pages/webrings.css") layer(page);
|
@import url("./pages/webrings.css") layer(page);
|
||||||
|
|
|
@ -13,14 +13,10 @@
|
||||||
margin-bottom: var(--spacing-sm);
|
margin-bottom: var(--spacing-sm);
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
||||||
& .interior {
|
& img {
|
||||||
display: flex;
|
width: var(--avatar-size);
|
||||||
|
height: var(--avatar-size);
|
||||||
& img {
|
image-rendering: pixelated;
|
||||||
width: var(--avatar-size);
|
|
||||||
height: var(--avatar-size);
|
|
||||||
image-rendering: pixelated;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
.blog-roll-icons {
|
|
||||||
display: flex;
|
|
||||||
}
|
|
|
@ -14,7 +14,7 @@
|
||||||
border-bottom: 0;
|
border-bottom: 0;
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
|
|
||||||
& .book-meta .description {
|
& .media-meta .description {
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -27,28 +27,17 @@
|
||||||
max-width: calc(var(--sizing-3xl) * 4);
|
max-width: calc(var(--sizing-3xl) * 4);
|
||||||
height: auto;
|
height: auto;
|
||||||
aspect-ratio: var(--aspect-ratio-vertical);
|
aspect-ratio: var(--aspect-ratio-vertical);
|
||||||
transition: border-color var(--transition-duration-default)
|
|
||||||
var(--transition-ease-in-out);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
& a:focus img,
|
& .media-meta {
|
||||||
& a:focus-within img,
|
margin-top: var(--sizing-base);
|
||||||
& a:hover img,
|
|
||||||
& a:active img {
|
|
||||||
border-color: var(--accent-color-hover);
|
|
||||||
}
|
|
||||||
|
|
||||||
& .book-meta {
|
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
@media screen and (min-width: 768px) {
|
@media screen and (min-width: 768px) {
|
||||||
|
margin-top: 0;
|
||||||
align-items: start;
|
align-items: start;
|
||||||
}
|
}
|
||||||
|
|
||||||
& p {
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
& .description {
|
& .description {
|
||||||
margin-bottom: var(--spacing-base);
|
margin-bottom: var(--spacing-base);
|
||||||
}
|
}
|
||||||
|
@ -65,38 +54,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.book-entry,
|
|
||||||
.book-focus {
|
|
||||||
& img {
|
|
||||||
border: var(--border-default);
|
|
||||||
border-radius: var(--border-radius-slight);
|
|
||||||
}
|
|
||||||
|
|
||||||
& .book-meta {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
gap: var(--spacing-sm);
|
|
||||||
|
|
||||||
& p.title {
|
|
||||||
font-size: var(--font-size-xl);
|
|
||||||
line-height: var(--line-height-md);
|
|
||||||
}
|
|
||||||
|
|
||||||
& p.sub-meta {
|
|
||||||
font-size: var(--font-size-sm);
|
|
||||||
|
|
||||||
& svg {
|
|
||||||
width: var(--sizing-svg-sm);
|
|
||||||
height: var(--sizing-svg-sm);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
& p {
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.book-focus {
|
.book-focus {
|
||||||
margin-top: var(--spacing-base);
|
margin-top: var(--spacing-base);
|
||||||
border-bottom: 0;
|
border-bottom: 0;
|
||||||
|
@ -113,7 +70,7 @@
|
||||||
align-items: start;
|
align-items: start;
|
||||||
}
|
}
|
||||||
|
|
||||||
& .book-meta {
|
& .media-meta {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
|
@ -122,10 +79,6 @@
|
||||||
align-items: start;
|
align-items: start;
|
||||||
}
|
}
|
||||||
|
|
||||||
& p {
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
& .progress-bar-wrapper {
|
& .progress-bar-wrapper {
|
||||||
max-width: 50%;
|
max-width: 50%;
|
||||||
|
|
||||||
|
|
|
@ -22,11 +22,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
& img {
|
& img {
|
||||||
border: var(--border-default);
|
|
||||||
border-radius: var(--border-radius-slight);
|
|
||||||
width: 100%;
|
|
||||||
height: auto;
|
|
||||||
display: block;
|
|
||||||
margin-top: var(--sizing-base);
|
margin-top: var(--sizing-base);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
.link-grid {
|
.link-grid {
|
||||||
display: grid;
|
display: grid;
|
||||||
gap: var(--spacing-sm);
|
gap: var(--spacing-sm);
|
||||||
grid-template-columns: repeat(1, minmax(0, 1fr));
|
grid-template-columns: var(--grid-columns-one);
|
||||||
margin-bottom: var(--spacing-base);
|
margin-bottom: var(--spacing-base);
|
||||||
|
|
||||||
@media screen and (min-width: 768px) {
|
@media screen and (min-width: 768px) {
|
||||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
grid-template-columns: var(--grid-columns-two);
|
||||||
}
|
}
|
||||||
|
|
||||||
& .link-box {
|
& .link-box {
|
||||||
border: var(--border-gray);
|
border: var(--border-gray);
|
||||||
border-radius: var(--border-radius-slight);
|
border-radius: var(--border-radius-slight);
|
||||||
padding: var(--spacing-xs) var(--spacing-sm);
|
padding: var(--spacing-sm) var(--spacing-md);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
19
src/assets/styles/pages/media.css
Normal file
19
src/assets/styles/pages/media.css
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
.media-meta {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: var(--spacing-sm);
|
||||||
|
|
||||||
|
& .title {
|
||||||
|
font-size: var(--font-size-xl);
|
||||||
|
line-height: var(--line-height-md);
|
||||||
|
}
|
||||||
|
|
||||||
|
& .sub-meta {
|
||||||
|
font-size: var(--font-size-sm);
|
||||||
|
|
||||||
|
& svg {
|
||||||
|
width: var(--sizing-svg-sm);
|
||||||
|
height: var(--sizing-svg-sm);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -12,7 +12,6 @@
|
||||||
|
|
||||||
& img {
|
& img {
|
||||||
border: var(--border-default);
|
border: var(--border-default);
|
||||||
border-radius: var(--border-radius-slight);
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: auto;
|
height: auto;
|
||||||
aspect-ratio: var(--aspect-ratio-square);
|
aspect-ratio: var(--aspect-ratio-square);
|
||||||
|
@ -33,33 +32,12 @@
|
||||||
gap: var(--spacing-md);
|
gap: var(--spacing-md);
|
||||||
}
|
}
|
||||||
|
|
||||||
& .artist-meta {
|
& .media-meta {
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
gap: var(--spacing-sm);
|
|
||||||
margin-top: var(--spacing-base);
|
margin-top: var(--spacing-base);
|
||||||
|
|
||||||
@media screen and (min-width: 768px) {
|
@media screen and (min-width: 768px) {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
& p {
|
|
||||||
margin: 0;
|
|
||||||
|
|
||||||
&.title {
|
|
||||||
font-size: var(--font-size-xl);
|
|
||||||
line-height: var(--line-height-md);
|
|
||||||
}
|
|
||||||
|
|
||||||
&.sub-meta {
|
|
||||||
font-size: var(--font-size-sm);
|
|
||||||
|
|
||||||
& svg {
|
|
||||||
width: var(--sizing-svg-sm);
|
|
||||||
height: var(--sizing-svg-sm);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -72,13 +50,4 @@
|
||||||
|
|
||||||
.concert-list {
|
.concert-list {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
padding-left: 0;
|
|
||||||
|
|
||||||
& li .modal-toggle {
|
|
||||||
height: calc(var(--sizing-lg) * 1.6);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
p.concerts + ul + hr {
|
|
||||||
display: none;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,6 @@ a:active > .watching.hero::after {
|
||||||
|
|
||||||
& img {
|
& img {
|
||||||
aspect-ratio: var(--aspect-ratio-banner);
|
aspect-ratio: var(--aspect-ratio-banner);
|
||||||
border-radius: var(--border-radius-slight);
|
|
||||||
height: auto;
|
height: auto;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
@ -62,33 +61,8 @@ a:active > .watching.hero::after {
|
||||||
margin-top: var(--spacing-base);
|
margin-top: var(--spacing-base);
|
||||||
border-bottom: 0;
|
border-bottom: 0;
|
||||||
|
|
||||||
& img {
|
& .media-meta {
|
||||||
aspect-ratio: var(--aspect-ratio-banner);
|
|
||||||
}
|
|
||||||
|
|
||||||
& .meta {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
gap: var(--spacing-sm);
|
|
||||||
margin: var(--margin-vertical-base-horizontal-zero);
|
margin: var(--margin-vertical-base-horizontal-zero);
|
||||||
|
|
||||||
& p {
|
|
||||||
margin: 0;
|
|
||||||
|
|
||||||
&.title {
|
|
||||||
font-size: var(--font-size-xl);
|
|
||||||
line-height: var(--line-height-md);
|
|
||||||
}
|
|
||||||
|
|
||||||
&.sub-meta {
|
|
||||||
font-size: var(--font-size-sm);
|
|
||||||
|
|
||||||
& svg {
|
|
||||||
width: var(--sizing-svg-sm);
|
|
||||||
height: var(--sizing-svg-sm);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
& .footnotes {
|
& .footnotes {
|
||||||
|
@ -97,6 +71,6 @@ a:active > .watching.hero::after {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-link + .poster.grid {
|
a + .poster.grid {
|
||||||
margin-top: var(--spacing-base);
|
margin-top: var(--spacing-base);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,15 @@
|
||||||
|
code {
|
||||||
|
padding: var(--spacing-xs);
|
||||||
|
color: var(--text-color-inverted);
|
||||||
|
background-color: var(--background-color-inverted);
|
||||||
|
border-radius: var(--border-radius-slight);
|
||||||
|
}
|
||||||
|
|
||||||
code,
|
code,
|
||||||
pre {
|
pre {
|
||||||
color: var(--blue-100);
|
color: var(--blue-100);
|
||||||
background: none;
|
background: none;
|
||||||
border-radius: var(--border-radius-slight);
|
border-radius: var(--border-radius-slight);
|
||||||
text-shadow: 0 1px rgba(0, 0, 0, 0.3);
|
|
||||||
font-family: var(--font-mono);
|
font-family: var(--font-mono);
|
||||||
text-align: left;
|
text-align: left;
|
||||||
white-space: pre;
|
white-space: pre;
|
||||||
|
@ -32,8 +38,8 @@ pre {
|
||||||
|
|
||||||
pre,
|
pre,
|
||||||
:not(pre) > code {
|
:not(pre) > code {
|
||||||
background: var(--gray-900);
|
background: var(--color-darkest);
|
||||||
border: 1px solid var(--gray-300);
|
border: var(--border-gray);
|
||||||
}
|
}
|
||||||
|
|
||||||
.namespace {
|
.namespace {
|
||||||
|
|
|
@ -1,29 +1,135 @@
|
||||||
*,
|
*,
|
||||||
*::before,
|
*::before,
|
||||||
*::after {
|
*::after {
|
||||||
box-sizing: border-box;
|
margin: 0;
|
||||||
margin: 0;
|
padding: 0;
|
||||||
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
:where([hidden]:not([hidden='until-found'])) {
|
||||||
line-height: var(--line-height-md);
|
display: none !important;
|
||||||
-webkit-font-smoothing: antialiased;
|
|
||||||
-webkit-text-size-adjust: none;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
input,
|
:where(html) {
|
||||||
button,
|
font-size: 100%;
|
||||||
textarea,
|
-webkit-text-size-adjust: none;
|
||||||
select {
|
scrollbar-width: thin;
|
||||||
font: inherit;
|
scrollbar-gutter: stable;
|
||||||
|
tab-size: 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
p,
|
:where(html:has(dialog:modal[open])) {
|
||||||
h1,
|
overflow: clip;
|
||||||
h2,
|
|
||||||
h3,
|
|
||||||
h4,
|
|
||||||
h5,
|
|
||||||
h6 {
|
|
||||||
overflow-wrap: break-word;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media (prefers-reduced-motion: no-preference) {
|
||||||
|
:where(html:focus-within) {
|
||||||
|
scroll-behavior: smooth;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
:where(body) {
|
||||||
|
font-size: var(--font-size-base);
|
||||||
|
line-height: var(--line-height-base);
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
-webkit-text-size-adjust: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
:where(button) {
|
||||||
|
all: unset;
|
||||||
|
}
|
||||||
|
|
||||||
|
:where(input, button, textarea, select) {
|
||||||
|
font: inherit;
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
:where(textarea) {
|
||||||
|
resize: vertical;
|
||||||
|
resize: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
:where(button, label, select, summary, [role='button'], [role='option']) {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
:where(:disabled) {
|
||||||
|
cursor: not-allowed;
|
||||||
|
}
|
||||||
|
|
||||||
|
:where(label:has(> input:disabled), label:has(+ input:disabled)) {
|
||||||
|
cursor: not-allowed;
|
||||||
|
}
|
||||||
|
|
||||||
|
:where(a) {
|
||||||
|
color: inherit;
|
||||||
|
text-underline-offset: var(--spacing-xs);
|
||||||
|
}
|
||||||
|
|
||||||
|
ul {
|
||||||
|
list-style-type: disc;
|
||||||
|
}
|
||||||
|
|
||||||
|
ol {
|
||||||
|
list-style-type: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
:where(ul, ol) {
|
||||||
|
list-style-position: inside;
|
||||||
|
}
|
||||||
|
|
||||||
|
:where(img, svg, video, canvas, audio, iframe, embed, object) {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
:where(p, h1, h2, h3) {
|
||||||
|
overflow-wrap: break-word;
|
||||||
|
}
|
||||||
|
|
||||||
|
:where(h1, h2, h3) {
|
||||||
|
text-wrap: balance;
|
||||||
|
}
|
||||||
|
|
||||||
|
:where(hr) {
|
||||||
|
border: none;
|
||||||
|
border-block-start: 1px solid;
|
||||||
|
border-block-start-color: currentColor;
|
||||||
|
color: inherit;
|
||||||
|
block-size: 0;
|
||||||
|
overflow: visible;
|
||||||
|
}
|
||||||
|
|
||||||
|
:where(dialog, [popover]) {
|
||||||
|
border: none;
|
||||||
|
background: none;
|
||||||
|
color: inherit;
|
||||||
|
inset: unset;
|
||||||
|
max-width: unset;
|
||||||
|
max-height: unset;
|
||||||
|
}
|
||||||
|
|
||||||
|
:where(dialog:not([open], [popover]), [popover]:not(:popover-open)) {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
:where(:focus-visible) {
|
||||||
|
outline: var(--border-default);
|
||||||
|
outline-offset: 1px;
|
||||||
|
border-radius: var(--border-radius-slight);
|
||||||
|
box-shadow: 0 0 0 1px var(--accent-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
:where(:focus-visible, :target) {
|
||||||
|
scroll-margin-block: 8vh;
|
||||||
|
}
|
||||||
|
|
||||||
|
:where(.visually-hidden:not(:focus-within, :active)) {
|
||||||
|
clip-path: inset(50%) !important;
|
||||||
|
height: 1px !important;
|
||||||
|
width: 1px !important;
|
||||||
|
overflow: hidden !important;
|
||||||
|
position: absolute !important;
|
||||||
|
white-space: nowrap !important;
|
||||||
|
border: 0 !important;
|
||||||
|
user-select: none !important;
|
||||||
|
}
|
|
@ -13,11 +13,14 @@
|
||||||
"items": [
|
"items": [
|
||||||
{%- assign entries = data -%}
|
{%- assign entries = data -%}
|
||||||
{%- for entry in entries limit: 20 -%}
|
{%- for entry in entries limit: 20 -%}
|
||||||
|
{%- assign text = entry.feed.description | markdown | strip_html | escape| normalize_whitespace | rstrip | htmlTruncate %}
|
||||||
{
|
{
|
||||||
"id": "{{ entry.feed.url | encodeAmp }}",
|
"id": "{{ entry.feed.url | encodeAmp }}",
|
||||||
"url": "{{ entry.feed.url | encodeAmp }}",
|
"url": "{{ entry.feed.url | encodeAmp }}",
|
||||||
"title": "{{ entry.feed.title | escape }}",
|
"title": "{{ entry.feed.title | escape }}",
|
||||||
"content_text": "{{ entry.feed.description | markdown | strip_html | escape| normalize_whitespace | rstrip | htmlTruncate }}",
|
"content_html": "{{ text }}",
|
||||||
|
"content_text": "{{ text }}",
|
||||||
|
"summary": "{{ text }}",
|
||||||
"date_published": "{{ entry.feed.date | stringToRFC3339 }}"
|
"date_published": "{{ entry.feed.date | stringToRFC3339 }}"
|
||||||
}{%- if forloop.last == false -%},{%- endif -%}
|
}{%- if forloop.last == false -%},{%- endif -%}
|
||||||
{%- endfor -%}
|
{%- endfor -%}
|
||||||
|
|
|
@ -16,4 +16,4 @@
|
||||||
{{ post.description | normalize_whitespace | markdown | htmlTruncate }}
|
{{ post.description | normalize_whitespace | markdown | htmlTruncate }}
|
||||||
</article>
|
</article>
|
||||||
{%- endfor -%}
|
{%- endfor -%}
|
||||||
<a class="icon-link" href="/posts">View all posts {% tablericon "arrow-right" %}</a>
|
<a href="/posts">View all posts {% tablericon "arrow-right" %}</a>
|
|
@ -4,7 +4,7 @@
|
||||||
{%- assign loadingStrategy = loading | default: 'lazy' -%}
|
{%- assign loadingStrategy = loading | default: 'lazy' -%}
|
||||||
{%- for item in data limit: count -%}
|
{%- for item in data limit: count -%}
|
||||||
{%- assign alt = item.grid.alt | replaceQuotes -%}
|
{%- assign alt = item.grid.alt | replaceQuotes -%}
|
||||||
{%- assign imageUrl = item.grid.image | default: item.grid.backdrop -%}
|
{%- assign imageUrl = item.grid.image -%}
|
||||||
<a href="{{ item.grid.url }}" title="{{ alt }}">
|
<a href="{{ item.grid.url }}" title="{{ alt }}">
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<div class="meta-text">
|
<div class="meta-text">
|
||||||
|
@ -16,6 +16,7 @@
|
||||||
{%- assign height = 0 -%}
|
{%- assign height = 0 -%}
|
||||||
{%- case shape -%}
|
{%- case shape -%}
|
||||||
{%- when 'poster' -%}
|
{%- when 'poster' -%}
|
||||||
|
{%- assign imageUrl = item.grid.backdrop -%}
|
||||||
{%- assign imageClass = 'banner' -%}
|
{%- assign imageClass = 'banner' -%}
|
||||||
{%- assign width = 256 -%}
|
{%- assign width = 256 -%}
|
||||||
{%- assign height = 170 -%}
|
{%- assign height = 170 -%}
|
||||||
|
|
|
@ -22,9 +22,9 @@
|
||||||
<span class="subtext">{{ item.chart.subtext }}</span>
|
<span class="subtext">{{ item.chart.subtext }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="timestamp">
|
<time datetime="item.chart.played_at">
|
||||||
{{ item.chart.played_at | date: "%B %-d, %-I:%M%p", "America/Los_Angeles" }}
|
{{ item.chart.played_at | date: "%B %-d, %-I:%M%p", "America/Los_Angeles" }}
|
||||||
</div>
|
</time>
|
||||||
</div>
|
</div>
|
||||||
{%- endfor -%}
|
{%- endfor -%}
|
||||||
</div>
|
</div>
|
|
@ -6,7 +6,6 @@
|
||||||
href="{{ prevHref }}"
|
href="{{ prevHref }}"
|
||||||
aria-label="Previous page"
|
aria-label="Previous page"
|
||||||
class="{% unless prevHref %}disabled{% endunless %}"
|
class="{% unless prevHref %}disabled{% endunless %}"
|
||||||
{% unless prevHref %}disabled{% endunless %}
|
|
||||||
>
|
>
|
||||||
{% tablericon "arrow-left" %}
|
{% tablericon "arrow-left" %}
|
||||||
</a>
|
</a>
|
||||||
|
@ -29,7 +28,6 @@
|
||||||
href="{{ nextHref }}"
|
href="{{ nextHref }}"
|
||||||
aria-label="Next page"
|
aria-label="Next page"
|
||||||
class="{% unless nextHref %}disabled{% endunless %}"
|
class="{% unless nextHref %}disabled{% endunless %}"
|
||||||
{% unless nextHref %}disabled{% endunless %}
|
|
||||||
>
|
>
|
||||||
{% tablericon "arrow-right" %}
|
{% tablericon "arrow-right" %}
|
||||||
</a>
|
</a>
|
||||||
|
|
|
@ -32,12 +32,12 @@ schema: books
|
||||||
height="307"
|
height="307"
|
||||||
/>
|
/>
|
||||||
</a>
|
</a>
|
||||||
<div class="book-meta">
|
<div class="media-meta">
|
||||||
<a href="{{ book.url }}">
|
<a href="{{ book.url }}">
|
||||||
<p class="title"><strong>{{ book.title }}</strong></p>
|
<span class="title"><strong>{{ book.title }}</strong></span>
|
||||||
</a>
|
</a>
|
||||||
{% if book.author %}
|
{% if book.author %}
|
||||||
<p class="sub-meta">By {{ book.author }}</p>
|
<span class="sub-meta">By {{ book.author }}</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if book.progress %}
|
{% if book.progress %}
|
||||||
{%- assign percentage = book.progress | append: '%' -%}
|
{%- assign percentage = book.progress | append: '%' -%}
|
||||||
|
|
|
@ -12,7 +12,7 @@ schema: books-year
|
||||||
{%- assign currentYear = 'now' | date: "%Y" -%}
|
{%- assign currentYear = 'now' | date: "%Y" -%}
|
||||||
{%- assign yearString = year.value | append: '' -%}
|
{%- assign yearString = year.value | append: '' -%}
|
||||||
{%- assign currentYearString = currentYear | append: '' -%}
|
{%- assign currentYearString = currentYear | append: '' -%}
|
||||||
<a class="icon-link" href="/books" title="Go back to the books index page">{% tablericon "arrow-left" %} Back to books</a>
|
<a href="/books" title="Go back to the books index page">{% tablericon "arrow-left" %} Back to books</a>
|
||||||
<h2>{{ year.value }} / Books</h2>
|
<h2>{{ year.value }} / Books</h2>
|
||||||
{% if yearString == currentYearString %}
|
{% if yearString == currentYearString %}
|
||||||
<p>I've finished <strong class="highlight-text">{{ bookData.size }} books</strong> this year.{%- if favoriteBooks %} Among my favorites are {{ favoriteBooks }}.{%- endif -%}</p>
|
<p>I've finished <strong class="highlight-text">{{ bookData.size }} books</strong> this year.{%- if favoriteBooks %} Among my favorites are {{ favoriteBooks }}.{%- endif -%}</p>
|
||||||
|
|
|
@ -24,7 +24,7 @@ schema: music-index
|
||||||
{% tablericon "playlist" %}
|
{% tablericon "playlist" %}
|
||||||
Tracks
|
Tracks
|
||||||
</h3>
|
</h3>
|
||||||
<div class="track-display">
|
<div>
|
||||||
<input id="tracks-recent" name="track-options" type="radio" aria-hidden="true" checked />
|
<input id="tracks-recent" name="track-options" type="radio" aria-hidden="true" checked />
|
||||||
<input id="tracks-chart" name="track-options" type="radio" aria-hidden="true" />
|
<input id="tracks-chart" name="track-options" type="radio" aria-hidden="true" />
|
||||||
<label for="tracks-recent" class="button" data-toggle="tracks-recent">Recent</label>
|
<label for="tracks-recent" class="button" data-toggle="tracks-recent">Recent</label>
|
||||||
|
|
|
@ -4,10 +4,10 @@ description: These are my favorite movies. There are many like them, but these a
|
||||||
pagination:
|
pagination:
|
||||||
data: movies.favorites
|
data: movies.favorites
|
||||||
size: 24
|
size: 24
|
||||||
permalink: "/watching/favorite-movies/{% if pagination.pageNumber > 0 %}{{ pagination.pageNumber }}/{% endif %}.html"
|
permalink: "/watching/favorite-movies/{% if pagination.pageNumber > 0 %}{{ pagination.pageNumber }}/{% endif %}index.html"
|
||||||
schema: favorite-movies
|
schema: favorite-movies
|
||||||
---
|
---
|
||||||
<a class="icon-link" href="/watching" title="Go back to the watching index page">{% tablericon "arrow-left" %} Back to watching</a>
|
<a href="/watching" title="Go back to the watching index page">{% tablericon "arrow-left" %} Back to watching</a>
|
||||||
{% if pagination.pageNumber == 0 %}
|
{% if pagination.pageNumber == 0 %}
|
||||||
<h2 class="watching">{{ title }}</h2>
|
<h2 class="watching">{{ title }}</h2>
|
||||||
<p>These are my favorite movies. There are many like them, but these are mine.</p>
|
<p>These are my favorite movies. There are many like them, but these are mine.</p>
|
||||||
|
|
|
@ -4,10 +4,10 @@ description: These are my favorite shows. There are many like them, but these ar
|
||||||
pagination:
|
pagination:
|
||||||
data: tv.favorites
|
data: tv.favorites
|
||||||
size: 24
|
size: 24
|
||||||
permalink: "/watching/favorite-shows/{% if pagination.pageNumber > 0 %}{{ pagination.pageNumber }}/{% endif %}.html"
|
permalink: "/watching/favorite-shows/{% if pagination.pageNumber > 0 %}{{ pagination.pageNumber }}/{% endif %}index.html"
|
||||||
schema: favorite-shows
|
schema: favorite-shows
|
||||||
---
|
---
|
||||||
<a class="icon-link" href="/watching" title="Go back to the watching index page">{% tablericon "arrow-left" %} Back to watching</a>
|
<a href="/watching" title="Go back to the watching index page">{% tablericon "arrow-left" %} Back to watching</a>
|
||||||
{% if pagination.pageNumber == 0 %}
|
{% if pagination.pageNumber == 0 %}
|
||||||
<h2 class="watching">{{ title }}</h2>
|
<h2 class="watching">{{ title }}</h2>
|
||||||
<p>These are my favorite shows. There are many like them, but these are mine.</p>
|
<p>These are my favorite shows. There are many like them, but these are mine.</p>
|
||||||
|
|
|
@ -22,7 +22,7 @@ schema: watching
|
||||||
</h3>
|
</h3>
|
||||||
{% render "media/grid.liquid", globals:globals, data:tv.recentlyWatched, shape:"vertical", count: 6 %}
|
{% render "media/grid.liquid", globals:globals, data:tv.recentlyWatched, shape:"vertical", count: 6 %}
|
||||||
<h3 id="favorite-movies">
|
<h3 id="favorite-movies">
|
||||||
<a class="icon-link" href="/watching/favorite-movies">
|
<a href="/watching/favorite-movies">
|
||||||
{% tablericon "star" %}
|
{% tablericon "star" %}
|
||||||
Favorite movies
|
Favorite movies
|
||||||
</a>
|
</a>
|
||||||
|
@ -30,7 +30,7 @@ schema: watching
|
||||||
{% assign favoriteMovies = movies.favorites | shuffleArray %}
|
{% assign favoriteMovies = movies.favorites | shuffleArray %}
|
||||||
{% render "media/grid.liquid", globals:globals, data:favoriteMovies, shape:"vertical", count: 6 %}
|
{% render "media/grid.liquid", globals:globals, data:favoriteMovies, shape:"vertical", count: 6 %}
|
||||||
<h3 id="favorite-shows">
|
<h3 id="favorite-shows">
|
||||||
<a class="icon-link" href="/watching/favorite-shows">
|
<a href="/watching/favorite-shows">
|
||||||
{% tablericon "star" %}
|
{% tablericon "star" %}
|
||||||
Favorite shows
|
Favorite shows
|
||||||
</a>
|
</a>
|
||||||
|
|
|
@ -136,7 +136,7 @@ const generateAssociatedMediaHTML = (data, isGenre = false) => {
|
||||||
|
|
||||||
return `
|
return `
|
||||||
<div class="associated-media">
|
<div class="associated-media">
|
||||||
<p class="${category}">${ICON_MAP[icon]} ${title}</p>
|
<span class="${category}">${ICON_MAP[icon]} ${title}</span>
|
||||||
<ul>
|
<ul>
|
||||||
${items
|
${items
|
||||||
.map((item) => {
|
.map((item) => {
|
||||||
|
@ -206,10 +206,10 @@ export const generateArtistHTML = (artist, globals) => {
|
||||||
const playLabel = artist?.["total_plays"] === 1 ? "play" : "plays";
|
const playLabel = artist?.["total_plays"] === 1 ? "play" : "plays";
|
||||||
const concertsList = artist["concerts"]?.length
|
const concertsList = artist["concerts"]?.length
|
||||||
? `<hr />
|
? `<hr />
|
||||||
<p id="concerts" class="concerts">
|
<span id="concerts" class="concerts">
|
||||||
${ICON_MAP["deviceSpeaker"]}
|
${ICON_MAP["deviceSpeaker"]}
|
||||||
I've seen this artist live!
|
I've seen this artist live!
|
||||||
</p>
|
</span>
|
||||||
<ul>${artist["concerts"].map(generateConcertModal).join("")}</ul>`
|
<ul>${artist["concerts"].map(generateConcertModal).join("")}</ul>`
|
||||||
: "";
|
: "";
|
||||||
const albumsTable = artist["albums"]?.length
|
const albumsTable = artist["albums"]?.length
|
||||||
|
@ -231,7 +231,7 @@ export const generateArtistHTML = (artist, globals) => {
|
||||||
: "";
|
: "";
|
||||||
|
|
||||||
return `
|
return `
|
||||||
<a class="icon-link" href="/music">${ICON_MAP.arrowLeft} Back to music</a>
|
<a href="/music">${ICON_MAP.arrowLeft} Back to music</a>
|
||||||
<article class="artist-focus">
|
<article class="artist-focus">
|
||||||
<div class="artist-display">
|
<div class="artist-display">
|
||||||
<img
|
<img
|
||||||
|
@ -250,31 +250,31 @@ export const generateArtistHTML = (artist, globals) => {
|
||||||
width="200"
|
width="200"
|
||||||
height="200"
|
height="200"
|
||||||
/>
|
/>
|
||||||
<div class="artist-meta">
|
<div class="media-meta">
|
||||||
<p class="title"><strong>${artist["name"]}</strong></p>
|
<span class="title"><strong>${artist["name"]}</strong></span>
|
||||||
<p class="sub-meta country">${ICON_MAP["mapPin"]} ${parseCountryField(
|
<span class="sub-meta country">${ICON_MAP["mapPin"]} ${parseCountryField(
|
||||||
artist["country"]
|
artist["country"]
|
||||||
)}</p>
|
)}</span>
|
||||||
${
|
${
|
||||||
artist["favorite"]
|
artist["favorite"]
|
||||||
? `<p class="sub-meta favorite">${ICON_MAP["heart"]} This is one of my favorite artists!</p>`
|
? `<span class="sub-meta favorite">${ICON_MAP["heart"]} This is one of my favorite artists!</span>`
|
||||||
: ""
|
: ""
|
||||||
}
|
}
|
||||||
${
|
${
|
||||||
artist["tattoo"]
|
artist["tattoo"]
|
||||||
? `<p class="sub-meta tattoo">${ICON_MAP["needle"]} I have a tattoo inspired by this artist!</p>`
|
? `<span class="sub-meta tattoo">${ICON_MAP["needle"]} I have a tattoo inspired by this artist!</span>`
|
||||||
: ""
|
: ""
|
||||||
}
|
}
|
||||||
${
|
${
|
||||||
artist["total_plays"]
|
artist["total_plays"]
|
||||||
? `<p class="sub-meta"><strong class="highlight-text">${artist["total_plays"]} ${playLabel}</strong></p>`
|
? `<span class="sub-meta"><strong class="highlight-text">${artist["total_plays"]} ${playLabel}</strong></span>`
|
||||||
: ""
|
: ""
|
||||||
}
|
}
|
||||||
<p class="sub-meta">${
|
<span class="sub-meta">${
|
||||||
artist["genre"]
|
artist["genre"]
|
||||||
? `<a href="${artist["genre"]["url"]}">${artist["genre"]["name"]}</a>`
|
? `<a href="${artist["genre"]["url"]}">${artist["genre"]["name"]}</a>`
|
||||||
: ""
|
: ""
|
||||||
}</p>
|
}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
${generateAssociatedMediaHTML(artist)}
|
${generateAssociatedMediaHTML(artist)}
|
||||||
|
@ -311,7 +311,7 @@ export const generateBookHTML = (book, globals) => {
|
||||||
: "";
|
: "";
|
||||||
|
|
||||||
return `
|
return `
|
||||||
<a class="icon-link" href="/books">${
|
<a href="/books">${
|
||||||
ICON_MAP["arrowLeft"]
|
ICON_MAP["arrowLeft"]
|
||||||
} Back to books</a>
|
} Back to books</a>
|
||||||
<article class="book-focus">
|
<article class="book-focus">
|
||||||
|
@ -319,14 +319,14 @@ export const generateBookHTML = (book, globals) => {
|
||||||
<img
|
<img
|
||||||
srcset="
|
srcset="
|
||||||
${globals["cdn_url"]}${
|
${globals["cdn_url"]}${
|
||||||
book["image"]
|
book["image"]
|
||||||
}?class=verticalsm&type=webp 200w,
|
}?class=verticalsm&type=webp 200w,
|
||||||
${globals["cdn_url"]}${
|
${globals["cdn_url"]}${
|
||||||
book["image"]
|
book["image"]
|
||||||
}?class=verticalmd&type=webp 400w,
|
}?class=verticalmd&type=webp 400w,
|
||||||
${globals["cdn_url"]}${
|
${globals["cdn_url"]}${
|
||||||
book["image"]
|
book["image"]
|
||||||
}?class=verticalbase&type=webp 800w
|
}?class=verticalbase&type=webp 800w
|
||||||
"
|
"
|
||||||
sizes="(max-width: 450px) 203px, (max-width: 850px) 406px, 812px"
|
sizes="(max-width: 450px) 203px, (max-width: 850px) 406px, 812px"
|
||||||
src="${globals["cdn_url"]}${book["image"]}?class=verticalsm&type=webp"
|
src="${globals["cdn_url"]}${book["image"]}?class=verticalsm&type=webp"
|
||||||
|
@ -336,23 +336,23 @@ export const generateBookHTML = (book, globals) => {
|
||||||
width="200"
|
width="200"
|
||||||
height="307"
|
height="307"
|
||||||
/>
|
/>
|
||||||
<div class="book-meta">
|
<div class="media-meta">
|
||||||
<p class="title"><strong>${book["title"]}</strong></p>
|
<span class="title"><strong>${book["title"]}</strong></span>
|
||||||
${book["rating"] ? `<p>${book["rating"]}</p>` : ""}
|
${book["rating"] ? `<span>${book["rating"]}</span>` : ""}
|
||||||
${
|
${
|
||||||
book["author"] ? `<p class="sub-meta">By ${book["author"]}</p>` : ""
|
book["author"] ? `<span class="sub-meta">By ${book["author"]}</span>` : ""
|
||||||
}
|
}
|
||||||
${
|
${
|
||||||
book["favorite"]
|
book["favorite"]
|
||||||
? `<p class="sub-meta favorite">${ICON_MAP["heart"]} This is one of my favorite books!</p>`
|
? `<span class="sub-meta favorite">${ICON_MAP["heart"]} This is one of my favorite books!</span>`
|
||||||
: ""
|
: ""
|
||||||
}
|
}
|
||||||
${
|
${
|
||||||
book["tattoo"]
|
book["tattoo"]
|
||||||
? `<p class="sub-meta tattoo">${ICON_MAP["needle"]} I have a tattoo inspired by this book!</p>`
|
? `<span class="sub-meta tattoo">${ICON_MAP["needle"]} I have a tattoo inspired by this book!</span>`
|
||||||
: ""
|
: ""
|
||||||
}
|
}
|
||||||
${status ? `<p class="sub-meta">${status}</p>` : ""}
|
${status ? `<span class="sub-meta">${status}</span>` : ""}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
${
|
${
|
||||||
|
@ -373,7 +373,7 @@ export const generateGenreHTML = (genre) => {
|
||||||
const mediaLinks = generateMediaLinks(genre["artists"], "artist", 5);
|
const mediaLinks = generateMediaLinks(genre["artists"], "artist", 5);
|
||||||
|
|
||||||
return `
|
return `
|
||||||
<a class="icon-link" href="/music">${
|
<a href="/music">${
|
||||||
ICON_MAP["arrowLeft"]
|
ICON_MAP["arrowLeft"]
|
||||||
} Back to music</a>
|
} Back to music</a>
|
||||||
<h2>${genre["name"]}</h2>
|
<h2>${genre["name"]}</h2>
|
||||||
|
@ -411,21 +411,21 @@ export const generateWatchingHTML = (media, globals, type) => {
|
||||||
media["last_watched"] || (isShow && media["episode"]?.["last_watched_at"]);
|
media["last_watched"] || (isShow && media["episode"]?.["last_watched_at"]);
|
||||||
|
|
||||||
return `
|
return `
|
||||||
<a class="icon-link" href="/watching">${
|
<a href="/watching">${
|
||||||
ICON_MAP.arrowLeft
|
ICON_MAP.arrowLeft
|
||||||
} Back to watching</a>
|
} Back to watching</a>
|
||||||
<article class="watching focus">
|
<article class="watching focus">
|
||||||
<img
|
<img
|
||||||
srcset="
|
srcset="
|
||||||
${globals["cdn_url"]}${
|
${globals["cdn_url"]}${
|
||||||
media["backdrop"]
|
media["backdrop"]
|
||||||
}?class=bannersm&type=webp 256w,
|
}?class=bannersm&type=webp 256w,
|
||||||
${globals["cdn_url"]}${
|
${globals["cdn_url"]}${
|
||||||
media["backdrop"]
|
media["backdrop"]
|
||||||
}?class=bannermd&type=webp 512w,
|
}?class=bannermd&type=webp 512w,
|
||||||
${globals["cdn_url"]}${
|
${globals["cdn_url"]}${
|
||||||
media["backdrop"]
|
media["backdrop"]
|
||||||
}?class=bannerbase&type=webp 1024w
|
}?class=bannerbase&type=webp 1024w
|
||||||
"
|
"
|
||||||
sizes="(max-width: 450px) 256px,
|
sizes="(max-width: 450px) 256px,
|
||||||
(max-width: 850px) 512px,
|
(max-width: 850px) 512px,
|
||||||
|
@ -438,31 +438,31 @@ export const generateWatchingHTML = (media, globals, type) => {
|
||||||
width="256"
|
width="256"
|
||||||
height="180"
|
height="180"
|
||||||
/>
|
/>
|
||||||
<div class="meta">
|
<div class="media-meta">
|
||||||
<p class="title"><strong>${media["title"]}</strong> (${
|
<span class="title"><strong>${media["title"]}</strong> (${
|
||||||
media["year"]
|
media["year"]
|
||||||
})</p>
|
})</span>
|
||||||
${media["rating"] ? `<p>${media["rating"]}</p>` : ""}
|
${media["rating"] ? `<span>${media["rating"]}</span>` : ""}
|
||||||
${
|
${
|
||||||
media["favorite"]
|
media["favorite"]
|
||||||
? `<p class="sub-meta favorite">${ICON_MAP["heart"]} This is one of my favorite ${label}s!</p>`
|
? `<span class="sub-meta favorite">${ICON_MAP["heart"]} This is one of my favorite ${label}s!</span>`
|
||||||
: ""
|
: ""
|
||||||
}
|
}
|
||||||
${
|
${
|
||||||
media["tattoo"]
|
media["tattoo"]
|
||||||
? `<p class="sub-meta tattoo">${ICON_MAP["needle"]} I have a tattoo inspired by this ${label}!</p>`
|
? `<span class="sub-meta tattoo">${ICON_MAP["needle"]} I have a tattoo inspired by this ${label}!</span>`
|
||||||
: ""
|
: ""
|
||||||
}
|
}
|
||||||
${
|
${
|
||||||
media["collected"]
|
media["collected"]
|
||||||
? `<p class="sub-meta collected">${ICON_MAP["circleCheck"]} This ${label} is in my collection!</p>`
|
? `<span class="sub-meta collected">${ICON_MAP["circleCheck"]} This ${label} is in my collection!</span>`
|
||||||
: ""
|
: ""
|
||||||
}
|
}
|
||||||
${
|
${
|
||||||
lastWatched
|
lastWatched
|
||||||
? `<p class="sub-meta">Last watched on <strong class="highlight-text">${formatDate(
|
? `<span class="sub-meta">Last watched on <strong class="highlight-text">${formatDate(
|
||||||
lastWatched
|
lastWatched
|
||||||
)}</strong>.</p>`
|
)}</strong>.</span>`
|
||||||
: ""
|
: ""
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
|
|
Reference in a new issue