Docs

Configuration

Reference for site metadata, theme settings, and footer options in settings.json.

All configuration for Retrail is managed through the root settings.json file.

settings.json is read exclusively on the server by Next.js. It is never served as a static file or exposed as a public API route to browser clients.

File Structure

{
  "site": {
    "title": "Example Portfolio",
    "description": "A customizable, self-hosted portfolio.",
    "favicon": "/favicon.ico",
    "logo": ""
  },
  "theme": {
    "primaryColor": "neon-cyan",
    "defaultColorScheme": "dark",
    "radius": "sm",
    "containerSize": "md"
  },
  "footer": {
    "enabled": true,
    "text": "%sitename% • Made with Retrail",
    "links": []
  },
  "blocks": []
}

site

Metadata settings used for page titles, search indexing, and social embeds.

SettingTypeDescription
titlestringThe title displayed in browser tabs and metadata.
descriptionstringThe description rendered for SEO and social sharing cards.
faviconstringPath to the browser favicon (e.g. /favicon.ico).
logostringOptional URL or path to an avatar/logo icon.

theme

Visual theme and layout settings powered by Mantine UI.

SettingTypeDefaultDescription
primaryColorstring"neon-cyan"Primary accent color for buttons, badges, and highlights.
defaultColorSchemestring"dark"Default color mode: "dark", "light", or "auto".
radiusstring"sm"Default border radius: "xs", "sm", "md", "lg", or "xl".
containerSizestring"md"Max width of the page container: "xs", "sm", "md", "lg", or "xl".

Available Neon Color Scales

Retrail includes four custom high-vibrancy neon palettes:

  • neon-cyan: Electric cyan (#00f0ff)
  • neon-green: Vibrant lime green (#00ff88)
  • neon-purple: Bright ultraviolet (#9933ff)
  • neon-pink: Hot neon pink (#ff007f)

Standard Mantine color names (such as blue, teal, violet, green, orange) are also supported.

Footer settings anchored at the bottom of the page.

SettingTypeDescription
enabledbooleanSet to false to hide the footer entirely.
textstringFooter text. Supports %sitename%, %author%, and %year% placeholders.
linksarrayArray of link objects { label: string, url: string, enabled?: boolean }.

On this page