104 lines
2.3 KiB
Markdown
104 lines
2.3 KiB
Markdown
|
|
# Rust Vibe Theme for Slidev
|
||
|
|
|
||
|
|
A custom Slidev theme designed for Rust presentations with vibrant orange colors, modern animations, and a dark aesthetic.
|
||
|
|
|
||
|
|
## Features
|
||
|
|
|
||
|
|
- 🦀 Rust-inspired color palette (orange #f74c00 as primary)
|
||
|
|
- 🌙 Dark mode optimized
|
||
|
|
- ✨ Custom animations (Ferris wave, pulse effects)
|
||
|
|
- 🎨 Styled code blocks with Rust syntax highlighting
|
||
|
|
- 📊 Performance cards and badges
|
||
|
|
- 🏢 Company cards for showcasing adopters
|
||
|
|
- 📱 Poll options with hover effects
|
||
|
|
- 💻 Terminal simulation styles
|
||
|
|
|
||
|
|
## Usage
|
||
|
|
|
||
|
|
In your `slides.md` frontmatter:
|
||
|
|
|
||
|
|
```yaml
|
||
|
|
---
|
||
|
|
theme: rust-vibe
|
||
|
|
colorSchema: dark
|
||
|
|
fonts:
|
||
|
|
mono: 'Victor Mono'
|
||
|
|
---
|
||
|
|
```
|
||
|
|
|
||
|
|
## Custom Classes
|
||
|
|
|
||
|
|
### Text Colors
|
||
|
|
- `.orange` - Rust orange color (#CE412B)
|
||
|
|
|
||
|
|
### Layout Components
|
||
|
|
- `.poll-option` - Interactive poll option with hover effects
|
||
|
|
- `.performance-card` - Card for displaying benchmark results
|
||
|
|
- `.company-card` - Card for company logos/names
|
||
|
|
- `.tool-category` - Category sections for tools
|
||
|
|
- `.terminal-simulation` - Terminal-like display
|
||
|
|
- `.interactive-demo` - Interactive demo sections
|
||
|
|
- `.rust-button` - Rust-styled button
|
||
|
|
|
||
|
|
### Result Badges
|
||
|
|
- `.result-badge.slow` - Red badge for slow results
|
||
|
|
- `.result-badge.medium` - Orange badge for medium results
|
||
|
|
- `.result-badge.fast` - Green badge for fast results
|
||
|
|
|
||
|
|
### Animations
|
||
|
|
- `.ferris-animate` - Waving animation for Ferris mascot
|
||
|
|
|
||
|
|
## Code Blocks
|
||
|
|
|
||
|
|
The theme includes enhanced syntax highlighting for Rust code with:
|
||
|
|
- Keywords in red (#ff6b6b)
|
||
|
|
- Strings in teal (#4ecdc4)
|
||
|
|
- Functions in yellow (#ffe66d)
|
||
|
|
- Types in orange with bold weight
|
||
|
|
- Comments in gray with italic style
|
||
|
|
|
||
|
|
### Line Numbers
|
||
|
|
|
||
|
|
By default, code blocks **do not show line numbers**. To enable line numbers for specific code blocks, wrap them in a div with the `code-line-num` class:
|
||
|
|
|
||
|
|
````markdown
|
||
|
|
<div class="code-line-num">
|
||
|
|
|
||
|
|
```rust
|
||
|
|
fn main() {
|
||
|
|
println!("This code will have line numbers");
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
</div>
|
||
|
|
````
|
||
|
|
|
||
|
|
To disable line numbers globally in your slides, add to frontmatter:
|
||
|
|
|
||
|
|
```yaml
|
||
|
|
---
|
||
|
|
lineNumbers: false
|
||
|
|
---
|
||
|
|
```
|
||
|
|
|
||
|
|
## Color Palette
|
||
|
|
|
||
|
|
```css
|
||
|
|
--rust-orange: #f74c00
|
||
|
|
--rust-dark: #8b2500
|
||
|
|
--rust-light: #ffa366
|
||
|
|
--rust-gray: #2d3748
|
||
|
|
--rust-dark-gray: #1a202c
|
||
|
|
--rust-accent: #48bb78
|
||
|
|
```
|
||
|
|
|
||
|
|
## Requirements
|
||
|
|
|
||
|
|
- Slidev >= 0.48.0
|
||
|
|
- Victor Mono font (recommended for code)
|
||
|
|
- JetBrains Mono font (fallback for terminals)
|
||
|
|
|
||
|
|
## License
|
||
|
|
|
||
|
|
MIT
|