diff --git a/README.md b/README.md index bfa394db..19dc80d9 100644 --- a/README.md +++ b/README.md @@ -3,8 +3,8 @@ This repository hosts the Helm chart for the XSLT playground and now includes a Hugo-powered site for docs and updates. ## Layout -- `charts/` – Helm repository index and supporting assets (served as-is via GitHub Pages with `.nojekyll`). -- `xslt-playground-0.1.2.tgz` – packaged Helm chart referenced from `charts/index.yaml`. +- `index.yaml` – Helm repository index (served as-is via GitHub Pages with `.nojekyll`). +- `xslt-playground-0.1.2.tgz` – packaged Helm chart referenced from `index.yaml`. - `site/` – Hugo source (content, layouts, CSS). Publishes to `docs/`. - `docs/` – will contain generated static files after running Hugo; commit this folder if you want GitHub Pages to serve the site. diff --git a/docs/.nojekyll b/docs/.nojekyll new file mode 100644 index 00000000..8d1c8b69 --- /dev/null +++ b/docs/.nojekyll @@ -0,0 +1 @@ + diff --git a/docs/about/index.html b/docs/about/index.html new file mode 100644 index 00000000..1953418f --- /dev/null +++ b/docs/about/index.html @@ -0,0 +1,48 @@ + + + + + + About | XSLT Lab + + + + + +
+ + +
+
+

The XSLT Lab repo hosts the Helm chart index and packaged chart so you can install the playground quickly. A minimal Hugo site now lives alongside the chart to collect documentation, changelogs, and useful links without interfering with the chart repository structure.

+

Use it to share how-tos, release notes, or background on how the playground is deployed. All content is Markdown, so you can edit it directly and rebuild the docs/ output when you are ready to publish.

+
+
+
+ + + diff --git a/docs/css/main.css b/docs/css/main.css new file mode 100644 index 00000000..7c68ce99 --- /dev/null +++ b/docs/css/main.css @@ -0,0 +1,227 @@ +:root { + --bg: #0b1021; + --panel: #0f172a; + --accent: #32d5ff; + --accent-2: #ff7e67; + --text: #e6edf3; + --muted: #9fb2c8; + --border: #1f2a3d; + --shadow: 0 20px 40px rgba(0, 0, 0, 0.35); + font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; +} + +* { box-sizing: border-box; } + +body { + margin: 0; + background: radial-gradient(circle at 20% 20%, #11223f, #0b1021 45%), radial-gradient(circle at 80% 0%, #182743, #0b1021 40%), var(--bg); + color: var(--text); + line-height: 1.6; +} + +a { color: var(--accent); text-decoration: none; } +a:hover { color: var(--accent-2); } + +.container { + width: min(1100px, 90%); + margin: 0 auto; +} + +.site-header { + border-bottom: 1px solid var(--border); + position: sticky; + top: 0; + backdrop-filter: blur(8px); + background: rgba(11, 16, 33, 0.9); + z-index: 10; +} + +.header-grid { + display: grid; + grid-template-columns: 1fr auto; + align-items: center; + padding: 18px 0; + gap: 20px; +} + +.brand { + font-weight: 800; + letter-spacing: -0.02em; + color: white; +} + +.tagline { + margin: 4px 0 0; + color: var(--muted); +} + +.nav { + display: flex; + gap: 14px; + list-style: none; + padding: 0; + margin: 0; +} + +.nav a { + padding: 8px 12px; + border-radius: 10px; + border: 1px solid transparent; +} + +.nav a:hover { + border-color: var(--border); + background: rgba(255, 255, 255, 0.04); +} + +.hero { + padding: 70px 0 50px; +} + +.eyebrow { + text-transform: uppercase; + letter-spacing: 0.2em; + font-size: 12px; + color: var(--muted); + margin: 0 0 10px; +} + +h1, h2, h3, h4 { + margin: 10px 0; + line-height: 1.2; +} + +.lead { + font-size: 18px; + color: #d7e4f4; + max-width: 780px; +} + +.cta-row { + display: flex; + gap: 12px; + margin-top: 24px; + flex-wrap: wrap; +} + +.button { + display: inline-block; + padding: 12px 18px; + border-radius: 12px; + background: linear-gradient(120deg, var(--accent), var(--accent-2)); + color: #0b1021; + font-weight: 700; + box-shadow: var(--shadow); +} + +.button.ghost { + background: transparent; + color: var(--text); + border: 1px solid var(--border); + box-shadow: none; +} + +.grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); + gap: 24px; + padding: 10px 0 50px; +} + +.card { + background: linear-gradient(145deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.01)); + border: 1px solid var(--border); + border-radius: 16px; + padding: 18px 18px 22px; + box-shadow: var(--shadow); +} + +.checks { + list-style: none; + padding: 0; + margin: 14px 0 0; +} + +.checks li::before { + content: "✓"; + color: var(--accent); + margin-right: 8px; +} + +.post-list { + list-style: none; + padding: 0; + margin: 0; +} + +.post-list li { + margin-bottom: 12px; + display: flex; + justify-content: space-between; + gap: 12px; +} + +.post-list.spaced li { + padding: 14px 0; + border-bottom: 1px solid var(--border); +} + +.muted { + color: var(--muted); + font-size: 14px; +} + +.page-header { + padding: 40px 0 10px; +} + +.post { + padding: 40px 0; +} + +.post .content { + margin-top: 24px; +} + +.post .content p { + margin: 14px 0; +} + +.post .content code { + background: rgba(255, 255, 255, 0.04); + padding: 2px 6px; + border-radius: 6px; +} + +.back-link { + margin-top: 32px; +} + +.site-footer { + border-top: 1px solid var(--border); + padding: 20px 0; + margin-top: 40px; + color: var(--muted); +} + +.footer-grid { + display: flex; + justify-content: space-between; + align-items: center; + gap: 10px; + flex-wrap: wrap; +} + +code { + font-family: "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + font-size: 14px; + background: rgba(255, 255, 255, 0.06); + padding: 2px 5px; + border-radius: 6px; +} + +@media (max-width: 720px) { + .header-grid { grid-template-columns: 1fr; } + .nav { flex-wrap: wrap; } + .post-list li { flex-direction: column; align-items: flex-start; } +} diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 00000000..04c6a85d --- /dev/null +++ b/docs/index.html @@ -0,0 +1,68 @@ + + + + + + XSLT Lab + + + + + +
+
+

Static Site + Helm Repo

+

XSLT Lab

+

A Hugo-powered landing page that sits alongside the Helm chart repo.

+ +
+ +
+
+

How this fits

+

Side-by-side with your chart

+

The Hugo source lives in site/ and publishes to docs/, keeping the existing chart index and packages intact.

+
    +
  • Markdown content
  • +
  • No external theme dependency
  • +
  • Ready for GitHub Pages
  • +
+
+ +
+
+ + + diff --git a/docs/posts/index.html b/docs/posts/index.html new file mode 100644 index 00000000..98eb824f --- /dev/null +++ b/docs/posts/index.html @@ -0,0 +1,48 @@ + + + + + + Posts | XSLT Lab + + + + + +
+ + + +
+ + + diff --git a/docs/posts/welcome-to-xslt-lab/index.html b/docs/posts/welcome-to-xslt-lab/index.html new file mode 100644 index 00000000..21d2b1df --- /dev/null +++ b/docs/posts/welcome-to-xslt-lab/index.html @@ -0,0 +1,53 @@ + + + + + + Welcome to the XSLT Lab site | XSLT Lab + + + + + +
+
+

Posts

+

Welcome to the XSLT Lab site

+

28 Feb 2025

+

A short walkthrough of what this Hugo site gives you.

+
+

This repo now contains a Hugo site so you can publish notes, guides, and announcements next to the Helm chart.

+

What you get:

+
    +
  • A landing page that links to the chart index.
  • +
  • A posts section for updates and long-form guides.
  • +
  • A configurable menu and simple styling that lives entirely in this repo.
  • +
+

Run hugo --source site --minify to generate the static site into docs/, commit the output, and point GitHub Pages at the docs folder to go live.

+
+ +
+
+ + + diff --git a/site/hugo.toml b/site/hugo.toml index 3f1ed4fc..200f81a0 100644 --- a/site/hugo.toml +++ b/site/hugo.toml @@ -27,5 +27,5 @@ lead = "Articles, release notes, and pointers to the Helm repo all live here. Bu [[menu.main]] name = "Charts" - url = "https://alexandrev.github.io/xslt-lab/charts/index.yaml" + url = "https://alexandrev.github.io/xslt-lab/index.yaml" weight = 4