Skip to content

Add pre-live docs#80

Merged
osamasayed merged 8 commits intomainfrom
add-pre-live-docs
Mar 29, 2026
Merged

Add pre-live docs#80
osamasayed merged 8 commits intomainfrom
add-pre-live-docs

Conversation

@osamasayed
Copy link
Copy Markdown
Member

@osamasayed osamasayed commented Mar 28, 2026

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.json

while keeping production as the default stable docs experience sourced from:

  • /openAPI/user-related-apis/v1.json

What Changed

  • Added a new pre-live OpenAPI docs config and generated docs output.
  • Added a dedicated pre-live sidebar/category route:
    • /docs/category/user-related-apis-pre-live
  • Kept existing production route unchanged:
    • /docs/category/user-related-apis
  • Added environment switcher UI for user-related API pages (Production / Pre-live).
  • Added clear pre-live warning copy to indicate unreleased/breaking changes may appear.
  • Added both Production and Pre-live raw spec links to llms.txt generation.

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

  • Production raw spec URL remains unchanged:
    • /openAPI/user-related-apis/v1.json
  • Production rendered docs URL remains unchanged:
    • /docs/category/user-related-apis
  • No changes to other API families’ public URLs.

Test Plan

  • node --test tests/prelive-docs-config.test.cjs tests/user-related-env-paths.test.cjs tests/user-related-env-ui.test.cjs
  • Verified:
    • Pre-live docs are generated from pre-live spec path.
    • Production docs remain on existing paths.
    • Switcher behavior works for equivalent and non-equivalent endpoints.
    • Pre-live warning is visible on pre-live pages.
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 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".

Comment thread src/components/UserRelatedApiEnvironmentNotice/index.tsx
@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages Bot commented Mar 28, 2026

Deploying qf-api-docs with  Cloudflare Pages  Cloudflare Pages

Latest commit: 33192db
Status:⚡️  Build in progress...

View logs

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

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.txt generation 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.

Comment thread src/components/UserRelatedApiEnvironmentNotice/paths.js
Comment thread src/theme/ApiItem/Layout/index.tsx Outdated
Comment thread plugins/llms-txt-plugin.js
Comment thread src/components/UserRelatedApiEnvironmentNotice/index.tsx Outdated
Comment thread src/components/UserRelatedApiEnvironmentNotice/paths.js
@osamasayed osamasayed merged commit d10465a into main Mar 29, 2026
1 check was pending
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants