Interactive slides for the I2K 2025 Appose workshop, built with Slidev.
This project requires Node.js 20 or later. Ubuntu's repository version is too old.
# Install nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
# Restart your terminal or run:
source ~/.bashrc
# Install and use Node.js 20
nvm install 20
nvm use --delete-prefix 20The --delete-prefix flag is needed if you have npm's prefix setting configured (e.g., for Claude Code).
# Install fnm
curl -fsSL https://fnm.vercel.app/install | bash
source ~/.bashrc
# Install and use Node.js 20
fnm install 20
fnm use 20This project includes a .nvmrc file. With nvm or fnm installed, you can:
nvm use # automatically uses version from .nvmrc
# or
fnm use # automatically uses version from .nvmrcYou can also configure your shell to auto-switch. Add to ~/.bashrc:
# For nvm:
cd() { builtin cd "$@" && nvm use 2>/dev/null; }
# For fnm:
eval "$(fnm env --use-on-cd)"./dev.shThis script automatically:
- Switches to the correct Node.js version
- Installs dependencies if needed
- Starts the dev server
Install dependencies:
npm installStart the dev server with hot reload:
npm run devThis will open the presentation in your browser at http://localhost:3030
./build.shThis script automatically:
- Switches to the correct Node.js version
- Installs dependencies if needed
- Builds the static site
Build static files for deployment:
npm run buildThe built files will be in the dist folder, ready for deployment.
Export slides to PDF:
npm run exportWhen running locally, press ? to see keyboard shortcuts, or click the presenter icon to enter presenter mode with:
- Speaker notes
- Next slide preview
- Timer
- Interactive code blocks - Click to highlight different lines
- v-click animations - Progressive content reveal
- Two-column layouts - Side-by-side comparisons
- Syntax highlighting - For Bash, Python, Groovy, Java
- Offline support - Works without internet after initial setup
This repository is configured to automatically deploy to GitHub Pages via GitHub Actions whenever you push to the main branch.
The slides will be available at: https://[username].github.io/[repo-name]/
To enable GitHub Pages:
- Go to repository Settings > Pages
- Set Source to "GitHub Actions"
- Push to main branch - deployment happens automatically
Build and deploy to any static hosting:
npm run build
# Upload the dist/ folder to your hostEdit slides.md to modify the presentation content. Slidev uses Markdown with special directives:
---separates slideslayout: namesets slide layout<v-click>adds click-to-reveal<v-clicks>adds multiple reveals- Code blocks with
{1|2|3}for line highlighting
See Slidev documentation for more features.