Skip to content

Reorganize navigation, add community docs, redesign welcome page#33

Closed
AntTheLimey wants to merge 2 commits intopgEdge:mainfrom
AntTheLimey:feature/menu-organization
Closed

Reorganize navigation, add community docs, redesign welcome page#33
AntTheLimey wants to merge 2 commits intopgEdge:mainfrom
AntTheLimey:feature/menu-organization

Conversation

@AntTheLimey
Copy link
Member

@AntTheLimey AntTheLimey commented Jan 19, 2026

Summary

Major restructuring of the documentation site navigation, welcome page, and addition of an AI Toolkit overview page.

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:

  • Deployment — Consolidates all deployment methods into a single dropdown:
    • VM / Bare Metal section: Control Plane, Enterprise Repository, Ansible
    • Containers (direct link to pgEdge Container)
    • pgEdge Cloud (direct link)
  • AI Toolkit — Overview link, pgEdge components (MCP Server, RAG Server, Docloader, Vectorizer) plus community components (pgVector)
  • Database — PostgreSQL reference docs, pgEdge extensions (Spock v5, LOLOR, Snowflake, Vectorizer), and community extensions (pgVector, PostGIS, pgAudit)
  • Tools — pgEdge tools (ACE, Anonymizer, Loadgen, Radar) and community tools (pgAdmin 4, pgBouncer, pgBackRest, PostgREST, psycopg2)

Dropdown Menu Enhancements

Extended the dropdown macro to support:

  • Sub-headings — non-clickable category labels (e.g., "VM / Bare Metal", "pgEdge Extensions", "Community Tools")
  • Horizontal rule dividers — visual separation between groups within a dropdown
  • Both render correctly in light and dark mode

Community Documentation

Added versioned documentation imports for community projects (sourced from the 3rd-party-docs repo):

Project Category Versions
pgVector Extension / AI v0.8.0, v0.8.1, Development
PostGIS Extension v3.5.5, v3.6.2, Development
pgAudit Extension v16.1, v17.1, v18.0, Development
pgAdmin 4 Tool v9.11, v9.12, v9.13, Development
pgBouncer Tool v1.24, v1.25, Development
pgBackRest Tool v2.57.0, v2.58.0, Development
PostgREST Tool v14.5, Development
psycopg2 Tool v2.9.10, Development

AI Toolkit Overview Page

New docs/ai-toolkit/index.md providing a single entry point for the AI Toolkit:

  • Explains the two independent capabilities: secure database access (MCP Server) and RAG pipelines
  • Component descriptions with pgEdge/Community separation
  • MCP Server architecture section with Mermaid diagram showing client connections, security model, and PostgreSQL knowledgebase
  • RAG pipeline walkthrough with Mermaid diagram showing data flow from ingestion through serving
  • Linked from the AI Toolkit dropdown and the welcome page All Documentation section

Welcome Page Redesign

  • Hero text updated to reflect both distributed data and agentic AI positioning
  • Getting Started cards — 3 deployment option cards (VMs & Bare Metal, Containers, pgEdge Cloud) with Lucide icons that work in both light and dark mode
  • Key Components cards — Highlights three pillars: pgEdge Postgres MCP Server, Enterprise Repository, Spock
  • All Documentation section — Comprehensive 4-column listing (Deployment / AI Toolkit / Database / Tools) with sub-headings and dividers matching the nav structure, with descriptions for every item
  • Ansible placeholder page added

Other Changes

  • Icons switched from custom SVGs to Lucide icon set with CSS variable-based stroke colors for automatic light/dark mode support
  • VMs & Bare Metal now links to Control Plane (CLI/Platform being deprecated)
  • Community docs sourced from 3rd-party-docs repo (renamed from postgresql-docs)
  • pgBackRest added to community tools (nav, dropdown, and welcome page)
  • Added .superpowers/ and community doc redirect files to .gitignore

Files Changed

  • mkdocs.yml — Restructured nav_categories, added community doc imports, updated versioned_docsets
  • overrides/partials/tabs.html — Extended dropdown macro with heading/HR support, restructured tab list
  • docs/stylesheets/extra.css — Added dropdown heading and divider styles
  • docs/index.md — Complete welcome page redesign
  • docs/ai-toolkit/index.md — New AI Toolkit overview page
  • docs/ansible/index.md — New Ansible placeholder page
  • .gitignore — Added community doc redirect files and .superpowers/

Preview

View the preview deployment at: https://feature-menu-organization.pgedge-docs.pages.dev/

Test Plan

  • Verify all dropdown menus open/close correctly with sub-headings and dividers
  • Verify all dropdown links navigate to correct destinations
  • Check dropdowns render correctly in both light and dark mode
  • Verify welcome page layout in both light and dark mode
  • Test responsive behavior (4 cols → 2 cols → 1 col) on tablet/mobile
  • Verify all community doc links resolve (pgVector, PostGIS, pgAudit, pgAdmin 4, pgBouncer, pgBackRest, PostgREST, psycopg2)
  • Verify version selector works for community docs
  • Verify AI Toolkit overview page renders with both Mermaid diagrams
  • Check AI Toolkit overview link appears in dropdown and welcome page
  • Check Ansible placeholder page renders correctly

- Add new top-level menu tabs: VM/Bare Metal, Containers, AI Toolkit, Extensions, Tools
- Make pgEdge Cloud a direct link (no dropdown)
- Update dropdown items with user-friendly names (Distributed CLI, Package Repository, etc.)
- Add Ansible and Container Images placeholder pages
- Redesign welcome page with card-based layout and improved typography
- Simplify tabs.html macro to render items directly from config

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@coderabbitai
Copy link

coderabbitai bot commented Jan 19, 2026

Walkthrough

Adds new documentation pages for Ansible and container images, redesigns the docs homepage with an HTML/CSS layout, restructures mkdocs navigation into new categories (VM / Bare Metal, Containers, AI Toolkit, Extensions, Tools), and simplifies nav dropdown rendering in the site template.

Changes

Cohort / File(s) Summary
New Documentation — Ansible & Container Images
docs/ansible/index.md, docs/container-images/index.md, docs/container-images/images.md, docs/container-images/pulling.md, docs/container-images/running.md
Added Ansible collection docs and multiple container-images pages: overview, available images, pulling instructions, and run examples; includes image lists, tag/variant guidance, and security notes.
Homepage Redesign
docs/index.md
Replaced previous markdown intro with an HTML/CSS-driven hero, responsive cards, new sections (Getting Started, Key Components, Extensions, Architecture), and a styled footer.
Navigation Config
mkdocs.yml
Reworked navigation: replaced single "Products" group with categorized groups (VM / Bare Metal, Containers, AI Toolkit, Extensions, Tools); added top-level entries for Ansible and Container Images and updated nav item URLs.
Template — Nav Tabs
overrides/partials/tabs.html
Simplified dropdown generation to render category items directly (using cat_title/cat_url), removed cross-reference lookup logic, and added explicit handling for the new nav categories and pgEdge Cloud link.

Sequence Diagram(s)

(omitted)

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Suggested reviewers

  • jason-lynch
🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Title check ✅ Passed The title accurately summarizes the three main changes: navigation reorganization, community/Ansible documentation addition, and welcome page redesign.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
📝 Coding Plan
  • Generate coding plan for human review comments

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Tip

CodeRabbit can scan for known vulnerabilities in your dependencies using OSV Scanner.

OSV Scanner will automatically detect and report security vulnerabilities in your project's dependencies. No additional configuration is required.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@docs/container-images/index.md`:
- Around line 9-11: The fenced code block containing "ghcr.io/pgedge/" is
missing a language identifier; update the block in
docs/container-images/index.md to include a language token (e.g., use "text" or
"plaintext") so the block becomes ```text followed by ghcr.io/pgedge/ and
closing ``` to satisfy the linter and match other docs examples.
🧹 Nitpick comments (2)
overrides/partials/tabs.html (1)

10-36: Unused nav_items parameter in macro.

The dropdown_menu macro accepts nav_items as a parameter (line 10), but it's never used within the macro body. This appears to be leftover from a previous implementation that cross-referenced navigation items.

Proposed cleanup
-{% macro dropdown_menu(label, category_items, nav_items, dropdown_id) %}
+{% macro dropdown_menu(label, category_items, dropdown_id) %}

Then update the call sites (lines 54, 59, 75, 80, 85) to remove the nav argument:

-{{ dropdown_menu('VM / Bare Metal', nav_categories['VM / Bare Metal'], nav, 'vm-bare-metal') }}
+{{ dropdown_menu('VM / Bare Metal', nav_categories['VM / Bare Metal'], 'vm-bare-metal') }}
docs/index.md (1)

7-222: Consider moving styles to the external stylesheet.

There are 200+ lines of CSS embedded in this Markdown file. For maintainability and reusability, consider moving these styles to stylesheets/extra.css referenced in mkdocs.yml. This would:

  • Keep the Markdown file focused on content
  • Allow style reuse across other pages if needed
  • Make CSS changes easier to track in version control

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Fix all issues with AI agents
In `@docs/container-images/index.md`:
- Around line 3-4: The docs use the abbreviation "GCR" for GitHub Container
Registry which causes confusion with Google Container Registry; update the
phrasing in the sentence containing "pgEdge publishes container images to the
GitHub Container Registry (GCR)..." to use the correct abbreviation "GHCR"
(e.g., "GitHub Container Registry (GHCR)") and ensure any other occurrences of
"GCR" in this document that refer to GitHub Container Registry are replaced with
"GHCR."

In `@docs/container-images/pulling.md`:
- Around line 46-48: Replace the indented code block containing the tag format
with an inline code span so the list item reads in one line; specifically,
change the block that shows `{postgres-version}-spock{spock-version}-{variant}`
as an indented code block to an inline backticked token within the sentence
(e.g., "...The tag takes the form `
{postgres-version}-spock{spock-version}-{variant}`") so the item is not treated
as a fenced code block and satisfies MD046.
🧹 Nitpick comments (1)
mkdocs.yml (1)

133-174: Check duplicate listings across dropdown categories.

Docloader is listed under both AI Toolkit and Tools, and Vectorizer under AI Toolkit and Extensions. If the categories are meant to be mutually exclusive, consider keeping each page in a single tab to avoid redundant dropdown entries.

🧭 Optional cleanup (if tabs should be exclusive)
     Extensions:
       - title: Spock
         url: spock-v5/
       - title: LOLOR
         url: lolor/
       - title: Snowflake
         url: snowflake/
-      - title: pgEdge Vectorizer
-        url: pgedge-vectorizer/
@@
     Tools:
       - title: Active Consistency Engine
         url: ace/
-      - title: pgEdge Docloader
-        url: pgedge-docloader/
       - title: pgEdge Anonymizer
         url: pgedge-anonymizer/
       - title: Radar
         url: radar/

Comment on lines +3 to +4
pgEdge publishes container images to the GitHub Container Registry
(GCR) for deploying pgEdge components in containerized environments.
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Use GHCR to avoid confusion with Google Container Registry.

“GCR” is commonly read as Google Container Registry; GitHub Container Registry is typically abbreviated “GHCR.”

✏️ Suggested fix
-pgEdge publishes container images to the GitHub Container Registry 
-(GCR) for deploying pgEdge components in containerized environments.
+pgEdge publishes container images to the GitHub Container Registry
+(GHCR) for deploying pgEdge components in containerized environments.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
pgEdge publishes container images to the GitHub Container Registry
(GCR) for deploying pgEdge components in containerized environments.
pgEdge publishes container images to the GitHub Container Registry
(GHCR) for deploying pgEdge components in containerized environments.
🤖 Prompt for AI Agents
In `@docs/container-images/index.md` around lines 3 - 4, The docs use the
abbreviation "GCR" for GitHub Container Registry which causes confusion with
Google Container Registry; update the phrasing in the sentence containing
"pgEdge publishes container images to the GitHub Container Registry (GCR)..." to
use the correct abbreviation "GHCR" (e.g., "GitHub Container Registry (GHCR)")
and ensure any other occurrences of "GCR" in this document that refer to GitHub
Container Registry are replaced with "GHCR."

Comment on lines +46 to +48
- The tag takes the form:

`{postgres-version}-spock{spock-version}-{variant}`
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Inline the tag format to avoid an indented code block (MD046).

The current indentation renders as a code block; inlining keeps the list readable and satisfies the fenced‑only lint rule.

✏️ Suggested fix
-- The tag takes the form: 
-      
-      `{postgres-version}-spock{spock-version}-{variant}`
+- The tag takes the form: `{postgres-version}-spock{spock-version}-{variant}`
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- The tag takes the form:
`{postgres-version}-spock{spock-version}-{variant}`
- The tag takes the form: `{postgres-version}-spock{spock-version}-{variant}`
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)

48-48: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)

🤖 Prompt for AI Agents
In `@docs/container-images/pulling.md` around lines 46 - 48, Replace the indented
code block containing the tag format with an inline code span so the list item
reads in one line; specifically, change the block that shows
`{postgres-version}-spock{spock-version}-{variant}` as an indented code block to
an inline backticked token within the sentence (e.g., "...The tag takes the form
` {postgres-version}-spock{spock-version}-{variant}`") so the item is not
treated as a fenced code block and satisfies MD046.

@AntTheLimey AntTheLimey changed the title Reorganize navigation menu and update welcome page Reorganize navigation, add community docs, redesign welcome page Mar 18, 2026
@AntTheLimey
Copy link
Member Author

Superseded by #53 — fresh branch off current main to eliminate stale CI checks and cached merge conflicts.

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.

1 participant