Skip to content

Custom Pages

Domekologe edited this page Jun 30, 2026 · 1 revision

Custom Pages

🌐 English · Deutsch

Custom Pages let the bot owner add extra Markdown-based pages to the dashboard — rules, FAQs, changelogs, links, anything. The editor at /pages has a live preview, each page can be public or private, and saved pages appear in the navigation instantly. Content is rendered through a deliberately safe Markdown renderer, so there is no raw-HTML/XSS surface.

Screenshot: the custom-pages Markdown editor with live preview

Creating and editing

Open /pages (bot owner). For each page you set:

Field Meaning
Slug The URL fragment — the page lives at /p/<slug>. Spaces become dashes, lowercased.
Title Shown in navigation and as the page heading.
Markdown The page body, written in Markdown, with a live preview beside it.
Visibility public (anyone) or private (logged-in users only).
Nav Whether the page appears in the navigation.

Saving stores the page on the cog (so it survives restarts and is shared across all dashboard instances pointed at the same bot).

Public vs. private

  • Public pages are reachable at /p/<slug> without logging in — good for rules or public info.
  • Private pages render only for logged-in users.

The visibility is enforced server-side when the page is fetched, not just hidden in the menu.

Instant navigation

The navigation loads the page list from the cog (with a short cache). After you save or delete a page, it appears or disappears in the menu and in the command palette right away — no rebuild or restart needed.

Safe Markdown rendering

Pages and the live preview render full GitHub-Flavored Markdown:

  • Inline: bold, italic, strikethrough, inline & fenced code, links plus bare-URL autolinks, and images.
  • Block: headings, ordered/unordered lists, task lists (- [ ] / - [x]), tables (with column alignment), blockquotes, and horizontal rules.
  • GitHub alerts: > [!NOTE], > [!TIP], > [!IMPORTANT], > [!WARNING] and > [!CAUTION] render as colored callouts.

Raw HTML is escaped for safety (XSS-safe), so embedded HTML tags are not rendered. Because of this, custom pages cannot inject scripts or arbitrary markup — they are safe to expose publicly. (The same renderer is used elsewhere, e.g. for audit detail.)

Screenshot: a rendered public custom page

Related pages

Clone this wiki locally