ワンクリックで
slidev-themes
Use and customize Slidev themes. Use this skill to apply themes, configure theme options, and create custom themes.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Use and customize Slidev themes. Use this skill to apply themes, configure theme options, and create custom themes.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Master v-click and sequential animations in Slidev. Use this skill to reveal content progressively and create engaging presentations.
Add smooth slide transitions in Slidev. Use this skill for fade, slide, and custom transitions between slides.
Create beautiful code blocks with Shiki syntax highlighting. Use this skill for code snippets, line highlighting, and code groups.
Animate code transformations with Shiki Magic Move. Use this skill to create smooth morphing transitions between code states.
Add live coding with Monaco Editor in Slidev. Use this skill for interactive code demos, executable code, and real-time editing.
Leverage Vue components in Slidev slides. Use this skill to add interactivity with built-in components or create custom ones.
| name | slidev-themes |
| description | Use and customize Slidev themes. Use this skill to apply themes, configure theme options, and create custom themes. |
This skill covers using, customizing, and creating themes for Slidev presentations. Themes provide consistent styling, layouts, and components across your slides.
In your first slide's frontmatter:
---
theme: seriph
---
seriph, default)slidev-theme-custom)./my-theme)Slidev automatically prompts to install missing themes:
? The theme "seriph" was not found, do you want to install it now? (Y/n)
npm install slidev-theme-seriph
The built-in default theme.
---
theme: default
---
Elegant theme with serif typography.
---
theme: seriph
---
Apple keynote-inspired design.
---
theme: apple-basic
---
Colorful, vibrant theme.
---
theme: bricks
---
Theme featuring Shiba Inu styling.
---
theme: shibainu
---
Find more at the Theme Gallery:
Popular community themes include:
slidev-theme-penguinslidev-theme-purplinslidev-theme-geistslidev-theme-draculaslidev-theme-elocnpm install slidev-theme-penguin
---
theme: penguin
---
Pass configuration to themes:
---
theme: seriph
themeConfig:
primary: '#5d8392'
secondary: '#8b5cf6'
tertiary: '#3b82f6'
darkBg: '#1a1a2e'
lightBg: '#f8fafc'
---
Each theme defines its own options. Check theme documentation for:
themeConfig:
# Colors
primary: '#3b82f6'
secondary: '#10b981'
background: '#ffffff'
text: '#1e293b'
# Typography
fontFamily: 'Inter'
fontSize: '16px'
# Layout
padding: '2rem'
---
colorSchema: auto
---
Follows system preference.
---
colorSchema: light
---
---
colorSchema: dark
---
To fully customize a theme's source code:
slidev theme eject
This copies the theme to your project's local files.
my-presentation/
├── slides.md
├── theme/
│ ├── layouts/
│ │ ├── default.vue
│ │ ├── cover.vue
│ │ └── ...
│ ├── components/
│ ├── styles/
│ │ └── index.css
│ └── setup/
│ └── main.ts
└── package.json
---
theme: ./theme
---
slidev-theme-mytheme/
├── package.json
├── layouts/
│ ├── default.vue
│ ├── cover.vue
│ ├── center.vue
│ └── two-cols.vue
├── components/
│ └── MyComponent.vue
├── styles/
│ └── index.css
└── setup/
├── main.ts
└── shiki.ts
{
"name": "slidev-theme-mytheme",
"version": "1.0.0",
"keywords": [
"slidev-theme",
"slidev"
],
"engines": {
"slidev": ">=0.40.0"
},
"slidev": {
"colorSchema": "both",
"highlighter": "shiki",
"fonts": {
"sans": "Inter",
"mono": "Fira Code"
}
}
}
<!-- layouts/default.vue -->
<template>
<div class="slidev-layout default">
<slot />
</div>
</template>
<style scoped>
.default {
padding: 2rem;
height: 100%;
}
</style>
<!-- layouts/cover.vue -->
<script setup>
defineProps({
background: {
type: String,
default: ''
}
})
</script>
<template>
<div
class="slidev-layout cover"
:style="{
backgroundImage: background ? `url(${background})` : undefined
}"
>
<div class="content">
<slot />
</div>
</div>
</template>
<style scoped>
.cover {
display: flex;
align-items: center;
justify-content: center;
background-size: cover;
background-position: center;
}
.content {
text-align: center;
}
</style>
/* styles/index.css */
:root {
--slidev-theme-primary: #3b82f6;
--slidev-theme-secondary: #10b981;
--slidev-theme-text: #1e293b;
--slidev-theme-background: #ffffff;
}
.dark {
--slidev-theme-text: #f1f5f9;
--slidev-theme-background: #0f172a;
}
.slidev-layout {
color: var(--slidev-theme-text);
background: var(--slidev-theme-background);
}
h1 {
color: var(--slidev-theme-primary);
font-weight: 700;
}
a {
color: var(--slidev-theme-secondary);
}
<!-- components/ThemedCard.vue -->
<script setup>
defineProps({
title: String,
variant: {
type: String,
default: 'primary'
}
})
</script>
<template>
<div :class="['themed-card', `variant-${variant}`]">
<h3 v-if="title">{{ title }}</h3>
<slot />
</div>
</template>
<style scoped>
.themed-card {
padding: 1.5rem;
border-radius: 0.5rem;
margin: 1rem 0;
}
.variant-primary {
background: var(--slidev-theme-primary);
color: white;
}
.variant-secondary {
background: var(--slidev-theme-secondary);
color: white;
}
</style>
<!-- layouts/default.vue -->
<script setup>
import { useSlideContext } from '@slidev/client'
const { $slidev } = useSlideContext()
const primaryColor = $slidev.themeConfigs?.primary || '#3b82f6'
</script>
<template>
<div class="layout" :style="{ '--primary': primaryColor }">
<slot />
</div>
</template>
In setup/main.ts:
import { defineAppSetup } from '@slidev/types'
export default defineAppSetup(({ app }) => {
app.provide('themeDefaults', {
primary: '#3b82f6',
secondary: '#10b981',
})
})
package.json has correct fieldsnpm publish
Open a PR to Slidev's theme gallery repository.
/* Light mode */
.slidev-layout {
background: #ffffff;
color: #1e293b;
}
/* Dark mode */
.dark .slidev-layout {
background: #0f172a;
color: #f1f5f9;
}
:root {
--theme-primary: #3b82f6;
}
.primary {
color: var(--theme-primary);
}
Essential layouts:
defaultcovercentertwo-colssectionendREADME should include:
When configuring themes:
---
theme: [theme-name]
colorSchema: [auto|light|dark]
themeConfig:
primary: '[color]'
secondary: '[color]'
[other options specific to theme]
---
THEME SELECTION:
CUSTOMIZATION:
ADDITIONAL FILES (if ejected):