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',