From 471d7d2bbe38af09bfb7d634666d72e4e1e29245 Mon Sep 17 00:00:00 2001 From: Yufan Sheng <syhily@gmail.com> Date: Tue, 31 Dec 2024 20:33:57 +0800 Subject: [PATCH] chore: fix the astro rss content type. --- package-lock.json | 660 ++++++++++++++++++++++++++++++ package.json | 10 +- patches/@astrojs+rss+4.0.10.patch | 13 + public/feed.xsl | 9 +- src/pages/feed.ts | 2 +- 5 files changed, 684 insertions(+), 10 deletions(-) create mode 100644 patches/@astrojs+rss+4.0.10.patch diff --git a/package-lock.json b/package-lock.json index 2f2461d..0465b1e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -39,6 +39,7 @@ "aplayer": "^1.10.1", "astro-uploader": "^1.2.2", "bootstrap": "^5.3.3", + "patch-package": "^8.0.0", "photoswipe": "^5.4.4", "photoswipe-dynamic-caption-plugin": "^1.2.7", "photoswipe-video-plugin": "^1.0.2", @@ -2321,6 +2322,13 @@ "dev": true, "license": "MIT" }, + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true, + "license": "BSD-2-Clause" + }, "node_modules/acorn": { "version": "8.14.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", @@ -2594,6 +2602,16 @@ "rimraf": "^6.0.1" } }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/axobject-query": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", @@ -2714,6 +2732,56 @@ "node": ">=8" } }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz", + "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz", + "integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/camelcase": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-8.0.0.tgz", @@ -3001,6 +3069,13 @@ "integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==", "license": "ISC" }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, "node_modules/consola": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/consola/-/consola-3.3.3.tgz", @@ -3107,6 +3182,24 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/defu": { "version": "6.1.4", "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", @@ -3336,6 +3429,21 @@ "node": ">=4" } }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", @@ -3398,12 +3506,45 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es-module-lexer": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.6.0.tgz", "integrity": "sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==", "license": "MIT" }, + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/esast-util-from-estree": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz", @@ -3725,6 +3866,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/find-yarn-workspace-root": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz", + "integrity": "sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "micromatch": "^4.0.2" + } + }, "node_modules/find-yarn-workspace-root2": { "version": "1.2.16", "resolved": "https://registry.npmjs.org/find-yarn-workspace-root2/-/find-yarn-workspace-root2-1.2.16.tgz", @@ -3769,6 +3920,29 @@ "node": ">= 0.6" } }, + "node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", @@ -3783,6 +3957,16 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/fuse.js": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-7.0.0.tgz", @@ -3814,6 +3998,31 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/get-intrinsic": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.6.tgz", + "integrity": "sha512-qxsEs+9A+u85HhllWJJFicJfPDhRmjzoYdl64aMWW9yRIJmSyxdn8IEkuIM530/7T+lv0TIHd8L6Q/ra0tEoeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "dunder-proto": "^1.0.0", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "function-bind": "^1.1.2", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/github-slugger": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", @@ -3855,6 +4064,19 @@ "node": ">= 6" } }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", @@ -3879,6 +4101,55 @@ "unenv": "^1.10.0" } }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/hast-util-from-html": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz", @@ -4202,6 +4473,18 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", @@ -4397,6 +4680,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "license": "MIT" + }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -4437,6 +4727,26 @@ "dev": true, "license": "MIT" }, + "node_modules/json-stable-stringify": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.2.1.tgz", + "integrity": "sha512-Lp6HbbBgosLmJbjx0pBLbgvx68FaFU1sdkmBuckmhhJ88kL13OA51CDtR2yJB50eCNMH9wRqtQNNiAqQH4YXnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "isarray": "^2.0.5", + "jsonify": "^0.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/jsonc-parser": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.3.1.tgz", @@ -4444,6 +4754,39 @@ "dev": true, "license": "MIT" }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", + "dev": true, + "license": "Public Domain", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/klaw-sync": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", + "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.11" + } + }, "node_modules/kleur": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", @@ -4590,6 +4933,16 @@ "node": ">= 18" } }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/mdast-util-definitions": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-6.0.0.tgz", @@ -5697,6 +6050,16 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/minipass": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", @@ -5796,6 +6159,16 @@ "url": "https://github.com/fb55/nth-check?sponsor=1" } }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/obuf": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", @@ -5832,6 +6205,16 @@ "node": ">= 0.8" } }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, "node_modules/oniguruma-to-es": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-0.8.1.tgz", @@ -5843,6 +6226,52 @@ "regex-recursion": "^5.0.0" } }, + "node_modules/open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open/node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open/node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/opendal": { "version": "0.47.7", "resolved": "https://registry.npmjs.org/opendal/-/opendal-0.47.7.tgz", @@ -5862,6 +6291,16 @@ "@opendal/lib-win32-x64-msvc": "0.47.7" } }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/p-limit": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-6.2.0.tgz", @@ -6002,6 +6441,146 @@ "url": "https://github.com/inikulin/parse5?sponsor=1" } }, + "node_modules/patch-package": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-8.0.0.tgz", + "integrity": "sha512-da8BVIhzjtgScwDJ2TtKsfT5JFWz1hYoBl9rUQ1f38MC2HwnEIkK8VN3dKMKcP7P7bvvgzNDbfNHtx3MsQb5vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@yarnpkg/lockfile": "^1.1.0", + "chalk": "^4.1.2", + "ci-info": "^3.7.0", + "cross-spawn": "^7.0.3", + "find-yarn-workspace-root": "^2.0.0", + "fs-extra": "^9.0.0", + "json-stable-stringify": "^1.0.2", + "klaw-sync": "^6.0.0", + "minimist": "^1.2.6", + "open": "^7.4.2", + "rimraf": "^2.6.3", + "semver": "^7.5.3", + "slash": "^2.0.0", + "tmp": "^0.0.33", + "yaml": "^2.2.2" + }, + "bin": { + "patch-package": "index.js" + }, + "engines": { + "node": ">=14", + "npm": ">5" + } + }, + "node_modules/patch-package/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/patch-package/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/patch-package/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/patch-package/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/patch-package/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/patch-package/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/patch-package/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, "node_modules/path-browserify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", @@ -6018,6 +6597,16 @@ "node": ">=8" } }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -7104,6 +7693,24 @@ "integrity": "sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==", "license": "ISC" }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", @@ -7211,6 +7818,16 @@ "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", "license": "MIT" }, + "node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/smoothscroll": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/smoothscroll/-/smoothscroll-0.4.0.tgz", @@ -7414,12 +8031,38 @@ "s.color": "0.0.15" } }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/tinyexec": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", "license": "MIT" }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -7753,6 +8396,16 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/unstorage": { "version": "1.14.4", "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.14.4.tgz", @@ -8845,6 +9498,13 @@ "node": ">=8" } }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, "node_modules/xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", diff --git a/package.json b/package.json index 92cdb87..c989273 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,7 @@ "astro": "astro", "build": "rimraf dist && rimraf .zeabur && astro check && astro build", "dev": "astro dev", + "postinstall": "patch-package", "lint": "biome check --write . && prettier . --write", "prepare": "npx husky", "preview": "astro preview", @@ -72,6 +73,7 @@ "aplayer": "^1.10.1", "astro-uploader": "^1.2.2", "bootstrap": "^5.3.3", + "patch-package": "^8.0.0", "photoswipe": "^5.4.4", "photoswipe-dynamic-caption-plugin": "^1.2.7", "photoswipe-video-plugin": "^1.0.2", @@ -87,13 +89,13 @@ "typescript": "^5.7.2", "unist-util-select": "^5.1.0" }, + "packageManager": "npm@11.0.0", + "engines": { + "node": "22.12.0" + }, "overrides": { "astro-uploader": { "opendal": "0.47.7" } - }, - "packageManager": "npm@11.0.0", - "engines": { - "node": "22.12.0" } } diff --git a/patches/@astrojs+rss+4.0.10.patch b/patches/@astrojs+rss+4.0.10.patch new file mode 100644 index 0000000..6708bac --- /dev/null +++ b/patches/@astrojs+rss+4.0.10.patch @@ -0,0 +1,13 @@ +diff --git a/node_modules/@astrojs/rss/dist/index.js b/node_modules/@astrojs/rss/dist/index.js +index 24a3b42..d5d9eab 100644 +--- a/node_modules/@astrojs/rss/dist/index.js ++++ b/node_modules/@astrojs/rss/dist/index.js +@@ -28,7 +28,7 @@ async function getRssResponse(rssOptions) { + const rssString = await getRssString(rssOptions); + return new Response(rssString, { + headers: { +- "Content-Type": "application/rss+xml; charset=utf-8" ++ "Content-Type": "application/xml" + } + }); + } diff --git a/public/feed.xsl b/public/feed.xsl index baf6f13..b4b9669 100644 --- a/public/feed.xsl +++ b/public/feed.xsl @@ -8,12 +8,12 @@ <link rel="icon" type="image/svg+xml" href="/favicon.svg" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/> - <style type="text/css">body{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;color:rgba(0,0,0,.86);font:16px/1.42 -apple-system,BlinkMacSystemFont,Helvetica Neue,PingFang SC,Hiragino Sans GB,Droid Sans Fallback,Microsoft YaHei,sans-serif}img{max-width:100%}.inner{max-width:860px;margin:0 auto;padding:0 20px;box-sizing:border-box}.top{margin-top:40px;font-size:12px}.top,.top a{color:#9ea0a6}.head{padding-top:80px;padding-bottom:40px}.head_logo{float:left;width:120px;height:120px;margin-right:20px}.head_main{overflow:hidden}.head h1{font-size:36px;font-weight:400;margin:0;color:#000}.head p{margin:0 0 10px;font-size:18px;font-weight:300;color:#9ea0a6}.head .head_link{font-size:14px;font-weight:600;color:#333;text-decoration:none}.links{margin:30px auto}.links a{display:inline-block;text-decoration:none;line-height:28px;padding-left:30px;background-position:0;background-size:24px 24px;background-repeat:no-repeat;font-weight:600;color:#333}.links a+a{margin-left:1.4em}.podcast{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PHBhdGggZmlsbD0iIzkzYyIgZD0iTTE1LjkwNyAzMnMzLjUxMSAwIDMuNTExLTEwLjM5MmMwLTEuOTM1LTEuNTczLTMuNTExLTMuNTExLTMuNTExcy0zLjUxMiAxLjU3Ni0zLjUxMiAzLjUxMUMxMi4zOTUgMzIgMTUuOTA3IDMyIDE1LjkwNyAzMnptNC4zMDYtMy41NDFhMTguODQgMTguODQgMCAwIDAgLjM2Ny0xLjgwMWwuMDcxLS40OGMuMTUzLS4wNjcuMzA3LS4xMzEuNDYxLS4yYTEyLjY4NyAxMi42ODcgMCAwIDAgNS43OTctNS4zMjQgMTIuNTIzIDEyLjUyMyAwIDAgMCAxLjI5Ny0zLjQyOSAxMi4zMyAxMi4zMyAwIDAgMCAuMjIxLTQuMTE3QTExLjg4IDExLjg4IDAgMCAwIDI3LjQgOS4zOTJhMTIuMTMzIDEyLjEzMyAwIDAgMC0yLjU2NS0zLjcxMiAxMi41NzQgMTIuNTc0IDAgMCAwLTMuODMzLTIuNjI5Yy0xLjQ2NC0uNjYxLTMuMDcxLTEuMDAzLTQuNjkzLTEuMDQzYTEyLjUwNCAxMi41MDQgMCAwIDAtNC43NzYuODA0IDEyLjU1IDEyLjU1IDAgMCAwLTYuNyA2LjAxNiAxMi45MDIgMTIuOTAyIDAgMCAwLTEuMjAzIDMuNjMxIDEyLjY1OCAxMi42NTggMCAwIDAgMS4wMDMgNy4zNjQgMTIuNjcyIDEyLjY3MiAwIDAgMCA1LjY3NyA1Ljg1OWMuMzAxLjEzOS42MDEuMjguOTIzLjQxOS4wMi4xNjEuMDYxLjM0MS4wOC41MjMuMS41ODQuMjIxIDEuMTg1LjM2MSAxLjc2N2ExNS42NiAxNS42NiAwIDAgMS0xLjYwNS0uNjI0IDE0LjY0NyAxNC42NDcgMCAwIDEtNi44MDEtNi4zMzkgMTQuOTU1IDE0Ljk1NSAwIDAgMS0xLjQ2NC00LjAxMyAxMy44OTggMTMuODk4IDAgMCAxLS4yLTQuNzU1Yy4yLTEuNDgzLjYyMS0yLjk0OCAxLjI0NC00LjI5M2ExNC45MTEgMTQuOTExIDAgMCAxIDMuMDI4LTQuMjcyIDEzLjk3NCAxMy45NzQgMCAwIDEgNC40MTMtMi45NDhBMTQuNjU0IDE0LjY1NCAwIDAgMSAxNS43Ny4wMDRjMS44ODMtLjAyIDMuNzY1LjMyIDUuNTE5IDEuMDExYTE0LjUzNiAxNC41MzYgMCAwIDEgNC41NzMgMi44ODggMTQuNTUzIDE0LjU1MyAwIDAgMSAzLjEyOCA0LjE4NSAxNC4zMTcgMTQuMzE3IDAgMCAxIDEuMzQ0IDQuMjMzIDE0LjE0IDE0LjE0IDAgMCAxLS4wMjEgNC41OTVjLS4yMjEgMS40MDQtLjY4MyAyLjc4OC0xLjMwNSA0LjA3MWExNC42MzUgMTQuNjM1IDAgMCAxLTYuNTYgNi41NjNjLS43MDMuMzQxLTEuNDQ1LjY0MS0yLjIwNy44ODFsLS4wMjguMDMxem0uNjk0LTUuNzI3bC4wMTMtLjYyN2MwLS40MjEgMC0uODQzLS4wNjEtMS4yNTctLjAyLS4xNjEtLjA2LS4zMDEtLjEtLjQ2MWE3LjI2NSA3LjI2NSAwIDAgMCAxLjgyNS0yLjIyNyA3LjUxNSA3LjUxNSAwIDAgMCAuNzQzLTIuMDY4Yy4xNjEtLjgwMy4yLTEuNjQ0LjA4MS0yLjQ4N2E4LjAxMiA4LjAxMiAwIDAgMC0uNjAxLTIuMTQ3IDcuODA4IDcuODA4IDAgMCAwLTEuNTQ0LTIuMjI3IDcuOTIzIDcuOTIzIDAgMCAwLTIuMjQ4LTEuNTQ1IDcuODM2IDcuODM2IDAgMCAwLTIuOTI5LS42NjEgNy45MDUgNy45MDUgMCAwIDAtMi45NjkuNTIzIDcuNzEgNy43MSAwIDAgMC0yLjMwNyAxLjQ0NCA3LjIwMyA3LjIwMyAwIDAgMC0xLjY0NyAyLjE2NSA3LjY4NCA3LjY4NCAwIDAgMC0uNzIzIDIuMTA3IDcuNDc2IDcuNDc2IDAgMCAwLS4wNiAyLjMwN2MuMS43NDMuMzAxIDEuNDY1LjYwMSAyLjE0NWE3Ljg0OSA3Ljg0OSAwIDAgMCAxLjk4NyAyLjY2OWwtLjEyMS41NDFjLS4wOC40MjEtLjA2LjgyMy0uMDYgMS4yNjN2LjU2M2E5LjQ3MyA5LjQ3MyAwIDAgMS0zLjM1MS0zLjU1MSA4Ljc4MiA4Ljc4MiAwIDAgMS0uOTY0LTIuNjI5IDkuMTA5IDkuMTA5IDAgMCAxLS4xMi0zLjEyOWMuMTItLjk0My4zODEtMS44NjUuNzYzLTIuNzA5LjQ2MS0xLjA0MSAxLjE0My0yLjAwNSAxLjk0NS0yLjgyOGE5LjM2NCA5LjM2NCAwIDAgMSAyLjgyOC0xLjk0NSA5LjgyIDkuODIgMCAwIDEgMy42OTItLjg0MyA5Ljg3MiA5Ljg3MiAwIDAgMSAzLjc1MS42NjMgOS4zOTYgOS4zOTYgMCAwIDEgMi45MjkgMS44MjQgOS44NTYgOS44NTYgMCAwIDEgMi4wODUgMi43MjljLjQyMS44NDMuNzQzIDEuNzQ1LjkwNCAyLjY2OC4xNjEuOTY0LjIgMS45NDUuMDYgMi45MDlhOS4xNTcgOS4xNTcgMCAwIDEtLjc4NCAyLjcyOCA5LjUxIDkuNTEgMCAwIDEtMy43NzEgNC4yMzVsLjE1Mi0uMTQxem0tNS0xMi43NjdhMy41NCAzLjU0IDAgMCAxIDMuNTM5IDMuNTQxIDMuNTQyIDMuNTQyIDAgMCAxLTMuNTM5IDMuNTQ5Yy0xLjk1NiAwLTMuNTQtMS41ODUtMy41NC0zLjUzMXMxLjU4NC0zLjUzMiAzLjU0LTMuNTMydi0uMDI4eiIvPjwvc3ZnPg==)}.castro{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PHBhdGggZmlsbD0iIzAwYjI2NSIgZD0iTTE2IDBDNy4xNjMgMCAwIDcuMTY0IDAgMTZzNy4xNjMgMTYgMTYgMTZjOC44MzYgMCAxNi03LjE2NCAxNi0xNlMyNC44MzYgMCAxNiAwem0tLjAwMyAxOC42NTVhMi43MzcgMi43MzcgMCAwIDEgMC01LjQ3NCAyLjczNyAyLjczNyAwIDAgMSAwIDUuNDc0em02LjY2IDYuNDdsLTIuNjgzLTMuNzIxYTYuNzc5IDYuNzc5IDAgMSAwLTcuOTk1LjAwM2wuMDE5LjAxMy0yLjY4NSAzLjcyNGMtMi44NjktMi4wOS00LjcxMi01LjQzOC00LjcxMi05LjIxNiAwLTYuMjc4IDUuMDktMTEuMzY4IDExLjM2OC0xMS4zNjhoLjAwM2M2LjI3OCAwIDExLjM2OCA1LjA5IDExLjM2OCAxMS4zNjh2LjAxM2MwIDMuNzYzLTEuODMxIDcuMDk3LTQuNjUxIDkuMTYybC0uMDMyLjAyMnoiLz48L3N2Zz4=)}.google{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PHBhdGggZmlsbD0iIzQyODVmNCIgZD0iTTIgMTIuOTA3Yy0xLjEwNyAwLTIgLjg5My0yIDJ2Mi4xNzNhMiAyIDAgMSAwIDQgMHYtMi4xNzNjMC0xLjEwNy0uODkzLTItMi0yem0yOCAwYy0xLjEwNyAwLTIgLjg5My0yIDJ2Mi4xNzNhMiAyIDAgMSAwIDQgMHYtMi4xNzNjMC0xLjEwNy0uODkzLTItMi0yek04LjkwNyAxOS40NTNjLTEuMTA3IDAtMiAuODkzLTIgMnYyLjE3M2EyIDIgMCAxIDAgNCAwdi0yLjE2YzAtMS4xMDctLjg5My0yLTItMnptMC0xMy4wOTNjLTEuMTA3IDAtMiAuODkzLTIgMnY3LjE0N2EyIDIgMCAxIDAgNCAwdi03LjE2YzAtMS4xMDctLjg5My0yLTItMnptMTQuMTg2IDBjLTEuMTA3IDAtMiAuODkzLTIgMnYyLjE4N2EyIDIgMCAxIDAgNCAwVjguMzZjMC0xLjEwNy0uODkzLTItMi0yek0xNiAwYy0xLjEwNyAwLTIgLjg5My0yIDJ2Mi4xNzNhMiAyIDAgMSAwIDQgMFYyYzAtMS4xMDctLjg5My0yLTItMnptMCAyNS44MTNjLTEuMTA3IDAtMiAuODkzLTIgMnYyLjE5NGEyIDIgMCAwIDAgNCAuMDA3di0yLjE4N2MwLTEuMDkzLS44OTMtMi0yLTJ6bTcuMDkzLTExLjI4Yy0xLjEwNyAwLTIgLjkwNy0yIDJ2Ny4xMDdhMiAyIDAgMSAwIDQgMHYtNy4xMDdjMC0xLjEwNy0uODkzLTItMi0yek0xNiA4LjE3M2MtMS4xMDcgMC0yIC45MDctMiAydjExLjY0YTIgMiAwIDEgMCA0IDBWMTAuMTg2YzAtMS4xMDctLjg5My0yLTItMnoiLz48L3N2Zz4=)}.spotify{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PHBhdGggZmlsbD0iIzFlZDc2MCIgZD0iTTE2IDBDNy4yIDAgMCA3LjIgMCAxNnM3LjIgMTYgMTYgMTYgMTYtNy4yIDE2LTE2UzI0Ljg4IDAgMTYgMHptNy4zNjEgMjMuMTJjLS4zMi40NzktLjg4LjY0LTEuMzYxLjMyLTMuNzYtMi4zMi04LjQ4LTIuODAxLTE0LjA4MS0xLjUyMS0uNTU3LjE2My0xLjAzOS0uMjM5LTEuMTk5LS43MTktLjE2LS41NjEuMjQtMS4wNC43Mi0xLjIgNi4wOC0xLjM2MSAxMS4zNi0uOCAxNS41MiAxLjc2LjU2LjI0LjYzOS44NzkuNDAxIDEuMzZ6bTEuOTItNC40Yy0uNDAxLjU2LTEuMTIxLjgtMS42ODMuNC00LjMxOS0yLjY0LTEwLjg3OS0zLjQ0LTE1LjkxOS0xLjg0LS42MzkuMTYtMS4zNi0uMTYtMS41Mi0uOHMuMTYtMS4zNjEuOC0xLjUyMWM1Ljg0LTEuNzU5IDEzLjA0LS44NzcgMTggMi4xNjEuNDgxLjI0MS43MiAxLjA0LjMyMSAxLjZ6bS4xNi00LjQ4QzIwLjMyIDExLjIgMTEuNzYgMTAuODggNi44OCAxMi40MDFjLS44LjIzOS0xLjYtLjI0MS0xLjg0LS45NjEtLjI0LS44MDEuMjQtMS42Ljk2LTEuODQxIDUuNjgtMS42OCAxNS4wNC0xLjM2IDIwLjk2MSAyLjE2MS43MTkuNC45NTkgMS4zNi41NTkgMi4wOC0uMzk5LjU2MS0xLjM2Ljc5OS0yLjA3OS40eiIvPjwvc3ZnPg==)}.overcast{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PHBhdGggZmlsbD0iI2ZjN2UwZiIgZD0iTTE2IDMyQzcuMTg1IDMyLjAyNC4wMjMgMjQuODk1IDAgMTYuMDgxVjE2QzAgNy4xMzMgNy4xMzUgMCAxNiAwczE2IDcuMTMzIDE2IDE2YzAgOC44NjUtNy4xMzUgMTYtMTYgMTZ6bTAtNi4zMzVsMS4yLTEuMTk5LTEuMi00LjYtMS4yIDQuNiAxLjIgMS4xOTl6bS0xLjUzMy0uMDY2bC0uNiAyLjI2OCAxLjQtMS40MDMtLjgtLjg2NXptMy4wNjYgMGwtLjguODAxIDEuNCAxLjQwMS0uNi0yLjIwM3ptMS4xMzQgNC4xMzZMMTYgMjcuMDY3bC0yLjY2NyAyLjY2OEMxNC4yIDI5Ljg2OCAxNS4wNjYgMzAgMTYgMzBzMS44LS4wNjcgMi42NjctLjI2NXpNMTYgMkM4LjI2OCAyIDIgOC4yNjggMiAxNmExMy45MyAxMy45MyAwIDAgMCA5LjQwMSAxMy4xOTlsMy0xMS4xMzNhMi41OTcgMi41OTcgMCAwIDEtMS4wNjgtMi4xMzNjMC0xLjQ2OCAxLjItMi42NjggMi42NjctMi42NjhzMi42NjcgMS4yIDIuNjY3IDIuNjY4YzAgLjg2NS0uNDAxIDEuNi0xLjA2OCAyLjEzM2wzIDExLjEzM0ExMy45MjcgMTMuOTI3IDAgMCAwIDMwIDE2YzAtNy43MzItNi4yNjgtMTQtMTQtMTR6bTkuMTMzIDIwLjkzM2MtLjM0LjQyNS0uOTUyLjUxMy0xLjM5OS4yYS45MDguOTA4IDAgMCAxLS4yLTEuMzM1czEuOC0yLjM5OSAxLjgtNS44LTEuOC01LjgtMS44LTUuOGEuOTA3LjkwNyAwIDAgMSAuMTIxLTEuMjc2Yy4wMjctLjAyMS4wNTItLjA0MS4wOC0uMDU5YTEuMDMzIDEuMDMzIDAgMCAxIDEuMzk5LjJjLjEzMy4xMzUgMi4yIDIuODY3IDIuMiA2LjkzM3MtMi4wNjkgNi44MDMtMi4yMDEgNi45MzZ6bS00Ljg2OC0yLjZjLS40LS40LS4zMzItMS4xMzMuMDY4LTEuNTMzIDAgMCAxLTEuMDY1IDEtMi44cy0xLTIuNzM1LTEtMi44Yy0uNC0uNDAxLS40LTEuMDY4LS4wNjgtMS41MzNhLjkyMS45MjEgMCAwIDEgMS40MDEtLjA2OGMuMDY4LjA2OCAxLjY2NyAxLjczNSAxLjY2NyA0LjQwMXMtMS41OTkgNC4zMzMtMS42NjcgNC40MDFjLS40MDEuMzk5LTEgLjMzMy0xLjQwMS0uMDY4em0tOC41MyAwYy0uNDAxLjQwMS0xIC40NjctMS40MDEuMDY4LS4wNjgtLjEzNi0xLjY2Ny0xLjczNS0xLjY2Ny00LjQwMXMxLjU5OS00LjI2NSAxLjY2Ny00LjQwMWMuNDAxLS4zOTkgMS4wNjgtLjM5OSAxLjQwMS4wNjguNC40LjMzMiAxLjEzMy0uMDY4IDEuNTMzIDAgLjA2NS0xIDEuMDY1LTEgMi44czEgMi44IDEgMi44Yy40LjQuNDY4IDEuMDY1LjA2OCAxLjUzM3ptLTMuNDcgMi44MDJhMS4wMzUgMS4wMzUgMCAwIDEtMS40LS4yQzYuNzM0IDIyLjggNC42NjYgMjAuMDY3IDQuNjY2IDE2czIuMDY4LTYuOCAyLjE5OS02LjkzM2ExLjAzMiAxLjAzMiAwIDAgMSAxLjQtLjIuOTA4LjkwOCAwIDAgMSAuMjU5IDEuMjU1Yy0uMDE3LjAyNy0uMDM3LjA1My0uMDU3LjA3OSAwIDAtMS44IDIuMzk5LTEuOCA1LjhzMS44IDUuOCAxLjggNS44Yy4zMzMuNC4yIDEtLjIwMSAxLjMzNXoiLz48L3N2Zz4=)}.links a.podcast:hover{color:#93c}.links a.castro:hover{color:#00b265}.links a.google:hover{color:#4285f4}.links a.spotify:hover{color:#1ed760}.links a.overcast:hover{color:#fc7e0f}.item{border-top:1px solid rgba(0,0,0,.04);padding:20px;margin:20px auto}.item_meta{font-size:14px;color:#9ea0a6}.item a{color:rgba(0,0,0,.98);text-decoration:none}.item>h2{margin:0}.item>h3{margin:6px 0 10px;font-size:18px;font-weight:300;color:#9ea0a6}.item>audio{display:block;width:100%;margin-top:20px}.footer{border-top:1px solid rgba(0,0,0,.04);padding:10px 20px}.footer .title{text-decoration:none;text-transform:uppercase;font-size:16px;font-weight:900;color:rgba(0,0,0,.2);letter-spacing:.02em;margin-right:1em}.footer nav{display:inline-block}.footer nav>a{text-decoration:none;color:rgba(0,0,0,.6);-webkit-transition:color .2s ease;transition:color .2s ease;font-size:.92em}.footer nav>a+a:before{content:" / ";font-size:10px;color:rgba(0,0,0,.1)}</style> + <style type="text/css">body{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;color:rgba(0,0,0,.86);font:16px/1.42 -apple-system,BlinkMacSystemFont,Helvetica Neue,PingFang SC,Hiragino Sans GB,Droid Sans Fallback,Microsoft YaHei,sans-serif}img{max-width:100%}.inner{max-width:860px;margin:0 auto;padding:0 20px;box-sizing:border-box}.top{margin-top:40px;font-size:12px}.top,.top a{color:#9ea0a6}.head{padding-top:80px;padding-bottom:40px}.head_logo{float:left;width:120px;height:120px;margin-right:20px}.head_main{overflow:hidden}.head h1{font-size:36px;font-weight:400;margin:0;color:#000}.head p{margin:0 0 10px;font-size:18px;font-weight:300;color:#9ea0a6}.head .head_link{font-size:14px;font-weight:600;color:#333;text-decoration:none}.links{margin:30px auto}.links a{display:inline-block;text-decoration:none;line-height:28px;padding-left:30px;background-position:0;background-size:24px 24px;background-repeat:no-repeat;font-weight:600;color:#333}.links a+a{margin-left:1.4em}.item{border-top:1px solid rgba(0,0,0,.04);padding:20px;margin:20px auto}.item_meta{font-size:14px;color:#9ea0a6}.item a{color:rgba(0,0,0,.98);text-decoration:none}.item>h2{margin:0}.item>h3{margin:6px 0 10px;font-size:18px;font-weight:300;color:#9ea0a6}.item>audio{display:block;width:100%;margin-top:20px}.footer{border-top:1px solid rgba(0,0,0,.04);padding:10px 20px}.footer .title{text-decoration:none;text-transform:uppercase;font-size:16px;font-weight:900;color:rgba(0,0,0,.2);letter-spacing:.02em;margin-right:1em}.footer nav{display:inline-block}.footer nav>a{text-decoration:none;color:rgba(0,0,0,.6);-webkit-transition:color .2s ease;transition:color .2s ease;font-size:.92em}.footer nav>a+a:before{content:" / ";font-size:10px;color:rgba(0,0,0,.1)}</style> </head> <body> <div class="top inner"> - <p><strong>This is a web feed,</strong> also known as an RSS feed. <strong>Subscribe</strong> by copying the URL from the address bar into your newsreader. Visit <a href="https://aboutfeeds.com">About Feeds</a> to get started with newsreaders and subscribing. It's free.</p> - <p><strong>这是一个网络订阅,</strong>也称为 RSS 订阅。将地址栏中的 URL 复制到新闻阅读器中即可<strong>订阅</strong>。访问<a href="https://aboutfeeds.com">关于订阅</a>以开始使用新闻阅读器和订阅。并且是免费的。</p> + <p><strong>This is a web feed,</strong> also known as an RSS feed. <strong>Subscribe</strong> by copying the URL from the address bar into your newsreader. Visit <a href="https://app.follow.is">Follow</a> to get started with newsreaders and subscribing. It's free.</p> + <p><strong>此乃网络订阅,</strong>也称 RSS 订阅。将地址栏中的 URL 复制到新闻阅读器中即可<strong>订阅</strong>。推荐使用 <a href="https://app.follow.is">Follow</a> 来订阅本博客。并且是免费的。</p> </div> <div class="head inner"> <a class="head_logo"> @@ -58,8 +58,7 @@ <nav> <a href="https://yufan.me/about">关于</a> <a href="https://yufan.me/links">友链</a> - <a href="https://yufan.me/cats/article">文章</a> - <a href="https://yufan.me/cats/think">杂思</a> + <a href="https://yufan.me/categories">分类</a> </nav> </div> </body> diff --git a/src/pages/feed.ts b/src/pages/feed.ts index da9a60a..f13f43a 100644 --- a/src/pages/feed.ts +++ b/src/pages/feed.ts @@ -103,7 +103,7 @@ export const GET = async () => { return rss({ title: options.title, description: options.description, - stylesheet: urlJoin(import.meta.env.SITE, '/feed.xsl'), + stylesheet: '/feed.xsl', site: import.meta.env.SITE, items: feedPosts.map((post) => ({ link: urlJoin(import.meta.env.SITE, post.permalink),