diff --git a/docs/intro.md b/docs/intro.md index 1f2830e..c18df18 100644 --- a/docs/intro.md +++ b/docs/intro.md @@ -1,5 +1,6 @@ --- slug: / +id: intro sidebar_position: 1 --- diff --git a/docusaurus.config.js b/docusaurus.config.js index a8e42de..4af01ab 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -5,6 +5,7 @@ const lightCodeTheme = require('prism-react-renderer/themes/github'); const darkCodeTheme = require('prism-react-renderer/themes/dracula'); const math = require('remark-math'); const katex = require('rehype-katex'); +const { filterItems } = require('./sidebar-utils'); /** @type {import('@docusaurus/types').Config} */ const config = { @@ -38,7 +39,16 @@ const config = { routeBasePath: '/', // serve the docs at the site's route sidebarPath: require.resolve('./sidebars.js'), + async sidebarItemsGenerator({ defaultSidebarItemsGenerator, ...args }) { + const sidebarItems = await defaultSidebarItemsGenerator(args); + const itemsToFilterOut = [ + 'data-model/entities/entity-identifiers', + 'data-model/entities/other' + ]; + + return filterItems(sidebarItems, itemsToFilterOut); + }, // Please change this to your repo. // Remove this to remove the "edit this page" links. // editUrl: diff --git a/sidebar-utils.js b/sidebar-utils.js new file mode 100644 index 0000000..c910d53 --- /dev/null +++ b/sidebar-utils.js @@ -0,0 +1,18 @@ +// filter out specific items from the sidebar +function filterItems(items, itemsToFilter) { + + // filter out items of categories + let result = items.map((item) => { + if (item.type === 'category') { + return {...item, items: filterItems(item.items, itemsToFilter)}; + } + return item; + }); + + // filter out items in current level + return result.filter( item => !itemsToFilter.includes(item.id) ); + } + + module.exports = { + filterItems + }; \ No newline at end of file