My custom Slidev theme, forked from the default theme.
Compared to the default Slidev theme, this fork adds:
- custom content components in
components/ - different default fonts
- refined heading and spacing rules in
styles/layouts.css - improved spacing for the built-in
two-columnslayout
The layouts in layouts/ are inherited from the default theme and currently remain structurally unchanged.
These components were added on top of the base theme:
When a component accepts a color prop, the available colors are:
redorangeamberyellowlimegreenemeraldtealcyanskyblueindigovioletpurplefuchsiapinkrose
Purpose:
- highlight a key point
- provide a lightweight colored emphasis block
Behavior:
- accepts a
colorprop - defaults to
blue - renders a left border with a tinted background
Purpose:
- group related content
- frame supporting content with a border and a soft background
Behavior:
- accepts a
colorprop - defaults to
blue - renders a bordered block with rounded corners
Purpose:
- emphasize an inline term
- provide a small colored label inside running text
Behavior:
- accepts a
colorprop - defaults to
blue - renders an inline badge-like highlight
Purpose:
- render secondary text
- support muted notes, captions, or source lines
Behavior:
- no props
- uses smaller text and reduced opacity
- renders as a
divso it can safely wrap arbitrary Slidev slot content
Compared to the default theme font stack:
sanschanged fromAvenir Next,Nunito SanstoIBM Plex Sansmonochanged fromFira CodetoJetBrains Monoserifwas added asFraunceslocalchanged fromAvenir NexttoIBM Plex Sans
This shifts the theme away from the default Slidev look toward a more editorial tone, especially through serif headings.
These changes affect the existing default-theme layouts without changing their Vue structure.
All headings now use the serif font:
h1h2h3h4h5h6
This is the main visual departure from the base theme.
Spacing before subsection headings was broadened:
h2now gets top margin afterp,ul,ol,table,blockquote,pre, andh6h3now gets top margin after the same set of preceding elements
This makes long-form slides read more consistently than the default theme.
The default theme applied reduced opacity and negative top margin to paragraphs directly following h1.
This fork removes that global h1 + p styling. As a result:
- subtitles and first paragraphs are less forced into the default hero/subtitle pattern
- content slides get more neutral paragraph styling
No layout Vue file in layouts/ has been structurally changed relative to the base theme.
The only layout-specific adjustment in this fork is:
Added:
- extra gap via
@apply gap-8
Effect:
- gives the built-in two-column layout more breathing room than the default theme
These layouts still come from the default Slidev theme structure:
coverintrosectionstatementfactquote
That matters because this fork is currently more of a styling and component extension than a layout rewrite.
Relative to the base theme, the current theme identity is:
- same default layout structure
- stronger editorial typography
- better content spacing
- more useful authoring primitives through custom components