-
Notifications
You must be signed in to change notification settings - Fork 87
feat: integrate Redocusaurus for interactive OFREP OpenAPI docs page #1283
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
base: main
Are you sure you want to change the base?
Conversation
❌ Deploy Preview for openfeature failed. Why did it fail? →
|
Summary of ChangesHello @jonathannorris, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request introduces interactive OpenAPI documentation for the OFREP specification by integrating Redocusaurus into the existing Docusaurus site. The primary goal is to enhance the user experience for API consumers by providing a dynamic and easily navigable API reference, while maintaining a consistent look and feel with the rest of the documentation. Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
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.
Code Review
This pull request integrates Redocusaurus to provide an interactive OpenAPI documentation page, which is a great addition. The implementation is mostly solid, with new dependencies and configurations correctly added. I've identified a couple of areas for improvement to enhance build stability and long-term maintainability. Specifically, I've suggested using a permalink for the OpenAPI spec to avoid unexpected build failures and pointed out the use of fragile CSS selectors that could break with future updates. Addressing these points will make the feature more robust.
| specs: [ | ||
| { | ||
| id: 'ofrep-api', | ||
| spec: 'https://raw.githubusercontent.com/open-feature/protocol/refs/heads/main/service/openapi.yaml', |
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.
The spec URL for the OFREP API points to the main branch. This can cause build instability if the openapi.yaml file in the open-feature/protocol repository changes. It's better to use a permalink to a specific commit hash or a tag to ensure reproducible builds.
| spec: 'https://raw.githubusercontent.com/open-feature/protocol/refs/heads/main/service/openapi.yaml', | |
| spec: 'https://raw.githubusercontent.com/open-feature/protocol/COMMIT_HASH_OR_TAG/service/openapi.yaml', |
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'm not sure what the best path forward on this is. I kinda like that it just fetches from GitHub for the updated doc automatically, but it does have issues like this. We could easily just have this fetch an updated version of the spec on build, but not sure this repo gets deployed frequently enough for that always to get updated...
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 think this is good enough for now. We can update it if we tag a v1 release.
223510c to
538a54d
Compare
|
I gave it a try in #1003. The gist of the feedback was:
I like the change! And I think the place you chose is better! |
538a54d to
468969b
Compare
|
yea @lukas-reining we could move this page to the documentation page, and potentially just update the intro description of the OpenAPI spec to be a more descriptive landing page for OFREP. I find it pretty nice for an API like this to just be API docs + interactive spec all-in one. Getting the CSS and options setup to not show the double left-nav was a bit of a pain, but it fits pretty well now that I was able to remove that. |
Signed-off-by: Jonathan Norris <jonathan@taplytics.com>
Signed-off-by: Jonathan Norris <jonathan@taplytics.com>
Signed-off-by: Jonathan Norris <jonathan@taplytics.com>
Signed-off-by: Jonathan Norris <jonathan@taplytics.com>
Signed-off-by: Jonathan Norris <jonathan@taplytics.com>
468969b to
e6655fd
Compare
Oh yes, I remember trying to style it :D
Mhhh I think I would like this. On the other hand I am not 100% sure until when this will be good, before we would like to have more structured intro, context, considerations etc. that we would rather like to have on it's own page also in the docs. |
Signed-off-by: Jonathan Norris <jonathan@taplytics.com>
Integrates Redocusaurus to display interactive OpenAPI documentation for OFREP.
Changes
redocusaurusdependency and preset configurationscalato Prism syntax highlighting (fixes OpenAPI spec rendering)docusaurus-theme-redocthemeFeatures
Related PR
Depends on: open-feature/spec#347