From 67aa566888196da90a61db8a11c9ff421088688e Mon Sep 17 00:00:00 2001 From: Christian Beutel <> Date: Fri, 27 Jun 2025 17:33:45 +0200 Subject: [PATCH] adds server list to docs --- docs/astro.config.mjs | 227 +++++++++++++------------ docs/package-lock.json | 191 ++++++++++++++++++++- docs/package.json | 4 +- docs/public/server/imgs/demo-logo.png | Bin 0 -> 16986 bytes docs/public/server/servers.json | 11 ++ docs/src/components/select.svelte | 38 +++++ docs/src/components/server_list.svelte | 120 +++++++++++++ docs/src/components/text_field.svelte | 64 +++++++ docs/src/content/docs/index.mdx | 14 +- docs/src/models/select_item.ts | 4 + docs/src/models/server.ts | 9 + docs/src/pages/servers.astro | 16 ++ docs/src/tailwind.css | 77 ++++++++- docs/svelte.config.js | 5 + 14 files changed, 656 insertions(+), 124 deletions(-) create mode 100644 docs/public/server/imgs/demo-logo.png create mode 100644 docs/public/server/servers.json create mode 100644 docs/src/components/select.svelte create mode 100644 docs/src/components/server_list.svelte create mode 100644 docs/src/components/text_field.svelte create mode 100644 docs/src/models/select_item.ts create mode 100644 docs/src/models/server.ts create mode 100644 docs/src/pages/servers.astro create mode 100644 docs/svelte.config.js diff --git a/docs/astro.config.mjs b/docs/astro.config.mjs index ce18060e..7b254f60 100644 --- a/docs/astro.config.mjs +++ b/docs/astro.config.mjs @@ -6,125 +6,126 @@ import node from "@astrojs/node"; import starlightOpenAPI, { openAPISidebarGroups } from 'starlight-openapi' import tailwindcss from "@tailwindcss/vite"; +import svelte from '@astrojs/svelte'; + // https://astro.build/config export default defineConfig({ - integrations: [ - starlight({ - title: 'wanderer Documentation', - logo: { - light: '/src/assets/logo_text_dark.svg', - dark: '/src/assets/logo_text_light.svg', - replacesTitle: true - }, - social: [ - { icon: 'github', label: 'GitHub', href: 'https://github.com/flomp/wanderer' }, - ], - components: { - Footer: './src/components/footer.astro' - }, - plugins: [ - starlightOpenAPI([ - { - base: 'api-reference', - label: 'API Reference', - schema: 'wanderer.openapi.yaml', - }, - ]), - ], - sidebar: [ + integrations: [starlight({ + title: 'wanderer Documentation', + logo: { + light: '/src/assets/logo_text_dark.svg', + dark: '/src/assets/logo_text_light.svg', + replacesTitle: true + }, + social: [ + { icon: 'github', label: 'GitHub', href: 'https://github.com/flomp/wanderer' }, + ], + components: { + Footer: './src/components/footer.astro' + }, + plugins: [ + starlightOpenAPI([ { - label: 'Welcome to wanderer', - link: '/welcome' + base: 'api-reference', + label: 'API Reference', + schema: 'wanderer.openapi.yaml', }, - { - label: 'Using wanderer', - items: [{ - label: 'Authentication', - link: '/use/authentication/' - }, { - label: 'Create a trail', - link: '/use/create-a-trail/' - }, - { - label: 'Summit logs', - link: '/use/summit-logs/' - }, - { - label: 'Interact with the community', - link: '/use/community-interaction/' - }, - { - label: 'Share trails', - link: '/use/share-trails/' - }, { - label: 'Lists', - link: '/use/lists/' - }, - { - label: 'Statistics', - link: '/use/statistics/' - }, - { - label: 'Customize the map', - link: '/use/customize-map/' - }, - { - label: 'Import/Export', - link: '/use/import-export/' - }, - { - label: 'Integrations', - link: '/use/integrations/' - }, - ] - }, - { - label: 'Running wanderer', - items: [ - { - label: 'Installation', - link: '/run/installation/' - }, - { - label: 'Environment configuration', - link: '/run/environment-configuration/' - }, - { - label: 'Backend configuration', - link: '/run/backend-configuration/' - }, - { - label: 'Custom categories', - link: '/run/custom-categories/' - }, - { - label: 'Backing up your server', - link: '/run/backup-server/' - }, - { - label: 'Changelog', - link: '/run/changelog/' - }] + ]), + ], + sidebar: [ + { + label: 'Welcome to wanderer', + link: '/welcome' + }, + { + label: 'Using wanderer', + items: [{ + label: 'Authentication', + link: '/use/authentication/' }, { - label: 'Develop wanderer', - items: [ - { - label: 'Local development', - link: '/develop/local-development/' - }, - { - label: 'API', - link: '/develop/api/' - }, - { - label: 'Federation', - link: '/develop/federation/' - }, - ] + label: 'Create a trail', + link: '/use/create-a-trail/' }, - ...openAPISidebarGroups,], - customCss: ['./src/custom.css', './src/tailwind.css', '@fontsource/ibm-plex-sans/400.css', '@fontsource/ibm-plex-sans/600.css', '@fontsource/ibm-plex-mono/400.css', '@fontsource/ibm-plex-mono/600.css'] - })], + { + label: 'Summit logs', + link: '/use/summit-logs/' + }, + { + label: 'Interact with the community', + link: '/use/community-interaction/' + }, + { + label: 'Share trails', + link: '/use/share-trails/' + }, { + label: 'Lists', + link: '/use/lists/' + }, + { + label: 'Statistics', + link: '/use/statistics/' + }, + { + label: 'Customize the map', + link: '/use/customize-map/' + }, + { + label: 'Import/Export', + link: '/use/import-export/' + }, + { + label: 'Integrations', + link: '/use/integrations/' + }, + ] + }, + { + label: 'Running wanderer', + items: [ + { + label: 'Installation', + link: '/run/installation/' + }, + { + label: 'Environment configuration', + link: '/run/environment-configuration/' + }, + { + label: 'Backend configuration', + link: '/run/backend-configuration/' + }, + { + label: 'Custom categories', + link: '/run/custom-categories/' + }, + { + label: 'Backing up your server', + link: '/run/backup-server/' + }, + { + label: 'Changelog', + link: '/run/changelog/' + }] + }, { + label: 'Develop wanderer', + items: [ + { + label: 'Local development', + link: '/develop/local-development/' + }, + { + label: 'API', + link: '/develop/api/' + }, + { + label: 'Federation', + link: '/develop/federation/' + }, + ] + }, + ...openAPISidebarGroups,], + customCss: ['./src/custom.css', './src/tailwind.css', '@fontsource/ibm-plex-sans/400.css', '@fontsource/ibm-plex-sans/600.css', '@fontsource/ibm-plex-mono/400.css', '@fontsource/ibm-plex-mono/600.css'] + }), svelte()], output: "server", vite: { plugins: [tailwindcss()] }, adapter: node({ diff --git a/docs/package-lock.json b/docs/package-lock.json index 13e49541..9a69ff58 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -6,20 +6,22 @@ "packages": { "": { "name": "docs", - "version": "0.16.4", + "version": "0.17.0", "dependencies": { "@astrojs/check": "^0.9.4", "@astrojs/node": "^9.2.2", "@astrojs/starlight": "^0.34.4", "@astrojs/starlight-tailwind": "^4.0.1", + "@astrojs/svelte": "^7.1.0", "@fontsource/ibm-plex-mono": "^5.0.13", "@fontsource/ibm-plex-sans": "^5.0.20", "@tailwindcss/vite": "^4.1.10", "astro": "^5.9.3", "sharp": "^0.32.5", "starlight-openapi": "^0.9.0", + "svelte": "^5.34.8", "tailwindcss": "^4.1.10", - "typescript": "^5.4.5" + "typescript": "^5.8.3" } }, "node_modules/@ampproject/remapping": { @@ -253,6 +255,25 @@ "tailwindcss": "^4.0.0" } }, + "node_modules/@astrojs/svelte": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@astrojs/svelte/-/svelte-7.1.0.tgz", + "integrity": "sha512-nNAO7iFgCZXCN31N4xBSS/k7vZAZxeZ/v8V6VWZOKG47gVlxeAJBHzn2GlXMMVkxIamr6dhrkDrhYFKIPzoGpw==", + "license": "MIT", + "dependencies": { + "@sveltejs/vite-plugin-svelte": "^5.0.3", + "svelte2tsx": "^0.7.39", + "vite": "^6.3.5" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0" + }, + "peerDependencies": { + "astro": "^5.0.0", + "svelte": "^5.1.16", + "typescript": "^5.3.3" + } + }, "node_modules/@astrojs/telemetry": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.3.0.tgz", @@ -1903,6 +1924,53 @@ "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", "license": "MIT" }, + "node_modules/@sveltejs/acorn-typescript": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@sveltejs/acorn-typescript/-/acorn-typescript-1.0.5.tgz", + "integrity": "sha512-IwQk4yfwLdibDlrXVE04jTZYlLnwsTT2PIOQQGNLWfjavGifnk1JD1LcZjZaBTRcxZu2FfPfNLOE04DSu9lqtQ==", + "license": "MIT", + "peerDependencies": { + "acorn": "^8.9.0" + } + }, + "node_modules/@sveltejs/vite-plugin-svelte": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-5.1.0.tgz", + "integrity": "sha512-wojIS/7GYnJDYIg1higWj2ROA6sSRWvcR1PO/bqEyFr/5UZah26c8Cz4u0NaqjPeVltzsVpt2Tm8d2io0V+4Tw==", + "license": "MIT", + "dependencies": { + "@sveltejs/vite-plugin-svelte-inspector": "^4.0.1", + "debug": "^4.4.1", + "deepmerge": "^4.3.1", + "kleur": "^4.1.5", + "magic-string": "^0.30.17", + "vitefu": "^1.0.6" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22" + }, + "peerDependencies": { + "svelte": "^5.0.0", + "vite": "^6.0.0" + } + }, + "node_modules/@sveltejs/vite-plugin-svelte-inspector": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-4.0.1.tgz", + "integrity": "sha512-J/Nmb2Q2y7mck2hyCX4ckVHcR5tu2J+MtBEQqpDrrgELZ2uvraQcK/ioCV61AqkdXFgriksOKIceDcQmqnGhVw==", + "license": "MIT", + "dependencies": { + "debug": "^4.3.7" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22" + }, + "peerDependencies": { + "@sveltejs/vite-plugin-svelte": "^5.0.0", + "svelte": "^5.0.0", + "vite": "^6.0.0" + } + }, "node_modules/@swc/helpers": { "version": "0.5.17", "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.17.tgz", @@ -3375,6 +3443,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/dedent-js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dedent-js/-/dedent-js-1.0.1.tgz", + "integrity": "sha512-OUepMozQULMLUmhxS95Vudo0jb0UchLimi3+pQ2plj61Fcy8axbP9hbiD4Sz6DPqn6XG3kfmziVfQ1rSys5AJQ==", + "license": "MIT" + }, "node_modules/deep-extend": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", @@ -3384,6 +3458,15 @@ "node": ">=4.0.0" } }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/defu": { "version": "6.1.4", "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", @@ -3673,6 +3756,21 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/esm-env": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.2.2.tgz", + "integrity": "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==", + "license": "MIT" + }, + "node_modules/esrap": { + "version": "1.4.9", + "resolved": "https://registry.npmjs.org/esrap/-/esrap-1.4.9.tgz", + "integrity": "sha512-3OMlcd0a03UGuZpPeUC1HxR3nA23l+HEyCiZw3b3FumJIN9KphoGzDJKMXI1S72jVS1dsenDyQC0kJlO1U9E1g==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + } + }, "node_modules/estree-util-attach-comments": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", @@ -4664,6 +4762,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-reference": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.3.tgz", + "integrity": "sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.6" + } + }, "node_modules/is-wsl": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", @@ -4982,6 +5089,12 @@ "url": "https://opencollective.com/parcel" } }, + "node_modules/locate-character": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz", + "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==", + "license": "MIT" + }, "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", @@ -4998,6 +5111,15 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, "node_modules/lru-cache": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", @@ -6296,6 +6418,16 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "license": "MIT", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, "node_modules/node-abi": { "version": "3.75.0", "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.75.0.tgz", @@ -6555,6 +6687,16 @@ "url": "https://github.com/inikulin/parse5?sponsor=1" } }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, "node_modules/path-browserify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", @@ -7674,6 +7816,45 @@ "inline-style-parser": "0.2.4" } }, + "node_modules/svelte": { + "version": "5.34.8", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-5.34.8.tgz", + "integrity": "sha512-TF+8irl7rpj3+fpaLuPRX5BqReTAqckp0Fumxa/mCeK3fo0/MnBb9W/Z2bLwtqj3C3r5Lm6NKIAw7YrgIv1Fwg==", + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.3.0", + "@jridgewell/sourcemap-codec": "^1.5.0", + "@sveltejs/acorn-typescript": "^1.0.5", + "@types/estree": "^1.0.5", + "acorn": "^8.12.1", + "aria-query": "^5.3.1", + "axobject-query": "^4.1.0", + "clsx": "^2.1.1", + "esm-env": "^1.2.1", + "esrap": "^1.4.8", + "is-reference": "^3.0.3", + "locate-character": "^3.0.0", + "magic-string": "^0.30.11", + "zimmerframe": "^1.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/svelte2tsx": { + "version": "0.7.40", + "resolved": "https://registry.npmjs.org/svelte2tsx/-/svelte2tsx-0.7.40.tgz", + "integrity": "sha512-Fgqe2lzC9DWT/kQTIXqN39O2ot9rUqzUu9dqpbuI6EsaEJ6+RSXVmXnxcNYMlKb2LRPDoIg9TVzXYWwi0zhCmQ==", + "license": "MIT", + "dependencies": { + "dedent-js": "^1.0.1", + "pascal-case": "^3.1.1" + }, + "peerDependencies": { + "svelte": "^3.55 || ^4.0.0-next.0 || ^4.0 || ^5.0.0-next.0", + "typescript": "^4.9.4 || ^5.0.0" + } + }, "node_modules/tailwindcss": { "version": "4.1.10", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.10.tgz", @@ -8888,6 +9069,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/zimmerframe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/zimmerframe/-/zimmerframe-1.1.2.tgz", + "integrity": "sha512-rAbqEGa8ovJy4pyBxZM70hg4pE6gDgaQ0Sl9M3enG3I0d6H4XSAM3GeNGLKnsBpuijUow064sf7ww1nutC5/3w==", + "license": "MIT" + }, "node_modules/zod": { "version": "3.25.64", "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.64.tgz", diff --git a/docs/package.json b/docs/package.json index 1f05e682..db9ffa53 100644 --- a/docs/package.json +++ b/docs/package.json @@ -14,13 +14,15 @@ "@astrojs/node": "^9.2.2", "@astrojs/starlight": "^0.34.4", "@astrojs/starlight-tailwind": "^4.0.1", + "@astrojs/svelte": "^7.1.0", "@fontsource/ibm-plex-mono": "^5.0.13", "@fontsource/ibm-plex-sans": "^5.0.20", "@tailwindcss/vite": "^4.1.10", "astro": "^5.9.3", "sharp": "^0.32.5", "starlight-openapi": "^0.9.0", + "svelte": "^5.34.8", "tailwindcss": "^4.1.10", - "typescript": "^5.4.5" + "typescript": "^5.8.3" } } diff --git a/docs/public/server/imgs/demo-logo.png b/docs/public/server/imgs/demo-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..63e7d729ab456edf55ac6887a629812dbfa10d1f GIT binary patch literal 16986 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 literal 0 HcmV?d00001 diff --git a/docs/public/server/servers.json b/docs/public/server/servers.json new file mode 100644 index 00000000..9515749a --- /dev/null +++ b/docs/public/server/servers.json @@ -0,0 +1,11 @@ +[ + { + "name": "Demo Server", + "url": "https://demo.wanderer.to", + "description": "A public demo instance of wanderer. Everyone can log in and try out all features—upload trails, create lists, explore the interface, and test federation. Data is reset periodically, so feel free to experiment.", + "image": "/server/imgs/demo-logo.png", + "region": "World", + "language": "English", + "category": "General" + } +] \ No newline at end of file diff --git a/docs/src/components/select.svelte b/docs/src/components/select.svelte new file mode 100644 index 00000000..14d56d64 --- /dev/null +++ b/docs/src/components/select.svelte @@ -0,0 +1,38 @@ + + +
+ {#if label.length} + + {/if} + +
diff --git a/docs/src/components/server_list.svelte b/docs/src/components/server_list.svelte new file mode 100644 index 00000000..494ff5a0 --- /dev/null +++ b/docs/src/components/server_list.svelte @@ -0,0 +1,120 @@ + + +

+ In wanderer, a server (also called an instance) is + a self-hosted installation of the platform. Each server runs independently + and hosts its own users, trails, and content. Thanks to federation via + ActivityPub, servers can interact—so you can follow users, view trails, and + share content across instances. +

+

+ You can join an existing server or host your own. This page helps you + discover publicly listed wanderer servers you might want to explore or + become part of. +

+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +{#if filteredServers.length == 0} +

+ There are no servers that match your query +

+{/if} +
+ {#each filteredServers as server} +
+ {server.name} +
+ {#each ["category", "region", "language"] as key} +
+ {(server as any)[key]} +
+ {/each} +
+
+

{server.name}

+

{server.description}

+
+ +
+ {/each} +
diff --git a/docs/src/components/text_field.svelte b/docs/src/components/text_field.svelte new file mode 100644 index 00000000..5a5dd28d --- /dev/null +++ b/docs/src/components/text_field.svelte @@ -0,0 +1,64 @@ + + +
+ {#if label.length} + + {/if} +
+ {#if icon.length > 0} +
+ +
+ {/if} + 0} + class:bg-input-background-error={(error?.length ?? 0) > 0} + class:text-gray-500={disabled} + {disabled} + {autocomplete} + use:typeAction + bind:value + {placeholder} + /> +
+ + {#if error} + + {error} + + {/if} +
diff --git a/docs/src/content/docs/index.mdx b/docs/src/content/docs/index.mdx index 2f9528d3..d350fb84 100644 --- a/docs/src/content/docs/index.mdx +++ b/docs/src/content/docs/index.mdx @@ -10,12 +10,12 @@ hero: html: |