Ready to jump in? Follow these steps to get the Gardener documentation running locally:
-
Prerequisites
- Docker installed and running
- GitHub token (for API rate limits)
-
Set up environment variables
export DOCFORGE_CONFIG=.docforge/config.yaml export GITHUB_OAUTH_TOKEN=your_github_token
To get the correct Github token -> Getting the correct GitHub token
-
Start the development server
make docs-dev
-
Visit http://localhost:5173 in your browser π
The Gardener documentation uses a distributed documentation model where content is gathered from multiple repositories and organized into a single website using docforge.
-
Local content:
website/
directorywebsite/documentation/
- Core documentation fileswebsite/blog/
- Blog postswebsite/community/
- Community-related content
-
Remote content:
- Content from other repositories is pulled in during the build process
- The structure is defined in
.docforge/*.yaml
manifest files
The .docforge/
folder contains YAML files that define the structure of the documentation site:
website.yaml
: The main entry point that defines the top-level structuredocumentation/documentation.yaml
: Defines the structure of the docs section- Other YAML files for specific sections (extensions, adopters, etc.)
Here's a simplified view of how it works:
.docforge/website.yaml # Main structure
β³ .docforge/documentation/*.yaml # Various section structures
β³ Content from local files and remote repositories
- To modify local content, simply edit files in the
website/
directory - Content changes are reflected immediately when using
make docs-dev
- Create new blog posts in
website/blog/YEAR/MONTH/your-post.md
- Include front matter at the top of your file:
--- title: Your Awesome Blog Post description: "A brief description of your post" date: 2025-06-24 authors: - name: Your Name email: [email protected] ---
Gardener documentation pulls content from multiple repositories. Key remote sources include:
gardener/gardener
: Core Gardener documentationgardener/dashboard
: Dashboard documentationgardener/gardenctl-v2
: CLI documentation
To modify these, submit changes to their respective repositories.
make docs-dev
- Start the development server with live reloading (port 5173)
make docforge-download
- Get the docforge binary for your OSmake docforge
- Run docforge with default configmake docforge-run ARGS="..."
- Run docforge with custom parameters