0

我正在尝试在 VuePress 中创建一个带有多个侧边栏组的侧边栏。但是,对于侧边栏数组的元素之一,该元素是单个文件,而不是组。例如:

module.exports = {
  themeConfig: {
    sidebar: [
      {
        title: 'Group 1',   // required
        path: '/foo/',      // optional, which should be a absolute path.
        collapsable: false, // optional, defaults to true
        sidebarDepth: 1,    // optional, defaults to 1
        children: [
          '/'
        ]
      },
      {
        title: 'Group 2',
        children: [ /* ... */ ]
      },
      "my_md_file",
    ]
  }
}

这可行,但不允许用户在其他组的子级上查看 Markdown 文件的子标题。displayAllHeaders即使不在页面上,我也可以使用来显示页面的副标题,但我只希望对单个页面具有这种效果。

4

1 回答 1

0

SidebarLink.vue在第 46 行的组件中插入此代码段而不是条件(我只添加了第一个else if条件):

  if (item.type === 'auto') {
    return [link, renderChildren(h, item.children, item.basePath, $route, maxDepth)]
  } else if (item.frontmatter.displayHeaders && item.headers && !hashRE.test(item.path)) {
    const children = groupHeaders(item.headers)
    return [link, renderChildren(h, children, item.path, $route)]
  } else if ((active || displayAllHeaders) && item.headers && !hashRE.test(item.path)) {
    const children = groupHeaders(item.headers)
    return [link, renderChildren(h, children, item.path, $route, maxDepth)]
  } else {
    return link
  }

将此语句添加到frontmatter所需的降价文件部分:

  displayHeaders: true
于 2020-01-14T20:08:14.170 回答