Heads up!
This site uses cookies to enhance your browsing experience and analyse traffic. By clicking "Accept", you consent to our use of cookies.
Cookie Policy

Configuration

Site Config

export default defineNuxtConfig({
  site: {
    name: 'TNT',
    description: null,
    url: 'https://tnt.thombruce.com',
    copyright: null,
    nav: true,
    backgroundPattern: false,
  },
})
ts: nuxt.config.ts

Route Rules

export default defineNuxtConfig({
  routeRules: {
    /* Custom route rules */
    '/docs': { redirect: '/docs/getting-started/installation' },
    '/docs/getting-started': { redirect: '/docs/getting-started/installation' },
  },
})
ts: nuxt.config.ts

Custom Collections

export default defineNuxtConfig({
  runtimeConfig: {
    public: {
      collections: [
        /* Custom content collections */
        'blog',
        'docs',
      ],
    },
  },
})
ts: nuxt.config.ts

NOTE: The pages collection is the only collection defined by default. If you wish to define your own, you should redefine it in order to exclude your custom collections.

import { defineCollection, defineContentConfig, z } from '@nuxt/content'

import { global } from '@thombruce/tnt-content/content.config'

export default defineContentConfig({
  collections: {
    // Pages: E.g. /index.md, /about.md
    pages: defineCollection({
      source: {
        include: '**/*',
        exclude: [
          '.*',
          '.*/**/*',
          '*blog/**/*',
          '*docs/**/*',
        ]
      },
      type: 'page',
      schema: z.object({
        ...global,
      })
    }),
    // Blog: Blog posts
    blog: defineCollection({
      source: [
        {
          include: '*blog/**/*',
          exclude: [
            '*blog/**/.*',
            '*blog/**/.*/**/*',
          ]
        },
        { include: '*blog/**/.navigation.y?(a)ml', },
      ],
      type: 'page',
      schema: z.object({
        ...global,
        layout: z.string().default('article'),
        category: z.string().optional(),
      })
    }),
    // Docs: Documentation
    docs: defineCollection({
      source: [
        {
          include: '*docs/**/*',
          exclude: [
            '*docs/**/.*',
            '*docs/**/.*/**/*',
          ]
        },
        { include: '*docs/**/.navigation.y?(a)ml', },
      ],
      type: 'page',
      schema: z.object({
        ...global,
        layout: z.string().default('doc'),
        category: z.string().optional(),
      })
    }),
  }
})
ts: content.config.ts

UI Theming

export default defineNuxtConfig({
  ui: {
    theme: {
      colors: [
        'primary',
        'secondary',
        'success',
        'info',
        'warning',
        'error',
        'neutral',
      ],
    },
  },
})
ts: nuxt.config.ts
export default defineAppConfig({
  ui: {
    colors: {
      primary: 'green',
      secondary: 'blue',
      success: 'green',
      info: 'blue',
      warning: 'yellow',
      error: 'red',
      neutral: 'slate',
    }
  }
})
ts: app.config.ts

Copyright © All rights reserved

Hero Patterns by Steve Schoger (CC By 4.0)