Understanding the KubeStellar Documentation Architecture
Overview
This documentation website is a separate repository from the main KubeStellar codebase. All the active documentation is now located in this repository. For safety reasons, copies of the docs source may remain in a to-be-deleted folder in the component repositories during a transition period
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Main KubeStellar Repository โ
โ github.com/kubestellar/kubestellar โ
โ ๐๏ธkubestellar/ โ
โ โ๐ docs/ โ NOT THE ACTIVE DOCS |
| โโโREADME.md |
| โโโcontent/to-be-deleted โ
โ โโโ readme.md โ
โ โโโ architecture.md โ
โ โโโ direct/ โ
โ โโโ binding.md โ
โ โโโ wds.md โ
โ โโโ ... (all previous documentation content) โ
โ โโโ ...(all the active components of the component repo) |
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ|
โ Docs Website Repository (THIS REPO) โ
โ github.com/kubestellar/docs |
| โ
โ ๐๏ธdocs/ โ this repository root folder โ
| โ ๐ docs/ โ raw MD content source moved from repos |
| | ๐content/ |
| | ๐ a2a/ |
| | ๐ dommon-subs/ |
| | ๐ Community/ |
| | ๐ console/ |
| | ๐ contribution-guidelines/ |
| | ๐ icons/ |
| | ๐ images/ |
| | ๐ klaude/ |
| | ๐ kubeflex/ |
| | ๐ kubestellar/ |
| | ๐ kubestellar-mcp/ |
| | ๐ multi-plugin/ |
| | ๐ ui-docs/ |
| | ๐images/ โ image folder for some of the MD files |
| | ๐overrides/ โ master mkdocs layouts (legacy ref only) |
| โ๐ messages โ alternate language files for NEW pages |
| โ๐ src/ โ Source for NEW pages, site nav and layout |
| | โ๐ app/ |
| | | โ๐ docs/ โ layouts to apply to component docs pages |
| | | โโโ ๐page-map.ts โ Defines navigation structure โ
โ | | โโโ ๐layout.tsx โ Nextra theme integration โ
| | | โโโ ๐page.mdx โ Nextra page master โ
| | โ๐ components/ โ
| | โ๐ config/ โ
| | โ๐ hooks/ โ
| | โ๐ i18n/ โ configures language support |
| | โ๐ lib/ โ
| โ๐CONTRIBUTING.md <----- this file |
| โ๐GOVERNANCE.md |
| โ๐ next.config.ts โ Nextra configuration โ
| โ๐ mdx-components.js โ MDX component mappings |
| โโโ ... (various node.js and next.js etc files) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
(Built & Deployed)
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Live Documentation Website โ
โ https://kubestellar.io โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Important Concepts:
- โ
Content lives in the docs/content folder of this kubestellar/docs repo (
docs/content/) - โ The website structure is defined in the src folder of this repo
- โ This repo also contains the website framework (Next.js + Nextra)
- โ
Navigation is defined in
page-map.ts(not auto-generated from files)
How Nextra Integration Works
This documentation site is built using Nextra, a powerful Next.js-based documentation framework that provides:
- Static Site Generation (SSG) for fast loading
- MDX Support for rich, interactive documentation
- Built-in Search functionality
- Theme Customization with dark/light modes
- Automatic Navigation generation
Key Files and Their Roles
-
next.config.ts- Main configuration file that:- Imports and configures Nextra with
nextra()function - Enables LaTeX support for mathematical expressions
- Configures search settings
- Integrates with
next-intlfor internationalization - Sets up redirects for various KubeStellar links
- Imports and configures Nextra with
-
src/app/docs/layout.tsx- Docs layout component that:- Imports
Layoutfromnextra-theme-docs - Imports the Nextra theme styles
- Configures custom navbar, footer, and banner components
- Sets up the sidebar with page map and repository links
- Enables dark mode and collapsible sidebar sections
- Imports
-
src/app/docs/page-map.ts- Navigation structure builder that:- Defines the documentation navigation structure in
NAV_STRUCTURE - Reads documentation files from the local
/docs/content/directory - Constructs hierarchical navigation from the defined structure
- Generates routes for each documentation page
- Creates a mapping between file paths and URL routes
- Note: The file tree structure in /docs/content roughly parallels the navigation created in pagemap.ts but is not identical. As the new site matures many of the differences will be smoothed out
- Using the page-map rather than file structure to generate the
NAV_STRUCTUREsimplifies changing menus for different locales (languages)
- Defines the documentation navigation structure in
-
src/app/docs/[...slug]/page.tsx- Dynamic page renderer that:- Reads MDX content from the local
/docs/content/directory - Compiles and evaluates MDX with custom components
- Processes Jekyll-style includes and template variables
- Supports Mermaid diagrams and custom components
- Handles image path resolution and markdown transformations
- Reads MDX content from the local
-
mdx-components.js- Component mapping file that:- Exports MDX components from Nextra theme
- Allows customization of how markdown elements render
- Enables adding custom React components to MDX files
This page is an import of part of github.com/kubestellar/docs/CONTRIBUTING.md . The complete file is viewable there, or on the Detailed Contribution Guide page in this section of the website. Changes to this page content must be made in CONTRIBUTING.md on GitHub