mirror of
https://github.com/facebook/docusaurus.git
synced 2025-04-30 02:37:59 +02:00
* Add prop Signed-off-by: Josh-Cena <sidachen2003@gmail.com> * Add `collapsible` option to sidebar item Signed-off-by: Josh-Cena <sidachen2003@gmail.com> * Add eslint-ignore Signed-off-by: Josh-Cena <sidachen2003@gmail.com> * Move new page Signed-off-by: Josh-Cena <sidachen2003@gmail.com> * Allow in autogenerated Signed-off-by: Josh-Cena <sidachen2003@gmail.com> * Fix tests Signed-off-by: Josh-Cena <sidachen2003@gmail.com> * Move config options to plugin-docs Signed-off-by: Josh-Cena <sidachen2003@gmail.com> * Make non-collapsible items always expanded Signed-off-by: Josh-Cena <sidachen2003@gmail.com> * docs versioning cli should receive a single options object * Update cli.test.ts * revert validateCategoryMetadataFile change * remove theme usage of themeConfig.sidebarCollapsible * better handling of sidebar item category inconsistencies + add warning message * Update snapshot Signed-off-by: Josh-Cena <sidachen2003@gmail.com> * Handle plugin option inconsistencies * improve doc for new sidebarCollapsible doc options * remove warning in fixSidebarItemInconsistencies as it will be annoyed for versioned sites, as "collapsed" is already persisted in sidebar json files Co-authored-by: slorber <lorber.sebastien@gmail.com>
55 lines
1.2 KiB
JavaScript
55 lines
1.2 KiB
JavaScript
/*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
|
|
module.exports = {
|
|
sidebar: [
|
|
{
|
|
type: 'doc',
|
|
id: 'index',
|
|
label: 'Index',
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'section',
|
|
collapsible: false,
|
|
items: ['index', 'more-test'],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Huge sidebar category',
|
|
items: generateHugeSidebarItems(4),
|
|
},
|
|
],
|
|
};
|
|
|
|
function generateHugeSidebarItems() {
|
|
const maxLevel = 4;
|
|
const linksCount = 5;
|
|
const categoriesCount = 5;
|
|
|
|
function generateRecursive(maxLevel, currentLevel = 0) {
|
|
if (currentLevel === maxLevel) {
|
|
return [];
|
|
}
|
|
|
|
const linkItems = [...Array(linksCount).keys()].map((index) => ({
|
|
type: 'link',
|
|
href: '/',
|
|
label: `Link ${index} (level ${currentLevel + 1})`,
|
|
}));
|
|
|
|
const categoryItems = [...Array(categoriesCount).keys()].map((index) => ({
|
|
type: 'category',
|
|
label: `Category ${index} (level ${currentLevel + 1})`,
|
|
items: generateRecursive(maxLevel, currentLevel + 1),
|
|
}));
|
|
|
|
return [...linkItems, ...categoryItems];
|
|
}
|
|
|
|
return generateRecursive(maxLevel);
|
|
}
|