All Projects → Sandglaz → Maktoub

Sandglaz / Maktoub

Licence: mit
A simple newsletter engine for Rails

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Maktoub

Decidim
The participatory democracy framework. A generator and multiple gems made with Ruby on Rails
Stars: ✭ 894 (+190.26%)
Mutual labels:  rails, engine
Passwordless
🗝 Authentication for your Rails app without the icky-ness of passwords
Stars: ✭ 638 (+107.14%)
Mutual labels:  rails, engine
Sabisu Rails
Simple and powerful engine for exploring your Rails api application
Stars: ✭ 129 (-58.12%)
Mutual labels:  rails, engine
Pay
Payments for Ruby on Rails apps
Stars: ✭ 759 (+146.43%)
Mutual labels:  rails, engine
Erd
A Rails engine for drawing your app's ER diagram
Stars: ✭ 296 (-3.9%)
Mutual labels:  rails, engine
Heavens door
Capybara test scenario recorder for Rails
Stars: ✭ 857 (+178.25%)
Mutual labels:  rails, engine
Motorhead
A Rails Engine framework that helps safe and rapid feature prototyping
Stars: ✭ 182 (-40.91%)
Mutual labels:  rails, engine
Hyper React
The project has moved to Hyperstack!!
Stars: ✭ 295 (-4.22%)
Mutual labels:  rails
Dropzonejs Rails
Spice your Rails apps with some Dropzone sugar!
Stars: ✭ 299 (-2.92%)
Mutual labels:  rails
Timecop
A gem providing "time travel", "time freezing", and "time acceleration" capabilities, making it simple to test time-dependent code. It provides a unified method to mock Time.now, Date.today, and DateTime.now in a single call.
Stars: ✭ 3,110 (+909.74%)
Mutual labels:  rails
Push type
PushType is a modern, open source content management system for Ruby on Rails.
Stars: ✭ 293 (-4.87%)
Mutual labels:  rails
Tapping device
TappingDevice makes objects tell you what they do, so you don't need to track them yourself.
Stars: ✭ 296 (-3.9%)
Mutual labels:  rails
Plylst
Smart playlists for Spotify! Stop relying on fancy pants algorithms to organize your library and instead build playlists the way you want.
Stars: ✭ 301 (-2.27%)
Mutual labels:  rails
Pg party
ActiveRecord PostgreSQL Partitioning
Stars: ✭ 294 (-4.55%)
Mutual labels:  rails
Librelancer
A re-implementation of Freelancer
Stars: ✭ 303 (-1.62%)
Mutual labels:  engine
Shoulda Matchers
Simple one-liner tests for common Rails functionality
Stars: ✭ 3,166 (+927.92%)
Mutual labels:  rails
Devise token auth
Token based authentication for Rails JSON APIs. Designed to work with jToker and ng-token-auth.
Stars: ✭ 3,263 (+959.42%)
Mutual labels:  rails
Ultimate Python Resource Hub
The Ultimate resource hub of Python: All at one place
Stars: ✭ 298 (-3.25%)
Mutual labels:  newsletter
Lifelong Learning
✅ ✅ ✅ A massive repo filled with notes on everything from coding to philosophy to psychology to marketing to product
Stars: ✭ 297 (-3.57%)
Mutual labels:  rails
Html5 validators
A gem/plugin for Rails 3, Rails 4, Rails 5, and Rails 6 that enables client-side validation using ActiveModel + HTML5 Form Validation
Stars: ✭ 302 (-1.95%)
Mutual labels:  rails

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

# 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.

    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

     rake maktoub:mail['name_of_my_newsletter_parial']
    

Alternatively you have access to a Maktoub::NewsletterMailer ActionMailer object with a publish method

 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/<mounted_path>/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)
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].