Skip to content
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

Implement the x-tags extension for schema objects #837

Merged
merged 10 commits into from
Jun 17, 2024

Conversation

ElliotFriend
Copy link
Contributor

Description

This change enables schemas to have x-tags defined for them, which allows them to be grouped alongside related path objects when sidebarOptions.groupPathsBy: 'tag' is configured.

Motivation and Context

In reporting the unexpected behavior in #836, I began poking around and discovered the x-tags extension by redocly. It seems like a useful feature, and was easy enough to get working.

It's intended (by redocly, and so here) that it's a "competing" option for configuring showSchemas: true, which is why you'll see some changes to the checks/logic in openapi/openapi.ts surrounding if/when to add schema objects to the sidebar slice.

How Has This Been Tested?

Tested this on my local computer, using the demo app. I've added (only locally, I think) x-tags to a few of the defined schemas, and made sure they show up where they belong.

Screenshots (if appropriate)

Screenshot 2024-06-12 at 1 51 12 PM

Types of changes

  • New feature (non-breaking change which adds functionality)

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.

Copy link

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

https://docusaurus-openapi-36b86--pr837-y87n5vtc.web.app

(expires Sun, 14 Jul 2024 14:58:49 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

@sserrata
Copy link
Member

LGTM!

@sserrata sserrata merged commit 13e882e into PaloAltoNetworks:main Jun 17, 2024
13 checks passed
sserrata pushed a commit that referenced this pull request Jun 18, 2024
* introduce x-tags onto SchemaObject type, and revise sidebar types

A few of the types in the `sidebars/index.ts` page have been changed
to allow for more proper typing of both api items and schema items.

* add schemas with x-tags into the tag category sidebar slice

* add schemas with x-tags even if showSchemas is not true

* add a badge and some styling for schema sidebar labels

* add some test coverage

* add some x-tags documentation to `sidebars.md`

* update documentation on styling sidebar items

* include schema-only tags, just like operation-only ones

* add the pet x-tag to the Cat schema for demo purposes

* filter out x-tagged schemas from the "Schemas" category

they'll already be displayed elsewhere
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants