All Projects → Sammyjo20 → Wagonwheel

Sammyjo20 / Wagonwheel

Licence: mit
Offer an online version of your Laravel emails to users.

Projects that are alternatives of or similar to Wagonwheel

Laravel Schedulable
Schedule and unschedule eloquent models elegantly without cron jobs
Stars: ✭ 78 (-65.18%)
Mutual labels:  hacktoberfest, laravel, laravel-package, laravel-framework
Backup
MySQL Database backup package for Laravel
Stars: ✭ 66 (-70.54%)
Mutual labels:  laravel, laravel-package, laravel-framework
Laravel Surveillance
Put malicious users, IP addresses and anonymous browser fingerprints under surveillance, log the URLs they visit and block malicious ones from accessing the Laravel app.
Stars: ✭ 198 (-11.61%)
Mutual labels:  hacktoberfest, laravel, laravel-package
Laraupdater
Enable Laravel App Self-Update. Allow your Laravel Application to auto-update itself.
Stars: ✭ 75 (-66.52%)
Mutual labels:  laravel, laravel-package, laravel-framework
Blogetc
Easily add a full Laravel blog (with built in admin panel and public views) to your laravel project with this simple package.
Stars: ✭ 198 (-11.61%)
Mutual labels:  laravel, laravel-package, laravel-framework
Laravel Weather
🌤️ A wrapper around Open Weather Map API (Current weather)
Stars: ✭ 36 (-83.93%)
Mutual labels:  hacktoberfest, laravel, laravel-package
Laravel Compass
A REST client inside your Laravel app
Stars: ✭ 1,002 (+347.32%)
Mutual labels:  laravel, laravel-package, laravel-framework
Laravel Api Boilerplate
A Boilerplate Project For Laravel API's (NOT MAINTAINED)
Stars: ✭ 113 (-49.55%)
Mutual labels:  hacktoberfest, laravel, laravel-framework
Lara Lens
Laravel package for display diagnostic (config, database, http connections...)
Stars: ✭ 96 (-57.14%)
Mutual labels:  hacktoberfest, laravel, laravel-package
Admin One Laravel Dashboard
Admin One — Free Laravel Dashboard (Bulma Buefy Vue.js SPA)
Stars: ✭ 94 (-58.04%)
Mutual labels:  laravel, laravel-package, laravel-framework
Orm
A drop-in Doctrine ORM 2 implementation for Laravel 5+ and Lumen
Stars: ✭ 712 (+217.86%)
Mutual labels:  hacktoberfest, laravel, laravel-package
Simple Qrcode
An easy-to-use PHP QrCode generator with first-party support for Laravel.
Stars: ✭ 1,923 (+758.48%)
Mutual labels:  hacktoberfest, laravel, laravel-package
Laravel Open Source Projects
A Web Artisan list of categorized OPEN SOURCE PROJECTS built with Laravel PHP Framework.
Stars: ✭ 676 (+201.79%)
Mutual labels:  laravel, laravel-package, laravel-framework
Laravel Qrcode Ecommerce
This is a complete laravel project that handles qrcodes, payments, api/microservices, and ecommerce
Stars: ✭ 36 (-83.93%)
Mutual labels:  laravel, laravel-package, laravel-framework
Snooze
A package to simplify automating future notifications and reminders in Laravel
Stars: ✭ 515 (+129.91%)
Mutual labels:  laravel, laravel-package, laravel-framework
Telegram
✈️ Telegram Notifications Channel for Laravel
Stars: ✭ 450 (+100.89%)
Mutual labels:  hacktoberfest, laravel, laravel-package
Validator Docs
Validação de CPF, CNPJ, CNH, NIS, Título Eleitoral e Cartão Nacional de Saúde com Laravel.
Stars: ✭ 334 (+49.11%)
Mutual labels:  hacktoberfest, laravel, laravel-package
Bagisto
An easy to use, free and open source laravel eCommerce platform to build your online shop in no time.
Stars: ✭ 4,140 (+1748.21%)
Mutual labels:  hacktoberfest, laravel, laravel-package
Dropzone Laravel Image Upload
Laravel 5.2 and Dropzone.js auto image uploads with removal links
Stars: ✭ 92 (-58.93%)
Mutual labels:  laravel, laravel-package, laravel-framework
Laravel Mail Editor
MailEclipse ⚡ Laravel Mailable Editor!
Stars: ✭ 1,714 (+665.18%)
Mutual labels:  hacktoberfest, laravel, laravel-package

Wagonwheel

This is was a collaborative project with Ryan Chandler. Please consider supporting him for the hard work he put into this package!

Help support the maintenance of this package by buying me a coffee.

Wagonwheel

Offer an online version of your Laravel emails to users.

Latest Stable Version Total Downloads License

  • Uses Laravel's built-in temporary signed URLs to create the URL for the online version. This means it's secured by your app's encryption key, as well as making it difficult to guess.

  • Highly customisable.

  • Easy to install.

  • Supports Laravel 8

Installation

  1. Install Wagonwheel using composer with the command below:
composer require sammyjo20/wagonwheel
  1. Publish the migrations
php artisan vendor:publish --tag=wagonwheel-migrations
  1. Run the migrations
php artisan migrate
  1. Add the "SaveForOnlineViewing" trait to any of your Mailables.
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Sammyjo20\Wagonwheel\Concerns\SaveForOnlineViewing;

class BookingConfirmed extends Mailable
{
    use Queueable, SerializesModels, SaveForOnlineViewing;
    
    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
        return $this->subject('Booking Confirmed 🎉')
            ->markdown('emails.bookings.confirmed');
    }
}

Configuration

If you would like to customise how Wagonwheel works. Run the following command to publish Wagonwheel's configuration file.

php artisan vendor:publish --tag=wagonwheel-config

component_placement - This configuration variable defines if the banner should be rendered at the start of the email content or at the end of the email content. The available values are start and end.

message_expires_in_days - This configuration variable defines how long Wagonwheel should keep the online version of an email in days. If you would like the online version of your emails to never expire, set this to 0. The default is 30 days.

Customisation

If you would like to customise how the banner looks inside the email, just publish Wagonwheel's views with the following command.

php artisan vendor:publish --tag=wagonwheel-views

Testing

Run all tests

composer test

Run a specific test

composer test-f [name of test method]

Thanks

  • Ryan Chandler (@ryangjchandler) helped out massively with some great code improvements and overall making Wagonwheel better!
  • Gareth Thompson (@cssgareth) helped out with coming up with a cool name!
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].