Source content for the BX Team documentation site. Pages are written in Markdown with MDC (Markdown Components) and rendered by the Nuxt app.
docs/
├── divinemc/
│ ├── index.md ← project landing page
│ ├── 01.getting-started/
│ ├── 02.features/
│ └── ...
├── ndailyrewards/
└── quark/
Folders and files are ordered by the numeric prefix (01., 02., …). The prefix is stripped from URLs — 01.getting-started/installation.md becomes /docs/divinemc/getting-started/installation.
Every page must have at least title. All other fields are optional.
---
title: Installation # required — shown as the page heading
description: How to install # shown below the heading and in SEO meta
icon: Download # Lucide icon name — shown in the sidebar
badge: WIP # short label shown next to the sidebar item
---Available icons come from Lucide. Use the PascalCase name as-is (e.g. Keyboard, GitBranch, MonitorCog).
All components use the ::ComponentName / :: block syntax. Do not use the HTML-like <Component /> self-closing syntax — the MDC parser may swallow content that follows it.
Highlighted notice box. Supports four visual styles.
::callout{type="info"}
This is an informational note.
::
::callout{type="warn" title="Watch out"}
This might break things.
::
::callout{type="ok"}
Everything looks good.
::
::callout{type="error" title="Incompatible Java Version"}
You need Java 21 or newer.
::type aliases
| Style | Accepted values |
|---|---|
info |
info (default) |
warn |
warn, warning, caution |
ok |
ok, success, tip, check, idea |
error |
error, danger, destructive |
Numbered step list for guides and tutorials.
::steps
:::step{title="Download the jar"}
Visit the [Downloads page](/downloads/divinemc) and grab the latest build.
:::
:::step{title="Place it in your server folder"}
Move the jar into a fresh directory.
:::
:::step{title="Start the server"}
Run your startup script and accept the EULA.
:::
::The outer ::steps block uses two colons; each inner :::step block uses three. Steps are numbered automatically. You can also pass n manually: :::step{n="4"}.
Tabbed code block — one tab per fenced code block. The tab label comes from the language tag.
::code-group
```kotlin [Gradle Kotlin]
implementation("org.bxteam:ndailyrewards:3.4.0")
```
```groovy [Gradle Groovy]
implementation "org.bxteam:ndailyrewards:3.4.0"
```
```xml [Maven]
<dependency>
<groupId>org.bxteam</groupId>
<artifactId>ndailyrewards</artifactId>
<version>3.4.0</version>
</dependency>
```
::Standard fenced code blocks work as usual. Nuxt Content uses Shiki for syntax highlighting — use any language identifier Shiki supports.
```yaml
async:
parallel-world-ticking:
enable: false
```You can also use Shiki transformers for inline annotations:
```yaml
eula: false # [!code --]
eula: true # [!code ++]
port: 25565 # [!code highlight]
server-name: MyServer # [!code word:MyServer]
```| Annotation | Effect |
|---|---|
# [!code --] |
Red diff line (removed) |
# [!code ++] |
Green diff line (added) |
# [!code highlight] |
Highlighted line |
# [!code word:text] |
Highlighted word(s) |
# [!code focus] |
Focus this line, dim the rest |
Language note:
[!code word:]and other#-prefixed annotations only work in languages where#is a real comment character —sh,bash,yaml,python, etc. They are silently ignored inbat,cmd,java,kotlin, and similar languages where#carries no syntax meaning. Use//annotations in those languages instead (or omit the annotation entirely).
- Keep one blank line before and after every
::block::component. - Nest components correctly: two-colon outer (
::steps), three-colon inner (:::step). iconvalues are case-sensitive and must match the Lucide PascalCase name exactly.- The
badgefield accepts short strings only — keep it to 3–4 characters (WIP,New,v2).