{"id":15188565,"url":"https://github.com/sammyjo20/wagonwheel","last_synced_at":"2025-10-02T03:30:49.276Z","repository":{"id":44800520,"uuid":"301796598","full_name":"Sammyjo20/Wagonwheel","owner":"Sammyjo20","description":"☸️ Offer an online version of your Laravel emails to users.","archived":true,"fork":false,"pushed_at":"2022-08-06T23:11:11.000Z","size":112,"stargazers_count":246,"open_issues_count":1,"forks_count":8,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-09-18T16:55:02.903Z","etag":null,"topics":["email","hacktoberfest","laravel","laravel-framework","laravel-package"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Sammyjo20.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null},"funding":{"github":"Sammyjo20"}},"created_at":"2020-10-06T16:58:44.000Z","updated_at":"2025-05-11T04:40:31.000Z","dependencies_parsed_at":"2022-08-25T12:50:50.888Z","dependency_job_id":null,"html_url":"https://github.com/Sammyjo20/Wagonwheel","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/Sammyjo20/Wagonwheel","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sammyjo20%2FWagonwheel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sammyjo20%2FWagonwheel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sammyjo20%2FWagonwheel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sammyjo20%2FWagonwheel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sammyjo20","download_url":"https://codeload.github.com/Sammyjo20/Wagonwheel/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sammyjo20%2FWagonwheel/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":277950332,"owners_count":25904480,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-02T02:00:08.890Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["email","hacktoberfest","laravel","laravel-framework","laravel-package"],"created_at":"2024-09-27T19:22:46.895Z","updated_at":"2025-10-02T03:30:49.046Z","avatar_url":"https://github.com/Sammyjo20.png","language":"PHP","funding_links":["https://github.com/sponsors/Sammyjo20","https://ko-fi.com/sammyjo20"],"categories":[],"sub_categories":[],"readme":"# ⚠️ 07/08/2022 This project has officially been abandoned\nThank you everyone for downloading Wagonwheel, however I am going to be formally abandoning the project.\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://samcarre.dev/images/ww-example.png\" alt=\"Wagonwheel\" \u003e\n\u003c/p\u003e\n\n\u003e This is was a collaborative project with [Ryan Chandler](https://github.com/ryangjchandler). Please consider supporting him for the hard work he put into this package!\n\n\u003e Help support the maintenance of this package by [buying me a coffee](https://ko-fi.com/sammyjo20).\n\n# Wagonwheel\n\n**Offer an online version of your Laravel emails to users.**\n\n[![Latest Stable Version](https://poser.pugx.org/sammyjo20/wagonwheel/v)](//packagist.org/packages/sammyjo20/wagonwheel) [![Total Downloads](https://poser.pugx.org/sammyjo20/wagonwheel/downloads)](//packagist.org/packages/sammyjo20/wagonwheel) [![License](https://poser.pugx.org/sammyjo20/wagonwheel/license)](//packagist.org/packages/sammyjo20/wagonwheel)\n\n- 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.\n\n- Highly customisable.\n\n- Easy to install.\n\n- Supports Laravel 8\n\n## Installation\n1. Install Wagonwheel using composer with the command below:\n\n```shell\ncomposer require sammyjo20/wagonwheel\n```\n\n\n\n2. Publish the migrations\n```shell\nphp artisan vendor:publish --tag=wagonwheel-migrations\n```\n\n\n\n3. Run the migrations\n```shell\nphp artisan migrate\n```\n\n\n\n4. Add the \"SaveForOnlineViewing\" trait to **any** of your Mailables.\n\n```php\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Mail\\Mailable;\nuse Illuminate\\Queue\\SerializesModels;\nuse Sammyjo20\\Wagonwheel\\Concerns\\SaveForOnlineViewing;\n\nclass BookingConfirmed extends Mailable\n{\n    use Queueable, SerializesModels, SaveForOnlineViewing;\n    \n    /**\n     * Build the message.\n     *\n     * @return $this\n     */\n    public function build()\n    {\n        return $this-\u003esubject('Booking Confirmed 🎉')\n            -\u003emarkdown('emails.bookings.confirmed');\n    }\n}\n```\n\n## Configuration\n\nIf you would like to customise how Wagonwheel works. Run the following command to publish Wagonwheel's configuration file. \n\n```shell\nphp artisan vendor:publish --tag=wagonwheel-config\n```\n\n*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**.\n\n*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**.\n\n## Customisation\n\nIf you would like to customise how the banner looks inside the email, just publish Wagonwheel's views with the following command.\n```shell\nphp artisan vendor:publish --tag=wagonwheel-views\n```\n\n## Testing\nRun all tests\n\n```\ncomposer test\n```\n\nRun a specific test\n\n```\ncomposer test-f [name of test method]\n```\n\n## Thanks\n- Ryan Chandler (@ryangjchandler) helped out massively with some great code improvements and overall making Wagonwheel better!\n- Gareth Thompson (@cssgareth) helped out with coming up with a cool name!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsammyjo20%2Fwagonwheel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsammyjo20%2Fwagonwheel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsammyjo20%2Fwagonwheel/lists"}