Navbar

Introduction

Pass navbar option to theme default to configure navbar

Each item can hold these props:

  • title - The label text
  • to - The link address
  • icon An HTML string. Will show the html content instead of title. It is useful to display a custom icon on the navbar. For example a twitter svg icon navbar item would be like this:
    const twitterNavItem = {
      icon: `<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24">
          <path fill="currentColor" 
            d="M22.46 6c-.77.35-1.6.58-2.46.69c.88-.53 1.56-1.37 1.88-2.38c-.83.5-1.75.85-2.72 1.05C18.37 4.5 17.26 4 16 4c-2.35 0-4.27 1.92-4.27 4.29c0 .34.04.67.11.98C8.28 9.09 5.11 7.38 3 4.79c-.37.63-.58 1.37-.58 2.15c0 1.49.75 2.81 1.91 3.56c-.71 0-1.37-.2-1.95-.5v.03c0 2.08 1.48 3.82 3.44 4.21a4.22 4.22 0 0 1-1.93.07a4.28 4.28 0 0 0 4 2.98a8.521 8.521 0 0 1-5.33 1.84c-.34 0-.68-.02-1.02-.06C3.44 20.29 5.7 21 8.12 21C16 21 20.33 14.46 20.33 8.79c0-.19 0-.37-.01-.56c.84-.6 1.56-1.36 2.14-2.23Z"
          />
      </svg>`,
      to: 'https://twitter.com/'
    }
    js
  • external - Determine whether the item is an external link
  • items - Sub links
One level only

For now, navbar can only hold one level sub links.

Example

vite.config.(js|ts)
import {  } from 'vite'
import {  } from '@sveltepress/vite'
import {  } from '@sveltepress/theme-default'

export default ({
  : [
    ({
      : ({
        : [
          {
            : 'Foo page',
            : '/foo/'
          },
          {
            : 'With dropdown',
            : [
              {
                : 'Bar page',
                : '/bar/'
              },
              {
                : 'External Github page',
                : 'https://github.com/',
                : true
              }
            ]
          }
        ]
      })
    })
  ]
})
ts
Last update at: 2024/03/22 12:10:31