Skip to content

omar2535/vuepress-sidebar-children-autogenerator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Vuepress Sidebar children auto-generator

https://www.npmjs.com/package/@omar2535/vuepress-sidebar-children-autogenerator https://www.npmjs.com/package/@omar2535/vuepress-sidebar-children-autogenerator GitHub license

Creates children objects so that you won't have to do it manually

Install

via NPM

npm i @omar2535/vuepress-sidebar-children-autogenerator

via YARN

yarn add @omar2535/vuepress-sidebar-children-autogenerator

Usage

let childrenGenerator = require('@omar2535/vuepress-sidebar-children-autogenerator');

then in .vuepress/config.js, if we had a directory structure like so:

.
+-- .vuepress
+-- notes
|   +-- readme.md
|   +-- course_notes
|       +-- readme.md
|       +-- PHYS100.md
|   +-- random.md

adding the following to the sidebar config like so:

sidebar: 
{
  '/notes/': childrenGenerator('/notes/'),
}

would result in a conversion like this when compiled:

sidebar: 
{
  '/notes/': [
    {
      title: 'course_notes',
      path: '/notes/course_notes/',
      collapsable: true,
      children: [ '/notes/course_notes/PHYS100.md' ]
    },
    "random.md"
  ],
}

Parameters

Param Required? Default Result
basePath True N/A Base path of folder to generate children from
collapsable false true Whether the children will be collapsable if any subfolders were found
filesToExclude false ["readme .md"] Excludes file names contained in the array. Is NOT case sensitive, so files with the same name but difference case will be ignored
directoreisToExclude false [".vuepress", "node_modules", ".git"] Excludes folder names contained in the array