-
Notifications
You must be signed in to change notification settings - Fork 868
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature - Autotoc generation #10574
base: main
Are you sure you want to change the base?
Feature - Autotoc generation #10574
Conversation
What naming conventions are you following for generating the human-readable names in the TOC? I assume you'd want to use something similar to what ADO Wiki follows or give the end-user options for detecting camel case, snake case, etc. Also, should there be an option to output toc.yml to the end user so they could use autotoc generation for the first pass, then easily switch to providing manually updated toc.yml files? |
Here are some rules I was following (in Powershell) to convert the folder name to human readable to handle these scenarios: hello-world = Hello World
|
i see this an extension and not a part of the auto toc feature. so the auto toc does the job of generating toc using the underlying file system. you can apply an extension to massage those titles to fit whatever need. we can easily write one i think ryan. @yufeih can weigh in . Found one, we already have a contribution for this. |
@dotnet-policy-service agree company="Microsoft" |
It makes sense to have a default naming convention for folders. Typically, folder names for URL segments uses either hyphens (-) or underscores (_) for spaces. We could follow the ADO wiki convention. |
!m.LocalPathFromRoot.Contains("..")).OrderBy(f => f.LocalPathFromRoot.Split('/').Count()).FirstOrDefault(); | ||
|
||
// If there is no toc along side docfx.json, skip tocgen - validate behavior with yuefi | ||
if (rootTocModel != null && rootTocModel.LocalPathFromRoot.Equals(tocFileName)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
auto
should allow gen TOC based on the directory structure for any TOC file, not just the root
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i am glad i paused to ask this. what would be the scenario where if the root toc.yml is not present and the auto toc still need to populate the toc.yml in sub folders ? my understanding is if the root toc.yml is missing, there is no nav i.e there is no way for users to reach the toc unless they remember the url. Is my understanding off ?
This pull request introduces the ability to generate a Table of Contents (TOC) based on the underlying file system. The feature works as follows:
When auto TOC generation is enabled:
auto: true
to thetoc.yml
located alongside thedocfx.json
.toc.yml
in the order specified by the file system.auto: false
is encountered in any TOC, the auto TOC generation for that TOC will be halted.href
before adding one, thus avoiding any duplicates.