Skip to content

feat(decks): add Slidev infrastructure and port offon-x-dynatrace deck - #224

Open
sinduri-g wants to merge 4 commits into
mainfrom
feat/slidev-deck-port
Open

feat(decks): add Slidev infrastructure and port offon-x-dynatrace deck#224
sinduri-g wants to merge 4 commits into
mainfrom
feat/slidev-deck-port

Conversation

@sinduri-g

Copy link
Copy Markdown
Contributor
  • Add decks/ workspace with @slidev/cli, isolated from main site build
  • Add theme-offon with dark design tokens, layout components (cover/center/default), GlobalTop.vue for firefly decoration and OffOn favicon logo (position:fixed, outside slide transform)
  • Port real offon-x-dynatrace deck (19 slides) from Reveal.js to Slidev markdown; all content, speaker notes, and assets preserved
  • Asset symlinks in deck root point to shared public/ directories (brand, team, speakers, qr, screenshots)
  • vite.config.ts expands server.fs.allow to repo root so Slidev's import guard allows symlinked assets
  • Build script post-processes output: injects noindex meta, replaces Slidev CDN favicon with local OffOn SVG, stamps git SHA for CI drift detection
  • Commit built output to public/slides/offon-x-dynatrace/ (same pattern as Reveal decks)

Type of change

  • feat new feature
  • fix bug fix
  • refactor no behavior change
  • docs / chore / config / perf / style / security

Manual checks

  • Screen reader tested (UI changes only)
  • New routes added to e2e/a11y.spec.ts, e2e/smoke.spec.ts, sitemap.xml.ts, and README (routes only; sitemap is auto-generated from getStaticPaths, so only static pages need manual entries)
  • UI verified at 375px, 768px, and 1280px against the production build (npm run build && npm run preview) (UI changes only)
  • Re-read every changed file; checked all call sites of any modified exports (all changes)
  • Per-level discussion JSON exists with correct discussionUrl (adventure/level changes only)

- Add decks/ workspace with @slidev/cli, isolated from main site build
- Add theme-offon with dark design tokens, layout components (cover/center/default), GlobalTop.vue for firefly decoration and OffOn favicon logo (position:fixed, outside slide transform)
- Port real offon-x-dynatrace deck (19 slides) from Reveal.js to Slidev markdown; all content, speaker notes, and assets preserved
- Asset symlinks in deck root point to shared public/ directories (brand, team, speakers, qr, screenshots)
- vite.config.ts expands server.fs.allow to repo root so Slidev's import guard allows symlinked assets
- Build script post-processes output: injects noindex meta, replaces Slidev CDN favicon with local OffOn SVG, stamps git SHA for CI drift detection
- Commit built output to public/slides/offon-x-dynatrace/ (same pattern as Reveal decks)

Signed-off-by: Sinduri Guntupalli <sinduri.g@gmail.com>
Signed-off-by: Sinduri Guntupalli <sinduri.guntupalli@dynatrace.com>
Theme CSS was absent from the bundle because Slidev's virtual module
for theme styles couldn't resolve a bare relative path outside the
deck project root.

- Add npm workspaces: ["theme-offon"] to decks/package.json
- Rename theme to slidev-theme-offon (Slidev's required convention)
- Change slides.md to reference theme as 'offon' (package name)
- Rebuild output: theme CSS, fonts (Inter/Syne), layout styles now
  included; all utility classes (.card, .brow, .g2/.g3/.g4, etc.)
  confirmed in assets/index-ByV4ftug.css

Signed-off-by: Sinduri Guntupalli <sinduri.g@gmail.com>
Signed-off-by: Sinduri Guntupalli <sinduri.guntupalli@dynatrace.com>
…ions

- Scale all fixed-px heights from Reveal's 1920×1080 canvas to Slidev's
  980×552 canvas (factor ≈ 0.51):
  - cobrand img: 54px → 28px, cover variant: 126px → 64px
  - deck-logo: 66px → 34px, repositioned to 16px/22px from edge
  - nyx-peek: 345px → 176px
  - challenges screenshots: 290px → 148px, 210px → 107px
  - community screenshot: 320px → 163px
- Add `transition: fade` to global frontmatter for slide animations
- Rebuild public/slides/offon-x-dynatrace/ from updated sources

Signed-off-by: Sinduri Guntupalli <sinduri.guntupalli@dynatrace.com>
The /slides/offon-x-dynatrace/ route is a self-contained Slidev SPA with
its own router and is not an Astro page, so axe/smoke suites don't apply.

Signed-off-by: Sinduri Guntupalli <sinduri.guntupalli@dynatrace.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant