# Config: Theme

  • Type: string
  • Default: false

You can add a logo to the navbar via themeConfig.logo

// .vuepress/config.js
module.exports = {
  themeConfig: {
    logo: "/logo.svg",
  },
};
  • Type: string
  • Default: false

You can add links to the navbar via themeConfig.nav:

// .vuepress/config.js
module.exports = {
  themeConfig: {
    nav: [
      { text: "Home", link: "/" },
      { text: "Guide", link: "/guide/" },
      { text: "External", link: "https://google.com" },
    ],
  },
};

For more usage, please head Default Theme Config > Navbar (opens new window).

  • Type: boolean
  • Default: false

To disable the navbar globally, use themeConfig.navbar:

// .vuepress/config.js
module.exports = {
  themeConfig: {
    navbar: false,
  },
};
  • Type: array | object
  • Default: undefined

Note that sidebar in VT is fully compatible with Default Theme Config > Navbar (opens new window), but to make sure you can enjoy API Page, we recommend that you use Multiple Sidebars (opens new window):

// .vuepress/config.js
module.exports = {
  themeConfig: {
    sidebar: {
      "/foo/": [
        "" /* /foo/ */,
        "one" /* /foo/one.html */,
        "two" /* /foo/two.html */,
      ],

      "/bar/": [
        "" /* /bar/ */,
        "three" /* /bar/three.html */,
        "four" /* /bar/four.html */,
      ],

      // fallback
      "/": [
        "" /* / */,
        "contact" /* /contact.html */,
        "about" /* /about.html */,
      ],
    },
  },
};
  • Type: boolean
  • Default: true

Enable search box or not, set false to hidden search box globally:

// .vuepress/config.js
module.exports = {
  themeConfig: {
    search: false,
  },
};

# searchMaxSuggestions

  • Type: number
  • Default: 5

Customize how many suggestions will be shown:

// .vuepress/config.js
module.exports = {
  themeConfig: {
    searchMaxSuggestions: 10,
  },
};

# searchPlaceholder

  • Type: string
  • Default: Search

Custom placeholder of search box.

# algolia

  • Type: object
  • Default: undefined

Since we've already shipped full-text search, so you don't need use algolia search. If you insist on using it, please move Default Theme Config > Algolia Search (opens new window).

# lastUpdated

  • Type: string
  • Default: 'Last Updated'
// .vuepress/config.js
module.exports = {
  themeConfig: {
    lastUpdated: "Last Updated", // string | boolean
  },
};
  • Type: boolean
  • Default: true

Set it to false to hide next page links on all pages:

// .vuepress/config.js
module.exports = {
  themeConfig: {
    nextLinks: false,
  },
};
  • Type: boolean
  • Default: true

Set it to false to hide prev page links on all pages:

// .vuepress/config.js
module.exports = {
  themeConfig: {
    prevLinks: false,
  },
};

# repo

  • Type: string
  • Default: undefined

Repository's url, assumes GitHub, can also be a full GitLab url.

// .vuepress/config.js
module.exports = {
  themeConfig: {
    // equal to "https://github.com/ulivz/vuepress-theme-vt"
    repo: "ulivz/vuepress-theme-vt",
  },
};

# repoLabel

  • Type: string
  • Default: undefined

Defaults to "GitHub"/"GitLab"/"Bitbucket" depending on themeConfig.repo.

TIP

Note the in VT the repo link will be shown as icon.

# docsRepo

  • Type: string
  • Default: your repo link

Using this if your docs are in a different repo from your main project.

# docsDir

  • Type: string
  • Default: ''

Using this if your docs are not at the root of the repo.

// .vuepress/config.js
module.exports = {
  themeConfig: {
    docsDir: "docs",
  },
};

# docsBranch

  • Type: string
  • Default: master

Using this if your docs are in master branch.

// .vuepress/config.js
module.exports = {
  themeConfig: {
    docsBranch: "main",
  },
};
  • Type: boolean
  • Default: false

Defaults to false, set to true to enable:

// .vuepress/config.js
module.exports = {
  themeConfig: {
    editLinks: true,
  },
};

# editLinkText

  • Type: string
  • Default: Edit this page

Custom text for edit link:

// .vuepress/config.js
module.exports = {
  themeConfig: {
    editLinkText: "Help us improve this page!",
  },
};

# smoothScroll

  • Type: boolean
  • Default: false

Enable smooth scrolling.

# locales

  • Type: object
  • Default: false

See Internationalization (opens new window).

# label

  • Type: string
  • Default: undefined

i18n only.

# selectText

  • Type: string
  • Default: undefined

i18n only.