apify-docs icon indicating copy to clipboard operation
apify-docs copied to clipboard

Inferring "sidebar_position" from the filename

Open honzajavorek opened this issue 1 year ago • 4 comments

In the Python course, I use the following format for filenames: {sidebar_position}_{slug}.md E.g. the file of the tenth lesson is 10_crawling.md

Would it be a good idea if we added inferring of sidebar_position to Docusaurus? The algorithm would be:

  1. See if sidebar_position is set in the front matter. If yes, respect the value.
  2. If not set, see if the filename starts with r"\d\d_". If yes, take that as the value for sidebar_position.
  3. Otherwise leave sidebar_position unassigned.

Not sure if this is worth the engineering and the cognitive load necessary to understand that this happens (would need to be documented somewhere in contribution docs). But it would help me to keep the values synchronized both in the filename and the front matter.

If I wanted to reorder lessons or add new lesson in between existing ones, I could only change filenames. The way it is now it's easy to forget about the front matter and leave it in disarray by mistake.

At the same time, I find the {sidebar_position}_{slug}.md format of filename highly practical for the purpose of the course. At least subjectively, my orientation in editor and file system is much better this way than with other parts of the Academy where the files are ordered alphabetically on disk, but according to sidebar_position in the docs navigation.

honzajavorek avatar Oct 10 '24 14:10 honzajavorek

I don't think docusaurus supports this, and it feels weird to mix those approaches. Either you get the ordering based on the names, or you use the explicit position in front matter.

https://docusaurus.io/docs/sidebar/autogenerated

B4nan avatar Oct 11 '24 08:10 B4nan

@B4nan If I understand you correctly, it should be possible to skip specifying sidebar_position if I'm 100 % sure that my files are sorted the correct way, because Docusaurus' default sorting is by filenames, alphabetically? That would be great!

honzajavorek avatar Oct 11 '24 10:10 honzajavorek

Yes, but I am not sure how this works when you try to mix those two approaches, I would say it's one or the other.

B4nan avatar Oct 11 '24 10:10 B4nan

I wouldn't mix the approaches within one folder 🤔 I might give it a try and see if and how it works.

honzajavorek avatar Oct 11 '24 11:10 honzajavorek