Add Docs Website#3
Conversation
There was a problem hiding this comment.
Pull request overview
Adds a Hugo/Doks documentation website for kdlctl, with local build helpers and GitHub Pages deployment automation.
Changes:
- Adds a full docs site under
docs/with Hugo config, layouts, static assets, guides, reference pages, and styling hooks. - Adds docs build/install targets to the
Makefileand a GitHub Actions workflow for Pages. - Updates repository metadata, README links, changelog, and CODEOWNERS for the new docs area.
Reviewed changes
Copilot reviewed 49 out of 59 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
| README.md | Adds docs site link and local docs commands. |
| Makefile | Adds docs install/dev/build targets. |
| CHANGELOG.md | Records docs website additions. |
| .github/workflows/docs.yml | Adds GitHub Pages docs build/deploy workflow. |
| .github/CODEOWNERS | Adds ownership for /docs/. |
| docs/package.json | Defines docs npm scripts and Hugo/Doks dependencies. |
| docs/package-lock.json | Locks docs npm dependency graph. |
| docs/netlify.toml | Adds Netlify build/header configuration. |
| docs/LICENSE | Adds upstream Doks/Thulite license text. |
| docs/.gitignore | Ignores docs build artifacts and dependencies. |
| docs/.npmignore | Adds npm ignore exceptions. |
| docs/.prettierignore | Adds docs formatting ignore rules. |
| docs/.prettierrc.yaml | Adds docs formatting configuration. |
| docs/hugo_stats.json | Provides Hugo build stats for CSS purging. |
| docs/static/icon.svg | Adds static site icon. |
| docs/assets/favicon.svg | Adds Hugo asset favicon. |
| docs/assets/images/.gitkeep | Keeps image asset directory. |
| docs/assets/svgs/.gitkeep | Keeps SVG asset directory. |
| docs/assets/js/custom.js | Adds custom JS placeholder. |
| docs/assets/scss/common/_custom.scss | Adds logo/navbar styling. |
| docs/assets/scss/common/_variables-custom.scss | Adds SCSS variables placeholder. |
| docs/config/_default/hugo.toml | Adds base Hugo site configuration. |
| docs/config/_default/languages.toml | Adds English language/footer config. |
| docs/config/_default/markup.toml | Adds Markdown/highlight/TOC config. |
| docs/config/_default/menus/menus.en.toml | Adds English menus and footer links. |
| docs/config/_default/menus/menus.nl.toml | Adds disabled/template Dutch menu config. |
| docs/config/_default/module.toml | Adds Hugo module mounts for Doks/Thulite assets. |
| docs/config/_default/params.toml | Adds Doks, SEO, image, and theme params. |
| docs/config/babel.config.js | Adds Babel browser target config. |
| docs/config/postcss.config.js | Adds PostCSS/autoprefixer/purgeCSS config. |
| docs/config/next/hugo.toml | Adds next environment baseURL override. |
| docs/config/production/hugo.toml | Adds production baseURL override. |
| docs/content/_index.md | Adds docs homepage content. |
| docs/content/404.md | Adds 404 page content. |
| docs/content/privacy.md | Adds privacy policy page. |
| docs/content/docs/_index.md | Adds docs section landing metadata. |
| docs/content/docs/guides/_index.md | Adds guides section metadata. |
| docs/content/docs/guides/automating-deployments.md | Adds CI/NATS automation guide. |
| docs/content/docs/guides/getting-started.md | Adds first-deploy guide. |
| docs/content/docs/guides/migrating-existing-services.md | Adds migration guide. |
| docs/content/docs/reference/_index.md | Adds reference section metadata. |
| docs/content/docs/reference/cli-commands.md | Adds command reference. |
| docs/content/docs/reference/deploy-kdl-schema.md | Adds KDL schema reference. |
| docs/content/docs/reference/supported-targets.md | Adds target/resource support reference. |
| docs/content/docs/resources.md | Adds repository and upstream resource links. |
| docs/layouts/baseof.html | Adds base Doks layout wrapper. |
| docs/layouts/home.html | Adds custom homepage layout. |
| docs/layouts/sitemap.xml | Adds sitemap template. |
| docs/layouts/_partials/footer/script-footer-custom.html | Adds footer script placeholder partial. |
| docs/layouts/_partials/head/custom-head.html | Adds custom head placeholder partial. |
| docs/layouts/_partials/head/script-header.html | Adds header script placeholder partial. |
| docs/layouts/_partials/header/header.html | Adds customized navigation/header partial. |
| docs/layouts/_partials/seo/favicons.html | Adds favicon/manifest partial. |
| docs/layouts/_partials/seo/opengraph.html | Adds OpenGraph metadata partial. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| command = """\ | ||
| git config core.quotepath false && \ | ||
| npm install && \ | ||
| hugo build --gc --minify --baseURL "${URL}" | ||
| """ |
There was a problem hiding this comment.
Fixed in commit fdc1af2: changed hugo build to hugo (the correct command syntax).
| - Read the [deploy.kdl schema reference](/docs/reference/deploy-kdl-schema/) | ||
| - Review the [CLI command reference](/docs/reference/cli-commands/) |
There was a problem hiding this comment.
Fixed in commit fdc1af2: changed root-relative links (/docs/reference/...) to relative links (../reference/...).
|
|
||
| ```powershell | ||
| kdlctl deploy --env prod --via-nats | ||
| kdlctl nats publish --subject deploy.requested '{\"env\":\"prod\"}' |
There was a problem hiding this comment.
Fixed in commit fdc1af2: removed backslashes so the payload is '{"env":"prod"}' instead of '{\"env\":\"prod\"}'.
| Strict-Transport-Security = "max-age=31536000; includeSubDomains; preload" | ||
| X-Content-Type-Options = "nosniff" | ||
| X-XSS-Protection = "1; mode=block" | ||
| Content-Security-Policy = "default-src 'self'; manifest-src 'self'; connect-src 'self'; font-src 'self'; img-src 'self' https://avatars.githubusercontent.com data:; script-src 'self' 'nonce-dXNlcj0iaGVsbG8iLGRvbWFpbj0iaGVua3ZlcmxpbmRlLmNvbSIsZG9jdW1lbnQud3JpdGUodXNlcisiQCIrZG9tYWluKTs=' 'sha256-aWZ3y/RxbBYKHXH0z8+8ljrHG1mSBvyzSfxSMjBSaXk='; style-src 'self'" |
There was a problem hiding this comment.
Applied in commit 1f4a264: removed the hard-coded CSP nonce from docs/netlify.toml and kept the existing script hash-based policy. No UI changes were made in this update.
| section: | ||
| title: "Documentation" | ||
| iconName: "book" | ||
| startUrl: "/docs/guides/getting-started/" |
There was a problem hiding this comment.
Fixed in commits fdc1af2 and 14aef07: changed from root-relative /docs/guides/getting-started/ to relative guides/getting-started/.
Fix URL problem. Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
URL Fix Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Agent-Logs-Url: https://github.com/djburkhart/kdlctl/sessions/bbc48d1e-a77a-4ace-a99e-822e525da149 Co-authored-by: djburkhart <2326200+djburkhart@users.noreply.github.com>
Agent-Logs-Url: https://github.com/djburkhart/kdlctl/sessions/ac3084ab-f8b5-49c6-91d9-7a9400a7a22f Co-authored-by: djburkhart <2326200+djburkhart@users.noreply.github.com>
Agent-Logs-Url: https://github.com/djburkhart/kdlctl/sessions/ac3084ab-f8b5-49c6-91d9-7a9400a7a22f Co-authored-by: djburkhart <2326200+djburkhart@users.noreply.github.com>
Create a hugo docs website for kdlctl