WendellAdriel/
slidewire
g4t.io

SlideWire: Build Presentations with Livewire and Blade

139 stars by Paul Redmond

Create beautiful presentations powered by Livewire

README from WendellAdriel/slidewire Open on GitHub →

Installation

You can install the package via composer:

composer require wendelladriel/slidewire

Usage

SlideWire is a Laravel package for building presentation decks with Livewire. Presentations are built as Blade files, rendered as a full-page Livewire experience, and support navigation, themes, fragments, code highlighting, diagrams, vertical stacks, and timed auto-slide flows.

Features

  • Full-page deck rendering with Livewire
  • Keyboard, click, swipe, and hash-based navigation
  • Horizontal slides with nested vertical slide groups
  • Directional controls, progress, and fullscreen support
  • Transition presets, fragments, and auto-animate
  • Auto-slide timers with config, deck, and slide precedence
  • Syntax highlighting with Phiki and theme-aware configuration
  • Reveal-style backgrounds with color, image, and video support
  • Structured theme presets with typography controls
  • Remote presenter control — share a link and every viewer's deck follows the presenter live (polling-based, no extra infrastructure)

Remote Presenter Control

Drive every connected viewer's deck from a single presenter link — no websocket server required. Start a session for a registered presentation:

php artisan slidewire:remote pitch --ttl=2h --poll=2s

This prints two URLs:

  • Controller — a signed link for the presenter. Navigating it publishes the current slide/fragment to the cache.
  • Viewer — a shareable link for the audience. Each viewer polls the session and follows the presenter's position.

Modes are selected by query parameters on the existing SlideWire route, so no new routes are added and a deck opened without a remote parameter behaves exactly as a normal solo presentation. Defaults live in the RemoteConfig DTO under the remote key in config/slidewire.php (ttl, pollInterval, viewerControls, cacheStore); --ttl and --poll override the TTL and viewer poll cadence per session. Viewers are locked to the presenter by default — the controller can unlock free browsing (and end the session) from an in-deck control.

Access the full documentation here.

Changelog

Please see the changelog for more information on what has changed recently.

Contributing

Thank you for considering contributing to SlideWire! You can read the contribution guide here.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

SlideWire is open-sourced software licensed under the MIT license.

More from the ecosystem

marcreichel/
laya-php
g4t.io
3 53

LayaPHP: Self-Hosted Text Classification for PHP and Laravel

Classify text in PHP without an LLM bill: typed decisions in 100+ languages, self-hosted. Laravel-ready SDK for Laya, a Jev AI alternative.

ai classification decision-engine
marcreichel/laya-php via Laravel News
Josh-Dovey/
postcodes-laravel
g4t.io
5 9

Postcodes for Laravel: GB Postcode Lookup and Geography Data

Postcodes for Laravel adds typed GB postcode lookups, validation, geography data, distance searches, and test fakes through the GB Postcodes API.

Josh-Dovey/postcodes-laravel via Laravel News
RedberryProducts/
mailbox-for-laravel
g4t.io
4 115

Mailbox for Laravel: Preview and Test Rendered Email

Mailbox for Laravel captures outgoing mail in a local dashboard and lets you test rendered HTML, recipients, and attachments with fluent assertions.

RedberryProducts/mailbox-for-laravel via Laravel News