Compare commits

...

2 Commits

Author SHA1 Message Date
dependabot[bot] 40be0ae461 chore(deps): bump nuxt from 3.21.6 to 3.21.7
Bumps [nuxt](https://github.com/nuxt/nuxt/tree/HEAD/packages/nuxt) from 3.21.6 to 3.21.7.
- [Release notes](https://github.com/nuxt/nuxt/releases)
- [Commits](https://github.com/nuxt/nuxt/commits/v3.21.7/packages/nuxt)

---
updated-dependencies:
- dependency-name: nuxt
  dependency-version: 3.21.7
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-21 06:42:38 +00:00
DecDuck cbecd1161d Publish docs, update links (#431)
* Publish docs, update links

* Fix sitemap gen

* Migrate to Astro v6

* Fix server lint
2026-06-21 16:39:34 +10:00
28 changed files with 2905 additions and 1471 deletions
+18 -4
View File
@@ -6,6 +6,7 @@ on:
branches: [develop]
paths:
- "sites/promo/**"
- "sites/docs/**"
- "package.json"
- "pnpm-lock.yaml"
- "pnpm-workspace.yaml"
@@ -43,10 +44,11 @@ jobs:
node-version: "22"
cache: "pnpm"
# Only install the promo site (radiant) and its dependencies so the public
# website deploy stays decoupled from the server/desktop build pipelines.
# Only install the promo site (radiant) and docs site (docs-next) and their
# dependencies so the public website deploy stays decoupled from the
# server/desktop build pipelines.
- name: Install dependencies
run: pnpm install --filter radiant...
run: pnpm install --filter radiant... --filter docs-next...
- name: Setup Pages
id: setup_pages
@@ -63,12 +65,24 @@ jobs:
restore-keys: |
${{ runner.os }}-nextjs-${{ hashFiles('pnpm-lock.yaml') }}-
- name: Build with Next.js
- name: Build promo site with Next.js
working-directory: sites/promo
run: pnpm run build
env:
PAGES_BASE_PATH: ${{ steps.setup_pages.outputs.base_path }}
- name: Build docs site with Astro
working-directory: sites/docs
run: pnpm run build
# Nest the Starlight docs (built with base: "/docs") inside the promo export
# so both ship from a single GitHub Pages deployment at /docs.
- name: Assemble docs into /docs
run: |
rm -rf sites/promo/out/docs
mkdir -p sites/promo/out/docs
cp -r sites/docs/dist/. sites/promo/out/docs/
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
+2 -2
View File
@@ -6,7 +6,7 @@
# Drop
[![Website](https://img.shields.io/badge/website-000000?style=for-the-badge&logo=About.me&logoColor=white)](https://droposs.org)
[![Docs](https://img.shields.io/badge/DOCS-black?style=for-the-badge&logo=docusaurus)](https://docs.droposs.org/)
[![Docs](https://img.shields.io/badge/DOCS-black?style=for-the-badge&logo=docusaurus)](https://droposs.org/docs)
[![Static Badge](https://img.shields.io/badge/FORUM-blue?style=for-the-badge)](https://forum.droposs.org)
[![GitHub License](https://img.shields.io/badge/AGPL--3.0-red?style=for-the-badge)](LICENSE)
[![Discord](https://img.shields.io/badge/Discord-5865F2?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/ACq4qZp4a9)
@@ -28,7 +28,7 @@ Drop is an open-source game distribution platform, similar to GameVault or Steam
## Deployment
See our documentation on how to [deploy Drop](https://docs.droposs.org/docs/guides/quickstart) for more information.
See our documentation on how to [deploy Drop](https://droposs.org/docs/admin/quickstart) for more information.
## Contributing
+1 -1
View File
@@ -14,7 +14,7 @@
"devDependencies": {
"@nuxt/eslint": "latest",
"eslint": "^9.17.0",
"nuxt": "^3.21.6",
"nuxt": "^3.21.7",
"typescript": "^5.7.2",
"vue": "latest"
},
+2836 -1419
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -19,7 +19,7 @@
</p>
<NuxtLink
class="mt-4 rounded-md inline-flex items-center text-sm font-semibold text-blue-500 hover:text-blue-600 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500"
href="https://docs.droposs.org/docs/authentication/simple"
href="https://droposs.org/docs/admin/authentication/simple"
target="_blank"
>
<i18n-t
@@ -74,7 +74,7 @@
</p>
<NuxtLink
class="mt-4 rounded-md inline-flex items-center text-sm font-semibold text-blue-500 hover:text-blue-600 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500"
href="https://docs.droposs.org/docs/authentication/oidc"
href="https://droposs.org/docs/admin/authentication/oidc"
target="_blank"
>
<i18n-t
+3 -2
View File
@@ -174,13 +174,14 @@ const optionsMetadata: {
Filesystem: {
title: t("library.admin.sources.fsTitle"),
description: t("library.admin.sources.fsDesc"),
docsLink: "https://docs.droposs.org/docs/library#drop-style",
docsLink: "https://droposs.org/docs/reference/library-sources#drop-style",
icon: DropLogo,
},
FlatFilesystem: {
title: t("library.admin.sources.fsFlatTitle"),
description: t("library.admin.sources.fsFlatDesc"),
docsLink: "https://docs.droposs.org/docs/library#flat-style-or-compat",
docsLink:
"https://droposs.org/docs/reference/library-sources#compatibility-flat-style",
icon: BackwardIcon,
},
};
+2 -2
View File
@@ -134,11 +134,11 @@ const navigation = computed(() => ({
// { name: t("footer.api"), href: "https://api.droposs.org/" },
{
name: t("footer.docs.server"),
href: "https://docs.droposs.org/docs/guides/quickstart",
href: "https://droposs.org/docs/admin/quickstart",
},
{
name: t("footer.docs.client"),
href: "https://docs.droposs.org/docs/guides/client",
href: "https://droposs.org/docs/user",
},
],
about: [
+1 -1
View File
@@ -52,7 +52,7 @@
"luxon": "^3.6.1",
"micromark": "^4.0.1",
"normalize-url": "^8.0.2",
"nuxt": "^3.21.6",
"nuxt": "^3.21.7",
"nuxt-security": "2.2.0",
"otp-io": "^1.2.7",
"parse-cosekey": "^1.0.2",
+1 -1
View File
@@ -438,7 +438,7 @@
<NuxtLink
class="transition text-xs text-zinc-600 hover:underline hover:text-zinc-400"
href="https://docs.droposs.org/docs/library"
href="https://droposs.org/docs/reference/library-sources"
target="_blank"
>
<i18n-t
+3 -2
View File
@@ -279,13 +279,14 @@ const optionsMetadata: {
Filesystem: {
title: t("library.admin.sources.fsTitle"),
description: t("library.admin.sources.fsDesc"),
docsLink: "https://docs.droposs.org/docs/library#drop-style",
docsLink: "https://droposs.org/docs/reference/library-sources#drop-style",
icon: DropLogo,
},
FlatFilesystem: {
title: t("library.admin.sources.fsFlatTitle"),
description: t("library.admin.sources.fsFlatDesc"),
docsLink: "https://docs.droposs.org/docs/library#flat-style-or-compat",
docsLink:
"https://droposs.org/docs/reference/library-sources#compatibility-flat-style",
icon: BackwardIcon,
},
};
+7 -6
View File
@@ -41,7 +41,7 @@ export default defineConfig({
{ slug: "user" },
{
label: "Install",
autogenerate: { directory: "user/install" },
items: [{ autogenerate: { directory: "user/install" } }],
},
{
label: "Usage",
@@ -65,25 +65,26 @@ export default defineConfig({
},
{
label: "Going further",
autogenerate: { directory: "admin/going-further" },
items: [{ autogenerate: { directory: "admin/going-further" } }],
},
{
label: "Metadata",
autogenerate: { directory: "admin/metadata" },
items: [{ autogenerate: { directory: "admin/metadata" } }],
},
{
label: "Authentication",
autogenerate: { directory: "admin/authentication" },
items: [{ autogenerate: { directory: "admin/authentication" } }],
},
],
},
{
label: "Reference",
autogenerate: { directory: "reference" },
items: [{ autogenerate: { directory: "reference" } }],
},
],
customCss: ["./src/styles/drop.css"],
}),
],
site: "https://docs-next.droposs.org/",
site: "https://droposs.org",
base: "/docs",
});
+5 -5
View File
@@ -10,11 +10,11 @@
"astro": "astro"
},
"dependencies": {
"@astrojs/starlight": "^0.37.4",
"astro": "^5.6.1",
"sharp": "^0.34.2",
"starlight-image-zoom": "^0.13.2",
"starlight-links-validator": "^0.19.2",
"@astrojs/starlight": "^0.40.0",
"astro": "^6.4.8",
"sharp": "^0.35.2",
"starlight-image-zoom": "^0.14.2",
"starlight-links-validator": "^0.24.1",
"starlight-theme-rapide": "^0.5.2"
}
}
@@ -28,7 +28,7 @@ For convenience's sake, we can also specify file extensions for Drop's auto-dete
Add a launch executable for every platform you want to support. The options are fairly self-explanatory, but make sure to use the `{rom}` placeholder, and optionally add the file extensions.
Read the [Command Parsing](/reference/command-parsing/) article to understand how it's parsed and substituted.
Read the [Command Parsing](/docs/reference/command-parsing/) article to understand how it's parsed and substituted.
3. ## Import your game
@@ -18,7 +18,7 @@ If you're using a library source that supports versioning, you can add and impor
2. ### Follow the import guide again
Follow the [import guide again](/admin/guides/import-version/), but this time for your new version folder.
Follow the [import guide again](/docs/admin/guides/import-version/), but this time for your new version folder.
</Steps>
@@ -39,7 +39,7 @@ You can stack many "update mode" versions on top of each other, and they will pi
2. ### Follow the import guide again
Follow the [import guide again](/admin/guides/import-version/), but this time for your new version folder.
Follow the [import guide again](/docs/admin/guides/import-version/), but this time for your new version folder.
3. ### Before import, enable update mode
@@ -3,7 +3,7 @@ title: Setting up OIDC
---
:::note
You can find reference information in the [OIDC authentication docs](/admin/authentication/oidc/).
You can find reference information in the [OIDC authentication docs](/docs/admin/authentication/oidc/).
:::
## Authentik
@@ -10,7 +10,7 @@ To import games and start using Drop, you must first create a library to import
1. **Decide on a library layout.**
Drop supports different layouts for your files on disk, you can read more about them in the [Library Sources](/reference/library-sources) reference section.
Drop supports different layouts for your files on disk, you can read more about them in the [Library Sources](/docs/reference/library-sources) reference section.
2. **Mount your library in the Docker container.**
@@ -28,7 +28,7 @@ To import games and start using Drop, you must first create a library to import
- `/mnt/media/my-drop-library` is the path to your library.
- `/library` is a **unique** path inside the container. **Use something else if another volume mounts to `/library`**.
If you followed the [Quickstart](/admin/quickstart/) guide, you'll have already set up a library at `./library` pointing to `/library` within the container. You may want to instead edit that line in the `volumes` section to point to where your library is located.
If you followed the [Quickstart](/docs/admin/quickstart/) guide, you'll have already set up a library at `./library` pointing to `/library` within the container. You may want to instead edit that line in the `volumes` section to point to where your library is located.
3. **Open library source interface in Admin Dashboard.**
@@ -16,7 +16,7 @@ Drop automatically parses and formats the URL, so there are no requirements on t
## LAN
The `compose.yaml` provided in the [Quickstart guide](/admin/quickstart/) already exposes the Drop instance on port 3000. If you're on the same LAN as your Drop instance, you can find it's IP and then use:
The `compose.yaml` provided in the [Quickstart guide](/docs/admin/quickstart/) already exposes the Drop instance on port 3000. If you're on the same LAN as your Drop instance, you can find it's IP and then use:
```
http://[instance IP]:3000
@@ -60,7 +60,7 @@ Once you've got a library set up, and have imported a game, you can import a ver
A installer version uses "setup mode". Enable the option, and then add the installer executable in setup commands.
:::note
Setup and launch commands are parsed in a cross-platform, POSIX style. It's not relevant for simple setups, but useful to know. Read more about it in [Command Parsing](/reference/command-parsing/).
Setup and launch commands are parsed in a cross-platform, POSIX style. It's not relevant for simple setups, but useful to know. Read more about it in [Command Parsing](/docs/reference/command-parsing/).
:::
6. ### **Wait for import.**
@@ -40,7 +40,7 @@ services:
**The main things in this `compose.yaml` is the volumes attached to the `drop` service:**
1. `./library` is where you will put your games to be imported into Drop. See '[Creating a library](/admin/guides/creating-library/)' once you're set up.
1. `./library` is where you will put your games to be imported into Drop. See '[Creating a library](/docs/admin/guides/creating-library/)' once you're set up.
2. `./data` is where Drop will store anything that's using the default file-system backed storage system. Typically, these are objects.
:::tip
+1 -1
View File
@@ -7,7 +7,7 @@ hero:
file: ../../assets/drop.svg
actions:
- text: Quickstart
link: /admin/quickstart
link: /docs/admin/quickstart
icon: right-arrow
- text: Download client
link: https://droposs.org/download
@@ -49,8 +49,8 @@ Only methods supported by your current platform (and the game's target platform)
| Method | Description |
| ------ | ----------- |
| **Native (direct)** *(default for Linux games)* | Runs the native Linux game directly on the host. |
| **Steam Linux Runtime (umu-run)** | Runs the native Linux game inside `umu-run`'s Steam Linux Runtime. Requires [UMU launcher](/user/usage/proton/). |
| **Proton (umu-run)** *(default for Windows games)* | Runs a Windows game through Proton, using `umu-run`. Requires [Proton](/user/usage/proton/). |
| **Steam Linux Runtime (umu-run)** | Runs the native Linux game inside `umu-run`'s Steam Linux Runtime. Requires [UMU launcher](/docs/user/usage/proton/). |
| **Proton (umu-run)** *(default for Windows games)* | Runs a Windows game through Proton, using `umu-run`. Requires [Proton](/docs/user/usage/proton/). |
| **Proton + muvm (Asahi)** | Runs a Windows game through Proton inside a muvm microVM, for Apple Silicon / Asahi Linux. |
On macOS, games are always launched directly.
@@ -48,7 +48,7 @@ In the UI, you'll be prompted to "import" each folder separately:
So your game has gotten an update and you've got new files. All you need to do is create a new version folder inside the game folder, and move all the files you have into that folder. Then, import it within the Drop admin UI.
If you have files that you're supposed to **paste over the previous version**, Drop supports that! Read [Update mode](/reference/update-mode/) to find out more.
If you have files that you're supposed to **paste over the previous version**, Drop supports that! Read [Update mode](/docs/reference/update-mode/) to find out more.
# Compatibility (flat-style)
+1 -1
View File
@@ -4,4 +4,4 @@ title: Getting Started
Drop clients are available for download from [our website](https://droposs.org/download), or follow one of our installation guides on the sidebar. Download the correct version for your platform, and open it up.
The client will walk you through the setup and sign-in process to get started. You'll need a Drop instance you can connect to, and an account on the server. If you don't have one, you can follow the [Quickstart](/admin/quickstart/) guide to set up your own.
The client will walk you through the setup and sign-in process to get started. You'll need a Drop instance you can connect to, and an account on the server. If you don't have one, you can follow the [Quickstart](/docs/admin/quickstart/) guide to set up your own.
@@ -59,4 +59,4 @@ Drop uses a global default Proton version to launch games by default. You can ov
## Choosing a launch method
Proton isn't the only thing you can change per-game. If a game won't start, you can also try a different **launch method** from the same **Game Options → Launch** menu — for example, forcing a Windows game through Proton, or running a native Linux game inside the Steam Linux Runtime. See [Launch methods](/reference/command-parsing/#launch-methods) for the full list.
Proton isn't the only thing you can change per-game. If a game won't start, you can also try a different **launch method** from the same **Game Options → Launch** menu — for example, forcing a Windows game through Proton, or running a native Linux game inside the Steam Linux Runtime. See [Launch methods](/docs/reference/command-parsing/#launch-methods) for the full list.
+2 -2
View File
@@ -46,7 +46,7 @@ function Header() {
<div className="flex flex-col gap-y-2 border-b border-dotted border-zinc-800 pb-4">
<dt className="text-sm/6 text-zinc-400">Lines of code</dt>
<dd className="order-first text-6xl font-medium tracking-tight">
<AnimatedNumber start={10} end={40} />k
<AnimatedNumber start={0} end={75} />k
</dd>
</div>
<div className="flex flex-col gap-y-2 border-b border-dotted border-zinc-800 pb-4">
@@ -61,7 +61,7 @@ function Header() {
<div className="flex flex-col gap-y-2 max-sm:border-b max-sm:border-dotted max-sm:border-gray-200 max-sm:pb-4">
<dt className="text-sm/6 text-zinc-400">Docker pulls</dt>
<dd className="order-first text-6xl font-medium tracking-tight">
<AnimatedNumber start={0} end={48.8} decimals={1} />k
<AnimatedNumber start={0} end={210} decimals={1} />k
</dd>
</div>
<div className="flex flex-col gap-y-2">
+1 -1
View File
@@ -36,7 +36,7 @@ function Hero() {
Steam and Epic.
</p>
<div className="mt-12 flex flex-col gap-x-6 gap-y-4 sm:flex-row">
<Button href="https://docs.droposs.org/docs/guides/quickstart">
<Button href="/docs/admin/quickstart">
Get started
</Button>
<Button variant="outline" href="/about">
+2 -2
View File
@@ -23,7 +23,7 @@ function CallToAction() {
<div className="mt-6">
<Button
className="w-full sm:w-auto"
href="https://docs.droposs.org/docs/guides/quickstart"
href="/docs/admin/quickstart"
>
Quickstart &rarr;
</Button>
@@ -65,7 +65,7 @@ function Sitemap() {
<div>
<SitemapHeading>Documentation</SitemapHeading>
<SitemapLinks>
<SitemapLink href="https://docs.droposs.org/">
<SitemapLink href="/docs">
Self-hosters
</SitemapLink>
<SitemapLink href="https://developer.droposs.org/">
+4 -4
View File
@@ -80,11 +80,11 @@ export function Gallery() {
)
.map((file) => (
<div key={file.url} className="relative w-full">
<div className="group overflow-hidden rounded-lg bg-gray-100 focus-within:outline-2 focus-within:outline-offset-2 focus-within:outline-blue-600">
<div className="group relative block w-full overflow-hidden rounded-lg bg-gray-100 focus-within:outline-2 focus-within:outline-offset-2 focus-within:outline-blue-600">
<img
alt=""
src={file.url}
className="pointer-events-none aspect-10/7 aspect-auto rounded-lg object-cover outline -outline-offset-1 outline-black/5 group-hover:opacity-75"
className="pointer-events-none block w-full rounded-lg object-cover outline -outline-offset-1 outline-black/5 group-hover:opacity-75"
/>
<button
type="button"
@@ -96,10 +96,10 @@ export function Gallery() {
</span>
</button>
</div>
<p className="pointer-events-none mt-2 block truncate text-sm font-medium text-gray-900">
<p className="pointer-events-none mt-2 block truncate text-sm font-medium text-zinc-100">
{file.name}
</p>
<p className="pointer-events-none block text-xs font-medium text-gray-500">
<p className="pointer-events-none block text-xs font-medium text-zinc-400">
{file.description}
</p>
</div>