Skip to content

Conversation

@sserrata
Copy link
Member

Description

Docusaurus autogenerated sidebars sorts sidebar doc items alphabetically by default which can push the OpenAPI "Introduction" doc out of first position. This change automatically adds sidebar_position: 0 to frontmatter to help ensure index.md is the first doc item for a given API.

Motivation and Context

Docusaurus automatically makes index.md the category link when applying autogenerated to the doc parent/root directory, e.g. {type: "autogenerated", dirName: "."}. It also hides the index.md doc from the sidebar. Unfortunately this behavior does not carry over when applying autogenerated to a non-parent path, e.g. {type: "autogenerated", dirName: "petstore"}.

See this issue and this one for more details.

The TL;DR is that using autogenerated on a sub path creates a sidebar slice whereas applying it at the parent level creates a whole sidebar object. Sidebar slices currently do not respect index/README docs as category links.

How Has This Been Tested?

Screenshots (if appropriate)

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist

  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes if appropriate.
  • All new and existing tests passed.

@sserrata sserrata added the bug Something isn't working label Apr 18, 2022
@sserrata sserrata requested review from blindaa121 and csestito April 18, 2022 15:04
@sserrata sserrata added enhancement New feature or request and removed bug Something isn't working labels Apr 18, 2022
@github-actions
Copy link

Size Change: -47.9 kB (-2%)

Total Size: 2.31 MB

Filename Size Change
demo/.docusaurus/globalData.json 8.13 kB -595 B (-7%)
demo/build/assets/css/styles.********.css 85.9 kB +842 B (+1%)
demo/build/assets/js/066d920b.********.js 0 B -6.82 kB (removed) 🏆
demo/build/assets/js/1f41b3da.********.js 9.56 kB -1.61 kB (-14%) 👏
demo/build/assets/js/2c9e856c.********.js 0 B -11.7 kB (removed) 🏆
demo/build/assets/js/4a47cb6d.********.js 1.36 kB -35 B (-3%)
demo/build/assets/js/71d92ba4.********.js 0 B -4.32 kB (removed) 🏆
demo/build/assets/js/7608cde2.********.js 1.17 kB -142 B (-11%) 👏
demo/build/assets/js/8084356f.********.js 11 kB +56 B (+1%)
demo/build/assets/js/8dd270d8.********.js 0 B -29.4 kB (removed) 🏆
demo/build/assets/js/9719473f.********.js 1.17 kB -72 B (-6%)
demo/build/assets/js/a9d8a64b.********.js 2.36 kB -78 B (-3%)
demo/build/assets/js/bb0d0959.********.js 0 B -2.12 kB (removed) 🏆
demo/build/assets/js/main.********.js 389 kB -649 B (0%)
demo/build/assets/js/runtime~main.********.js 6.25 kB -97 B (-2%)
demo/build/assets/js/03d773ca.********.js 532 B +532 B (new file) 🆕
demo/build/assets/js/14eb3368.********.js 8 kB +8 kB (new file) 🆕
demo/build/assets/js/cc12b702.********.js 376 B +376 B (new file) 🆕
ℹ️ View Unchanged
Filename Size Change
demo/build/assets/js/0de0d9d3.********.js 11.4 kB 0 B
demo/build/assets/js/0e384e19.********.js 2.39 kB 0 B
demo/build/assets/js/0f5373df.********.js 9.78 kB 0 B
demo/build/assets/js/11cd04f0.********.js 15.8 kB 0 B
demo/build/assets/js/17896441.********.js 1.55 kB 0 B
demo/build/assets/js/18927b64.********.js 20 kB 0 B
demo/build/assets/js/18c41134.********.js 14.7 kB 0 B
demo/build/assets/js/1be78505.********.js 10.8 kB 0 B
demo/build/assets/js/1e4232ab.********.js 3.45 kB 0 B
demo/build/assets/js/1f391b9e.********.js 2.6 kB 0 B
demo/build/assets/js/2695.********.js 1.02 kB 0 B
demo/build/assets/js/3372.********.js 11.5 kB 0 B
demo/build/assets/js/393be207.********.js 921 B 0 B
demo/build/assets/js/42c7b392.********.js 17.8 kB 0 B
demo/build/assets/js/4685.********.js 1.1 MB 0 B
demo/build/assets/js/46a8ec8c.********.js 20.4 kB 0 B
demo/build/assets/js/477c195c.********.js 4.75 kB -15 B (0%)
demo/build/assets/js/4c5e977b.********.js 36.7 kB 0 B
demo/build/assets/js/4c9d5d90.********.js 19.5 kB 0 B
demo/build/assets/js/4e8c00d7.********.js 9.79 kB 0 B
demo/build/assets/js/533a09ca.********.js 2.8 kB 0 B
demo/build/assets/js/5456.********.js 10 kB 0 B
demo/build/assets/js/5c2e4ff8.********.js 17 kB 0 B
demo/build/assets/js/5c868d36.********.js 3.52 kB 0 B
demo/build/assets/js/6ab70d68.********.js 10.2 kB 0 B
demo/build/assets/js/6d9cbd66.********.js 20.6 kB 0 B
demo/build/assets/js/822bd8ab.********.js 3.19 kB 0 B
demo/build/assets/js/846aa161.********.js 17.6 kB 0 B
demo/build/assets/js/888b62d9.********.js 1.49 kB +3 B (0%)
demo/build/assets/js/935f2afb.********.js 3.54 kB 0 B
demo/build/assets/js/9e4087bc.********.js 1.61 kB 0 B
demo/build/assets/js/b0e6d8b9.********.js 2.32 kB 0 B
demo/build/assets/js/b2f554cd.********.js 121 B 0 B
demo/build/assets/js/bd766368.********.js 9.49 kB 0 B
demo/build/assets/js/c3d13055.********.js 8.63 kB 0 B
demo/build/assets/js/c4f5d8e4.********.js 72.3 kB 0 B
demo/build/assets/js/ce11f325.********.js 10.9 kB 0 B
demo/build/assets/js/common.********.js 125 kB 0 B
demo/build/assets/js/d03381af.********.js 22.2 kB 0 B
demo/build/assets/js/da717792.********.js 16.4 kB 0 B
demo/build/assets/js/dc10a35a.********.js 16.5 kB 0 B
demo/build/assets/js/dde745ce.********.js 15.2 kB 0 B
demo/build/assets/js/dff1c289.********.js 4.2 kB 0 B
demo/build/assets/js/e1362e6d.********.js 1.42 kB 0 B
demo/build/assets/js/e44a2883.********.js 5.45 kB 0 B
demo/build/assets/js/f55d3e7a.********.js 3.01 kB 0 B
demo/build/index.html 72.6 kB 0 B

compressed-size-action

@github-actions
Copy link

Visit the preview URL for this PR (updated for commit 0ea621b):

https://docusaurus-openapi-36b86--pr51-svs2w67w.web.app

(expires Wed, 18 May 2022 15:09:47 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

@sserrata
Copy link
Member Author

sserrata commented Apr 18, 2022

Seeing the following when attempting to build locally:

...
[ERROR] Error: Failed to retrieve the git history for file "/Users/sserrata/projects/panw/docusaurus-openapi/demo/api/food/burgers/list-all-burgers.mdx" with unexpected output: 
[ERROR] Error: Failed to retrieve the git history for file "/Users/sserrata/projects/panw/docusaurus-openapi/demo/api/food/yogurtstore/list-all-flavors.mdx" with unexpected output: 
[ERROR] Error: Failed to retrieve the git history for file "/Users/sserrata/projects/panw/docusaurus-openapi/demo/api/food/yogurtstore/index.mdx" with unexpected output: 

Error seems to get thrown here: https://github.com/facebook/docusaurus/blob/2eeb0e46a2e037a885a30c653d73dd1a3e921c94/packages/docusaurus-utils/src/gitUtils.ts#L140

We can control using plugin-content-docs options showLastUpdateAuthor and showLastUpdateTime but would be forced to disable them for all docs in that plugin instance.

Source

Copy link
Collaborator

@blindaa121 blindaa121 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes tested by generating index.mdx for cos api and expected behavior is achieved 🚀

image

@sserrata sserrata merged commit ea55c20 into panw-main Apr 18, 2022
@sserrata sserrata deleted the info-sidebar-position branch April 29, 2022 15:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants