protonemedia/laravel-splade

Laravel Splade: the magic of Inertia.js with the simplicity of Blade.

Fund package maintenance!
pascalbaljet

Installs: 83 977

Dependents: 6

Suggesters: 0

Security: 0

Stars: 1 471

Watchers: 27

Forks: 112

Open Issues: 40

1.4.20 2024-11-20 13:09 UTC

README

Laravel Splade

The magic of Inertia.js with the simplicity of Blade.

Splade provides a super easy way to build Single Page Applications (SPA) using standard Laravel Blade templates, enhanced with renderless Vue 3 components. In essence, you can write your app using the simplicity of Blade, and besides that magic SPA-feeling, you can sparkle it to make it interactive. All without ever leaving Blade.

Latest Version on Packagist GitHub Tests Action Status Total Downloads Splade Discord Server GitHub Sponsors

Update February 23, 2024: Thoughts on Splade

After 18 months, I took a week to reflect on Splade and its future. Please read my blog post if you're interested in Splade!

Sponsor Us

❤️ We proudly support the community by developing Laravel packages and giving them away for free. If this package saves you time or if you're relying on it professionally, please consider sponsoring the maintenance and development and check out our latest premium package: Inertia Table. Keeping track of issues and pull requests takes time, but we're happy to help!

Features

Splade gives you a massive head start when building applications. Navigate the documentation or watch the videos to discover its power, but to give you a glance, here's a short overview of some of the best features:

  • Splade allows you to use the Laravel Blade template engine and build a single-page application using regular server-side routing without building an API. You still have the full power of Vue.js when you need it.
  • Splade aims to stick as close as possible to the default Laravel features and development flow.
  • Automatic installer and support for the Laravel Breeze starter kit.
  • Besides the SPA navigation features, it has more than 20 interactive components that are huge timesavers.
  • Most components are functional and unstyled, giving you complete control over the implementation.
  • Other components are styled with Tailwind CSS 3.0, but can be fully customized by publishing the Blade templates. You don't need to rebuild or recompile any JavaScript for this.
  • Built-in support for Modals and Slideover that can show any route or pre-loaded content.
  • Beautiful Form Components with support for Validation and (Eloquent) Model binding. Built-in integration with Autosize, Choices.js, FilePond, and Flatpickr, including async file uploads.
  • DataTables-like Table component that supports auto-fill, bulk actions, exports, searching, sorting, and more!
  • Support Lazy Loading (templates and data), Persistent Layout, Animations, and Teleports.
  • Laravel Echo integration to control browser behavior from the backend (redirecting, refreshing, and showing a toast).
  • Built-in SEO (title, description, keywords) with support for Open Graph and Twitter tags.
  • Support for custom Blade and Vue components.
  • Support for existing Blade and Vue libraries.
  • Support for SSR (server-side rendering).

Discord, Documentation and Website

📖 You can find the documentation at Splade.dev (and here its source code).

🌎 The website is also open source, and built with Splade!

Video

📺 Check out the introduction video, or click here for the YouTube Playlist with all Splade videos.

Changelog

Please see CHANGELOG for more information what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Other Laravel packages

  • Inertia Table: The Ultimate Table for Inertia.js with built-in Query Builder.
  • Laravel Blade On Demand: Laravel package to compile Blade templates in memory.
  • Laravel Cross Eloquent Search: Laravel package to search through multiple Eloquent models.
  • Laravel Eloquent Scope as Select: Stop duplicating your Eloquent query scopes and constraints in PHP. This package lets you re-use your query scopes and constraints by adding them as a subquery.
  • Laravel Eloquent Where Not: This Laravel package allows you to flip/invert an Eloquent scope, or really any query constraint.
  • Laravel MinIO Testing Tools: This package provides a trait to run your tests against a MinIO S3 server.
  • Laravel Mixins: A collection of Laravel goodies.
  • Laravel Paddle: Paddle.com API integration for Laravel with support for webhooks/events.
  • Laravel Verify New Email: This package adds support for verifying new email addresses: when a user updates its email address, it won't replace the old one until the new one is verified.
  • Laravel XSS Protection Middleware: Laravel Middleware to protect your app against Cross-site scripting (XSS). It sanitizes request input by utilising the Laravel Security package, and it can sanatize Blade echo statements as well.

Security

If you discover any security related issues, please email pascal@protone.media instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.