├── .github └── workflows │ └── main.yml ├── .gitignore ├── README.md ├── branding ├── Laravel-Notification-Channels-Logo.png └── Laravel-Notification-Channels-Logo.svg ├── channels.js ├── docs ├── .vuepress │ ├── components │ │ └── ChannelHeader.vue │ ├── config.js │ └── public │ │ ├── android-chrome-192x192.png │ │ ├── android-chrome-512x512.png │ │ ├── apple-touch-icon.png │ │ ├── favicon-16x16.png │ │ ├── favicon-32x32.png │ │ ├── favicon.ico │ │ ├── logo.png │ │ ├── logo.svg │ │ └── site.webmanifest ├── README.md ├── about.md └── backport.md ├── netlify.toml ├── package.json └── yarn.lock /.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | name: Trigger Netlify Build 2 | on: 3 | schedule: 4 | - cron: '0 1 * * *' 5 | jobs: 6 | build: 7 | name: Request Netlify Webhook 8 | runs-on: ubuntu-latest 9 | steps: 10 | - name: Curl request 11 | run: curl -X POST -d {} https://api.netlify.com/build_hooks/5dae519fcc4e78b40aa71f55 12 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | docs/.vuepress/dist 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Laravel Notification Channels Website 2 | 3 | Our site is built with [Vuepress](https://vuepress.vuejs.org/). 4 | 5 | 6 | ## Building 7 | 8 | ```bash 9 | yarn dev # Run developmnent server 10 | yarn build # Build the static site 11 | ``` 12 | 13 | ## Adding new Channels 14 | 15 | Open `channels.js` and add your channel to the correct category. The slug should be set as the github repository name. 16 | `maintainers` is a list of github usernames that maintain the channel (they appear in the header of the channel page on the website) 17 | 18 | This will add the channel to the sidebar, and pull in the `README.md` from the repository during the build. 19 | 20 | ```js 21 | ... 22 | 23 | name: 'Support', channels: [ 24 | { 25 | slug: 'pagerduty', name: 'Pagerduty', 26 | maintainers: ['atymic'], 27 | }, 28 | { 29 | slug: 'intercom', name: 'Intercom', 30 | maintainers: ['ftw-soft'], 31 | }, 32 | ], 33 | 34 | ... 35 | ``` 36 | 37 | 38 | ## Deploying 39 | This website is deployed automatically using [Netlify](https://app.netlify.com). 40 | 41 | The website is built on each commit and automatically once per day to pull in updates from the provider repos. 42 | 43 | ## Contribution 44 | 45 | Contributions are welcome. Feel free to create an Issue or PR. 46 | -------------------------------------------------------------------------------- /branding/Laravel-Notification-Channels-Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laravel-notification-channels/website/3963e7f14c76534a22ead37a89ae782880d24cb8/branding/Laravel-Notification-Channels-Logo.png -------------------------------------------------------------------------------- /branding/Laravel-Notification-Channels-Logo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /channels.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | { 3 | name: 'Push / Webpush', channels: [ 4 | { 5 | slug: 'apn', name: 'Apple Push (APN)', 6 | maintainers: ['barryvdh', 'dwightwatson'], 7 | }, 8 | { 9 | slug: 'fcm', name: 'Firebase Cloud Messaging (FCM)', 10 | maintainers: ['chrisbjr'], 11 | }, 12 | { 13 | slug: 'onesignal', name: 'OneSignal', 14 | maintainers: ['LKaemmerling', 'Lloople'], 15 | }, 16 | { 17 | slug: 'pushover', name: 'Pushover', 18 | maintainers: ['casperboone'], 19 | }, 20 | { 21 | slug: 'pushbullet', name: 'PushBullet', 22 | maintainers: ['atymic', 'alexsoft'], 23 | }, 24 | { 25 | slug: 'pusher-push-notifications', name: 'Pusher Push Notifications', 26 | maintainers: ['atymic'], 27 | }, 28 | { 29 | slug: 'webpush', name: 'WebPush', 30 | maintainers: ['cretueusebiu'], 31 | }, 32 | { 33 | slug: 'pushwoosh', name: 'Pushwoosh', 34 | maintainers: ['axlon'], 35 | }, 36 | { 37 | slug: 'vwo-engage', name: 'VWO Engage', 38 | maintainers: ['billmn'], 39 | }, 40 | ], 41 | }, 42 | { 43 | name: 'Messenger / Chat / Social', channels: [ 44 | { 45 | slug: 'discord', name: 'Discord', 46 | maintainers: ['codyphobe', 'arcdigital'], 47 | }, 48 | { 49 | slug: 'workplace', name: 'Facebook Workplace', 50 | maintainers: ['ghunti'], 51 | }, 52 | { 53 | slug: 'microsoft-teams', name: 'Microsoft Teams', 54 | maintainers: ['Tob0t'], 55 | }, 56 | { 57 | slug: 'google-chat', name: 'Google Chat', 58 | maintainers: ['frankieeedeee'], 59 | }, 60 | { 61 | slug: 'gitter', name: 'Gitter', 62 | maintainers: ['jhaoda'], 63 | }, 64 | { 65 | slug: 'twitter', name: 'Twitter', 66 | maintainers: ['christophrumpel'], 67 | }, 68 | { 69 | slug: 'telegram', name: 'Telegram', 70 | maintainers: ['irazasyed'], 71 | }, 72 | { 73 | slug: 'bearychat', name: 'BearyChat', 74 | maintainers: ['ElfSundae'], 75 | }, 76 | { 77 | slug: 'facebook', name: 'Facebook', 78 | maintainers: ['irazasyed'], 79 | }, 80 | { 81 | slug: 'facebook-poster', name: 'Facebook Page Poster', 82 | maintainers: ['dwightwatson'], 83 | }, 84 | { 85 | slug: 'rocket-chat', name: 'Rocket Chat', 86 | maintainers: ['antonkomarev', 'FunfareNico'], 87 | }, 88 | { 89 | slug: 'webex', name: 'Webex', 90 | maintainers: ['askmrsinh'], 91 | }, 92 | ], 93 | }, 94 | { 95 | name: 'Support', channels: [ 96 | { 97 | slug: 'pagerduty', name: 'Pagerduty', 98 | maintainers: ['atymic'], 99 | }, 100 | { 101 | slug: 'intercom', name: 'Intercom', 102 | maintainers: ['ftw-soft'], 103 | }, 104 | ], 105 | }, 106 | { 107 | name: 'SMS / Voip', channels: [ 108 | { 109 | slug: 'touch-sms', name: 'TouchSMS', 110 | maintainers: ['atymic'], 111 | }, 112 | { 113 | slug: 'clickatell', name: 'Clickatell', 114 | maintainers: ['etiennemarais'], 115 | }, 116 | { 117 | slug: 'jusibe', name: 'Jusibe', 118 | maintainers: ['atymic', 'unicodeveloper'], 119 | }, 120 | { 121 | slug: 'messagebird', name: 'Messagebird', 122 | maintainers: ['petericebear'], 123 | }, 124 | { 125 | slug: 'plivo', name: 'Plivo', 126 | maintainers: ['koomai'], 127 | }, 128 | { 129 | slug: 'smsc-ru', name: 'Smsc.ru', 130 | maintainers: ['jhaoda'], 131 | }, 132 | { 133 | slug: 'twilio', name: 'Twilio', 134 | maintainers: ['gregoriohc', 'fwartner'], 135 | }, 136 | { 137 | slug: 'authy', name: 'Authy', 138 | maintainers: ['Omranic'], 139 | }, 140 | { 141 | slug: 'cmsms', name: 'CMSMS', 142 | maintainers: ['mbardelmeijer'], 143 | }, 144 | { 145 | slug: '46elks', name: '46Elks', 146 | maintainers: ['larsemil'], 147 | }, 148 | { 149 | slug: 'sipgate', name: 'Sipgate', 150 | maintainers: ['simonkub'], 151 | }, 152 | { 153 | slug: 'all-my-sms', name: 'AllMySms', 154 | maintainers: ['mikaelpopowicz'], 155 | }, 156 | { 157 | slug: 'smspoh', name: 'Smspoh', 158 | maintainers: ['tintnaingwinn'], 159 | }, 160 | { 161 | slug: 'turbosms', name: 'TurboSMS', 162 | maintainers: ['gvital3230'], 163 | }, 164 | { 165 | slug: 'vodafone', name: 'Vodafone', 166 | maintainers: ['Human018'], 167 | }, 168 | { 169 | slug: 'africastalking', name: 'AfricasTalking', 170 | maintainers: ["ossycodes"] 171 | }, 172 | { 173 | slug: 'sms77', name: 'SMS77', 174 | maintainers: ["mxschll"] 175 | }, 176 | { 177 | slug: 'smsapi', name: 'SMSAPI', 178 | maintainers: ["atymic"] 179 | }, 180 | { 181 | slug: 'sms-broadcast', name: 'SMSbroadcast', 182 | maintainers: ['atymic'], 183 | }, 184 | ], 185 | }, 186 | { 187 | name: 'To-do Lists', channels: [ 188 | { 189 | slug: 'trello', name: 'Trello', 190 | maintainers: ['atymic'], 191 | }, 192 | ], 193 | }, 194 | { 195 | name: 'Misc', channels: [ 196 | { 197 | slug: 'lob', name: 'Lob Physical Mail', 198 | maintainers: ['atymic'], 199 | }, 200 | { 201 | slug: 'interfax', name: 'InterFAX', 202 | maintainers: ['ivinteractive'], 203 | }, 204 | { 205 | slug: 'aws-sns', name: 'AWS SNS', 206 | maintainers: ['claudsonm'], 207 | }, 208 | { 209 | slug: 'webhook', name: 'Webhook', 210 | maintainers: ['atymic'], 211 | }, 212 | ], 213 | }, 214 | { 215 | name: 'Deprecated', collapsable: true, channels: [ 216 | { slug: 'hipchat', name: 'HipChat' }, 217 | { slug: 'gcm', name: 'GCM Notifications' }, 218 | { slug: 'maillift', name: 'MailLift' }, 219 | { slug: 'ionic-push-notifications', name: 'Ionic Push Notifications' }, 220 | { slug: 'gammu', name: 'Gammu' }, 221 | { slug: 'evernote', name: 'Evernote' }, 222 | { slug: 'todoist', name: 'Todoist' }, 223 | { slug: 'wunderlist', name: 'Wunderlist' }, 224 | ], 225 | }, 226 | ] 227 | -------------------------------------------------------------------------------- /docs/.vuepress/components/ChannelHeader.vue: -------------------------------------------------------------------------------- 1 | 20 | 21 | 30 | 31 | 91 | -------------------------------------------------------------------------------- /docs/.vuepress/config.js: -------------------------------------------------------------------------------- 1 | const categories = require('../../channels') 2 | 3 | const generatedSidebar = categories.map(cat => { 4 | return { 5 | title: cat.name, 6 | collapsable: cat.collapsable || false, 7 | children: cat.channels.map(c => { 8 | return [`/${c.slug}/`, c.name] 9 | }), 10 | } 11 | }) 12 | 13 | module.exports = { 14 | title: 'Laravel Notification Channels', 15 | description: 'A collection of custom drivers for Laravel 5.5+, 6.x & 7.x', 16 | dest: './dist', 17 | 18 | themeConfig: { 19 | algolia: { 20 | apiKey: '662d6a5e1b798d17b5eaaeb770b415e7', 21 | indexName: 'laravel-notification-channels' 22 | }, 23 | channelCount: categories.reduce((count, cat) => count + cat.channels.length, 0), 24 | sidebarDepth: 1, 25 | nav: [ 26 | { text: 'About / FAQ', link: '/about' }, 27 | { 28 | text: 'Github', 29 | link: 'https://github.com/laravel-notification-channels', 30 | }, 31 | { 32 | text: 'Packagist', 33 | link: 'https://packagist.org/packages/laravel-notification-channels/', 34 | }, 35 | ], 36 | sidebar: [ 37 | { 38 | title: 'Documentation', 39 | collapsable: false, 40 | children: [ 41 | ['/about', 'About / FAQ'], 42 | ['/backport', 'Using on Laravel 5.1 / 5.2'], 43 | ] 44 | } 45 | ].concat(generatedSidebar), 46 | }, 47 | async additionalPages () { 48 | let allChannels = [] 49 | 50 | categories.map(cat => { 51 | cat.channels.map(c => { 52 | if (cat.name === 'Deprecated') c.deprecated = true; 53 | if (cat.name === 'SMS / Voip') c.sms = true; 54 | allChannels.push(c) 55 | }) 56 | }) 57 | 58 | const axios = require('axios') 59 | const { mapLimit } = require('async') 60 | 61 | return mapLimit(allChannels, 3, async (channel) => { 62 | if (!global['REPO_CACHE']) global['REPO_CACHE'] = {}; 63 | 64 | if (!global['REPO_CACHE'][channel.slug]) { 65 | const res = await axios.get(`https://raw.githubusercontent.com/laravel-notification-channels/${channel.slug}/master/README.md`) 66 | console.log(`Fetched readme for ${channel.slug}`) 67 | 68 | let content = res.data; 69 | 70 | content = content.replace(/\](?!.*(http|#))\(/g, `](https://github.com/laravel-notification-channels/${channel.slug}/blob/master/`) 71 | 72 | content = `\n` + content 73 | 74 | if (channel.deprecated) { 75 | content = `::: danger 76 | This channel is deprecated. Please see the [GitHub Repo](https://github.com/laravel-notification-channels/${channel.slug}) for more information 77 | :::\n` + content 78 | } 79 | 80 | if (channel.sms) { 81 | content = `::: tip 82 | Looking for an SMS provider? Check out [CompareSMS](https://comparesms.com.au) and find the best SMS provider for you 83 | :::\n` + content 84 | } 85 | 86 | global['REPO_CACHE'][channel.slug] = { 87 | path: `/${channel.slug}/`, 88 | content, 89 | } 90 | } 91 | 92 | return global['REPO_CACHE'][channel.slug] 93 | }) 94 | }, 95 | head: [ 96 | ['link', { rel: 'apple-touch-icon', sizes: '180x180', href: '/apple-icon-180x180.png' }], 97 | ['link', { rel: 'icon" type="image/png', sizes: '32x32', href: '/favicon-32x32.png' }], 98 | ['link', { rel: 'icon" type="image/png', sizes: '16x16', href: '/favicon-16x16.png' }], 99 | ['link', { rel: 'manifest', href: '/site.webmanifest' }], 100 | ['style', {}, 'img + .icon.outbound {display: none;}'] 101 | ], 102 | extraWatchFiles: [ 103 | '../../channels.js' 104 | ], 105 | plugins: [ 106 | [ 107 | '@vuepress/google-analytics', 108 | { 109 | 'ga': 'UA-150688103-1' 110 | } 111 | ] 112 | ] 113 | } 114 | 115 | 116 | -------------------------------------------------------------------------------- /docs/.vuepress/public/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laravel-notification-channels/website/3963e7f14c76534a22ead37a89ae782880d24cb8/docs/.vuepress/public/android-chrome-192x192.png -------------------------------------------------------------------------------- /docs/.vuepress/public/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laravel-notification-channels/website/3963e7f14c76534a22ead37a89ae782880d24cb8/docs/.vuepress/public/android-chrome-512x512.png -------------------------------------------------------------------------------- /docs/.vuepress/public/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laravel-notification-channels/website/3963e7f14c76534a22ead37a89ae782880d24cb8/docs/.vuepress/public/apple-touch-icon.png -------------------------------------------------------------------------------- /docs/.vuepress/public/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laravel-notification-channels/website/3963e7f14c76534a22ead37a89ae782880d24cb8/docs/.vuepress/public/favicon-16x16.png -------------------------------------------------------------------------------- /docs/.vuepress/public/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laravel-notification-channels/website/3963e7f14c76534a22ead37a89ae782880d24cb8/docs/.vuepress/public/favicon-32x32.png -------------------------------------------------------------------------------- /docs/.vuepress/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laravel-notification-channels/website/3963e7f14c76534a22ead37a89ae782880d24cb8/docs/.vuepress/public/favicon.ico -------------------------------------------------------------------------------- /docs/.vuepress/public/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laravel-notification-channels/website/3963e7f14c76534a22ead37a89ae782880d24cb8/docs/.vuepress/public/logo.png -------------------------------------------------------------------------------- /docs/.vuepress/public/logo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/.vuepress/public/site.webmanifest: -------------------------------------------------------------------------------- 1 | {"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | home: true 3 | heroImage: /logo.svg 4 | heroText: Laravel Notification Channels 5 | tagline: A collection of custom notification drivers for Laravel 6 | actionText: Browse Channels → 7 | actionLink: /about/ 8 | --- 9 | 10 | 25 | 26 |
27 |
28 |

Simplicity First

29 |

Minimal setup with quick integration helps you focus on developing your newest product.

30 |
31 |
32 |

{{ $themeConfig.channelCount }} ready to use channels

33 |

We've got channels for most of the popular services you use ready to go. Just pull in the channel, configure your keys & start sending notifications

34 |
35 |
36 |

Community Powered

37 |

Channels are built and maintained by the community. Want to add a channel you use? Make a suggestion or add your channel on channels repo.

38 |
39 |
40 | 41 | 45 | -------------------------------------------------------------------------------- /docs/about.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /about/ 3 | --- 4 | 5 | # Laravel Notification Channels 6 | 7 | We aim to provide a curated selection of notification channels for use in your Laravel applications. 8 | Please use the sidebar on the left to find the appropriate package for you needs. If we don't have a package for your 9 | desired service yet, read on for instructions on how to contribute! 10 | 11 | ## Suggesting a new Channel 12 | 13 | Please create an issue in the [channels repo](https://github.com/laravel-notification-channels/channels) for your 14 | suggestion. Include links to the API documentation and provider's site. 15 | 16 | ## Contributing 17 | 18 | If you'd like to add a custom driver to the list, please download our [skeleton repo](https://github.com/laravel-notification-channels/skeleton), and open a new Pull Request on our [channels repo](https://github.com/laravel-notification-channels/channels). 19 | 20 | Contributions are **welcome** and will be fully **credited**. 21 | 22 | Please read and understand the FAQ below before creating an issue or pull request. 23 | 24 | ## FAQ 25 | 26 | ### How can I get support? 27 | 28 | If you need help with anything, you can create an issue on github. If the issue relates to a specific channel, 29 | you should create the issue it that repository. There's a link at the top of each documentation page to the channel's 30 | github repository. A list of [all the repos can be found here](https://github.com/laravel-notification-channels?type=source). 31 | 32 | If you have questions about the project in general, please create an issue in the [channels repo](https://github.com/laravel-notification-channels/channels) 33 | 34 | If you have found a security issue in one of the channels, try to contact the maintainer using the email in the channel's 35 | readme. If you can't get in contact with them, please email [atymicq@gmail.com](mailto:atymicq@gmail.com) and I'll address the issue. 36 | 37 | ### Who owns the work? 38 | 39 | It is up to the package author to maintain the repository after it has been released. 40 | 41 | You'll be given **admin rights** to your repo. So you are in total control. Only if you ever do something like breaking semver we'll step in. 42 | 43 | You'll also be added to the Laravel Notification Channels github organization (which shows up on your github profile). 44 | 45 | If some problems should arise you're always free to copy over the code to your own repo and abandon the one in our organization. 46 | 47 | ### What level of access is given? 48 | 49 | Admin Rights & membership of the github organisation. 50 | 51 | ### What happens to the package, if the author decides to abandon or quit? 52 | 53 | We, as a community, will step in until we find a replacement. 54 | 55 | ### What rights are being taken away from the author automatically? 56 | 57 | None 58 | 59 | ### What are their rights as an author? 60 | 61 | Technically: Admin rights, and you may do with the code whatever your want. 62 | 63 | ### Who decides who can be part of the package as a collaborator? 64 | 65 | As an admin, package maintainers can choose their own collaborators. 66 | 67 | ### What are the rules? 68 | 69 | You're reading them. If we have the same values (creating a good experience for the users) we don't need too many rules. 70 | 71 | ### What are the benefits? 72 | 73 | For package users: an excellent experience 74 | 75 | For package creators: a small ecosystem of package creators that can help each other 76 | 77 | 78 | 79 | ## Etiquette 80 | 81 | These projects are open source, and as such, the maintainers give their free time to build and maintain the source code 82 | held within. They make the code freely available in the hope that it will be of use to other developers. It would be 83 | extremely unfair for them to suffer abuse or anger for their hard work. 84 | 85 | Please be considerate towards maintainers when raising issues or presenting pull requests. Let's show the 86 | world that developers are civilized and selfless people. 87 | 88 | It's the duty of the maintainer to ensure that all submissions to the project are of sufficient 89 | quality to benefit the project. Many developers have different skillsets, strengths, and weaknesses. Respect the maintainer's decision, and do not be upset or abusive if your submission is not used. 90 | 91 | ## Viability 92 | 93 | When requesting or submitting new features, first consider whether it might be useful to others. Open 94 | source projects are used by many developers, who may have entirely different needs to your own. Think about 95 | whether or not your feature is likely to be used by other users of the project. 96 | 97 | ## Procedure 98 | 99 | Before filing an issue: 100 | 101 | - Attempt to replicate the problem, to ensure that it wasn't a coincidental incident. 102 | - Check to make sure your feature suggestion isn't already present within the project. 103 | - Check the pull requests tab to ensure that the bug doesn't have a fix in progress. 104 | - Check the pull requests tab to ensure that the feature isn't already in progress. 105 | 106 | Before submitting a pull request: 107 | 108 | - Check the codebase to ensure that your feature doesn't already exist. 109 | - Check the pull requests to ensure that another person hasn't already submitted the feature or fix. 110 | 111 | ## Requirements 112 | 113 | If the project maintainer has any additional requirements, you will find them listed here. 114 | 115 | - **[PSR-2 Coding Standard](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md)** - The easiest way to apply the conventions is to install [PHP Code Sniffer](http://pear.php.net/package/PHP_CodeSniffer). 116 | 117 | - **Add tests!** - Your patch won't be accepted if it doesn't have tests. 118 | 119 | - **Document any change in behaviour** - Make sure the `README.md` and any other relevant documentation are kept up-to-date. 120 | 121 | - **Consider our release cycle** - We try to follow [SemVer v2.0.0](http://semver.org/). Randomly breaking public APIs is not an option. 122 | 123 | - **One pull request per feature** - If you want to do more than one thing, send multiple pull requests. 124 | 125 | - **Send coherent history** - Make sure each individual commit in your pull request is meaningful. If you had to make multiple intermediate commits while developing, please [squash them](http://www.git-scm.com/book/en/v2/Git-Tools-Rewriting-History#Changing-Multiple-Commit-Messages) before submitting. 126 | 127 | ## Branding 128 | 129 | The logo was designed by [irazasyed](https://github.com/irazasyed) 130 | You can find high quality SVG & PNG versions below. 131 | 132 | | Type | Preview | Download Link | 133 | |------|-------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------| 134 | | PNG | | [Laravel-Notification-Channels-Logo.png](https://github.com/laravel-notification-channels/website/blob/master/branding/Laravel-Notification-Channels-Logo.png) | 135 | | SVG | | [Laravel-Notification-Channels-Logo.svg](https://github.com/laravel-notification-channels/website/blob/master/branding/Laravel-Notification-Channels-Logo.svg) | 136 | -------------------------------------------------------------------------------- /docs/backport.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /backport 3 | --- 4 | 5 | # Usage for Laravel 5.1 and 5.2 6 | 7 | If, for any reason, you do not want to upgrade your Laravel version, but still want to make use of the new notification system - this package is for you. 8 | 9 | It brings support for all **official** and **community driven** notification channels to Laravel 5.1 and Laravel 5.2. 10 | 11 | ## Installation 12 | 13 | You can install the package via composer: 14 | 15 | ```bash 16 | composer require laravel-notification-channels/backport 17 | ``` 18 | 19 | Next, you must load the service provider: 20 | 21 | ```php 22 | // config/app.php 23 | 'providers' => [ 24 | // ... 25 | Illuminate\Notifications\NotificationServiceProvider::class, 26 | ], 27 | ``` 28 | 29 | ## Usage 30 | 31 | Please refer to the [official Laravel Notification documentation](https://laravel.com/docs/master/notifications). 32 | -------------------------------------------------------------------------------- /netlify.toml: -------------------------------------------------------------------------------- 1 | [build] 2 | 3 | command = "yarn build" 4 | publish = "dist" 5 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "devDependencies": { 3 | "@vuepress/plugin-google-analytics": "^1.2.0", 4 | "vuepress": "^1.2.0" 5 | }, 6 | "scripts": { 7 | "dev": "vuepress dev docs", 8 | "build": "vuepress build docs" 9 | }, 10 | "dependencies": { 11 | "async": "^3.1.0", 12 | "axios": "^0.21.2" 13 | } 14 | } 15 | --------------------------------------------------------------------------------