diff --git a/package.json b/package.json
index ae838af..bec892a 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
- "name": "nostrwiki",
- "version": "0.0.1",
+ "name": "alexandria",
+ "version": "0.0.3",
"private": true,
"type": "module",
"scripts": {
diff --git a/src/lib/Article.svelte b/src/lib/Article.svelte
index 8092a4e..6d1ad8c 100644
--- a/src/lib/Article.svelte
+++ b/src/lib/Article.svelte
@@ -1,17 +1,23 @@
-
diff --git a/src/routes/[id]/+page.svelte b/src/routes/[id]/+page.svelte
new file mode 100644
index 0000000..c8c0de6
--- /dev/null
+++ b/src/routes/[id]/+page.svelte
@@ -0,0 +1,10 @@
+
+
+
+
+
diff --git a/src/routes/[id]/+page.ts b/src/routes/[id]/+page.ts
new file mode 100644
index 0000000..d7e2097
--- /dev/null
+++ b/src/routes/[id]/+page.ts
@@ -0,0 +1,12 @@
+import { getNdkInstance, ndk } from '$lib/ndk';
+
+export const load = async ({ params }) => {
+ // TODO: Don't rely on browser cache here.
+ const ndk = getNdkInstance();
+ const { id } = params;
+
+ // TODO: Add error handling.
+ const event = await ndk.fetchEvent(id);
+
+ return { event };
+};
diff --git a/src/routes/d/[tag]/+page.svelte b/src/routes/d/[tag]/+page.svelte
new file mode 100644
index 0000000..fb31d12
--- /dev/null
+++ b/src/routes/d/[tag]/+page.svelte
@@ -0,0 +1,10 @@
+
+
+
+
+
diff --git a/src/routes/d/[tag]/+page.ts b/src/routes/d/[tag]/+page.ts
new file mode 100644
index 0000000..5f78882
--- /dev/null
+++ b/src/routes/d/[tag]/+page.ts
@@ -0,0 +1,13 @@
+import { getNdkInstance } from "$lib/ndk";
+
+export const load = async ({ params }) => {
+ // TODO: Don't rely on browser cache here.
+ const ndk = getNdkInstance();
+ const { tag } = params;
+
+ // TODO: Add error handling.
+ const events = await ndk.fetchEvents({ '#d': [tag] });
+ const event = events.values().next().value;
+
+ return { event };
+};