diff --git a/package.json b/package.json
index 1dfc20b..f514b23 100644
--- a/package.json
+++ b/package.json
@@ -20,17 +20,19 @@
"prettier": "^3.8.1",
"sass": "^1.97.3",
"typescript": "^5.9.3",
+ "url": "^0.11.4",
"vitest": "^4.0.18",
"vue": "^3.5.29",
"vue-tsc": "^3.2.5"
},
"dependencies": {
"@atproto/api": "^0.19.0",
+ "@islands/feed": "^0.10.0",
"chart.xkcd": "^1.1.15",
"marked": "^17.0.3",
"md4x": "^0.0.25",
"nanoid": "^5.1.6",
"pinia": "^3.0.4"
},
- "packageManager": "pnpm@10.32.1"
+ "packageManager": "pnpm@10.33.2"
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index c47efcc..91392c1 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -11,6 +11,9 @@ importers:
'@atproto/api':
specifier: ^0.19.0
version: 0.19.0
+ '@islands/feed':
+ specifier: ^0.10.0
+ version: 0.10.0(iles@0.10.0-beta.1(@babel/parser@7.29.0)(@types/node@24.10.1)(rollup@2.79.2)(sass@1.97.3)(terser@5.44.1)(typescript@5.9.3))(vue@3.5.29(typescript@5.9.3))
chart.xkcd:
specifier: ^1.1.15
version: 1.1.15
@@ -51,6 +54,9 @@ importers:
typescript:
specifier: ^5.9.3
version: 5.9.3
+ url:
+ specifier: ^0.11.4
+ version: 0.11.4
vitest:
specifier: ^4.0.18
version: 4.0.18(@types/node@24.10.1)(sass@1.97.3)(terser@5.44.1)
@@ -894,6 +900,12 @@ packages:
cpu: [x64]
os: [win32]
+ '@islands/feed@0.10.0':
+ resolution: {integrity: sha512-EiHNnzglDVdDwVoseW+c4dSOg9ENalcLvxHOdACL7iHkw0mF2oIEnJv+3zs5/qplJ8agXbYymUjvTHlzUuxh8A==}
+ peerDependencies:
+ iles: 0.10.0
+ vue: ^3.5.12
+
'@islands/headings@0.10.0-beta.1':
resolution: {integrity: sha512-eEgbjOovUWyqbcXb+Qu5FmpO8WCvKzfMaxiXtV/zsc7PaC+oVFpxbfaW6IcRfAFibzYXgHyG1+dqDYWkDkLb1Q==}
@@ -1801,6 +1813,10 @@ packages:
picomatch:
optional: true
+ feed@4.2.2:
+ resolution: {integrity: sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==}
+ engines: {node: '>=0.4.0'}
+
filelist@1.0.4:
resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==}
@@ -2506,10 +2522,17 @@ packages:
property-information@7.1.0:
resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==}
+ punycode@1.4.1:
+ resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==}
+
punycode@2.3.1:
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
engines: {node: '>=6'}
+ qs@6.15.1:
+ resolution: {integrity: sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==}
+ engines: {node: '>=0.6'}
+
queue-microtask@1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
@@ -2617,6 +2640,10 @@ packages:
engines: {node: '>=14.0.0'}
hasBin: true
+ sax@1.6.0:
+ resolution: {integrity: sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==}
+ engines: {node: '>=11.0.0'}
+
section-matter@1.0.0:
resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==}
engines: {node: '>=4'}
@@ -2932,6 +2959,10 @@ packages:
peerDependencies:
browserslist: '>= 4.21.0'
+ url@0.11.4:
+ resolution: {integrity: sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==}
+ engines: {node: '>= 0.4'}
+
vfile-message@4.0.3:
resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==}
@@ -3166,6 +3197,10 @@ packages:
wrappy@1.0.2:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
+ xml-js@1.6.11:
+ resolution: {integrity: sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==}
+ hasBin: true
+
yallist@3.1.1:
resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
@@ -4050,6 +4085,13 @@ snapshots:
'@esbuild/win32-x64@0.27.2':
optional: true
+ '@islands/feed@0.10.0(iles@0.10.0-beta.1(@babel/parser@7.29.0)(@types/node@24.10.1)(rollup@2.79.2)(sass@1.97.3)(terser@5.44.1)(typescript@5.9.3))(vue@3.5.29(typescript@5.9.3))':
+ dependencies:
+ feed: 4.2.2
+ iles: 0.10.0-beta.1(@babel/parser@7.29.0)(@types/node@24.10.1)(rollup@2.79.2)(sass@1.97.3)(terser@5.44.1)(typescript@5.9.3)
+ pathe: 1.1.2
+ vue: 3.5.29(typescript@5.9.3)
+
'@islands/headings@0.10.0-beta.1':
dependencies:
hast-util-heading-rank: 3.0.0
@@ -5128,6 +5170,10 @@ snapshots:
optionalDependencies:
picomatch: 4.0.3
+ feed@4.2.2:
+ dependencies:
+ xml-js: 1.6.11
+
filelist@1.0.4:
dependencies:
minimatch: 5.1.6
@@ -6085,8 +6131,14 @@ snapshots:
property-information@7.1.0: {}
+ punycode@1.4.1: {}
+
punycode@2.3.1: {}
+ qs@6.15.1:
+ dependencies:
+ side-channel: 1.1.0
+
queue-microtask@1.2.3: {}
randombytes@2.1.0:
@@ -6258,6 +6310,8 @@ snapshots:
optionalDependencies:
'@parcel/watcher': 2.5.1
+ sax@1.6.0: {}
+
section-matter@1.0.0:
dependencies:
extend-shallow: 2.0.1
@@ -6625,6 +6679,11 @@ snapshots:
escalade: 3.2.0
picocolors: 1.1.1
+ url@0.11.4:
+ dependencies:
+ punycode: 1.4.1
+ qs: 6.15.1
+
vfile-message@4.0.3:
dependencies:
'@types/unist': 3.0.3
@@ -6906,6 +6965,10 @@ snapshots:
wrappy@1.0.2: {}
+ xml-js@1.6.11:
+ dependencies:
+ sax: 1.6.0
+
yallist@3.1.1: {}
zhead@2.2.4: {}
diff --git a/src/pages/feed.vue b/src/pages/feed.vue
new file mode 100644
index 0000000..3a4e91b
--- /dev/null
+++ b/src/pages/feed.vue
@@ -0,0 +1,36 @@
+
+path: /feed.rss
+
+
+
+
+
+
+