Add pre-live docs#80
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: de3194b1ac
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
Pull request overview
Adds a dedicated “pre-live” user-related API documentation tree to the Docusaurus site and introduces an in-page environment switcher so readers can toggle between production and pre-live docs (with updated navigation, sidebars, and llms.txt OpenAPI links).
Changes:
- Registers a new OpenAPI docs output (
user_related_apis_prelive) and exposes it in navbar + sidebars. - Adds a user-related environment notice + switcher on API item pages, including path-mapping utilities and styling.
- Updates
llms.txtgeneration to publish separate raw spec links for production vs pre-live, plus adds configuration/path-mapping tests.
Reviewed changes
Copilot reviewed 34 out of 191 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/user-related-env-paths.test.cjs | Adds unit tests for environment detection and route mapping between prod/pre-live docs. |
| tests/prelive-docs-config.test.cjs | Adds tests to assert Docusaurus/OpenAPI config, navbar/sidebar wiring, and llms.txt spec links. |
| src/theme/ApiItem/Layout/index.tsx | Wraps ApiItem layout to inject the environment notice on API pages. |
| src/components/UserRelatedApiEnvironmentNotice/styles.module.css | Styling for the environment notice and switcher UI. |
| src/components/UserRelatedApiEnvironmentNotice/paths.js | Implements environment detection + route mapping + availability checks. |
| src/components/UserRelatedApiEnvironmentNotice/index.tsx | Renders environment notice and switcher using docs data to detect equivalent targets. |
| sidebars.js | Adds a dedicated pre-live user-related sidebar and a safeRequire helper. |
| plugins/llms-txt-plugin.js | Publishes separate production/pre-live raw spec links; skips pre-live docs directory during docs walk. |
| docusaurus.config.js | Registers pre-live OpenAPI spec tree and adds pre-live link to navbar/footer. |
| docs/user_related_apis_versioned/users-controller-remove-follower.api.mdx | Updates generated OpenAPI doc content (responses) for Remove Follower. |
| docs/user_related_apis_versioned/users-controller-get-featured-users.api.mdx | Adds generated OpenAPI doc for “Get featured users”. |
| docs/user_related_apis_versioned/users-controller-follow-featured-users.api.mdx | Adds generated OpenAPI doc for “Follow all featured users”. |
| docs/user_related_apis_versioned/users-controller-edit-profile.api.mdx | Updates generated OpenAPI doc schema (adds showFollowFeaturedSuggestion). |
| docs/user_related_apis_versioned/tags-controller-find.api.mdx | Updates generated OpenAPI doc example timestamps. |
| docs/user_related_apis_versioned/comments-controller-delete-comment.api.mdx | Updates generated OpenAPI doc description and response codes/messages. |
| docs/user_related_apis_versioned/1.0.0/users-controller-remove-follower.api.mdx | Mirrors Remove Follower doc updates in the versioned snapshot. |
| docs/user_related_apis_versioned/1.0.0/users-controller-get-featured-users.api.mdx | Adds versioned snapshot doc for “Get featured users”. |
| docs/user_related_apis_versioned/1.0.0/users-controller-follow-featured-users.api.mdx | Adds versioned snapshot doc for “Follow all featured users”. |
| docs/user_related_apis_versioned/1.0.0/users-controller-edit-profile.api.mdx | Mirrors Edit Profile schema update in the versioned snapshot. |
| docs/user_related_apis_versioned/1.0.0/tags-controller-find.api.mdx | Mirrors Tags example timestamp update in the versioned snapshot. |
| docs/user_related_apis_versioned/1.0.0/comments-controller-delete-comment.api.mdx | Mirrors Comments delete doc updates in the versioned snapshot. |
| docs/user_related_apis_prelive/users-controller-toggle-follow.api.mdx | Adds pre-live generated OpenAPI doc for toggle follow. |
| docs/user_related_apis_prelive/users-controller-remove-follower.api.mdx | Adds pre-live generated OpenAPI doc for remove follower. |
| docs/user_related_apis_prelive/users-controller-get-user-following.api.mdx | Adds pre-live generated OpenAPI doc for “get following”. |
| docs/user_related_apis_prelive/users-controller-get-user-followers.api.mdx | Adds pre-live generated OpenAPI doc for “get followers”. |
| docs/user_related_apis_prelive/users-controller-edit-profile.api.mdx | Adds pre-live generated OpenAPI doc for edit profile. |
| docs/user_related_apis_prelive/users-controller-delete-account.api.mdx | Adds pre-live generated OpenAPI doc for delete account. |
| docs/user_related_apis_prelive/user-related-apis.info.mdx | Adds pre-live user-related API introduction/info page. |
| docs/user_related_apis_prelive/tags-controller-find.api.mdx | Adds pre-live generated OpenAPI doc for tag search. |
| docs/user_related_apis_prelive/rooms-controller-update-post-privacy.api.mdx | Adds pre-live generated OpenAPI doc for updating room post privacy. |
| docs/user_related_apis_prelive/rooms-controller-update-page.api.mdx | Adds pre-live generated OpenAPI doc for updating a page. |
| docs/user_related_apis_prelive/rooms-controller-update-group.api.mdx | Adds pre-live generated OpenAPI doc for updating a group. |
| docs/user_related_apis_prelive/rooms-controller-unfollow-page.api.mdx | Adds pre-live generated OpenAPI doc for unfollowing a page. |
| docs/user_related_apis_prelive/rooms-controller-search-rooms.api.mdx | Adds pre-live generated OpenAPI doc for searching rooms. |
| docs/user_related_apis_prelive/rooms-controller-remove-member.api.mdx | Adds pre-live generated OpenAPI doc for removing room members. |
| docs/user_related_apis_prelive/rooms-controller-reject-invite.api.mdx | Adds pre-live generated OpenAPI doc for rejecting invites. |
| docs/user_related_apis_prelive/rooms-controller-leave-group.api.mdx | Adds pre-live generated OpenAPI doc for leaving a group. |
| docs/user_related_apis_prelive/rooms-controller-join-room.api.mdx | Adds pre-live generated OpenAPI doc for joining a group. |
| docs/user_related_apis_prelive/rooms-controller-invite-user-to-room.api.mdx | Adds pre-live generated OpenAPI doc for inviting users to rooms. |
| docs/user_related_apis_prelive/rooms-controller-get-rooms.api.mdx | Adds pre-live generated OpenAPI doc for listing joined/managed rooms. |
| docs/user_related_apis_prelive/rooms-controller-get-room-profile.api.mdx | Adds pre-live generated OpenAPI doc for fetching room profile. |
| docs/user_related_apis_prelive/rooms-controller-get-room-profile-by-id.api.mdx | Adds pre-live generated OpenAPI doc for fetching room profile by ID. |
| docs/user_related_apis_prelive/rooms-controller-get-room-posts.api.mdx | Adds pre-live generated OpenAPI doc for listing room posts. |
| docs/user_related_apis_prelive/rooms-controller-get-room-members.api.mdx | Adds pre-live generated OpenAPI doc for listing room members. |
| docs/user_related_apis_prelive/rooms-controller-follow-page.api.mdx | Adds pre-live generated OpenAPI doc for following a page. |
| docs/user_related_apis_prelive/rooms-controller-create-new-page.api.mdx | Adds pre-live generated OpenAPI doc for creating a new page. |
| docs/user_related_apis_prelive/rooms-controller-create-new-group.api.mdx | Adds pre-live generated OpenAPI doc for creating a new group. |
| docs/user_related_apis_prelive/rooms-controller-admins-access.api.mdx | Adds pre-live generated OpenAPI doc for admin access updates. |
| docs/user_related_apis_prelive/rooms-controller-accept-invite.api.mdx | Adds pre-live generated OpenAPI doc for accepting invites. |
| docs/user_related_apis_prelive/rooms-controller-accept-by-private-token.api.mdx | Adds pre-live generated OpenAPI doc for accepting via private token URL. |
| docs/user_related_apis_prelive/posts-controller-view-tracking.api.mdx | Adds pre-live generated OpenAPI doc for post view tracking. |
| docs/user_related_apis_prelive/posts-controller-toggle-save.api.mdx | Adds pre-live generated OpenAPI doc for toggling post save. |
| docs/user_related_apis_prelive/posts-controller-toggle-like.api.mdx | Adds pre-live generated OpenAPI doc for toggling post like. |
| docs/user_related_apis_prelive/posts-controller-report-abuse.api.mdx | Adds pre-live generated OpenAPI doc for reporting post abuse. |
| docs/user_related_apis_prelive/posts-controller-get-my-posts-count-within-range.api.mdx | Adds pre-live generated OpenAPI doc for counting posts within verse range. |
| docs/user_related_apis_prelive/posts-controller-export-multiple-posts.api.mdx | Adds pre-live generated OpenAPI doc for exporting posts as PDF. |
| docs/user_related_apis_prelive/posts-controller-delete.api.mdx | Adds pre-live generated OpenAPI doc for deleting a post. |
| docs/user_related_apis_prelive/comments-controller-toggle-like.api.mdx | Adds pre-live generated OpenAPI doc for toggling comment like. |
| docs/user_related_apis_prelive/comments-controller-delete-comment.api.mdx | Adds pre-live generated OpenAPI doc for deleting a comment. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Summary
This PR adds dual-environment user-related API docs on the same site (
https://api-docs.quran.foundation) without changing existing production URLs.It introduces a separate Pre-live docs tree sourced from:
/openAPI/user-related-apis/pre-live/v1.jsonwhile keeping production as the default stable docs experience sourced from:
/openAPI/user-related-apis/v1.jsonWhat Changed
/docs/category/user-related-apis-pre-live/docs/category/user-related-apisllms.txtgeneration.Behavior for Non-Equivalent Endpoints
If an endpoint exists only in one environment (for example, Pre-live only), the switcher does not deep-link to a non-existent page in the other environment. It falls back to that environment’s category landing instead.
Backward Compatibility
/openAPI/user-related-apis/v1.json/docs/category/user-related-apisTest Plan
node --test tests/prelive-docs-config.test.cjs tests/user-related-env-paths.test.cjs tests/user-related-env-ui.test.cjs