docusaurus
docusaurus copied to clipboard
Inaccesability of index when there also a file matching the directory name
Have you read the Contributing Guidelines on issues?
- [X] I have read the Contributing Guidelines on issues.
Prerequisites
- [X] I'm using the latest version of Docusaurus.
- [X] I have tried the
npm run clear
oryarn clear
command. - [X] I have tried
rm -rf node_modules yarn.lock package-lock.json
and re-installing packages. - [X] I have tried creating a repro with https://new.docusaurus.io.
- [X] I have read the console error message carefully (if applicable).
Description
In e.g. /docs/module/ there could be an index.md and a module.mdx file. The module.mdx is served as root of the folder, and the index is unreachable, although it appears as 'next' link at the bottom of the module/ path. Clicking it stays on the same page though.
Reproducible demo
No response
Steps to reproduce
- Create /doc/demo folder and in there:
- Create a file index.md with a title like # Hello Index
- Create a file demo.mdx with a title like # Hello Demo
- Yarn start
- Navigate to /docs/demo
- Try to view both pages
Expected behavior
I expect there is a precedence, where index.md(x) is used as index and the demo.mdx is just a doc.
Actual behavior
/docs/demo will show you the content of demo.mdx, the content of index.mdx is ignored. Although the next-link shows index, you can't view it if you click it. It stays on the same page.
Your environment
- Public source code: https://github.com/usethesource/rascal-website
- Public site URL: eg. https://www.rascal-mpl.org/docs/Library/resource/jdbc/
- Docusaurus version used: 2.2.0
- Environment name and version (e.g. Chrome 89, Node.js 16.4):
- Operating system and version (e.g. Ubuntu 20.04.2 LTS):
Self-service
- [ ] I'd be willing to fix this bug myself.
Yes, I'm afraid we do the slug remapping too aggressively. To be clear: the issue is not about the sidebar category indexes, but slug clashing. /docs/module/index.md
and /docs/module/module.md
both map to the same slug /docs/module/
. To get around it for the time being, add an explicit slug
front matter for one of the files.
There are two ways to fix this: emit a warning/error telling the user to add an explicit front matter to one of the files, or have a priority of index > README > <category name>
.