docs(website): tabbed per-OS install instructions with auto-detection
website / deploy (push) Successful in 33s
website / deploy (push) Successful in 33s
Split the install page into Linux / macOS / Windows tabs so each visitor sees only the commands that apply to them. A small InstallOsDetect component seeds Starlight's synced-tabs localStorage key with the detected OS before the tabs render, so the matching tab is pre-selected with no flash — and only when the visitor hasn't already picked a tab, so a manual choice wins. - installation.md -> .mdx (needs the Tabs/TabItem components) - detection covers navigator.userAgentData and the legacy platform/UA fallbacks; unknown platforms fall through to the default tab - piggybacks on Starlight's own restore mechanism rather than re-implementing tab switching
This commit is contained in:
@@ -0,0 +1,148 @@
|
||||
---
|
||||
title: Installation
|
||||
description: Install RDBMS Playground with a one-line installer, a package manager, cargo, or a prebuilt binary.
|
||||
sidebar:
|
||||
order: 1
|
||||
---
|
||||
|
||||
import { Tabs, TabItem } from '@astrojs/starlight/components';
|
||||
import InstallOsDetect from '../../../components/InstallOsDetect.astro';
|
||||
|
||||
RDBMS Playground is a single self-contained program. There is nothing to
|
||||
configure and no separate database to install — everything it needs is
|
||||
built in.
|
||||
|
||||
Pick the tab for your platform — we try to select it automatically — then
|
||||
use whichever method you prefer. The one-line installers are the quickest if
|
||||
you just want to get going.
|
||||
|
||||
<InstallOsDetect />
|
||||
|
||||
<Tabs syncKey="install-os">
|
||||
<TabItem label="Linux">
|
||||
|
||||
**One-line installer**
|
||||
|
||||
```sh
|
||||
curl -fsSL https://git.lazyeval.net/oli/rdbms-playground/raw/branch/main/scripts/install.sh | sh
|
||||
```
|
||||
|
||||
It detects your CPU, installs to `~/.local/bin`, and prints a hint if that
|
||||
directory isn't on your `PATH`. Set `RDBMS_INSTALL_DIR` to install elsewhere,
|
||||
or `RDBMS_VERSION=vX.Y.Z` to pin a version. Prefer to read a script before
|
||||
running it? It lives at
|
||||
[`scripts/install.sh`](https://git.lazyeval.net/oli/rdbms-playground/raw/branch/main/scripts/install.sh).
|
||||
|
||||
**Homebrew**
|
||||
|
||||
```sh
|
||||
brew tap lazyeval/tap https://git.lazyeval.net/lazyeval/homebrew-tap
|
||||
brew install lazyeval/tap/rdbms-playground
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem label="macOS">
|
||||
|
||||
**One-line installer**
|
||||
|
||||
```sh
|
||||
curl -fsSL https://git.lazyeval.net/oli/rdbms-playground/raw/branch/main/scripts/install.sh | sh
|
||||
```
|
||||
|
||||
It detects your CPU (Apple Silicon or Intel), installs to `~/.local/bin`, and
|
||||
prints a hint if that directory isn't on your `PATH`. Set `RDBMS_INSTALL_DIR`
|
||||
to install elsewhere, or `RDBMS_VERSION=vX.Y.Z` to pin a version. Prefer to
|
||||
read a script before running it? It lives at
|
||||
[`scripts/install.sh`](https://git.lazyeval.net/oli/rdbms-playground/raw/branch/main/scripts/install.sh).
|
||||
|
||||
**Homebrew**
|
||||
|
||||
```sh
|
||||
brew tap lazyeval/tap https://git.lazyeval.net/lazyeval/homebrew-tap
|
||||
brew install lazyeval/tap/rdbms-playground
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
<TabItem label="Windows">
|
||||
|
||||
**One-line installer (PowerShell)**
|
||||
|
||||
```powershell
|
||||
irm https://git.lazyeval.net/oli/rdbms-playground/raw/branch/main/scripts/install.ps1 | iex
|
||||
```
|
||||
|
||||
It downloads the matching `.exe`, verifies its checksum, installs to
|
||||
`%LOCALAPPDATA%\Programs\rdbms-playground`, and adds that folder to your user
|
||||
`PATH`. Use `-InstallDir` to choose a different location or `-Version` to pin
|
||||
a release.
|
||||
|
||||
**Scoop**
|
||||
|
||||
```sh
|
||||
scoop bucket add lazyeval https://git.lazyeval.net/lazyeval/scoop-bucket
|
||||
scoop install rdbms-playground
|
||||
```
|
||||
|
||||
**winget**
|
||||
|
||||
A winget package (`winget install LazyEvaluation.RdbmsPlayground`) is on its
|
||||
way and awaiting review in the public winget catalogue. Until it lands, use
|
||||
Scoop or the PowerShell one-liner above.
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
## With cargo
|
||||
|
||||
These work on any platform with a Rust toolchain. Install from
|
||||
[crates.io](https://crates.io/crates/rdbms-playground):
|
||||
|
||||
```sh
|
||||
cargo install rdbms-playground
|
||||
```
|
||||
|
||||
For a faster install that fetches a prebuilt binary instead of compiling, use
|
||||
[`cargo-binstall`](https://github.com/cargo-bins/cargo-binstall) (install it
|
||||
first — it is not part of `cargo` itself):
|
||||
|
||||
```sh
|
||||
cargo binstall rdbms-playground
|
||||
```
|
||||
|
||||
## Prebuilt binaries
|
||||
|
||||
Every release publishes static Linux, standalone Windows, and macOS binaries
|
||||
(x86_64 and aarch64), each with a `.sha256` checksum, on the
|
||||
[releases page](https://git.lazyeval.net/oli/rdbms-playground/releases).
|
||||
Download the one for your platform, make it executable if needed, and put it
|
||||
somewhere on your `PATH`.
|
||||
|
||||
## Run it
|
||||
|
||||
Start the playground with no arguments and it opens a fresh, automatically
|
||||
named temporary project so you can start experimenting immediately:
|
||||
|
||||
```sh
|
||||
rdbms-playground
|
||||
```
|
||||
|
||||
To open an existing project, pass its path:
|
||||
|
||||
```sh
|
||||
rdbms-playground path/to/project
|
||||
```
|
||||
|
||||
Useful options (run `rdbms-playground --help` for the full list):
|
||||
|
||||
| Option | What it does |
|
||||
|---|---|
|
||||
| `--resume` | Reopen the most recently used project. |
|
||||
| `--data-dir <PATH>` | Use a different location for stored projects. |
|
||||
| `--theme <light\|dark>` | Force a theme instead of auto-detecting. |
|
||||
| `--mode <simple\|advanced>` | Start in a specific input mode. |
|
||||
| `--version` | Print the version and exit. |
|
||||
|
||||
The full list, with examples, is on the
|
||||
[command-line options](/using-the-playground/command-line-options/) page.
|
||||
|
||||
Next: [create your first project](/getting-started/first-project/).
|
||||
Reference in New Issue
Block a user