Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Sandglaz/maktoub
A simple newsletter engine for Rails
https://github.com/Sandglaz/maktoub
engine newsletter rails ruby
Last synced: about 2 months ago
JSON representation
A simple newsletter engine for Rails
- Host: GitHub
- URL: https://github.com/Sandglaz/maktoub
- Owner: Sandglaz
- License: mit
- Created: 2011-10-18T23:37:16.000Z (about 13 years ago)
- Default Branch: master
- Last Pushed: 2023-01-19T11:17:45.000Z (almost 2 years ago)
- Last Synced: 2024-04-26T00:42:22.707Z (8 months ago)
- Topics: engine, newsletter, rails, ruby
- Language: Ruby
- Homepage: http://blog.sandglaz.com/maktoub-a-simple-newsletter-engine-for-rails/
- Size: 182 KB
- Stars: 312
- Watchers: 12
- Forks: 32
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.rdoc
- License: MIT-LICENSE
Awesome Lists containing this project
- awesome-ruby-toolbox - maktoub - A simple newsletter engine for rails. (Rails Plugins / User Messaging Systems)
README
# Maktoub
Maktoub is a Ruby on Rails engine for email newsletters.
* Write your newsletter as you would write any view (erb partial)
* Maktoub sends your email in multipart as both html and text## Installation
```ruby
# Add this line to your Gemfile
gem 'maktoub'
```Then `bundle install`
## Compatibility
Compatible with Rails 4+. For Rails 3.1+ use version 0.3.1## Usage
### Configuration
You can run `rails generate maktoub:config` to generate the configuration file. This task creates a `matkoub.rb` initializer file (in config/initializer)
Follow instructions inside the file to configure it the way you want.### Authoring
Create a newsletter as a normal view partial in `app/views/maktoub/newsletters/.`
The subject of the newsletter will be automatically deduced from the partial's name.### Editing Styles
Create a view partial in `app/views/layouts/maktoub/_styles.erb`. Note that this completely overrides the styles that come with maktoub.
You can copy the built-in styles and override them.### Sending messages
Maktoub comes with two rake tasks to allow you to:
* send a test message to the "from" address of your newsletter.```ruby
rake maktoub:test['name_of_my_newsletter_partial']
```* publish the newsletter to all your subscribers. If you have delayed_job installed then it will use it to deliver each email as a background job
```ruby
rake maktoub:mail['name_of_my_newsletter_parial']
```Alternatively you have access to a Maktoub::NewsletterMailer ActionMailer object with a publish method
```ruby
Maktoub::NewsletterMailer.publish('my_newsletter_partial', name: 'User name', email: '[email protected]')
```### View in browser
To be able to view your newsletter in a browser add it to routes.rb.
- mount the engine at a path of your choice. e.g. `mount Maktoub::Engine => '/'`
- you would access the newsletter at: `http://example.com//newsletter/my_awesome_newletter`
### Contributing
Send a pull request including documentation changes and tests.## TODO
- create github page for project
- allow management of multiple lists
- allow rendering of newletter from remotely hosted views (e.g. S3)