Показать другую боковую панель в зависимости от текущей страницы - PullRequest
1 голос
/ 01 октября 2019

Можно ли показывать разные боковые панели в зависимости от того, в каком разделе сайта вы находитесь? Поэтому, если бы у меня было два раздела (Books и Countries), я мог бы показать соответствующий объект меню боковой панели:

module.exports = {
    books: {
        "Children's Book": [
            "books/childrens-books/winnie-the-pooh",
            "books/childrens-books/harry-potter",
        ],
        "Non-Fiction": [
            "books/non-fiction/hitchikers-guide",
            "books/non-fiction/a-history-of-england",
        ]
    },
    countries: {
        "Europe": [
            "countries/europe/england",
            "countries/europe/france",
            "countries/europe/spain",
        ],
        "Asia": [
            "countries/asia/china",
            "countries/asia/india",
            "countries/asia/laos",
        ],
    },
}

Документы действительно ссылаются на , что-то подобное может бытьготово, но примеров для этого нет:

Можно создать несколько боковых панелей для разных файлов Markdown, добавив дополнительные ключи верхнего уровня к экспортируемому объекту.

Единственное место, где я могу найти ссылки на боковые панели, - docusaurus.config.js, но я не уверен, для чего предназначен этот раздел:

presets: [
    [
        '@docusaurus/preset-classic',
            {
                docs: {
                    sidebarPath: require.resolve('./sidebars.js'),
                },
...

Любые указатели оценены!

1 Ответ

0 голосов
/ 01 октября 2019

Таким образом, проблема заключалась в том, что моя структура контента не соответствовала тому, что было у меня в sidebar.js. Теперь это моя структура контента:

docs
├── README.md
├── books
│   ├── childrens-books
│   │   ├── harry-potter.md
│   │   └── winnie-the-pooh.md
│   └── non-fiction
│       ├── a-history-of-england.md
│       └── hitchikers-guide.md
└── countries
    ├── asia
    │   ├── china.md
    │   ├── india.md
    │   └── laos.md
    └── europe
        ├── england.md
        ├── france.md
        └── spain.md
├── docs
├── docusaurus.config.js
├── sidebars.js
└── src

Я думаю, что проблема заключалась в том, что Docusaurus не мог найти статьи, на которые я ссылался, поэтому он просто не анализировал.

При такой настройке URL-адреса, такие как localhost:3000/docs/books/childrens-books/harry-potter, будут работать нормально, но localhost:3000/docs/books/childrens-books/ вернет пустую страницу, так как для этого URL нет соответствующей статьи.

...