diff --git a/package-lock.json b/package-lock.json index 811d70d2..d3ad7349 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,6 +18,7 @@ "devDependencies": { "@eslint/js": "^10.0.1", "eslint": "^10.4.0", + "feed": "^6.0.0", "globals": "^17.6.0", "husky": "^9.1.7", "lint-staged": "^17.0.5", @@ -476,31 +477,31 @@ } }, "node_modules/@floating-ui/core": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.5.tgz", - "integrity": "sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.8.0.tgz", + "integrity": "sha512-0CIZ5itps/8x7BG8dEIhs53BvCUH2PCoogtakwRTut+Arm58sJooJ0AuZhLw2HJYIR5cMLNPBSS728sPho2khQ==", "license": "MIT", "dependencies": { - "@floating-ui/utils": "^0.2.11" + "@floating-ui/utils": "^0.2.12" } }, "node_modules/@floating-ui/dom": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.6.tgz", - "integrity": "sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.8.0.tgz", + "integrity": "sha512-yXSrzeHZBTZadLOlfyhCkJHNeLJnHRnRInwdZ40L7ZiaAtrBwoYlsDrX3v5zB1Utk7CLfzcOVnVVWoXEky7Ceg==", "license": "MIT", "dependencies": { - "@floating-ui/core": "^1.7.5", - "@floating-ui/utils": "^0.2.11" + "@floating-ui/core": "^1.8.0", + "@floating-ui/utils": "^0.2.12" } }, "node_modules/@floating-ui/react-dom": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.8.tgz", - "integrity": "sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A==", + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.9.tgz", + "integrity": "sha512-JDjEFGCpImxDCA7JJKviA0M9+RtmJdj0m/NVU5IMgBK+AmZouAQQ7/+2GLH0GXXY0YMw9oXPB8hKdbPYg5QLYg==", "license": "MIT", "dependencies": { - "@floating-ui/dom": "^1.7.6" + "@floating-ui/dom": "^1.8.0" }, "peerDependencies": { "react": ">=16.8.0", @@ -508,9 +509,9 @@ } }, "node_modules/@floating-ui/utils": { - "version": "0.2.11", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.11.tgz", - "integrity": "sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==", + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.12.tgz", + "integrity": "sha512-HpCo8tmWzLVad5s2d19EhAz5zqrrQ6s69qd6moPMQvkOuSwDT1YgRfWSVuc4ennqrgv3OHppiOGMQ7oC13yIww==", "license": "MIT" }, "node_modules/@gerrit0/mini-shiki": { @@ -2623,9 +2624,9 @@ } }, "node_modules/@types/hast": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", - "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.5.tgz", + "integrity": "sha512-rp/ezSWaD1m44dPKICGhiskI13nVr7qTloFwDa/IYkhhf5nzwP+zIQcIJh3WIFSBOy/H1PzB40jPjMDksN4F+g==", "license": "MIT", "dependencies": { "@types/unist": "*" @@ -2653,9 +2654,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-26.1.0.tgz", - "integrity": "sha512-O0A1G3xPGy4w7AgQdAQYUlQ+BKk2Oovw8eRpofyp5KdBZULnbe+WqaOVNrm705SHphCiG4XHsACrSmPu1f+Kgw==", + "version": "26.1.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-26.1.1.tgz", + "integrity": "sha512-nxAkRSVkN1Y0JC1W8ky/fTfkGsMmcrRsbx+3XoZE+rMOX71kLYTV7fLXpqud1GpbpP5TuffXFqfX7fH2GgZREw==", "license": "MIT", "dependencies": { "undici-types": "~8.3.0" @@ -2690,9 +2691,9 @@ } }, "node_modules/@ungap/structured-clone": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.2.tgz", - "integrity": "sha512-5jsZFwgR5rTdKwidH9Qmat75RKwqfpKlWWB1frDkljN127mwqBu8K0PYo7/hFpF03IEJpfVPpCQDY/eDx3iHvA==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.3.tgz", + "integrity": "sha512-60YRaenCQcVjYEKOcG824+DRGGIQ3VKErcBoAEDJZz5bKIs2ZG+X/H9Nk+Q6EVkwJk5QNApxbrc5QtBSwtrXAg==", "license": "ISC" }, "node_modules/@vcarl/remark-headings": { @@ -3163,9 +3164,9 @@ } }, "node_modules/baseline-browser-mapping": { - "version": "2.10.42", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.42.tgz", - "integrity": "sha512-c/jurFrDLyui7o1J86yLkRu4LMsTYcBohveus7/I2Hzdn9KIP2bdJPTue/lR1KH46enoPbD77GKeSYNdyPoD3Q==", + "version": "2.10.43", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.43.tgz", + "integrity": "sha512-AjYpR78kDWAY3Efj+cDTFH9t9SCoL7OoTp1BOb0mQV7S+6CiLwnWM3FyxhJtdPufDFKzmCSFoUncKjWgJEZTCQ==", "license": "Apache-2.0", "bin": { "baseline-browser-mapping": "dist/cli.cjs" @@ -3206,9 +3207,9 @@ } }, "node_modules/browserslist": { - "version": "4.28.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.5.tgz", - "integrity": "sha512-Cu2E6QejHWzuDMTkuwgpABFgDfZrXLQq5V13YOACZx4mFAG4IwGTbTfHPMr4WtxlHoXSM8FIuRwYYCz5XiabaQ==", + "version": "4.28.6", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.6.tgz", + "integrity": "sha512-FQBYNK15VMslhLHpA7+n+n1GOlF1kId2xcCg7/j95f24AOF6VDYMNH4mFxF7KuaTdv627faazpOAjFzMrfJOUw==", "funding": [ { "type": "opencollective", @@ -3227,9 +3228,9 @@ "peer": true, "dependencies": { "baseline-browser-mapping": "^2.10.42", - "caniuse-lite": "^1.0.30001800", - "electron-to-chromium": "^1.5.387", - "node-releases": "^2.0.50", + "caniuse-lite": "^1.0.30001803", + "electron-to-chromium": "^1.5.389", + "node-releases": "^2.0.51", "update-browserslist-db": "^1.2.3" }, "bin": { @@ -3327,9 +3328,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001803", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001803.tgz", - "integrity": "sha512-g/uHREV2ZpK9qMalCsWaxmA6ol+DX8GYhuf3T40RKoP+oL7vhRJh8LNt73PCjpnR6l14FzfPrB5Yux4PKm2meg==", + "version": "1.0.30001805", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001805.tgz", + "integrity": "sha512-52noaS3DubycKSXaU30TwPGIp+POyQSUVa5jBEq3vkRkY0kjyb3LQgvhU6WGyCcyXqVLWO0Cw0Q6BSdD0kUfVA==", "funding": [ { "type": "opencollective", @@ -3853,9 +3854,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.388", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.388.tgz", - "integrity": "sha512-Pl/aJaqOOxYxda3vcx1IKSJimwYXHDkEnGn0F+kG2EE68dDtx2uCinaS+Vih8Z91B9t8CSAbiF/HKyWcnXjhzw==", + "version": "1.5.389", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.389.tgz", + "integrity": "sha512-cEto7aeOqBfU1D+c5py5pE+ooscKE75JifxLBdFUZsqAxRS6y7kebtxAZvICszSl05gPjYHDTjY+lXpyGvpJbg==", "license": "ISC" }, "node_modules/emoji-regex": { @@ -4027,9 +4028,9 @@ } }, "node_modules/es-module-lexer": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.3.0.tgz", - "integrity": "sha512-KLdwQm2NvGLDkQDCGvmiQrhkd0JbMzXthwQAUgWjQuQdBLFa3eiBP5arXZyA+f8x+x7OXgud6bq2rxjGtHV2tw==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.3.1.tgz", + "integrity": "sha512-shc1dbU90Yl/xq1QrC7QRtfcwURZuVRfPhZbDoldJ1cn1gzDvBaBWlv0eFolj5+0znnPJz5TXLxsN77X/12KTA==", "license": "MIT" }, "node_modules/es-object-atoms": { @@ -4134,9 +4135,9 @@ } }, "node_modules/eslint": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.6.0.tgz", - "integrity": "sha512-6lVbcqSodALYo+4ELD0heG6lFiFxnLMuLkiMi2qV8LMp54N8tE8FT1GMH+ev4Ti00nFjNze2+Su6DsV5OQW3Dg==", + "version": "10.7.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.7.0.tgz", + "integrity": "sha512-GVTD7s1vdIl6UYvAfriOPeY1Df8LIZjfofLvHwde+erDHGGuHyuM6xoxRxmHiebhYuD2p1vN4wWh0XzPARSGDQ==", "dev": true, "license": "MIT", "peer": true, @@ -4489,6 +4490,20 @@ } } }, + "node_modules/feed": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/feed/-/feed-6.0.0.tgz", + "integrity": "sha512-rvFOF1POce0ijAKy3tZN5T8PuprgIit/VbMyXJWcoYwcMOTSIJ7NqZb8DTLPJr77yiEO27kidm/fw0kcSIV+ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "xml-js": "^1.6.11" + }, + "engines": { + "node": ">=20", + "pnpm": ">=10" + } + }, "node_modules/file-entry-cache": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", @@ -4804,9 +4819,9 @@ } }, "node_modules/globby/node_modules/ignore": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", - "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.6.tgz", + "integrity": "sha512-BAg6QkE8W+TuQLrrw0Ugr7HegXduRuuj8/ti2kSOc+jz1dmx8/WNcjr6XGnq5YpDWxFwwaavqD0+jIUOKelTsw==", "dev": true, "license": "MIT", "engines": { @@ -7739,9 +7754,9 @@ "license": "MIT" }, "node_modules/nanoid": { - "version": "3.3.15", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.15.tgz", - "integrity": "sha512-y7Wygv/7mEOvxTuEQDB8StXdMRBWf1kR/tlhAzBRUFkB2jfcLOAxO/SHmOO2zgz1pVgK29/kyupn059/bCHdjA==", + "version": "3.3.16", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.16.tgz", + "integrity": "sha512-bzlKTyNJ7+LdGIIwy8ijFpIqEQIvafahV7eYykJ8Cvh42EdJeODoJ6gUJXpQJvej1BddH8OqTXZNE/KfbWAu8Q==", "dev": true, "funding": [ { @@ -7777,9 +7792,9 @@ "license": "MIT" }, "node_modules/node-releases": { - "version": "2.0.50", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.50.tgz", - "integrity": "sha512-J6l92tKHX6w8Jy5nO1Vuc01NoIiRGi/d6qBKVxh+IQ8Cr3b6HbVNfKiF8ZpFKufTwpwxMmce2W3iQZ861ZRyTg==", + "version": "2.0.51", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.51.tgz", + "integrity": "sha512-wRNIrw4DmVLKQlbgOMdkMx27Wrpzes2hh5Jtbi2bjPd+4wJstWIqP5A+lscnqbm0xxmT5Bpg8Lec5ItEBwx6BQ==", "license": "MIT", "engines": { "node": ">=18" @@ -7848,9 +7863,9 @@ "license": "MIT" }, "node_modules/npm-run-all/node_modules/brace-expansion": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.15.tgz", - "integrity": "sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==", + "version": "1.1.16", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.16.tgz", + "integrity": "sha512-IDw48K2/2kRkg9LdJxurvq3lV3aBgq0REY89duEqFRthjlPdXHKMj7EnQOXVckxzgisinf3nHfrcE2FufFLXMw==", "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", @@ -8252,9 +8267,9 @@ } }, "node_modules/postcss": { - "version": "8.5.16", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.16.tgz", - "integrity": "sha512-vuwillviilfKZsg0VGj5R/YwwcHx4SLsIOI/7K6mQkWx+l5cUHTjj5g0AasTBcyXsbfTgrwsUNmVUb5xVwyPwg==", + "version": "8.5.19", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.19.tgz", + "integrity": "sha512-Mz8SaolMd8nB+G13WkORcxQKHZ/NE4xXevtkJHVuG+guo9/wYKlIMTKAqGdEmYOXR2ijPjTYNHssizdaVSUNdQ==", "dev": true, "funding": [ { @@ -8341,14 +8356,22 @@ "license": "MIT" }, "node_modules/preact": { - "version": "10.29.5", - "resolved": "https://registry.npmjs.org/preact/-/preact-10.29.5.tgz", - "integrity": "sha512-zIai7HLEIz9c4GNfqpiuu5K9I1szXNtx0Ykr8f1Vbm1NasSVIvXGRxc8R8alLC+G+zonAt0TiUUBMn4+CiTgaA==", + "version": "10.29.7", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.29.7.tgz", + "integrity": "sha512-DCHYrK/B10yUD3ZjLfhZ3WIE/9Vf9VFUODcRE2dRomTYDpJk6z6L9wecSfhfE6M9ZTHUdyQkoC46arIDhEV84Q==", "license": "MIT", "peer": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/preact" + }, + "peerDependencies": { + "preact-render-to-string": ">=5" + }, + "peerDependenciesMeta": { + "preact-render-to-string": { + "optional": true + } } }, "node_modules/preact-render-to-string": { @@ -8356,6 +8379,7 @@ "resolved": "https://registry.npmjs.org/preact-render-to-string/-/preact-render-to-string-6.7.0.tgz", "integrity": "sha512-Z4WR8fmLMRpdYqJ9i7vrlXSsSrxVJydwrkEXHapexfARbWfGb7vGcnvNQnIzN0cXciMVOlz/XLoiMCi9gUsy9Q==", "license": "MIT", + "peer": true, "peerDependencies": { "preact": ">=10 || >= 11.0.0-0" } @@ -8371,9 +8395,9 @@ } }, "node_modules/prettier": { - "version": "3.9.4", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.9.4.tgz", - "integrity": "sha512-yWG/o/4oJfo036EKAfK6ACAoDOfHeRHx4tuxkfBZiauURiaSmYwlpOr5LQqKtIkRD2z1PLteme2WoxEnj4tHTg==", + "version": "3.9.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.9.5.tgz", + "integrity": "sha512-/FVl766LpUfB5vXgCYOYa0MeV/441Ia99AeICQIQFTY/Nw0roZwULcXpku5i1/m5kt/baz+s4Zogspd839HSMg==", "dev": true, "license": "MIT", "bin": { @@ -9031,6 +9055,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/sax": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.0.tgz", + "integrity": "sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=11.0.0" + } + }, "node_modules/scheduler": { "version": "0.27.0", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", @@ -9186,9 +9220,9 @@ } }, "node_modules/shell-quote": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.9.0.tgz", - "integrity": "sha512-Iov+JwFv/2HcTpcwNMKd8+IWNb8tboQJNQTkAY/LLVK7gGH9jy+LGkVqPxfekHl+yMmiqXszdGWXgkfml7hjqA==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.10.0.tgz", + "integrity": "sha512-w1aiOKwKuRgtwAReIIj89puqg+I7GvX4IbLrvmhXbzQsj1+Zwi4VO3+fa6ZF91TWSjIxoEkKnMeHcLEODK5ZXA==", "license": "MIT", "engines": { "node": ">= 0.4" @@ -9453,9 +9487,9 @@ } }, "node_modules/string-width": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.1.tgz", - "integrity": "sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==", + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.2.tgz", + "integrity": "sha512-GaPUh5gfdrYzqeVNZvUfT23vYYxXzKYidUcnMtJg/3rxRV63EFZy3k6xfKlmfeJD0176lnUV/Usr3XcwSvFzpg==", "dev": true, "license": "MIT", "dependencies": { @@ -9760,9 +9794,9 @@ } }, "node_modules/stylelint/node_modules/ignore": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", - "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.6.tgz", + "integrity": "sha512-BAg6QkE8W+TuQLrrw0Ugr7HegXduRuuj8/ti2kSOc+jz1dmx8/WNcjr6XGnq5YpDWxFwwaavqD0+jIUOKelTsw==", "dev": true, "license": "MIT", "engines": { @@ -10012,9 +10046,9 @@ } }, "node_modules/terser": { - "version": "5.48.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.48.0.tgz", - "integrity": "sha512-J/9An6vs9Us6wKRriSFXBWdRZapREHqFzdNUKk0pmu804EMR6dr6winwo7e5JDxN4xahxQsuysyYFwlwj4XN/Q==", + "version": "5.49.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.49.0.tgz", + "integrity": "sha512-SNiDnXyHSrxVcIOtVbULzcTmniUiwcV7Nwdyj1twVubeTmbjoa8p69KKDpfkdoOavuM4/GRm1+ykI8qqnavHoA==", "license": "BSD-2-Clause", "dependencies": { "@jridgewell/source-map": "^0.3.3", @@ -10906,6 +10940,19 @@ "node": "^20.17.0 || >=22.9.0" } }, + "node_modules/xml-js": { + "version": "1.6.11", + "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", + "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "sax": "^1.2.4" + }, + "bin": { + "xml-js": "bin/cli.js" + } + }, "node_modules/yaml": { "version": "2.9.0", "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz", diff --git a/package.json b/package.json index 4f43cf02..451f17a1 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "build:md:readmes": "node scripts/markdown/readmes.mjs", "build:md:governance": "node scripts/markdown/governance.mjs", "build:html": "node scripts/html/index.mjs", + "build:rss-feed": "node scripts/rss-feed/index.mjs", "build": "npm-run-all build:*", "lint": "npm-run-all \"lint:!(fix)\"", "lint:fix": "npm-run-all lint:*:fix", @@ -34,6 +35,7 @@ "devDependencies": { "@eslint/js": "^10.0.1", "eslint": "^10.4.0", + "feed": "^6.0.0", "globals": "^17.6.0", "husky": "^9.1.7", "lint-staged": "^17.0.5", diff --git a/pages/about/branding.md b/pages/about/branding.md index a45f6701..7e3539d8 100644 --- a/pages/about/branding.md +++ b/pages/about/branding.md @@ -1,4 +1,5 @@ --- +title: Branding of webpack authors: avivkeller --- diff --git a/pages/about/index.md b/pages/about/index.md index bbc8ef98..bda63d0f 100644 --- a/pages/about/index.md +++ b/pages/about/index.md @@ -1,3 +1,7 @@ +--- +title: About webpack +--- + # About webpack webpack is a static module bundler for modern JavaScript applications. It treats diff --git a/pages/about/sponsors.md b/pages/about/sponsors.md index 9a17ece0..3341e015 100644 --- a/pages/about/sponsors.md +++ b/pages/about/sponsors.md @@ -1,4 +1,4 @@ --- -layout: sponsors title: Sponsors +layout: sponsors --- diff --git a/pages/blog/index.md b/pages/blog/index.md index 012e90ab..ab8fcb9b 100644 --- a/pages/blog/index.md +++ b/pages/blog/index.md @@ -1,4 +1,4 @@ --- -layout: blog title: Blogs +layout: blog --- diff --git a/pages/blog/posts/2020-10-10-webpack-5-release.md b/pages/blog/posts/2020-10-10-webpack-5-release.md index 60454613..983c286b 100644 --- a/pages/blog/posts/2020-10-10-webpack-5-release.md +++ b/pages/blog/posts/2020-10-10-webpack-5-release.md @@ -1,4 +1,5 @@ --- +title: Webpack 5 release layout: post date: 2020-10-10T00:00:00Z authors: sokra, chenxsan diff --git a/pages/blog/posts/2020-12-08-roadmap-2021.md b/pages/blog/posts/2020-12-08-roadmap-2021.md index 35fa3b3a..6aa558ec 100644 --- a/pages/blog/posts/2020-12-08-roadmap-2021.md +++ b/pages/blog/posts/2020-12-08-roadmap-2021.md @@ -1,4 +1,5 @@ --- +title: Roadmap 2021 layout: post date: 2020-12-08T00:00:00Z authors: sokra diff --git a/pages/blog/posts/2026-02-03-webpack-5-105.md b/pages/blog/posts/2026-02-03-webpack-5-105.md index 3ae80d12..67c7c04b 100644 --- a/pages/blog/posts/2026-02-03-webpack-5-105.md +++ b/pages/blog/posts/2026-02-03-webpack-5-105.md @@ -1,4 +1,5 @@ --- +title: Webpack 5.105 layout: post date: 2026-02-03T00:00:00Z authors: bjohansebas diff --git a/pages/blog/posts/2026-02-04-roadmap-2026.md b/pages/blog/posts/2026-02-04-roadmap-2026.md index 77614a77..b7239e48 100644 --- a/pages/blog/posts/2026-02-04-roadmap-2026.md +++ b/pages/blog/posts/2026-02-04-roadmap-2026.md @@ -1,4 +1,5 @@ --- +title: Roadmap 2026 layout: post date: 2026-02-04T00:00:00Z authors: evenstensberg, bjohansebas, UlisesGascon diff --git a/pages/blog/posts/2026-04-08-webpack-5-106.md b/pages/blog/posts/2026-04-08-webpack-5-106.md index 390d7784..76da14f5 100644 --- a/pages/blog/posts/2026-04-08-webpack-5-106.md +++ b/pages/blog/posts/2026-04-08-webpack-5-106.md @@ -1,4 +1,5 @@ --- +title: Webpack 5.106 layout: post date: 2026-04-08T00:00:00Z authors: bjohansebas diff --git a/pages/blog/posts/2026-05-19-webpack-5-107.md b/pages/blog/posts/2026-05-19-webpack-5-107.md index ae588144..7900bdf1 100644 --- a/pages/blog/posts/2026-05-19-webpack-5-107.md +++ b/pages/blog/posts/2026-05-19-webpack-5-107.md @@ -1,4 +1,5 @@ --- +title: Webpack 5.107 layout: post date: 2026-05-19T00:00:00Z authors: bjohansebas diff --git a/pages/docs/index.md b/pages/docs/index.md index bebadcc1..67ced94f 100644 --- a/pages/docs/index.md +++ b/pages/docs/index.md @@ -1,4 +1,5 @@ --- +title: Documentation authors: moshams272 --- diff --git a/pages/docs/loaders/index.md b/pages/docs/loaders/index.md index 2ab42be6..fa4e87b2 100644 --- a/pages/docs/loaders/index.md +++ b/pages/docs/loaders/index.md @@ -1,4 +1,5 @@ --- +title: Loaders authors: ryzrr --- diff --git a/pages/docs/plugins/index.md b/pages/docs/plugins/index.md index c8cce759..a74a4e11 100644 --- a/pages/docs/plugins/index.md +++ b/pages/docs/plugins/index.md @@ -1,4 +1,5 @@ --- +title: Plugins authors: ryzrr --- diff --git a/pages/guides/core-workflows/asset-management.md b/pages/guides/core-workflows/asset-management.md index 934afe3c..7860920f 100644 --- a/pages/guides/core-workflows/asset-management.md +++ b/pages/guides/core-workflows/asset-management.md @@ -1,4 +1,5 @@ --- +title: Asset Management authors: skipjack,michael-ciniawsky,TheDutchCoder,sudarsangp,chenxsan,EugeneHlushko,AnayaDesign,wizardofhogwarts,astonizer,snitin315,Brennvo,mr-baraiya,avivkeller --- diff --git a/pages/guides/core-workflows/asset-modules.md b/pages/guides/core-workflows/asset-modules.md index 85dc55d5..ee5707f2 100644 --- a/pages/guides/core-workflows/asset-modules.md +++ b/pages/guides/core-workflows/asset-modules.md @@ -1,4 +1,5 @@ --- +title: Asset Modules authors: smelukov,EugeneHlushko,chenxsan,anshumanv,spence-s,dkdk225,alexander-akait,GreenUpOu,avivkeller --- diff --git a/pages/guides/core-workflows/development/hot-module-replacement.md b/pages/guides/core-workflows/development/hot-module-replacement.md index 1a2015c2..56a3e150 100644 --- a/pages/guides/core-workflows/development/hot-module-replacement.md +++ b/pages/guides/core-workflows/development/hot-module-replacement.md @@ -1,4 +1,5 @@ --- +title: Hot Module Replacement authors: jmreidy,jhnns,sararubin,rohannair,joshsantos,drpicox,skipjack,sbaidon,gdi2290,bdwain,caryli,xgirma,EugeneHlushko,AnayaDesign,aviyacohen,dhruvdutt,wizardofhogwarts,aholzner,snitin315,Brennvo,avivkeller --- diff --git a/pages/guides/core-workflows/development/index.md b/pages/guides/core-workflows/development/index.md index fcc3908d..4bf6ef72 100644 --- a/pages/guides/core-workflows/development/index.md +++ b/pages/guides/core-workflows/development/index.md @@ -1,4 +1,5 @@ --- +title: Development authors: SpaceK33z,rafde,fvgs,TheDutchCoder,WojciechKo,Calinou,GAumala,EugeneHlushko,byzyk,trivikr,aholzner,chenxsan,maxloh,snitin315,f3ndot,Brennvo,avivkeller --- diff --git a/pages/guides/core-workflows/development/vagrant.md b/pages/guides/core-workflows/development/vagrant.md index 99128559..f27847f4 100644 --- a/pages/guides/core-workflows/development/vagrant.md +++ b/pages/guides/core-workflows/development/vagrant.md @@ -1,4 +1,5 @@ --- +title: Development with Vagrant authors: SpaceK33z,chrisVillanueva,byzyk,wizardofhogwarts,Brennvo,avivkeller --- diff --git a/pages/guides/core-workflows/environment-variables.md b/pages/guides/core-workflows/environment-variables.md index 2a1d041d..39651d8a 100644 --- a/pages/guides/core-workflows/environment-variables.md +++ b/pages/guides/core-workflows/environment-variables.md @@ -1,4 +1,5 @@ --- +title: Environment Variables authors: simon04,grisanu,tbroadley,legalcodes,byzyk,jceipek,snitin315,Brennvo,avivkeller --- diff --git a/pages/guides/core-workflows/output-management.md b/pages/guides/core-workflows/output-management.md index da8a357a..d6a70535 100644 --- a/pages/guides/core-workflows/output-management.md +++ b/pages/guides/core-workflows/output-management.md @@ -1,4 +1,5 @@ --- +title: Output Management authors: skipjack,TheDutchCoder,sudarsangp,JGJP,EugeneHlushko,AnayaDesign,chenxsan,snitin315,Brennvo,avivkeller --- diff --git a/pages/guides/core-workflows/production.md b/pages/guides/core-workflows/production.md index 9b8ee182..8d5a3ffb 100644 --- a/pages/guides/core-workflows/production.md +++ b/pages/guides/core-workflows/production.md @@ -1,4 +1,5 @@ --- +title: Production authors: henriquea,rajagopal4890,makuzaverite,markerikson,simon04,kisnows,chrisVillanueva,swapnilmishra,bring2dip,redian,skipjack,xgqfrms,kelset,xgirma,mehrdaad,SevenOutman,AnayaDesign,wizardofhogwarts,aholzner,EugeneHlushko,snitin315,Brennvo,ThierryRakotomanana,avivkeller --- diff --git a/pages/guides/getting-started/concepts/configuration.md b/pages/guides/getting-started/concepts/configuration.md index 14cbd401..de48f45d 100644 --- a/pages/guides/getting-started/concepts/configuration.md +++ b/pages/guides/getting-started/concepts/configuration.md @@ -1,4 +1,5 @@ --- +title: Configuration authors: TheLarkInn,simon04,EugeneHlushko,byzyk,mr-baraiya,avivkeller --- diff --git a/pages/guides/getting-started/concepts/dependency-graph.md b/pages/guides/getting-started/concepts/dependency-graph.md index 1cfd6d7c..8f122965 100644 --- a/pages/guides/getting-started/concepts/dependency-graph.md +++ b/pages/guides/getting-started/concepts/dependency-graph.md @@ -1,4 +1,5 @@ --- +title: Dependency Graph authors: TheLarkInn,EugeneHlushko,avivkeller --- diff --git a/pages/guides/getting-started/concepts/entry-points.md b/pages/guides/getting-started/concepts/entry-points.md index db94573d..e0bebb93 100644 --- a/pages/guides/getting-started/concepts/entry-points.md +++ b/pages/guides/getting-started/concepts/entry-points.md @@ -1,4 +1,5 @@ --- +title: Entry Points authors: TheLarkInn,chrisVillanueva,byzyk,sokra,EugeneHlushko,Zearin,chenxsan,adyjs,anshumanv,ritikbanger,saishankar404,avivkeller --- diff --git a/pages/guides/getting-started/concepts/hot-module-replacement.md b/pages/guides/getting-started/concepts/hot-module-replacement.md index b35726f4..e5079899 100644 --- a/pages/guides/getting-started/concepts/hot-module-replacement.md +++ b/pages/guides/getting-started/concepts/hot-module-replacement.md @@ -1,4 +1,5 @@ --- +title: Hot Module Replacement authors: kryptokinght,SpaceK33z,sokra,GRardB,rouzbeh84,skipjack,avivkeller --- diff --git a/pages/guides/getting-started/concepts/index.md b/pages/guides/getting-started/concepts/index.md index 65dfe5b1..3aa4d522 100644 --- a/pages/guides/getting-started/concepts/index.md +++ b/pages/guides/getting-started/concepts/index.md @@ -1,4 +1,5 @@ --- +title: Concepts authors: TheLarkInn,jhnns,grgur,johnstew,jimrfenner,TheDutchCoder,adambraimbridge,EugeneHlushko,jeremenichelli,arjunsajeev,byzyk,yairhaimo,farskid,LukeMwila,Jalitha,muhmushtaha,chenxsan,RyanGreyling2,saishankar404,avivkeller --- diff --git a/pages/guides/getting-started/concepts/loaders.md b/pages/guides/getting-started/concepts/loaders.md index 4f046eca..99334084 100644 --- a/pages/guides/getting-started/concepts/loaders.md +++ b/pages/guides/getting-started/concepts/loaders.md @@ -1,4 +1,5 @@ --- +title: Loaders authors: manekinekko,evenstensberg,SpaceK33z,gangachris,TheLarkInn,simon04,jhnns,byzyk,debs-obrien,EugeneHlushko,wizardofhogwarts,lukasgeiter,furkle,jamesgeorge007,textbook,avivkeller --- diff --git a/pages/guides/getting-started/concepts/manifest.md b/pages/guides/getting-started/concepts/manifest.md index 9958f72c..861c5514 100644 --- a/pages/guides/getting-started/concepts/manifest.md +++ b/pages/guides/getting-started/concepts/manifest.md @@ -1,4 +1,5 @@ --- +title: The Manifest authors: skipjack,EugeneHlushko,avivkeller --- diff --git a/pages/guides/getting-started/concepts/module-federation.md b/pages/guides/getting-started/concepts/module-federation.md index 40a2d573..de4fff23 100644 --- a/pages/guides/getting-started/concepts/module-federation.md +++ b/pages/guides/getting-started/concepts/module-federation.md @@ -1,4 +1,5 @@ --- +title: Module Federation authors: sokra,chenxsan,EugeneHlushko,jamesgeorge007,ScriptedAlchemy,snitin315,XiaofengXie16,KyleBastien,Alevale,burhanuday,RexSkz,avivkeller --- diff --git a/pages/guides/getting-started/concepts/module-resolution.md b/pages/guides/getting-started/concepts/module-resolution.md index d1b0c553..75cf3780 100644 --- a/pages/guides/getting-started/concepts/module-resolution.md +++ b/pages/guides/getting-started/concepts/module-resolution.md @@ -1,4 +1,5 @@ --- +title: Module Resolution authors: pksjce,pastelsky,byzyk,EugeneHlushko,wizardofhogwarts,avivkeller --- diff --git a/pages/guides/getting-started/concepts/modules.md b/pages/guides/getting-started/concepts/modules.md index 8348fa8b..8127594a 100644 --- a/pages/guides/getting-started/concepts/modules.md +++ b/pages/guides/getting-started/concepts/modules.md @@ -1,4 +1,5 @@ --- +title: Modules authors: TheLarkInn,simon04,rouzbeh84,EugeneHlushko,byzyk,avivkeller --- diff --git a/pages/guides/getting-started/concepts/output.md b/pages/guides/getting-started/concepts/output.md index 91cdd5ec..888be937 100644 --- a/pages/guides/getting-started/concepts/output.md +++ b/pages/guides/getting-started/concepts/output.md @@ -1,4 +1,5 @@ --- +title: Output authors: TheLarkInn,chyipin,rouzbeh84,byzyk,EugeneHlushko,avivkeller --- diff --git a/pages/guides/getting-started/concepts/plugins.md b/pages/guides/getting-started/concepts/plugins.md index b50df9e3..c3aada27 100644 --- a/pages/guides/getting-started/concepts/plugins.md +++ b/pages/guides/getting-started/concepts/plugins.md @@ -1,4 +1,5 @@ --- +title: Plugins authors: TheLarkInn,jhnns,rouzbeh84,johnstew,MisterDev,byzyk,chenxsan,avivkeller --- diff --git a/pages/guides/getting-started/concepts/targets.md b/pages/guides/getting-started/concepts/targets.md index 07ad871b..f7fe8a02 100644 --- a/pages/guides/getting-started/concepts/targets.md +++ b/pages/guides/getting-started/concepts/targets.md @@ -1,4 +1,5 @@ --- +title: Targets authors: TheLarkInn,rouzbeh84,johnstew,srilman,byzyk,EugeneHlushko,avivkeller --- diff --git a/pages/guides/getting-started/concepts/under-the-hood.md b/pages/guides/getting-started/concepts/under-the-hood.md index 81ae9d58..1cc686f4 100644 --- a/pages/guides/getting-started/concepts/under-the-hood.md +++ b/pages/guides/getting-started/concepts/under-the-hood.md @@ -1,4 +1,5 @@ --- +title: Under the Hood authors: smelukov,EugeneHlushko,chenxsan,amirsaeed671,avivkeller --- diff --git a/pages/guides/getting-started/concepts/why-webpack.md b/pages/guides/getting-started/concepts/why-webpack.md index dd420857..07c7579e 100644 --- a/pages/guides/getting-started/concepts/why-webpack.md +++ b/pages/guides/getting-started/concepts/why-webpack.md @@ -1,4 +1,5 @@ --- +title: Why webpack authors: debs-obrien,montogeek,jeremenichelli,EugeneHlushko,avivkeller --- diff --git a/pages/guides/getting-started/index.md b/pages/guides/getting-started/index.md index d02b8ed3..c5fa63db 100644 --- a/pages/guides/getting-started/index.md +++ b/pages/guides/getting-started/index.md @@ -1,4 +1,5 @@ --- +title: Getting Started authors: bebraw,varunjayaraman,cntanglijun,chrisVillanueva,johnstew,simon04,aaronang,TheDutchCoder,sudarsangp,Vanguard90,chenxsan,EugeneHlushko,ATGardner,ayvarot,bjarki,ztomasze,Spiral90210,byzyk,wizardofhogwarts,myshov,anshumanv,d3lm,snitin315,Etheryen,zowiebeha,avivkeller --- diff --git a/pages/guides/getting-started/installing-webpack.md b/pages/guides/getting-started/installing-webpack.md index 2e8af72a..5f3bbc73 100644 --- a/pages/guides/getting-started/installing-webpack.md +++ b/pages/guides/getting-started/installing-webpack.md @@ -1,4 +1,5 @@ --- +title: Installation authors: pksjce,bebraw,simon04,EugeneHlushko,sibiraj-s,chenxsan,avivkeller --- diff --git a/pages/guides/index.md b/pages/guides/index.md index 2e13a0a1..4feaaa4e 100644 --- a/pages/guides/index.md +++ b/pages/guides/index.md @@ -1,5 +1,6 @@ --- -authors: moshams272 +title: Guides +authors: moshams272s --- # Guides diff --git a/pages/guides/migration/index.md b/pages/guides/migration/index.md index f7dc1235..627e6904 100644 --- a/pages/guides/migration/index.md +++ b/pages/guides/migration/index.md @@ -1,4 +1,5 @@ --- +title: Migrate authors: EugeneHlushko,avivkeller --- diff --git a/pages/guides/migration/to-v3.md b/pages/guides/migration/to-v3.md index e6ae386f..de2e4b7a 100644 --- a/pages/guides/migration/to-v3.md +++ b/pages/guides/migration/to-v3.md @@ -1,4 +1,5 @@ --- +title: To v2 or v3 from v1 authors: sokra,jhnns,grgur,domfarolino,johnnyreilly,jouni-kantola,frederikprijck,chrisVillanueva,bebraw,howdy39,selbekk,ndelangen,EugeneHlushko,byzyk,avivkeller --- diff --git a/pages/guides/migration/to-v4.md b/pages/guides/migration/to-v4.md index 922b672a..f1db52e8 100644 --- a/pages/guides/migration/to-v4.md +++ b/pages/guides/migration/to-v4.md @@ -1,4 +1,5 @@ --- +title: To v4 from v3 authors: sokra,EugeneHlushko,Kolhar730,avivkeller --- diff --git a/pages/guides/migration/to-v5.md b/pages/guides/migration/to-v5.md index 9d86be3e..c0655294 100644 --- a/pages/guides/migration/to-v5.md +++ b/pages/guides/migration/to-v5.md @@ -1,4 +1,5 @@ --- +title: To v5 from v4 authors: sokra,salemhilal,keichinger,EugeneHlushko,MattGoldwater,rramaa,chenxsan,jamesgeorge007,getsnoopy,yevhen-logosha,akash-kumar-dev,EvanSanderson,avivkeller --- diff --git a/pages/guides/modern-web/index.md b/pages/guides/modern-web/index.md index 4a8f40e6..39b481cb 100644 --- a/pages/guides/modern-web/index.md +++ b/pages/guides/modern-web/index.md @@ -1,4 +1,5 @@ --- +title: Modern Web Platform authors: phoekerson,avivkeller --- diff --git a/pages/guides/modern-web/native-css.md b/pages/guides/modern-web/native-css.md index ed6d7684..59b96193 100644 --- a/pages/guides/modern-web/native-css.md +++ b/pages/guides/modern-web/native-css.md @@ -1,4 +1,5 @@ --- +title: Native CSS authors: phoekerson,avivkeller --- diff --git a/pages/guides/modern-web/progressive-web-application.md b/pages/guides/modern-web/progressive-web-application.md index 45202efb..5e7d8ac4 100644 --- a/pages/guides/modern-web/progressive-web-application.md +++ b/pages/guides/modern-web/progressive-web-application.md @@ -1,4 +1,5 @@ --- +title: Progressive Web Application authors: johnnyreilly,chenxsan,EugeneHlushko,benschac,aholzner,avivkeller --- diff --git a/pages/guides/modern-web/web-workers.md b/pages/guides/modern-web/web-workers.md index 0c4d4ff6..5f1edbb8 100644 --- a/pages/guides/modern-web/web-workers.md +++ b/pages/guides/modern-web/web-workers.md @@ -1,4 +1,5 @@ --- +title: Web Workers authors: chenxsan,avivkeller --- diff --git a/pages/guides/modules-and-dependencies/dependency-management.md b/pages/guides/modules-and-dependencies/dependency-management.md index 21a09830..da0095e7 100644 --- a/pages/guides/modules-and-dependencies/dependency-management.md +++ b/pages/guides/modules-and-dependencies/dependency-management.md @@ -1,4 +1,5 @@ --- +title: Dependency Management authors: ndelangen,chrisVillanueva,sokra,byzyk,AnayaDesign,ThierryRakotomanana,avivkeller --- diff --git a/pages/guides/modules-and-dependencies/ecma-script-modules.md b/pages/guides/modules-and-dependencies/ecma-script-modules.md index dba9c358..dfcd58fd 100644 --- a/pages/guides/modules-and-dependencies/ecma-script-modules.md +++ b/pages/guides/modules-and-dependencies/ecma-script-modules.md @@ -1,4 +1,5 @@ --- +title: ECMAScript Modules authors: sokra,ryzrr,avivkeller --- diff --git a/pages/guides/modules-and-dependencies/entry-advanced.md b/pages/guides/modules-and-dependencies/entry-advanced.md index fe96622a..d1e561ba 100644 --- a/pages/guides/modules-and-dependencies/entry-advanced.md +++ b/pages/guides/modules-and-dependencies/entry-advanced.md @@ -1,4 +1,5 @@ --- +title: Advanced entry authors: EugeneHlushko,avivkeller --- diff --git a/pages/guides/modules-and-dependencies/package-exports.md b/pages/guides/modules-and-dependencies/package-exports.md index 555cddeb..b3ac6610 100644 --- a/pages/guides/modules-and-dependencies/package-exports.md +++ b/pages/guides/modules-and-dependencies/package-exports.md @@ -1,4 +1,5 @@ --- +title: Package exports authors: sokra,avivkeller --- diff --git a/pages/guides/modules-and-dependencies/shimming.md b/pages/guides/modules-and-dependencies/shimming.md index e13180d2..a88ae443 100644 --- a/pages/guides/modules-and-dependencies/shimming.md +++ b/pages/guides/modules-and-dependencies/shimming.md @@ -1,4 +1,5 @@ --- +title: Shimming authors: pksjce,jhnns,simon04,jeremenichelli,svyandun,byzyk,EugeneHlushko,AnayaDesign,dhurlburtusa,plr108,NicolasLetellier,wizardofhogwarts,snitin315,chenxsan,avivkeller --- diff --git a/pages/guides/optimization/build-performance.md b/pages/guides/optimization/build-performance.md index 4c0cb935..b5a323b9 100644 --- a/pages/guides/optimization/build-performance.md +++ b/pages/guides/optimization/build-performance.md @@ -1,4 +1,5 @@ --- +title: Build Performance authors: sokra,tbroadley,byzyk,madhavarshney,wizardofhogwarts,anikethsaha,Brennvo,avivkeller --- diff --git a/pages/guides/optimization/caching.md b/pages/guides/optimization/caching.md index 7fd5f683..d69e0a68 100644 --- a/pages/guides/optimization/caching.md +++ b/pages/guides/optimization/caching.md @@ -1,4 +1,5 @@ --- +title: Caching authors: okonet,jouni-kantola,skipjack,dannycjones,fadysamirsadek,afontcu,rosavage,saiprasad2595,EugeneHlushko,AnayaDesign,aholzner,snitin315,avivkeller --- diff --git a/pages/guides/optimization/code-splitting/index.md b/pages/guides/optimization/code-splitting/index.md index c8bae3c3..150e5e2e 100644 --- a/pages/guides/optimization/code-splitting/index.md +++ b/pages/guides/optimization/code-splitting/index.md @@ -1,4 +1,5 @@ --- +title: Code Splitting authors: pksjce,pastelsky,simon04,jonwheeler,johnstew,shinxi,tomtasche,levy9527,rahulcs,chrisVillanueva,rafde,bartushek,shaunwallace,skipjack,jakearchibald,TheDutchCoder,rouzbeh84,shaodahong,sudarsangp,kcolton,efreitasn,EugeneHlushko,Tiendo1011,byzyk,AnayaDesign,wizardofhogwarts,maximilianschmelzer,smelukov,chenxsan,Adarah,atesgoral,snitin315,artem-malko,Brennvo,ThierryRakotomanana,avivkeller --- diff --git a/pages/guides/optimization/code-splitting/lazy-loading.md b/pages/guides/optimization/code-splitting/lazy-loading.md index 89cb29aa..c2cc87ca 100644 --- a/pages/guides/optimization/code-splitting/lazy-loading.md +++ b/pages/guides/optimization/code-splitting/lazy-loading.md @@ -1,4 +1,5 @@ --- +title: Lazy Loading authors: iammerrick,chrisVillanueva,skipjack,byzyk,EugeneHlushko,AnayaDesign,tapanprakasht,snitin315,ThierryRakotomanana,avivkeller --- diff --git a/pages/guides/optimization/tree-shaking.md b/pages/guides/optimization/tree-shaking.md index d0b7baad..b0841c39 100644 --- a/pages/guides/optimization/tree-shaking.md +++ b/pages/guides/optimization/tree-shaking.md @@ -1,4 +1,5 @@ --- +title: Tree Shaking authors: simon04,zacanger,alexjoverm,avant1,MijaelWatts,dmitriid,probablyup,gish,lumo10,byzyk,pnevares,EugeneHlushko,AnayaDesign,torifat,rahul3v,snitin315,vansh5632,Brennvo,ThierryRakotomanana,avivkeller --- diff --git a/pages/guides/tooling-and-integration/authoring-libraries.md b/pages/guides/tooling-and-integration/authoring-libraries.md index 47fd2af4..e653d99a 100644 --- a/pages/guides/tooling-and-integration/authoring-libraries.md +++ b/pages/guides/tooling-and-integration/authoring-libraries.md @@ -1,4 +1,5 @@ --- +title: Authoring Libraries authors: pksjce,johnstew,simon04,5angel,marioacc,byzyk,EugeneHlushko,AnayaDesign,chenxsan,wizardofhogwarts,Debraj2024,avivkeller --- diff --git a/pages/guides/tooling-and-integration/content-security-policy.md b/pages/guides/tooling-and-integration/content-security-policy.md index e0b4abed..9f3de1f6 100644 --- a/pages/guides/tooling-and-integration/content-security-policy.md +++ b/pages/guides/tooling-and-integration/content-security-policy.md @@ -1,4 +1,5 @@ --- +title: Content Security Policies authors: EugeneHlushko,probablyup,wizardofhogwarts,koto,avivkeller --- diff --git a/pages/guides/tooling-and-integration/integrations.md b/pages/guides/tooling-and-integration/integrations.md index 14e50c85..9c3de2e3 100644 --- a/pages/guides/tooling-and-integration/integrations.md +++ b/pages/guides/tooling-and-integration/integrations.md @@ -1,4 +1,5 @@ --- +title: Integrations authors: pksjce,bebraw,tashian,skipjack,AnayaDesign,avivkeller --- diff --git a/pages/guides/tooling-and-integration/typescript.md b/pages/guides/tooling-and-integration/typescript.md index 3e8103f3..4659df3a 100644 --- a/pages/guides/tooling-and-integration/typescript.md +++ b/pages/guides/tooling-and-integration/typescript.md @@ -1,4 +1,5 @@ --- +title: Typescript authors: morsdyce,kkamali,mtrivera,byzyk,EugeneHlushko,chenxsan,snitin315,tusharthakur04,ThierryRakotomanana,valentina-buoro,avivkeller --- diff --git a/pages/index.md b/pages/index.md index e127e85f..191eb0fb 100644 --- a/pages/index.md +++ b/pages/index.md @@ -1,4 +1,5 @@ --- +title: Webpack layout: home mdx: true --- diff --git a/scripts/html/doc-kit.config.mjs b/scripts/html/doc-kit.config.mjs index a3229290..9a5cc457 100644 --- a/scripts/html/doc-kit.config.mjs +++ b/scripts/html/doc-kit.config.mjs @@ -66,6 +66,12 @@ export default { rel: 'icon', href: '/assets/favicon.ico', }, + { + rel: 'alternate', + type: 'application/rss+xml', + title: 'Webpack Blog', + href: 'https://webpack.js.org/feed.xml', + }, ], }, imports: { diff --git a/scripts/rss-feed/index.mjs b/scripts/rss-feed/index.mjs new file mode 100644 index 00000000..db137157 --- /dev/null +++ b/scripts/rss-feed/index.mjs @@ -0,0 +1,58 @@ +import { writeFileSync, readFileSync, readdirSync } from 'node:fs'; +import { join } from 'node:path'; +import { Feed } from 'feed'; +import matter from 'gray-matter'; + +const BASE_URL = 'https://webpack.js.org'; +const POSTS_DIR = './pages/blog/posts'; +const OUTPUT_PATH = './out/feed.xml'; + +function generateRSS() { + const feed = new Feed({ + title: 'Webpack Blog', + description: 'Announcements and updates from the Webpack team', + id: `${BASE_URL}/blog/`, + link: `${BASE_URL}/blog/`, + language: 'en', + updated: new Date(), + feedLinks: { + rss: `${BASE_URL}/feed.xml`, + }, + }); + + const files = readdirSync(POSTS_DIR); + + const posts = files + .map(file => { + const fileContent = readFileSync(join(POSTS_DIR, file), 'utf8'); + const { data } = matter(fileContent); + + // post URL + const postSlug = file.replace(/\.mdx?$/, ''); + const postUrl = `${BASE_URL}/blog/posts/${postSlug}`; + + return { + title: data.title, + link: postUrl, + date: data.date ? new Date(data.date) : null, + description: data.description || data.title, + }; + }) + // sort to keep newest blog at the top + .sort((a, b) => b.date.getTime() - a.date.getTime()); + + for (const post of posts) { + feed.addItem({ + title: post.title, + id: post.link, + link: post.link, + description: post.description, + date: post.date, + }); + } + + writeFileSync(OUTPUT_PATH, feed.rss2(), 'utf8'); + console.log(`Successfully generated RSS feed at ${OUTPUT_PATH}`); +} + +generateRSS();