diff --git a/package.json b/package.json
index 99b644e..18245ff 100644
--- a/package.json
+++ b/package.json
@@ -53,7 +53,7 @@
"svelte-preprocess": "^5.1.1",
"svelte-sequential-preprocessor": "^2.0.1",
"tslib": "^2.6.2",
- "typescript": "^5.3.2",
+ "typescript": "^5.3.3",
"vanilla-lazyload": "^17.8.5",
"vite": "^4.5.1",
"vite-imagetools": "^5.1.2",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 8f0f410..634dd50 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -51,10 +51,10 @@ devDependencies:
version: 1.27.7(svelte@4.2.8)(vite@4.5.1)
'@typescript-eslint/eslint-plugin':
specifier: ^5.62.0
- version: 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.55.0)(typescript@5.3.2)
+ version: 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.55.0)(typescript@5.3.3)
'@typescript-eslint/parser':
specifier: ^5.62.0
- version: 5.62.0(eslint@8.55.0)(typescript@5.3.2)
+ version: 5.62.0(eslint@8.55.0)(typescript@5.3.3)
'@zerodevx/svelte-img':
specifier: ^2.1.0
version: 2.1.0(svelte@4.2.8)
@@ -120,10 +120,10 @@ devDependencies:
version: 1.0.0
svelte-meta-tags:
specifier: ^3.1.0
- version: 3.1.0(svelte@4.2.8)(typescript@5.3.2)
+ version: 3.1.0(svelte@4.2.8)(typescript@5.3.3)
svelte-preprocess:
specifier: ^5.1.1
- version: 5.1.1(postcss-load-config@4.0.2)(postcss@8.4.32)(sass@1.69.5)(svelte@4.2.8)(typescript@5.3.2)
+ version: 5.1.1(postcss-load-config@4.0.2)(postcss@8.4.32)(sass@1.69.5)(svelte@4.2.8)(typescript@5.3.3)
svelte-sequential-preprocessor:
specifier: ^2.0.1
version: 2.0.1
@@ -131,8 +131,8 @@ devDependencies:
specifier: ^2.6.2
version: 2.6.2
typescript:
- specifier: ^5.3.2
- version: 5.3.2
+ specifier: ^5.3.3
+ version: 5.3.3
vanilla-lazyload:
specifier: ^17.8.5
version: 17.8.5
@@ -1569,7 +1569,7 @@ packages:
resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==}
dev: true
- /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.55.0)(typescript@5.3.2):
+ /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.55.0)(typescript@5.3.3):
resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
@@ -1581,23 +1581,23 @@ packages:
optional: true
dependencies:
'@eslint-community/regexpp': 4.4.0
- '@typescript-eslint/parser': 5.62.0(eslint@8.55.0)(typescript@5.3.2)
+ '@typescript-eslint/parser': 5.62.0(eslint@8.55.0)(typescript@5.3.3)
'@typescript-eslint/scope-manager': 5.62.0
- '@typescript-eslint/type-utils': 5.62.0(eslint@8.55.0)(typescript@5.3.2)
- '@typescript-eslint/utils': 5.62.0(eslint@8.55.0)(typescript@5.3.2)
+ '@typescript-eslint/type-utils': 5.62.0(eslint@8.55.0)(typescript@5.3.3)
+ '@typescript-eslint/utils': 5.62.0(eslint@8.55.0)(typescript@5.3.3)
debug: 4.3.4
eslint: 8.55.0
graphemer: 1.4.0
ignore: 5.2.4
natural-compare-lite: 1.4.0
semver: 7.3.8
- tsutils: 3.21.0(typescript@5.3.2)
- typescript: 5.3.2
+ tsutils: 3.21.0(typescript@5.3.3)
+ typescript: 5.3.3
transitivePeerDependencies:
- supports-color
dev: true
- /@typescript-eslint/parser@5.62.0(eslint@8.55.0)(typescript@5.3.2):
+ /@typescript-eslint/parser@5.62.0(eslint@8.55.0)(typescript@5.3.3):
resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
@@ -1609,10 +1609,10 @@ packages:
dependencies:
'@typescript-eslint/scope-manager': 5.62.0
'@typescript-eslint/types': 5.62.0
- '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.3.2)
+ '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.3.3)
debug: 4.3.4
eslint: 8.55.0
- typescript: 5.3.2
+ typescript: 5.3.3
transitivePeerDependencies:
- supports-color
dev: true
@@ -1625,7 +1625,7 @@ packages:
'@typescript-eslint/visitor-keys': 5.62.0
dev: true
- /@typescript-eslint/type-utils@5.62.0(eslint@8.55.0)(typescript@5.3.2):
+ /@typescript-eslint/type-utils@5.62.0(eslint@8.55.0)(typescript@5.3.3):
resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
@@ -1635,12 +1635,12 @@ packages:
typescript:
optional: true
dependencies:
- '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.3.2)
- '@typescript-eslint/utils': 5.62.0(eslint@8.55.0)(typescript@5.3.2)
+ '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.3.3)
+ '@typescript-eslint/utils': 5.62.0(eslint@8.55.0)(typescript@5.3.3)
debug: 4.3.4
eslint: 8.55.0
- tsutils: 3.21.0(typescript@5.3.2)
- typescript: 5.3.2
+ tsutils: 3.21.0(typescript@5.3.3)
+ typescript: 5.3.3
transitivePeerDependencies:
- supports-color
dev: true
@@ -1650,7 +1650,7 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
- /@typescript-eslint/typescript-estree@5.62.0(typescript@5.3.2):
+ /@typescript-eslint/typescript-estree@5.62.0(typescript@5.3.3):
resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
@@ -1665,13 +1665,13 @@ packages:
globby: 11.1.0
is-glob: 4.0.3
semver: 7.5.4
- tsutils: 3.21.0(typescript@5.3.2)
- typescript: 5.3.2
+ tsutils: 3.21.0(typescript@5.3.3)
+ typescript: 5.3.3
transitivePeerDependencies:
- supports-color
dev: true
- /@typescript-eslint/utils@5.62.0(eslint@8.55.0)(typescript@5.3.2):
+ /@typescript-eslint/utils@5.62.0(eslint@8.55.0)(typescript@5.3.3):
resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
@@ -1682,7 +1682,7 @@ packages:
'@types/semver': 7.5.0
'@typescript-eslint/scope-manager': 5.62.0
'@typescript-eslint/types': 5.62.0
- '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.3.2)
+ '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.3.3)
eslint: 8.55.0
eslint-scope: 5.1.1
semver: 7.3.8
@@ -4193,12 +4193,12 @@ packages:
source-map-js: 1.0.2
dev: true
- /schema-dts@1.1.2(typescript@5.3.2):
+ /schema-dts@1.1.2(typescript@5.3.3):
resolution: {integrity: sha512-MpNwH0dZJHinVxk9bT8XUdjKTxMYrA5bLtrrGmFA6PTLwlOKnhi67XoRd6/ty+Djt6ZC0slR57qFhZDNMI6DhQ==}
peerDependencies:
typescript: '>=4.1.0'
dependencies:
- typescript: 5.3.2
+ typescript: 5.3.3
dev: true
/scrape-it-core@1.0.0:
@@ -4465,8 +4465,8 @@ packages:
picocolors: 1.0.0
sade: 1.8.1
svelte: 4.2.8
- svelte-preprocess: 5.1.1(postcss-load-config@4.0.2)(postcss@8.4.32)(sass@1.69.5)(svelte@4.2.8)(typescript@5.3.2)
- typescript: 5.3.2
+ svelte-preprocess: 5.1.1(postcss-load-config@4.0.2)(postcss@8.4.32)(sass@1.69.5)(svelte@4.2.8)(typescript@5.3.3)
+ typescript: 5.3.3
transitivePeerDependencies:
- '@babel/core'
- coffeescript
@@ -4509,12 +4509,12 @@ packages:
resolution: {integrity: sha512-AZD6R60vksyojn21FgXLglmBiBB9K5Dkdu0hdGrLbCaRCYT68IsWkZfRUqKhMx1IfzqWcZQ8X9y/f+Ih0oNQkQ==}
dev: true
- /svelte-meta-tags@3.1.0(svelte@4.2.8)(typescript@5.3.2):
+ /svelte-meta-tags@3.1.0(svelte@4.2.8)(typescript@5.3.3):
resolution: {integrity: sha512-wFBfpktSua1R5rdvQ/aFucvXmRqzDhRYrPpMQ/pL4+KL5QHIzomPf29a5WN3yDR0reSy1PXyQ2ah0+uCYCbi0g==}
peerDependencies:
svelte: ^3.55.0 || ^4.0.0
dependencies:
- schema-dts: 1.1.2(typescript@5.3.2)
+ schema-dts: 1.1.2(typescript@5.3.3)
svelte: 4.2.8
transitivePeerDependencies:
- typescript
@@ -4528,7 +4528,7 @@ packages:
svelte: 4.2.8
dev: true
- /svelte-preprocess@5.1.1(postcss-load-config@4.0.2)(postcss@8.4.32)(sass@1.69.5)(svelte@4.2.8)(typescript@5.3.2):
+ /svelte-preprocess@5.1.1(postcss-load-config@4.0.2)(postcss@8.4.32)(sass@1.69.5)(svelte@4.2.8)(typescript@5.3.3):
resolution: {integrity: sha512-p/Dp4hmrBW5mrCCq29lEMFpIJT2FZsRlouxEc5qpbOmXRbaFs7clLs8oKPwD3xCFyZfv1bIhvOzpQkhMEVQdMw==}
engines: {node: '>= 14.10.0'}
requiresBuild: true
@@ -4575,7 +4575,7 @@ packages:
sorcery: 0.11.0
strip-indent: 3.0.0
svelte: 4.2.8
- typescript: 5.3.2
+ typescript: 5.3.3
dev: true
/svelte-sequential-preprocessor@2.0.1:
@@ -4704,14 +4704,14 @@ packages:
resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
dev: true
- /tsutils@3.21.0(typescript@5.3.2):
+ /tsutils@3.21.0(typescript@5.3.3):
resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
engines: {node: '>= 6'}
peerDependencies:
typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta'
dependencies:
tslib: 1.14.1
- typescript: 5.3.2
+ typescript: 5.3.3
dev: true
/tunnel-agent@0.6.0:
@@ -4737,8 +4737,8 @@ packages:
engines: {node: '>=10'}
dev: true
- /typescript@5.3.2:
- resolution: {integrity: sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==}
+ /typescript@5.3.3:
+ resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==}
engines: {node: '>=14.17'}
hasBin: true
dev: true
diff --git a/src/routes/sitemap.xml/+server.ts b/src/routes/sitemap.xml/+server.ts
index e51aed3..a91bd5f 100644
--- a/src/routes/sitemap.xml/+server.ts
+++ b/src/routes/sitemap.xml/+server.ts
@@ -1,7 +1,8 @@
import type { RequestHandler } from '@sveltejs/kit';
-import { PUBLIC_SITE_URL } from '$env/static/public';
+import { PUBLIC_URL } from '$env/static/public';
+import { WALLABAG_MAX_PAGES } from '$env/static/private';
-const site = `https://${PUBLIC_SITE_URL}`;
+const site = `https://${PUBLIC_URL}`;
export const GET: RequestHandler = async function GET({ setHeaders }) {
const xml = `
@@ -30,6 +31,17 @@ export const GET: RequestHandler = async function GET({ setHeaders }) {
weekly
1
+
+ ${Array.from({ length: parseInt(WALLABAG_MAX_PAGES) }, (_, i) => {
+ return `
+
+ ${site}/articles/${i + 1}
+ weekly
+ 0.8
+
+ `;
+ })}
+
${site}/portfolio
monthly
diff --git a/static/robots.txt b/static/robots.txt
index 7d329b1..4875227 100644
--- a/static/robots.txt
+++ b/static/robots.txt
@@ -1 +1,4 @@
User-agent: *
+Allow: /
+Sitemap: https://bradleyshellnut.com/sitemap.xml
+Host: https://bradleyshellnut.com