Skip to content

Repository files navigation

NimbusWebsite

The site for Nimbus, a Velocity-style proxy for Vintage Story. Landing page, a long-form overview, and the documentation.

Built with Astro 5 and Tailwind CSS 4. Static output, no runtime, no external requests: no CDN, no remote fonts, no analytics. Everything the browser loads comes from this repository.

Running it

npm install
npm run dev      # http://localhost:4321/nimbus/
npm run build    # static output in dist/
npm run check    # type check

Where it gets published

The base path is a two-line switch at the top of astro.config.mjs:

const SITE = 'https://stratumvs.dev';   // or 'https://nimbus.stratumvs.dev'
const BASE = '/nimbus';                 // or '/'

Every internal link goes through url() in src/lib/links.ts, so flipping those two constants is the whole job. Hosting is not settled yet: a subpath on stratumvs.dev means deploying into a subdirectory of that docroot, and a subdomain means GitHub Pages can host it directly.

Writing docs

Documentation lives in src/content/docs/ as Markdown. Frontmatter drives the sidebar:

---
title: Transfers
description: How a player moves between backends.
group: Operations
groupOrder: 3
order: 1
---

Two things worth knowing before editing:

Features that are not released yet get marked. The site documents v0.2.0, the release people can download, and anything newer carries a "Coming soon" badge. Write <span data-unreleased /> at the start of the paragraph and a rehype plugin turns it into the badge. Keep it out of headings: Astro builds anchor ids from heading text, so a badge there ends up in the URL and in the contents panel. The version and the label live in src/lib/unreleased.mjs.

The code is the source of truth, not the wiki. Porting the wiki here turned up nine places where it described commands and signatures that do not exist, including nimctl ban, which the CLI had never implemented. Check anything load-bearing against the repository before writing it down.

Astro caches rendered content, so if a change to the Markdown pipeline seems to do nothing, delete .astro/ and build again.

Layout notes

The mark in public/nimbus-mark.svg is inlined rather than used as an image, so its two fill-less paths inherit currentColor and follow the theme. The same paths are scaled into the hero illustration as the proxy node, which is why the drawing and the logo are the same object. The palette comes out of that file: #F2F2F4 for lit faces, #B0B6C5 for shaded ones, #242A33 for the wordmark slate.

Docs rails fold from the handles on their inner edges, and each side remembers its own state. They are sized with flex-basis rather than width, and the folded rail carries no overflow clipping: an ancestor that clips becomes the scroll container for position: sticky and the handle drops by its own offset the moment the rail folds.

About

The Nimbus site: landing page, overview and documentation. Astro, static, self-contained.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages