close
  • 中文
  • NavTitle

    Warning

    该组件主要配合 自定义主题 中的 wrap/eject 使用 ,与 MDX 里直接导入使用的组件不同,你可以通过传递组件 props 或直接覆盖该组件达到修改样式和功能的目的。如果通过 eject 覆盖整个组件,需注意组件对应配置项的读取会失效,需要自行控制。

    该组件是导航栏的一部分,NavTitle 用于渲染导航栏左上角的站点 Logo 和标题。

    用法

    通过 自定义主题 使用,组件内部通过 useSiterspress.config.ts 读取配置:

    rspress.config.ts
    import { defineConfig } from 'rspress/config';
    
    export default defineConfig({
      title: '我的网站',
      logo: '/logo.png',
      // 或支持深色/浅色模式:
      logo: {
        light: '/logo-light.png',
        dark: '/logo-dark.png',
      },
      logoText: '我的网站',
    });

    自定义 NavTitle

    可以通过 Layout 组件的 navTitle 属性自定义 NavTitle:

    theme/index.tsx
    import { Layout as BasicLayout } from '@rspress/core/theme-original';
    
    const Layout = () => <BasicLayout navTitle={<MyCustomNavTitle />} />;
    
    export { Layout };
    export * from '@rspress/core/theme-original';

    或使用 beforeNavTitleafterNavTitle 属性插入自定义内容:

    theme/index.tsx
    import { Layout as BasicLayout } from '@rspress/core/theme-original';
    
    const Layout = () => (
      <BasicLayout
        beforeNavTitle={<div>前面</div>}
        afterNavTitle={<div>后面</div>}
      />
    );
    
    export { Layout };
    export * from '@rspress/core/theme-original';

    更多关于自定义主题的信息,请参阅自定义主题文档。

    配置

    • 类型: string | { light: string; dark: string }

    站点 Logo。可以是单个图片路径,或为浅色/深色模式分别配置图片。

    logoText

    • 类型: string

    Logo 旁边显示的文本。

    title

    • 类型: string

    站点标题。当未配置 logologoText 时显示。

    国际化支持

    对于多语言站点,可在每个 locale 中配置 title

    rspress.config.ts
    import { defineConfig } from 'rspress/config';
    
    export default defineConfig({
      title: 'My Site',
      themeConfig: {
        locales: [
          {
            lang: 'en',
            title: 'My Site',
          },
          {
            lang: 'zh',
            title: '我的网站',
          },
        ],
      },
    });

    NavTitle 组件会根据当前语言自动显示对应的标题。