# webslides/webslides

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/webslides-webslides).**

6,314 stars · 584 forks · JavaScript · MIT

## Links

- GitHub: https://github.com/webslides/WebSlides
- Homepage: https://webslides.tv/
- awesome-repositories: https://awesome-repositories.com/repository/webslides-webslides.md

## Topics

`css` `design` `html` `html-presentation` `javascript` `slides` `slideshow` `webpack` `webslides`

## Description

WebSlides is a CSS-class-driven presentation framework that turns HTML sections into full-screen slides with keyboard, touch, and remote navigation. Its core architecture defines slides as HTML section elements styled entirely through CSS classes for layout, animation, and background, with a vertical-rhythm spacing foundation using an 8-pixel baseline grid. The framework includes a plugin-based behavior extension system that hooks into slide lifecycle events, and maps each slide to a unique URL hash for direct permalink navigation.

The framework distinguishes itself through a comprehensive set of pre-built CSS components for rapid slide construction, including background colors and gradients, fullscreen background images and videos with overlay options, and a nine-grid content positioning system. It provides flexible auto-filling column grids, pre-built content components like covers, cards, quotes, and pricing tables, and supports rich media embedding including YouTube videos, maps, charts, and SVG icons. The system also includes landing page assembly capabilities, longform article layouts, and styled buttons and badges with radius and ghost variants.

Beyond slide creation, WebSlides offers multi-modal navigation through keyboard shortcuts, touch swipe gestures, remote presenter inputs, and on-screen clicks, along with a slide index overlay for quick access to any slide. It supports timed auto-advance for self-running presentations, CSS animations for fade-in, zoom, and slide transitions, and scroll-triggered animations. The framework fires custom lifecycle events when slides are enabled or disabled, and provides slide counter and progress displays to orient the audience.

The documentation covers browser-based presentation creation for keynotes, company culture decks, interview formats, and portfolio showcases, with all functionality accessible through simple HTML markup and CSS classes.

## Tags

### User Interface & Experience

- [HTML Slide Decks](https://awesome-repositories.com/f/user-interface-experience/presentation-frameworks/slide-management-configuration/slide-content-authoring/presentation-decks/html-slide-decks.md) — Creates full-screen HTML presentations with keyboard, touch, and remote navigation for live talks. ([source](https://webslides.tv/demos](https://webslides.tv/demos))
- [Slide Architectures](https://awesome-repositories.com/f/user-interface-experience/styling-theming-systems/content-styling/styling-architectures/styling-systems/class-based-styling/css-class-based-styling/slide-architectures.md) — Defines slides as HTML section elements styled entirely through CSS classes for layout, animation, and background.
- [CSS Utility Classes](https://awesome-repositories.com/f/user-interface-experience/css-utility-classes.md) — Applies background colors, gradients, image sizes, and card dimensions via simple CSS classes. ([source](https://webslides.tv/demos/components.html))
- [Slide Background Images](https://awesome-repositories.com/f/user-interface-experience/image-display-components/terminal-background-images/profile-background-images/slide-background-images.md) — Sets fullscreen background images on slides using Unsplash photo URLs via CSS classes. ([source](https://webslides.tv/demos/landings))
- [Keyboard and Touch Adapters](https://awesome-repositories.com/f/user-interface-experience/input-handling/mobile-touch-handlers/keyboard-and-touch-adapters.md) — Handles slide transitions via keyboard shortcuts, swipe gestures, and remote presenter inputs through a unified dispatcher.
- [Slide](https://awesome-repositories.com/f/user-interface-experience/layout-utility-classes/slide.md) — Provides CSS utility classes for typography, backgrounds, grids, and alignments to structure slide content. ([source](https://webslides.tv/demos/components.html))
- [Keyboard Navigation Shortcuts](https://awesome-repositories.com/f/user-interface-experience/navigation-components/keyboard-navigation-shortcuts.md) — Provides comprehensive keyboard shortcuts including arrow keys, Page Up/Down, Space, Home, and End for slide navigation. ([source](https://github.com/webslides/WebSlides/wiki/Plugin-docs))
- [Touch Navigation Interfaces](https://awesome-repositories.com/f/user-interface-experience/navigation-components/touch-navigation-interfaces.md) — Moves between slides using keyboard arrow keys or touch swipe gestures for intuitive navigation. ([source](https://webslides.tv/demos/landings))
- [Slide Element Animations](https://awesome-repositories.com/f/user-interface-experience/presentation-frameworks/animation-transition-engines/slide-transition-engines/slide-element-animations.md) — Applies fade, zoom, and slide animations to slides using CSS classes triggered on slide change.
- [Full-Screen Slideshow Delivery](https://awesome-repositories.com/f/user-interface-experience/presentation-frameworks/presentation-modes/presenter-views/full-screen-slideshow-delivery.md) — Delivers a full-screen, browser-based keynote presentation with slide navigation. ([source](https://webslides.tv/demos))
- [Prebuilt Slide Components](https://awesome-repositories.com/f/user-interface-experience/presentation-frameworks/slide-management-configuration/slide-content-authoring/slide-element-insertion/prebuilt-slide-components.md) — Ships over 40 ready-made slide components including covers, cards, quotes, and pricing tables. ([source](https://webslides.tv/))
- [Presentation Navigation](https://awesome-repositories.com/f/user-interface-experience/presentation-navigation.md) — Moves between slides using arrow keys, supporting presenter mode for live presentations. ([source](https://webslides.tv/))
- [Slide Background Colors](https://awesome-repositories.com/f/user-interface-experience/background-fill-colors/slide-background-colors.md) — Sets a slide's background to a predefined corporate, general, or transparent color via a CSS class. ([source](https://webslides.tv/demos/classes.html))
- [Button Styles](https://awesome-repositories.com/f/user-interface-experience/button-styles.md) — Provides styled buttons and app store badges with radius and ghost variants for slides. ([source](https://webslides.tv/demos/landings))
- [Scroll-Triggered Animations](https://awesome-repositories.com/f/user-interface-experience/declarative-animations/scroll-triggered-animations.md) — Triggers CSS animations when a slide or element scrolls into view. ([source](https://webslides.tv/))
- [Vertical Rhythm Systems](https://awesome-repositories.com/f/user-interface-experience/element-groupings/alignment-spacing/vertical-rhythm-systems.md) — Uses an 8-pixel baseline grid for all vertical spacing, ensuring consistent visual alignment across slide content.
- [Auto-Filling Column Grids](https://awesome-repositories.com/f/user-interface-experience/flexible-grid-layouts/auto-filling-column-grids.md) — Arranges content into auto-filling, equal-height columns using a single CSS class without JavaScript.
- [Data-Attribute-Driven Interactivity](https://awesome-repositories.com/f/user-interface-experience/form-and-input-management/interaction-and-event-handling/ui-interactivity/data-attribute-driven-interactivity.md) — Embeds video and YouTube playback instructions directly in HTML attributes, parsed on slide entry and exit.
- [Nine-Grid Content Positioning](https://awesome-repositories.com/f/user-interface-experience/grid-layouts/item-positioning/nine-grid-content-positioning.md) — Positions text and images to any of nine grid locations using CSS classes. ([source](https://webslides.tv/demos/classes.html))
- [Presentation Landing Pages](https://awesome-repositories.com/f/user-interface-experience/landing-page-templates/presentation-landing-pages.md) — Assembles welcome, cover, data, about, benefit, card, offer, and form sections for web presence. ([source](https://webslides.tv/demos/components.html))
- [Slide YouTube Playback Controllers](https://awesome-repositories.com/f/user-interface-experience/playback-controllers/youtube/slide-youtube-playback-controllers.md) — Controls YouTube video playback with play, loop, mute, and hide controls triggered on slide entry and exit. ([source](https://github.com/webslides/WebSlides/wiki/Plugin-docs))
- [Slide Video](https://awesome-repositories.com/f/user-interface-experience/presentation-frameworks/animation-transition-engines/slide-transition-engines/autoplay-systems/slide-video.md) — Plays videos with the autoplay attribute when the slide becomes active and pauses them when leaving. ([source](https://github.com/webslides/WebSlides/wiki/Plugin-docs))
- [Slide Lifecycle Hooks](https://awesome-repositories.com/f/user-interface-experience/presentation-frameworks/lifecycle-state-management/slide-lifecycle-hooks.md) — Fires custom events when a slide is enabled or disabled, carrying the slide instance in the event detail. ([source](https://github.com/webslides/WebSlides/wiki/Core-API))
- [Video Backgrounds](https://awesome-repositories.com/f/user-interface-experience/presentation-frameworks/media-background-integration/video-backgrounds.md) — Plays a fullscreen video behind slide content, optionally with a dark or light overlay. ([source](https://webslides.tv/demos/classes.html))
- [Slide Navigation Links](https://awesome-repositories.com/f/user-interface-experience/presentation-frameworks/navigation-flow-controllers/slide-navigation-links.md) — Jumps directly to any slide by its permalink, enabling quick navigation to a particular section. ([source](https://cdn.jsdelivr.net/gh/webslides/webslides@master/README.md))
- [Timed Auto-Advance](https://awesome-repositories.com/f/user-interface-experience/presentation-frameworks/navigation-flow-controllers/slide-navigation-links/slide-navigation-controls/timed-auto-advance.md) — Automatically advances slides on a configurable timer for hands-free presentations. ([source](https://cdn.jsdelivr.net/gh/webslides/webslides@master/README.md))
- [Gradient Backgrounds](https://awesome-repositories.com/f/user-interface-experience/presentation-frameworks/slide-layout-styling/gradient-backgrounds.md) — Fills a slide's background with a horizontal, radial, or vertical gradient. ([source](https://webslides.tv/demos/classes.html))
- [Slide Numbering Configurations](https://awesome-repositories.com/f/user-interface-experience/presentation-frameworks/slide-management-configuration/slide-numbering-configurations.md) — Shows the current slide number and total slide count to orient the audience. ([source](https://webslides.tv/demos/landings))
- [Slide Deck Automation](https://awesome-repositories.com/f/user-interface-experience/sliding-page-view-components/automated-slide-rotation/slide-deck-automation.md) — Maps each slide to a unique URL hash, enabling direct navigation to any slide by its index or permalink.
- [Slide](https://awesome-repositories.com/f/user-interface-experience/video-players/slide.md) — Places a responsive video player on a slide with options for looping, autoplay, and muting. ([source](https://webslides.tv/demos/landings))

### Part of an Awesome List

- [Keyboard and Navigation](https://awesome-repositories.com/f/awesome-lists/devtools/keyboard-and-navigation.md) — Supports both keyboard arrow keys and touch swipe gestures for intuitive slide navigation. ([source](https://webslides.tv/demos/keynote))

### Business & Productivity Software

- [Slide Assembly Components](https://awesome-repositories.com/f/business-productivity-software/document-assembly-systems/component-based-assemblies/slide-assembly-components.md) — Creates individual slides from simple HTML elements, keeping the code clean and scalable. ([source](https://webslides.tv/))

### Education & Learning Resources

- [Slide Content Styling Classes](https://awesome-repositories.com/f/education-learning-resources/pre-built-simulation-collections/pre-built-graders/slide-content-styling-classes.md) — Ships pre-built CSS classes for typography, backgrounds, cards, and flexible block layouts on slides. ([source](https://cdn.jsdelivr.net/gh/webslides/webslides@master/README.md))

### Content Management & Publishing

- [Longform Article Layouts](https://awesome-repositories.com/f/content-management-publishing/longform-article-layouts.md) — Provides scrollable longform article layouts with solid CSS architecture and responsive design. ([source](https://webslides.tv/demos))

### Graphics & Multimedia

- [Rich Media Integration](https://awesome-repositories.com/f/graphics-multimedia/rich-media-integration.md) — Embeds background images, videos, maps, charts, and SVG icons directly into slide content. ([source](https://webslides.tv/demos/components.html))
- [Autoplaying YouTube Embeds](https://awesome-repositories.com/f/graphics-multimedia/video-downloaders/youtube-media-consumption/youtube-video-embeddings/autoplaying-youtube-embeds.md) — Plays YouTube videos automatically when a slide loads, with loop, autoplay, and mute options. ([source](https://webslides.tv/demos/keynote))

### Software Engineering & Architecture

- [Plugin-Based Extensibility](https://awesome-repositories.com/f/software-engineering-architecture/plugin-based-extensibility.md) — Registers custom JavaScript plugins that hook into slide lifecycle events to override or augment built-in behaviors.
