The Vanilla² website contains the mod's landing page, news, documentation, bug tracker, and reusable UI templates. News articles and documentation are stored in the repository and rendered from Markdown. Bug reports use the website's private issue backend.
This project uses the BLOBSFER Licence 1.0. It permits private use and contributions to the official repository, but does not permit independent publication, distribution, or deployment. See LICENSE.
- Landing page for the Vanilla² Minecraft Fabric mod.
- Repository-backed Markdown documentation.
- Repository-backed news articles with private-draft support.
- Bug report form backed by a private issue backend.
- Reusable UI component and page templates.
- Astro pages and server routes
- React
- Tailwind CSS v4 via Vite
- gray-matter and MDX for repository content
Add Markdown files under src/docs/. Their paths determine their /docs routes.
Add Markdown files under news/. Supported frontmatter fields are:
---
title: Article title
tag: announcements
image: "@cdn/news/article-image.svg"
imageAlt: Description of the article image
showImageOnPage: false
author: Author name
authorImage: "@cdn/news/author-image.svg"
published_date: 30/07/2026
private: false
---published_date is required and must use dd/mm/yyyy. It controls the article's displayed publication date and newest-first ordering. private: true excludes the article from the statically generated public news listing and pages. Images must be stored under cdn/news/ and are referenced directly as /cdn/... at runtime.
Bug reports are created from the form on /bugs and loaded through cached public responses with a seven-minute browser/CDN lifetime. A successful submission invalidates the server-side issue cache so the next uncached request refreshes from GitHub. Server-side access to the private issue backend requires a fine-grained token in the github environment variable. The serverless rate limiter intentionally uses in-memory state and does not require additional environment variables.
Use Node.js 22.12 or newer, then install dependencies.
npm installStart the development server.
npm run devBuild the production website.
npm run build