@hoverkraft/slidev-theme
v0.2.0
Published
Hoverkraft branding theme for Slidev
Readme
@hoverkraft/slidev-theme
Hoverkraft-branded theme for Slidev.
Usage
Install the theme in a Slidev deck:
npm install -D @hoverkraft/slidev-themeThe theme enables Typst, pane, and Rabbit addons by default, and ships them as package dependencies so decks do not need to install them separately:
npm install -D @hoverkraft/slidev-themeConfigure the deck frontmatter:
---
theme: "@hoverkraft/slidev-theme"
---Use the branded cover layout:
---
layout: cover
---
# My presentation
Built with Hoverkraft Slidev theme.Branding
The theme ships with Hoverkraft visual tokens:
- Primary:
#0073cc - Secondary:
#cc4400 - Dark base:
#1d2026 - Fonts:
Interfor prose andRoboto Monofor code
Logos
The theme provides the Hoverkraft logos as autoimported components, so decks can use them without any extra setup:
<HoverkraftIcon />- the Hoverkraft pictogram.<HoverkraftLogo />- the Hoverkraft wordmark (dark, tuned for light backgrounds).<HoverkraftFooter />- a reusable footer signature (by+ logo), matching the talk-style byline pattern.
<HoverkraftIcon size="4rem" />
<HoverkraftLogo size="2.5rem" />
<HoverkraftFooter />Logo components accept the following props:
size(CSS length, default1emfor the icon and1.6emfor the wordmark) - sets the rendered height; width scales automatically.label(string, defaultHoverkraft) - the accessible name announced by screen readers.decorative(boolean, defaultfalse) - hides the logo from assistive technology when it is purely decorative.
<HoverkraftFooter /> accepts:
byLabel(string, defaultby) - prefix text displayed before the logo.logoSize(CSS length, default1.1rem) - rendered logo height.fixed(boolean, defaultfalse) - pins the footer to the slide viewport.right(CSS length, default0.75rem) - right offset when fixed.bottom(CSS length, default0.5rem) - bottom offset when fixed.opacity(number, default0.85) - footer opacity.
Use it directly in slide content:
<HoverkraftFooter />Or as a global bottom layer in a deck:
<!-- global-bottom.vue -->
<template>
<HoverkraftFooter v-if="$nav.currentLayout !== 'cover'" fixed />
</template>Default Addons
The theme enables these addons through slidev.defaults.addons:
Slide counters and progress chrome can be built with Slidev's $nav global context, and slide scaling uses Slidev's built-in zoom: frontmatter support.
Development
Run commands from the workspace root:
npm install
npm run lint
npm run test
npm run build