Skip to content

Commit 647d10b

Browse files
tabernmchmarny
andauthored
site: migrate from Hugo/Docsy to VitePress (#360)
Co-authored-by: Mark Chmarny <mchmarny@users.noreply.github.com>
1 parent 42e8ff5 commit 647d10b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+5062
-1208
lines changed

.github/workflows/gh-pages.yaml

Lines changed: 4 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -59,46 +59,24 @@ jobs:
5959
id: versions
6060
uses: ./.github/actions/load-versions
6161

62-
- name: Setup Go
63-
uses: actions/setup-go@7a3fe6cf4cb3a834922a1244abfce67bcef6a0c5 # v6.2.0
64-
with:
65-
go-version: ${{ steps.versions.outputs.go }}
66-
cache: false
67-
68-
- name: Setup Hugo
69-
run: |
70-
HUGO_VERSION="${{ steps.versions.outputs.hugo }}"
71-
wget -q "https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb" -O hugo.deb
72-
sudo dpkg -i hugo.deb
73-
rm hugo.deb
74-
hugo version
75-
7662
- name: Setup Node
7763
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
7864
with:
7965
node-version: ${{ steps.versions.outputs.node }}
8066

81-
# PR preview: fast single unversioned build
82-
- name: Install dependencies (PR)
83-
if: github.event_name == 'pull_request'
84-
working-directory: site
85-
run: npm ci
86-
8767
- name: Build site (PR)
8868
if: github.event_name == 'pull_request'
89-
working-directory: site
90-
run: hugo --minify
69+
run: cd site && npm ci && npx vitepress build
9170

92-
# Main/release: versioned multi-build
93-
- name: Build versioned site
71+
- name: Build site
9472
if: github.event_name != 'pull_request'
95-
uses: ./.github/actions/build-versioned-site
73+
run: cd site && npm ci && npx vitepress build
9674

9775
- name: Upload artifact
9876
if: github.event_name != 'pull_request'
9977
uses: actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dda462b719fa # v3.0.1
10078
with:
101-
path: versioned-site-output
79+
path: site/.vitepress/dist
10280

10381
deploy:
10482
name: Deploy

.gitignore

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -120,11 +120,10 @@ tags
120120
\#*\#
121121
.\#*
122122

123-
# Hugo documentation site
124-
site/public/
125-
site/resources/
123+
# VitePress documentation site
124+
site/.vitepress/cache/
125+
site/.vitepress/dist/
126126
site/node_modules/
127-
site/.hugo_build.lock
128127

129128
# Claude
130129
.claude/settings.local.json
@@ -138,3 +137,5 @@ pkg/validator/checks/**/*_recipe.yaml
138137
# KWOK
139138
kwok/logs/
140139
aicr-e2e.xml
140+
site/.vitepress/cache/
141+
site/node_modules/

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ brew install aicr
3030
# Or use the install script
3131
curl -sfL https://raw.githubusercontent.com/NVIDIA/aicr/main/install | bash -s --
3232

33+
3334
# Capture your cluster's current state
3435
aicr snapshot --output snapshot.yaml
3536

docs/images/aicr-end-to-end.png

-14.2 KB
Loading

site/.vitepress/config.ts

Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
import { defineConfig } from 'vitepress'
2+
import { withMermaid } from 'vitepress-plugin-mermaid'
3+
4+
export default withMermaid(
5+
defineConfig({
6+
title: 'NVIDIA AI Cluster Runtime',
7+
description: 'Optimized, validated, and reproducible Kubernetes configurations for GPU infrastructure',
8+
base: '/',
9+
appearance: 'dark',
10+
lastUpdated: true,
11+
ignoreDeadLinks: [
12+
/localhost/, // Example URLs in docs
13+
/\/index$/, // VitePress resolves these automatically
14+
],
15+
16+
markdown: {
17+
// Prevent Vue from interpreting {{ }} in code blocks as template syntax
18+
// (common in Go templates, Helm, GitHub Actions, Ansible)
19+
attrs: { disable: true },
20+
},
21+
22+
vue: {
23+
template: {
24+
compilerOptions: {
25+
// Treat all {{ }} outside of Vue components as raw text
26+
},
27+
},
28+
},
29+
30+
head: [
31+
['link', { rel: 'icon', type: 'image/png', href: '/images/favicon.png' }],
32+
],
33+
34+
themeConfig: {
35+
logo: undefined,
36+
siteTitle: 'AI Cluster Runtime',
37+
38+
nav: [
39+
{ text: 'Docs', link: '/docs/' },
40+
{ text: 'GitHub', link: 'https://github.com/NVIDIA/aicr' },
41+
],
42+
43+
sidebar: {
44+
'/docs/': [
45+
{
46+
text: 'Getting Started',
47+
link: '/docs/getting-started/',
48+
},
49+
{
50+
text: 'User Guide',
51+
collapsed: false,
52+
items: [
53+
{ text: 'Installation', link: '/docs/user/installation' },
54+
{ text: 'CLI Reference', link: '/docs/user/cli-reference' },
55+
{ text: 'API Reference', link: '/docs/user/api-reference' },
56+
{ text: 'Agent Deployment', link: '/docs/user/agent-deployment' },
57+
],
58+
},
59+
{
60+
text: 'Integrator Guide',
61+
collapsed: false,
62+
items: [
63+
{ text: 'Automation', link: '/docs/integrator/automation' },
64+
{ text: 'Data Flow', link: '/docs/integrator/data-flow' },
65+
{ text: 'Kubernetes Deployment', link: '/docs/integrator/kubernetes-deployment' },
66+
{ text: 'EKS Dynamo Networking', link: '/docs/integrator/eks-dynamo-networking' },
67+
{ text: 'Recipe Development', link: '/docs/integrator/recipe-development' },
68+
],
69+
},
70+
{
71+
text: 'Contributor Guide',
72+
collapsed: false,
73+
items: [
74+
{ text: 'CLI', link: '/docs/contributor/cli' },
75+
{ text: 'API Server', link: '/docs/contributor/api-server' },
76+
{ text: 'Data Architecture', link: '/docs/contributor/data' },
77+
{ text: 'Component Development', link: '/docs/contributor/component' },
78+
{ text: 'Validations', link: '/docs/contributor/validations' },
79+
],
80+
},
81+
{
82+
text: 'Conformance',
83+
collapsed: true,
84+
items: [
85+
{ text: 'Overview', link: '/docs/conformance/' },
86+
{ text: 'DRA Support', link: '/docs/conformance/evidence/dra-support' },
87+
{ text: 'Gang Scheduling', link: '/docs/conformance/evidence/gang-scheduling' },
88+
{ text: 'Secure Accelerator Access', link: '/docs/conformance/evidence/secure-accelerator-access' },
89+
{ text: 'Accelerator Metrics', link: '/docs/conformance/evidence/accelerator-metrics' },
90+
{ text: 'Inference Gateway', link: '/docs/conformance/evidence/inference-gateway' },
91+
{ text: 'Robust Operator', link: '/docs/conformance/evidence/robust-operator' },
92+
{ text: 'Pod Autoscaling', link: '/docs/conformance/evidence/pod-autoscaling' },
93+
{ text: 'Cluster Autoscaling', link: '/docs/conformance/evidence/cluster-autoscaling' },
94+
],
95+
},
96+
{
97+
text: 'Project',
98+
collapsed: true,
99+
items: [
100+
{ text: 'Contributing', link: '/docs/project/contributing' },
101+
{ text: 'Development', link: '/docs/project/development' },
102+
{ text: 'Releasing', link: '/docs/project/releasing' },
103+
{ text: 'Changelog', link: '/docs/project/changelog' },
104+
{ text: 'Roadmap', link: '/docs/project/roadmap' },
105+
{ text: 'Security', link: '/docs/project/security' },
106+
{ text: 'Code of Conduct', link: '/docs/project/code-of-conduct' },
107+
{ text: 'Maintainers', link: '/docs/project/maintainers' },
108+
],
109+
},
110+
],
111+
},
112+
113+
socialLinks: [
114+
{ icon: 'github', link: 'https://github.com/NVIDIA/aicr' },
115+
],
116+
117+
search: {
118+
provider: 'local',
119+
},
120+
121+
editLink: {
122+
pattern: 'https://github.com/NVIDIA/aicr/edit/main/site/:path',
123+
text: 'Edit this page on GitHub',
124+
},
125+
126+
footer: {
127+
message: 'Released under the Apache 2.0 License.',
128+
copyright: 'Copyright © 2026 NVIDIA Corporation',
129+
},
130+
},
131+
})
132+
)

0 commit comments

Comments
 (0)