Skip to content

项目目录

image-20240509105730506

目录说明

docs 文档目录

.vitepress 配置目录

config.mjs 配置文件

node_modules 依赖目录

package.json 记录依赖

项目配置

image-20240509110106724

其中titledescription自然不用说 主要是 themeConfig

其中 nav字段代表配置首页头部的导航栏

image-20240509110243385

sidebar 代表侧边栏

image-20240509110424164

js
export default {
  themeConfig: {
    nav: [
      { text: 'Guide', link: '/guide' },
      { text: 'Config', link: '/config' },
      { text: 'Changelog', link: 'https://github.com/...' }
    ]
  }
}

text 是 nav 中显示的实际文本,而 link 是单击文本时将导航到的链接。对于链接,将路径设置为不带 .md 后缀的实际文件,并且始终以 / 开头。

导航链接也可以是下拉菜单。为此,请替换 link 选项,设置 items 数组。

js
export default {
  themeConfig: {
    nav: [
      { text: 'Guide', link: '/guide' },
      {
        text: 'Dropdown Menu',
        items: [
          { text: 'Item A', link: '/item-1' },
          { text: 'Item B', link: '/item-2' },
          { text: 'Item C', link: '/item-3' }
        ]
      }
    ]
  }
}

自定义链接的“target”和“rel”属性

默认情况下,VitePress 会根据链接是否为外部链接自动判断 targetrel 属性。但如果愿意,也可以自定义它们。

js
export default {
  themeConfig: {
    nav: [
      {
        text: 'Merchandise',
        link: 'https://www.thegithubshop.com/',
        target: '_self',
        rel: 'sponsored'
      }
    ]
  }
}

侧边栏菜单的最简单形式是传入一个链接数组。第一级项目定义侧边栏的“部分”。它应该包含作为小标题的 text 和作为实际导航链接的 items

js
export default {
  themeConfig: {
    sidebar: [
      {
        text: 'Section Title A',
        items: [
          { text: 'Item A', link: '/item-a' },
          { text: 'Item B', link: '/item-b' },
          ...
        ]
      },
      {
        text: 'Section Title B',
        items: [
          { text: 'Item C', link: '/item-c' },
          { text: 'Item D', link: '/item-d' },
          ...
        ]
      }
    ]
  }
}

每个 link 都应指定以 / 开头的实际文件的路径。如果在链接末尾添加斜杠,它将显示相应目录的 index.md

js
export default {
  themeConfig: {
    sidebar: [
      {
        text: 'Guide',
        items: [
          // 显示的是 `/guide/index.md` 页面
          { text: 'Introduction', link: '/guide/' }
        ]
      }
    ]
  }
}

可以进一步将侧边栏项目嵌入到 6 级深度,从根级别上计数。请注意,深度超过 6 级将被忽略,并且不会在侧边栏上显示。

js
export default {
  themeConfig: {
    sidebar: [
      {
        text: 'Level 1',
        items: [
          {
            text: 'Level 2',
            items: [
              {
                text: 'Level 3',
                items: [
                  ...
                ]
              }
            ]
          }
        ]
      }
    ]
  }
}

多侧边栏

可能会根据页面路径显示不同的侧边栏.

js
export default {
  themeConfig: {
    sidebar: {
      // 当用户位于 `guide` 目录时,会显示此侧边栏
      '/guide/': [
        {
          text: 'Guide',
          items: [
            { text: 'Index', link: '/guide/' },
            { text: 'One', link: '/guide/one' },
            { text: 'Two', link: '/guide/two' }
          ]
        }
      ],

      // 当用户位于 `config` 目录时,会显示此侧边栏
      '/config/': [
        {
          text: 'Config',
          items: [
            { text: 'Index', link: '/config/' },
            { text: 'Three', link: '/config/three' },
            { text: 'Four', link: '/config/four' }
          ]
        }
      ]
    }
  }
}

注意 : 文章中 link 起始的/都是相对于docs目录开始的

我自己的配置

js
import { defineConfig } from "vitepress";

// https://vitepress.dev/reference/site-config
export default defineConfig({
  // base: "/blog/",
  head:[
      ['link',{ rel: 'icon', href: '/favicon.ico' }],
    ['meta', { name: 'referrer', content: 'no-referrer' }]
  ],
  title: "老赵",
    //打包的输出位置
  outDir: "../dist",
  description: "",
  themeConfig: {
    docFooter: {
      prev: "上一篇",
      next: "下一篇",
    },
    lastUpdated: {
      text: "最后更新时间",
      // formatOptions: {
      //   dateStyle: "full",
      //   timeStyle: "medium",
      // },
    },
      //这个logo的路径是基于public目录开始的 如果没有public目录 需要自己在docs中创建
    logo: "/像素_猫.svg",
    // https://vitepress.dev/reference/default-theme-config
    outline: {
      label: "本页目录",
    },
    search: {
      provider: "local",
    },
    nav: [
      {text:'搭建博客系统', link: "/搭建博客系统/1.安装vite-press"},
      {
        text: "我的日常",
        items: [
          {
            text: "windows系统配置别名",
            link: "/我的日常/windows配置命令别名",
          },
          {
            text: "软件卸载错误",
            link: "/我的日常/安装或者卸载软件时遇到trying to use is on a network resource that is unavailable",
          },{
            text: "美化windows终端",
            link: "/我的日常/美化windows终端",
          }
        ],
      },{
        text: "前端",
        items: [
          {
            text: "网格布局",
            link: "/前端/网格布局/1.容器声明",
          },
          {
            text: "Electron",
            link: "/前端/electron/1.Electron由来",
          },
          {
            text: "Flex布局",
            link: "/前端/flex布局/容器属性/1.弹性盒",
          }
        ],
      },{
        text: "杂七杂八",
        items: [
          {
            text: "考勤",
            link: "/杂七杂八/考勤",
          }
        ],
      },
    ],
    sidebar: {
      "/我的日常": [
        {
          text: "windows系统配置别名",
          link: "/我的日常/windows配置命令别名",
        },
        {
          text: "软件卸载错误",
          link: "/我的日常/安装或者卸载软件时遇到trying to use is on a network resource that is unavailable",
        },{
          text: "美化windows终端",
          link: "/我的日常/美化windows终端",
        },
      ],
      "/搭建博客系统":[
        {text:'开始',items:[{
            text: "起步",
            link: "/搭建博客系统/1.安装vite-press",
          },{
            text: "配置",
            link: "/搭建博客系统/2.配置vite-press",
          },{
            text: "PicGo",
            link: "/搭建博客系统/3.图片上传策略",
          },,{
            text: "github 工作流",
            link: "/搭建博客系统/4.github自动部署",
          },]}
      ],
      "/前端/网格布局": [
        {
          text: "开始",
          items: [{
            text: "容器声明",
            link: "/前端/网格布局/1.容器声明",
          },{
            text: "划分行列",
            link: "/前端/网格布局/2.划分行列",
          },{
            text: "设置间距",
            link: "/前端/网格布局/3.设置间距",
          },{
            text: "栅格线部署",
            link: "/前端/网格布局/4.栅格线部署",
          },{
            text: "区域部署",
            link: "/前端/网格布局/5.区域部署",
          },{
            text: "栅格控制",
            link: "/前端/网格布局/6.栅格控制",
          },{
            text: "栅格简写",
            link: "/前端/网格布局/7.栅格简写",
          }]
        }
      ],
      "/前端/electron": [
        {
          text: "开始",
          items: [{
            text: "Electron由来",
            link: "/前端/electron/1.Electron由来",
          },{
            text: "Electron架构",
            link: "/前端/electron/2.Electron架构",
          },]
        }
      ],
      "/前端/flex布局":[
        {
          text: "容器属性",
          items: [{
            text: "弹性盒子",
            link: "/前端/flex布局/容器属性/1.弹性盒",
          },{
            text: "主轴方向",
            link: "/前端/flex布局/容器属性/2.主轴方向",
          },{
            text: "换行",
            link: "/前端/flex布局/容器属性/3.换行",
          },{
            text: "主轴对齐方式",
            link: "/前端/flex布局/容器属性/4.主轴对齐方式",
          },{
            text: "交叉轴对齐方式",
            link: "/前端/flex布局/容器属性/5.交叉轴对齐方式",
          },{
            text: "多交叉轴对齐方式",
            link: "/前端/flex布局/容器属性/6.多交叉轴对齐方式",
          }]
        },
        {
          text: "项目属性",
          items: [{
            text: "排序",
            link: "/前端/flex布局/项目属性/1.排序",
          },{
            text: "flex-basis",
            link: "/前端/flex布局/项目属性/2.flex-basis.md",
          },{
            text: "放大比例",
            link: "/前端/flex布局/项目属性/3.放大比例.md",
          },{
            text: "缩小比例",
            link: "/前端/flex布局/项目属性/4.缩小比例.md",
          },{
            text: "独立对齐方式",
            link: "/前端/flex布局/项目属性/5.独立对齐方式",
          }]
        }
      ]
    },

    socialLinks: [
      // { icon: "github", link: "https://github.com/vuejs/vitepress" },
    ],
  },
});