- Notifications
You must be signed in to change notification settings - Fork20
llm-d/llm-d.github.io
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
This website is built usingDocusaurus, a modern static website generator.
Site previews are powered by Netlify and can be viewed in the specific PR.
If you spot any errors or omissions in the site, please open an issue atgithub.com/llm-d/llm-d.github.io.
This repository contains two types of documentation:
- Local Documentation - Written directly in this repository (blog posts, landing pages, etc.)
- Remote Synced Content - Automatically synced from other llm-d repositories during build
Most technical documentation is automatically synced from source repositories to ensure accuracy and consistency:
- Architecture docs (
/docs/architecture/) - Synced from component repositories - User guides (
/docs/guide/) - Synced from the main llm-d repository - Component docs (
/docs/architecture/Components/) - Auto-generated from individual component repos - Community docs (
/docs/community/) - Synced from the main repository
Files with remote content show a "Content Source" banner at the bottom with links to edit the original source.
The remote content system automatically downloads and syncs content from GitHub repositories during the build process:
Static Configuration -
remote-content/remote-sources/components-data.yamlcontains:- Release version information (which tag to sync from)
- List of all components with their descriptions and versions
- Repository locations and metadata
Content Sources - Individual files in
remote-content/remote-sources/define:- Which repositories to sync from
- Where to place the content in the docs
- How to transform the content (fix links, add frontmatter, etc.)
Build Process - During
npm run build:- Downloads content from the configured GitHub repositories
- Applies transformations (fixes relative links, images, adds source attribution)
- Generates final documentation with proper navigation and styling
Key Feature: The build process only reads from the committed YAML file - it never makes write operations or modifies your configuration.
remote-content/├── remote-content.js # Main entry point└── remote-sources/ ├── components-data.yaml # 🎯 Release and component data (edit this!) ├── sync-release.mjs # Script to update YAML from GitHub ├── component-configs.js # Utilities to load YAML data ├── utils.js # Content transformation helpers ├── repo-transforms.js # Link/image fixing logic ├── example-readme.js.template # Template for adding new content ├── architecture/ # → docs/architecture/ │ ├── architecture-main.js │ └── components-generator.js # Auto-generates component pages ├── guide/ # → docs/guide/ │ └── guide-generator.js # Auto-generates guide pages └── community/ # → docs/community/ ├── code-of-conduct.js ├── contribute.js ├── security.js └── sigs.jsWhen a new llm-d release is published, update the documentation site:
Step 1: Update the YAML file
cd remote-content/remote-sourcesnode sync-release.mjs# Fetches latest release from GitHub APIgit diff components-data.yaml# Review the changes
This script:
- Queries theGitHub Releases API
- Updates release version, date, and URL in the YAML
- Extracts component descriptions from release notes
- Updates component versions in the YAML
Step 2: Commit and deploy
git add components-data.yamlgit commit -m"Update to llm-d vX.Y.Z"git push# Triggers automatic deployment
What gets updated:
- Release version, date, and URLs shown on the Components page
- Component descriptions and version tags
- Components sync from their individual release tags
- Guides sync from the llm-d/llm-d release tag
- Community docs always sync from
mainbranch (latest)
Manual updates: You can also manually editcomponents-data.yaml if needed.
To add a new component to the documentation:
Editremote-content/remote-sources/components-data.yaml:
components:# ... existing components -name:llm-d-your-componentorg:llm-dbranch:maindescription:Description of your componentcategory:Core InfrastructuresidebarPosition:8
The component will automatically appear under/docs/architecture/Components/ on the next build.
To add other remote content (non-component):
Copy the template:
cp remote-content/remote-sources/example-readme.js.template \ remote-content/remote-sources/DIRECTORY/your-content.js
Choose directory:
architecture/,guide/, orcommunity/Edit the configuration - Update placeholders:
- Repository name
- Output directory
- Page title and description
- Sidebar position
Import in
remote-content/remote-content.js:importyourContentfrom'./remote-sources/DIRECTORY/your-content.js';constremoteContentPlugins=[// ... existing sourcesyourContent,];
Test:
npm start
For synced content (files with "Content Source" banners):
- Click the "edit the source file" link in the Content Source banner
- Make changes in the source repository
- Changes will automatically sync to this website during the next build
For local website content:
- Follow the standard pull request process below
When writing documentation in source repositories (like llm-d/llm-d) that will be synced to this Docusaurus site, you can create tabbed content using HTML comment markers. These are invisible in GitHub but will be transformed into Docusaurus tabs during the build.
In your GitHub README:
###Deploy Model Servers<!-- TABS:START--><!-- TAB:GKE (H200):default-->kubectl apply -k ./manifests/modelserver/gke -n ${NAMESPACE}<!-- TAB:GKE (B200)-->kubectl apply -k ./manifests/modelserver/gke-a4 -n ${NAMESPACE}<!-- TAB:CoreWeave-->kubectl apply -k ./manifests/modelserver/coreweave -n ${NAMESPACE}<!-- TABS:END-->
Key points:
- Use
<!-- TABS:START -->and<!-- TABS:END -->to wrap the entire tabbed section - Use
<!-- TAB:Label -->before each tab's content - Add
:defaultafter the label to make it the default selected tab (e.g.,<!-- TAB:GKE:default -->) - No imports needed - the transformation automatically adds them
- On GitHub, the HTML comments are invisible, showing clean markdown
- On Docusaurus, these are transformed into proper
<Tabs>components
Result on Docusaurus:The content will automatically be transformed with the proper Tabs imports and components, creating an interactive tabbed interface.
The transformation system also automatically converts GitHub-style callouts to Docusaurus admonitions:
>[!NOTE]>This is a note>[!TIP]>This is a tip>[!IMPORTANT]>This is important>[!WARNING]>This is a warning>[!CAUTION]>This is dangerous>[!REQUIREMENTS]>These are requirements
These will be automatically converted to the appropriate Docusaurus:::note,:::tip,:::info,:::warning, and:::danger admonitions during the build.
| Problem | Solution |
|---|---|
| Page not appearing | Check that source URL is publicly accessible |
| Build errors | Verify all template placeholders are replaced |
| Links broken | Make sure you're usingcreateStandardTransform() |
| Component not showing | Checkcomponents-data.yaml and repository accessibility |
| Wrong sidebar order | AdjustsidebarPosition numbers in configuration |
| Tabs not rendering | Check that you have bothTABS:START andTABS:END markers |
- Check if content is synced - Look for "Content Source" banners at the bottom of pages
- For synced content - Edit the source repository, not this one
- For local content - Follow the process below
- Make sure you are familiar with how docusaurus builds menus and links to images
- Fork the website repo and deploy a preview version of your proposed change for reviewers to check
$ npm install$ npm startThis command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.
Fork the Repository
- Click the "Fork" button on thellm-d.github.io repository
- Clone your fork locally:
git clone https://github.com/YOUR-USERNAME/llm-d.github.io.git
Create a Branch
- Create a new branch for your changes:
git checkout -b feature/your-feature-name - Make your changes locally
- Create a new branch for your changes:
Commit Your Changes
- Stage your changes:
git add . - Commit with sign-off:
git commit -s -m "Your commit message" - Push to your fork:
git push origin feature/your-feature-name
- Stage your changes:
Open a Pull Request
- Go to your fork on GitHub
- Click "New Pull Request"
- Select the main branch of llm-d/llm-d.github.io as the base
- Fill out the pull request template with details about your changes
When you open a pull request, a preview of your changes will be automatically generated and deployed. This allows reviewers to see your changes in a live environment before they are merged into the main website.
- The preview URL will be posted as a comment on your pull request
- The preview site will be automatically updated as you push new commits
- The preview will be removed when the pull request is closed
- All code changes must be submitted as pull requests (no direct pushes)
- All changes must be reviewed and approved by a maintainer
- All changes must pass automated checks and tests
- Commit messages should have:
- Short, descriptive titles
- Description of why the change was needed
- Enough detail for someone reviewing git history to understand the scope
- DCO Sign-off: All commits must include a valid DCO sign-off line (
Signed-off-by: Name <email@domain.com>)- Add automatically with
git commit -s - SeePR_SIGNOFF.md for configuration details
- Required for all contributions perDeveloper Certificate of Origin
- Add automatically with
- For immediate help: Joinllm-d.slack.com ->Invite Link
- For issues: Create an issue inllm-d/llm-d.github.io
About
Website for llm-d: This repository builds the website seen at llm-d.ai
Topics
Resources
Contributing
Uh oh!
There was an error while loading.Please reload this page.