diff --git a/package-lock.json b/package-lock.json
index 212fe6c..d09c1bd 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -26,6 +26,7 @@
},
"devDependencies": {
"@sveltejs/adapter-auto": "^3.1.1",
+ "@sveltejs/adapter-static": "^3.0.6",
"@sveltejs/kit": "^2.4.3",
"@types/he": "^1.2.3",
"@types/markdown-it": "^13.0.7",
@@ -658,6 +659,16 @@
"@sveltejs/kit": "^2.0.0"
}
},
+ "node_modules/@sveltejs/adapter-static": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/@sveltejs/adapter-static/-/adapter-static-3.0.6.tgz",
+ "integrity": "sha512-MGJcesnJWj7FxDcB/GbrdYD3q24Uk0PIL4QIX149ku+hlJuj//nxUbb0HxUTpjkecWfHjVveSUnUaQWnPRXlpg==",
+ "dev": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "@sveltejs/kit": "^2.0.0"
+ }
+ },
"node_modules/@sveltejs/kit": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.5.0.tgz",
diff --git a/package.json b/package.json
index 99658c9..e25ff0d 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "alexandria",
- "version": "0.0.5",
+ "version": "0.0.6",
"private": true,
"type": "module",
"scripts": {
@@ -31,6 +31,7 @@
},
"devDependencies": {
"@sveltejs/adapter-auto": "^3.1.1",
+ "@sveltejs/adapter-static": "^3.0.6",
"@sveltejs/kit": "^2.4.3",
"@types/he": "^1.2.3",
"@types/markdown-it": "^13.0.7",
diff --git a/src/lib/components/ArticleHeader.svelte b/src/lib/components/ArticleHeader.svelte
index 0e758cd..a5d054e 100644
--- a/src/lib/components/ArticleHeader.svelte
+++ b/src/lib/components/ArticleHeader.svelte
@@ -20,9 +20,9 @@
const d = event.getMatchingTags('d')[0][1];
if (d != null) {
- href = `d/${d}`;
+ href = `publication?d=${d}`;
} else {
- href = neventEncode(event, relays);
+ href = `publication?id=${neventEncode(event, relays)}`;
}
} catch (e) {
console.warn(e);
diff --git a/src/routes/+layout.ts b/src/routes/+layout.ts
new file mode 100644
index 0000000..189f71e
--- /dev/null
+++ b/src/routes/+layout.ts
@@ -0,0 +1 @@
+export const prerender = true;
diff --git a/src/routes/[id]/+page.svelte b/src/routes/[id]/+page.svelte
deleted file mode 100644
index ac0fe07..0000000
--- a/src/routes/[id]/+page.svelte
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
diff --git a/src/routes/[id]/+page.ts b/src/routes/[id]/+page.ts
deleted file mode 100644
index 504be65..0000000
--- a/src/routes/[id]/+page.ts
+++ /dev/null
@@ -1,26 +0,0 @@
-import { getNdkInstance, ndk } from '$lib/ndk';
-import type { NDKEvent } from '@nostr-dev-kit/ndk';
-import { error } from '@sveltejs/kit';
-
-// MichaelJ - 23 July 2024 - Disable server-side rendering so that the load function can use the
-// browser's local storage to retrieve saved relays and the cache adapter for the NDK instance.
-export const ssr = false;
-
-export const load = async ({ params }) => {
- const ndk = getNdkInstance();
- const { id } = params;
-
- let event: NDKEvent | null | undefined;
-
- try {
- event = await ndk.fetchEvent(id);
- } catch (err) {
- console.error(err);
- }
-
- if (!event) {
- error(404, 'No event found with the given ID.');
- }
-
- return { event };
-};
diff --git a/src/routes/d/[tag]/+page.svelte b/src/routes/d/[tag]/+page.svelte
deleted file mode 100644
index 5534c5c..0000000
--- a/src/routes/d/[tag]/+page.svelte
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
- {#await getIndexEvent(data.event.d)}
-
- {:then index}
-
- {/await}
-
diff --git a/src/routes/d/[tag]/+page.ts b/src/routes/d/[tag]/+page.ts
deleted file mode 100644
index 79712f2..0000000
--- a/src/routes/d/[tag]/+page.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import type { PageLoad } from './$types';
-
-export const load: PageLoad = async ({ params }) => {
- const { tag } = params;
-
- return {
- event: {
- d: tag,
- }
- };
-};
diff --git a/src/routes/publication/+page.svelte b/src/routes/publication/+page.svelte
new file mode 100644
index 0000000..0f288e6
--- /dev/null
+++ b/src/routes/publication/+page.svelte
@@ -0,0 +1,42 @@
+
+
+
+ {#await event}
+
+ {:then ev}
+
+ {/await}
+
diff --git a/svelte.config.js b/svelte.config.js
index 1f5ee97..4a3459b 100644
--- a/svelte.config.js
+++ b/svelte.config.js
@@ -1,4 +1,4 @@
-import adapter from '@sveltejs/adapter-auto';
+import adapter from '@sveltejs/adapter-static';
import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
/** @type {import('@sveltejs/kit').Config} */
@@ -8,10 +8,14 @@ const config = {
preprocess: [vitePreprocess()],
kit: {
- // adapter-auto only supports some environments, see https://kit.svelte.dev/docs/adapter-auto for a list.
- // If your environment is not supported or you settled on a specific environment, switch out the adapter.
- // See https://kit.svelte.dev/docs/adapters for more information about adapters.
- adapter: adapter(),
+ // Static adapter
+ adapter: adapter({
+ pages: 'build',
+ assets: 'build',
+ fallback: null, // TODO: Create a 404.html page.
+ precompress: false,
+ strict: true,
+ }),
alias: {
$lib: 'src/lib',
$components: 'src/lib/components',