The website for the powerful Java game development framework FlixelGDX. Built with Docusaurus 3 and styled to feel like a GitHub-flavoured Javadoc page, with red and pitch-black as the primary colors.
It hosts:
- A welcoming home page with feature highlights, animations, and per-section scroll fades.
- A Getting Started page with a client-side project generator that produces a runnable Gradle project (Java / Groovy / Kotlin, IDE-specific configs, JitPack-wired FlixelGDX dependency, your choice of JDK vendor, bundled Gradle wrapper, expert-mode for power users).
- A Your First Project tutorial — build Pong step by step, with a per-OS JDK install walk-through up top and synchronized Java / Groovy / Kotlin code tabs throughout.
- An API reference generated from the framework's Java sources via Dokka GFM and embedded as Docusaurus docs.
.
├── gradlew ← bundled Gradle wrapper (no system Gradle needed)
├── gradlew.bat
├── gradle/wrapper/ ← gradle-wrapper.jar + properties (pinned to 9.5.1)
├── settings.gradle.kts ← Gradle root settings (includes :dokka)
├── build.gradle.kts ← (empty; real work lives in :dokka)
├── dokka/
│ └── build.gradle.kts ← Dokka GFM build that auto-discovers framework modules
├── scripts/
│ └── build-api.sh ← sparse-clones flixelgdx/flixelgdx + runs :dokka:dokkaGfm
├── site/ ← Docusaurus 3 project (npm)
│ ├── docs/ ← hand-written docs (getting-started, your-first-project)
│ ├── api/ ← Dokka GFM output (generated by build-api.sh)
│ ├── src/components/ ← React components (project generator, JDK guide, …)
│ ├── src/pages/index.tsx ← home page
│ └── package.json
└── .github/workflows/
├── deploy.yml ← builds + deploys to GitHub Pages
└── framework-trigger.md ← snippet to drop into the framework repo
- Node.js 20+ — the website uses Docusaurus 3.10, which requires
Node ≥ 20. Run
nvm usefrom the repo root to switch (an.nvmrcis included). - JDK 17+ — needed by the bundled Gradle wrapper to render the API reference. We recommend Eclipse Temurin on contributor machines.
You do not need to install Gradle, Dokka, or the FlixelGDX
framework — ./gradlew does that for you on demand.
cd site
npm ci # 0 vulnerabilities, ~2 min on first run
npm run start # http://localhost:3000/flixelgdx-website/./scripts/build-api.shThis will:
- Sparse-clone the FlixelGDX framework's Java sources into
build/flixelgdx-src/(≈ 3 MB — only theflixelgdx-*/src/maindirectories, never the full repo). - Run
./gradlew :dokka:dokkaGfmagainst those sources, producing GitHub-Flavoured Markdown underbuild/dokka-out/. - Sanitize the Markdown for MDX (escape stray
{/}, self-close<br>, prepend Docusaurus front-matter) and copy it undersite/api/.
Knobs:
FLIXELGDX_BRANCH=somebranch ./scripts/build-api.sh
FLIXELGDX_REF=<commit-sha> ./scripts/build-api.sh
FLIXELGDX_REPO=<git-url> ./scripts/build-api.shTo run only the Dokka half (when you have your own framework checkout):
./gradlew :dokka:dokkaGfm -PflixelgdxSrc=/abs/path/to/flixelgdxcd site
npm run build # → site/build/
npm run serve # preview the static output locallyJust open the repo root. IntelliJ detects the settings.gradle.kts
file and offers to import the Gradle project — accept. The
:dokka:dokkaGfm task then shows up in the Gradle tool window and can
be run with a double-click.
The Node side stays a regular Docusaurus project; open the site/
folder as a Node module in WebStorm if you prefer dedicated JS
tooling.
The site is deployed automatically to GitHub Pages from
.github/workflows/deploy.yml. It
rebuilds on:
- Any push to this repo's
mainbranch. - A
repository_dispatchevent of typeframework-updated(sent by the framework repo whenevermasteris updated — see.github/workflows/framework-trigger.md). - Manual
workflow_dispatchinvocations. - A daily cron fallback.
The website content is licensed MIT, matching the framework.