Reorganize navigation, add AI Toolkit overview, redesign welcome page#53
Reorganize navigation, add AI Toolkit overview, redesign welcome page#53AntTheLimey wants to merge 12 commits intomainfrom
Conversation
Replace Products dropdown with user-focused categories: VM / Bare Metal, Containers, pgEdge Cloud (direct link), AI Toolkit, Extensions, Tools. Redesign welcome page with card-based layout and add Ansible placeholder. Simplify tabs template dropdown macro by removing unused nav_items parameter.
Use stroke="currentColor" via CSS var(--md-default-fg-color--light) so icons automatically adapt to the active color scheme. Icons: server, container, cloud, network, package, sparkles.
Control Plane is the primary entry point for VM/bare metal deployments as the CLI/Platform tooling is being deprecated.
- Replace VM/Bare Metal + Containers + Cloud with single Deployment dropdown - Rename Extensions to Database with pgEdge/Community sub-sections - Add sub-headings and HR dividers to dropdown menus - Add community docs: pgVector, PostGIS, pgAudit, pgAdmin, pgBouncer, PostgREST, psycopg2 (from postgresql-docs repo) - Update welcome page: new hero text, 4-column All Documentation section with sub-headings matching nav structure - Update Key Components cards to AI Toolkit, Enterprise Repository, Spock
…rchitectural sections
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
WalkthroughAdds two new docs pages (AI Toolkit, Ansible), replaces the site landing page with custom HTML/CSS, restructures navigation to a typed/category model with grouped third‑party docsets, updates dropdown tab template and dropdown styling, and expands .gitignore entries for generated docset entry points and Changes
Sequence Diagram(s)sequenceDiagram
participant Ingest as pgEdge Docloader
participant Vector as pgEdge Vectorizer
participant Storage as pgVector (DB)
participant RAG as pgEdge RAG Server
participant LLM as LLM Provider
Ingest->>Vector: convert docs → chunks + metadata
Vector->>Storage: write embeddings & metadata
RAG->>Storage: retrieve hybrid results (vector + BM25)
Storage-->>RAG: results (vectors, docs, scores)
RAG->>LLM: assemble context + prompt → ask
LLM-->>RAG: response
RAG-->>Client: streamed/HTTP response
sequenceDiagram
participant Client as Client (app/agent)
participant MCP as pgEdge Postgres MCP Server
participant Postgres as PostgreSQL
participant LLM as LLM Provider
Client->>MCP: connect (stdio or HTTP+SSE)
MCP->>Postgres: schema inspection / SQL execution / similarity search
Postgres-->>MCP: results
MCP->>LLM: optional tool-derived payload (for agent)
LLM-->>Client: response (conversation/stream)
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
mkdocs.yml (1)
545-572: Minor: Inconsistent casing for PgBouncer.The nav entry at line 569 uses
PgBouncerwhilenav_categoriesat line 228 usespgBouncer. This won't break functionality since they're independent lookups, but consider aligning the casing for consistency.# Line 228 in nav_categories: - title: pgBouncer # Line 569 in nav: - PgBouncer:🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@mkdocs.yml` around lines 545 - 572, The nav entry casing for the PgBouncer section is inconsistent: change the nav key "PgBouncer" to match the existing "pgBouncer" used in nav_categories (or vice versa) so both symbols ("pgBouncer" and "PgBouncer") use identical casing; update the nav entry label in the mkdocs.yml nav block to exactly match the nav_categories title to ensure consistent naming across the config.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@mkdocs.yml`:
- Around line 545-572: The nav entry casing for the PgBouncer section is
inconsistent: change the nav key "PgBouncer" to match the existing "pgBouncer"
used in nav_categories (or vice versa) so both symbols ("pgBouncer" and
"PgBouncer") use identical casing; update the nav entry label in the mkdocs.yml
nav block to exactly match the nav_categories title to ensure consistent naming
across the config.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 452401f9-29f6-4fd7-ad0e-faa5c1aa53e8
📒 Files selected for processing (7)
.gitignoredocs/ai-toolkit/index.mddocs/ansible/index.mddocs/index.mddocs/stylesheets/extra.cssmkdocs.ymloverrides/partials/tabs.html
Deploying pgedge-docs with
|
| Latest commit: |
41aba1e
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://bb53c9d6.pgedge-docs.pages.dev |
| Branch Preview URL: | https://feature-menu-organization-v2.pgedge-docs.pages.dev |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (2)
docs/index.md (2)
518-524: Keep footer resource links in one source of truth.This page hardcodes site links separately from config, and the Discord target here already differs from
extra.discord_urlinmkdocs.yml. Moving the footer into a shared partial or config-backed template will prevent silent link drift.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/index.md` around lines 518 - 524, The footer in docs/index.md hardcodes resource links (including the Discord URL) which now conflicts with the `extra.discord_url` value in mkdocs.yml; replace the hardcoded footer with a single shared partial or template that reads links from site config (e.g., `extra.github`, `extra.site`, `extra.support`, `extra.discord_url`) so all pages render the same source-of-truth links and update any references in index.md to include that partial/template instead of inline HTML.
358-513: Drive the home-page catalog from the same data as the dropdowns.This block manually repeats the categories and URLs already defined in
mkdocs.yml > extra.nav_categories. The next navigation change will need two edits, and the landing page will drift. Rendering this section from a shared partial/data source would keep them aligned.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/index.md` around lines 358 - 513, The "All Documentation" block in docs/index.md duplicates navigation defined in mkdocs.yml under extra.nav_categories, causing drift; replace the hard-coded HTML (the div with class "extensions-grid" and its children) with a template-driven rendering that consumes extra.nav_categories from mkdocs.yml (or the site data available to the MkDocs/Macros/Material templates) so the landing page and dropdowns come from the same source; locate the manual block around the "All Documentation" heading in docs/index.md and implement a partial or template loop that iterates over extra.nav_categories to emit the extension-group / extension-list structure (ensuring keys like title, items, href, and desc from nav_categories are used).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/index.md`:
- Around line 206-225: The subgroup labels and decorative dividers are currently
styled via .extension-list .ext-subheading and .extension-list .ext-divider but
are being rendered as list items which creates inaccessible empty/non-link <li>
elements; update the markup so ext-subheading is a real heading element (e.g.,
<h3> or <span role="heading">) placed outside or above its own <ul> and move
ext-divider out of the <ul> (or render it as a purely decorative element with
aria-hidden="true"), and adjust the CSS selectors for .extension-list
.ext-subheading and .extension-list .ext-divider accordingly so they no longer
assume list-item semantics.
---
Nitpick comments:
In `@docs/index.md`:
- Around line 518-524: The footer in docs/index.md hardcodes resource links
(including the Discord URL) which now conflicts with the `extra.discord_url`
value in mkdocs.yml; replace the hardcoded footer with a single shared partial
or template that reads links from site config (e.g., `extra.github`,
`extra.site`, `extra.support`, `extra.discord_url`) so all pages render the same
source-of-truth links and update any references in index.md to include that
partial/template instead of inline HTML.
- Around line 358-513: The "All Documentation" block in docs/index.md duplicates
navigation defined in mkdocs.yml under extra.nav_categories, causing drift;
replace the hard-coded HTML (the div with class "extensions-grid" and its
children) with a template-driven rendering that consumes extra.nav_categories
from mkdocs.yml (or the site data available to the MkDocs/Macros/Material
templates) so the landing page and dropdowns come from the same source; locate
the manual block around the "All Documentation" heading in docs/index.md and
implement a partial or template loop that iterates over extra.nav_categories to
emit the extension-group / extension-list structure (ensuring keys like title,
items, href, and desc from nav_categories are used).
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 37457e10-d6e5-4689-95d2-2e4ca3253f6c
📒 Files selected for processing (2)
docs/index.mdmkdocs.yml
| /* Sub-headings within extension lists */ | ||
| .extension-list .ext-subheading { | ||
| font-size: 0.7rem; | ||
| font-weight: 700; | ||
| text-transform: uppercase; | ||
| letter-spacing: 0.5px; | ||
| color: var(--md-default-fg-color--light); | ||
| padding: 0.6rem 0 0.2rem; | ||
| border-bottom: none; | ||
| } | ||
|
|
||
| .extension-list .ext-subheading:first-child { | ||
| padding-top: 0; | ||
| } | ||
|
|
||
| /* Dividers within extension lists */ | ||
| .extension-list .ext-divider { | ||
| padding: 0; | ||
| border-bottom: 1px solid var(--md-default-fg-color--lightest); | ||
| } |
There was a problem hiding this comment.
Don’t render subgroup labels and dividers as <li> items.
These lists mix real links with subgroup labels and empty separators, so assistive tech will count blank/non-link items throughout the catalog. Use real headings plus separate <ul> blocks, or move decorative dividers outside the list semantics.
Also applies to: 366-511
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/index.md` around lines 206 - 225, The subgroup labels and decorative
dividers are currently styled via .extension-list .ext-subheading and
.extension-list .ext-divider but are being rendered as list items which creates
inaccessible empty/non-link <li> elements; update the markup so ext-subheading
is a real heading element (e.g., <h3> or <span role="heading">) placed outside
or above its own <ul> and move ext-divider out of the <ul> (or render it as a
purely decorative element with aria-hidden="true"), and adjust the CSS selectors
for .extension-list .ext-subheading and .extension-list .ext-divider accordingly
so they no longer assume list-item semantics.
Minor editing... fixed bulleted list and wrapping.
Fix sentence fragments.
Summary
Major restructuring of the documentation site navigation, welcome page, and addition of an AI Toolkit overview page. Supersedes #33.
Navigation Restructure
The top-level navigation tabs have been reorganized from the previous flat structure into four focused dropdowns with sub-headings and visual dividers:
Dropdown Menu Enhancements
Extended the dropdown macro to support:
Community Documentation
Added versioned documentation imports for community projects (sourced from the 3rd-party-docs repo):
AI Toolkit Overview Page
New
docs/ai-toolkit/index.mdproviding a single entry point for the AI Toolkit:Welcome Page Redesign
Other Changes
3rd-party-docsrepo (renamed frompostgresql-docs).superpowers/and community doc redirect files to.gitignoreFiles Changed
mkdocs.yml— Restructured nav_categories, added community doc imports, updated versioned_docsetsoverrides/partials/tabs.html— Extended dropdown macro with heading/HR support, restructured tab listdocs/stylesheets/extra.css— Added dropdown heading and divider stylesdocs/index.md— Complete welcome page redesigndocs/ai-toolkit/index.md— New AI Toolkit overview pagedocs/ansible/index.md— New Ansible placeholder page.gitignore— Added community doc redirect files and .superpowers/Test Plan
Summary by CodeRabbit
New Features
Documentation
Style
Chores