diff --git a/app/views/devise/confirmations/new.html.erb b/app/views/devise/confirmations/new.html.erb
deleted file mode 100644
index b12dd0c..0000000
--- a/app/views/devise/confirmations/new.html.erb
+++ /dev/null
@@ -1,16 +0,0 @@
-
Resend confirmation instructions
-
-<%= form_for(resource, as: resource_name, url: confirmation_path(resource_name), html: { method: :post }) do |f| %>
- <%= render "devise/shared/error_messages", resource: resource %>
-
-
- <%= f.label :email %>
- <%= f.email_field :email, autofocus: true, autocomplete: "email", value: (resource.pending_reconfirmation? ? resource.unconfirmed_email : resource.email) %>
-
-
-
- <%= f.submit "Resend confirmation instructions" %>
-
-<% end %>
-
-<%= render "devise/shared/links" %>
diff --git a/app/views/devise/confirmations/new.html.haml b/app/views/devise/confirmations/new.html.haml
new file mode 100644
index 0000000..2382fc3
--- /dev/null
+++ b/app/views/devise/confirmations/new.html.haml
@@ -0,0 +1,10 @@
+%h2 Resend confirmation instructions
+= form_for(resource, as: resource_name, url: confirmation_path(resource_name), html: { method: :post }) do |f|
+ = render "devise/shared/error_messages", resource: resource
+ .field
+ = f.label :email
+ %br/
+ = f.email_field :email, autofocus: true, autocomplete: "email", value: (resource.pending_reconfirmation? ? resource.unconfirmed_email : resource.email)
+ .actions
+ = f.submit "Resend confirmation instructions"
+= render "devise/shared/links"
diff --git a/app/views/devise/mailer/confirmation_instructions.html.erb b/app/views/devise/mailer/confirmation_instructions.html.erb
deleted file mode 100644
index dc55f64..0000000
--- a/app/views/devise/mailer/confirmation_instructions.html.erb
+++ /dev/null
@@ -1,5 +0,0 @@
-Welcome <%= @email %>!
-
-You can confirm your account email through the link below:
-
-<%= link_to 'Confirm my account', confirmation_url(@resource, confirmation_token: @token) %>
diff --git a/app/views/devise/mailer/confirmation_instructions.html.haml b/app/views/devise/mailer/confirmation_instructions.html.haml
new file mode 100644
index 0000000..27d48e6
--- /dev/null
+++ b/app/views/devise/mailer/confirmation_instructions.html.haml
@@ -0,0 +1,4 @@
+%p
+ Welcome #{@email}!
+%p You can confirm your account email through the link below:
+%p= link_to 'Confirm my account', confirmation_url(@resource, confirmation_token: @token)
diff --git a/app/views/devise/mailer/email_changed.html.erb b/app/views/devise/mailer/email_changed.html.erb
deleted file mode 100644
index 32f4ba8..0000000
--- a/app/views/devise/mailer/email_changed.html.erb
+++ /dev/null
@@ -1,7 +0,0 @@
-Hello <%= @email %>!
-
-<% if @resource.try(:unconfirmed_email?) %>
- We're contacting you to notify you that your email is being changed to <%= @resource.unconfirmed_email %>.
-<% else %>
- We're contacting you to notify you that your email has been changed to <%= @resource.email %>.
-<% end %>
diff --git a/app/views/devise/mailer/email_changed.html.haml b/app/views/devise/mailer/email_changed.html.haml
new file mode 100644
index 0000000..94ebba0
--- /dev/null
+++ b/app/views/devise/mailer/email_changed.html.haml
@@ -0,0 +1,8 @@
+%p
+ Hello #{@email}!
+- if @resource.try(:unconfirmed_email?)
+ %p
+ We're contacting you to notify you that your email is being changed to #{@resource.unconfirmed_email}.
+- else
+ %p
+ We're contacting you to notify you that your email has been changed to #{@resource.email}.
diff --git a/app/views/devise/mailer/password_change.html.erb b/app/views/devise/mailer/password_change.html.erb
deleted file mode 100644
index b41daf4..0000000
--- a/app/views/devise/mailer/password_change.html.erb
+++ /dev/null
@@ -1,3 +0,0 @@
-Hello <%= @resource.email %>!
-
-We're contacting you to notify you that your password has been changed.
diff --git a/app/views/devise/mailer/password_change.html.haml b/app/views/devise/mailer/password_change.html.haml
new file mode 100644
index 0000000..ab7c04c
--- /dev/null
+++ b/app/views/devise/mailer/password_change.html.haml
@@ -0,0 +1,3 @@
+%p
+ Hello #{@resource.email}!
+%p We're contacting you to notify you that your password has been changed.
diff --git a/app/views/devise/mailer/reset_password_instructions.html.erb b/app/views/devise/mailer/reset_password_instructions.html.erb
deleted file mode 100644
index f667dc1..0000000
--- a/app/views/devise/mailer/reset_password_instructions.html.erb
+++ /dev/null
@@ -1,8 +0,0 @@
-Hello <%= @resource.email %>!
-
-Someone has requested a link to change your password. You can do this through the link below.
-
-<%= link_to 'Change my password', edit_password_url(@resource, reset_password_token: @token) %>
-
-If you didn't request this, please ignore this email.
-Your password won't change until you access the link above and create a new one.
diff --git a/app/views/devise/mailer/reset_password_instructions.html.haml b/app/views/devise/mailer/reset_password_instructions.html.haml
new file mode 100644
index 0000000..0711cd5
--- /dev/null
+++ b/app/views/devise/mailer/reset_password_instructions.html.haml
@@ -0,0 +1,6 @@
+%p
+ Hello #{@resource.email}!
+%p Someone has requested a link to change your password. You can do this through the link below.
+%p= link_to 'Change my password', edit_password_url(@resource, reset_password_token: @token)
+%p If you didn't request this, please ignore this email.
+%p Your password won't change until you access the link above and create a new one.
diff --git a/app/views/devise/mailer/unlock_instructions.html.erb b/app/views/devise/mailer/unlock_instructions.html.erb
deleted file mode 100644
index 41e148b..0000000
--- a/app/views/devise/mailer/unlock_instructions.html.erb
+++ /dev/null
@@ -1,7 +0,0 @@
-Hello <%= @resource.email %>!
-
-Your account has been locked due to an excessive number of unsuccessful sign in attempts.
-
-Click the link below to unlock your account:
-
-<%= link_to 'Unlock my account', unlock_url(@resource, unlock_token: @token) %>
diff --git a/app/views/devise/mailer/unlock_instructions.html.haml b/app/views/devise/mailer/unlock_instructions.html.haml
new file mode 100644
index 0000000..282c98a
--- /dev/null
+++ b/app/views/devise/mailer/unlock_instructions.html.haml
@@ -0,0 +1,5 @@
+%p
+ Hello #{@resource.email}!
+%p Your account has been locked due to an excessive number of unsuccessful sign in attempts.
+%p Click the link below to unlock your account:
+%p= link_to 'Unlock my account', unlock_url(@resource, unlock_token: @token)
diff --git a/app/views/devise/passwords/edit.html.erb b/app/views/devise/passwords/edit.html.erb
deleted file mode 100644
index 5fbb9ff..0000000
--- a/app/views/devise/passwords/edit.html.erb
+++ /dev/null
@@ -1,25 +0,0 @@
-Change your password
-
-<%= form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put }) do |f| %>
- <%= render "devise/shared/error_messages", resource: resource %>
- <%= f.hidden_field :reset_password_token %>
-
-
- <%= f.label :password, "New password" %>
- <% if @minimum_password_length %>
- (<%= @minimum_password_length %> characters minimum)
- <% end %>
- <%= f.password_field :password, autofocus: true, autocomplete: "new-password" %>
-
-
-
- <%= f.label :password_confirmation, "Confirm new password" %>
- <%= f.password_field :password_confirmation, autocomplete: "new-password" %>
-
-
-
- <%= f.submit "Change my password" %>
-
-<% end %>
-
-<%= render "devise/shared/links" %>
diff --git a/app/views/devise/passwords/edit.html.haml b/app/views/devise/passwords/edit.html.haml
new file mode 100644
index 0000000..27a1475
--- /dev/null
+++ b/app/views/devise/passwords/edit.html.haml
@@ -0,0 +1,19 @@
+%h2 Change your password
+= form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put }) do |f|
+ = render "devise/shared/error_messages", resource: resource
+ = f.hidden_field :reset_password_token
+ .field
+ = f.label :password, "New password"
+ %br/
+ - if @minimum_password_length
+ %em
+ (#{@minimum_password_length} characters minimum)
+ %br/
+ = f.password_field :password, autofocus: true, autocomplete: "new-password"
+ .field
+ = f.label :password_confirmation, "Confirm new password"
+ %br/
+ = f.password_field :password_confirmation, autocomplete: "new-password"
+ .actions
+ = f.submit "Change my password"
+= render "devise/shared/links"
diff --git a/app/views/devise/passwords/new.html.erb b/app/views/devise/passwords/new.html.erb
deleted file mode 100644
index 9b486b8..0000000
--- a/app/views/devise/passwords/new.html.erb
+++ /dev/null
@@ -1,16 +0,0 @@
-Forgot your password?
-
-<%= form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :post }) do |f| %>
- <%= render "devise/shared/error_messages", resource: resource %>
-
-
- <%= f.label :email %>
- <%= f.email_field :email, autofocus: true, autocomplete: "email" %>
-
-
-
- <%= f.submit "Send me reset password instructions" %>
-
-<% end %>
-
-<%= render "devise/shared/links" %>
diff --git a/app/views/devise/passwords/new.html.haml b/app/views/devise/passwords/new.html.haml
new file mode 100644
index 0000000..60984ff
--- /dev/null
+++ b/app/views/devise/passwords/new.html.haml
@@ -0,0 +1,10 @@
+%h2 Forgot your password?
+= form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :post }) do |f|
+ = render "devise/shared/error_messages", resource: resource
+ .field
+ = f.label :email
+ %br/
+ = f.email_field :email, autofocus: true, autocomplete: "email"
+ .actions
+ = f.submit "Send me reset password instructions"
+= render "devise/shared/links"
diff --git a/app/views/devise/registrations/edit.html.erb b/app/views/devise/registrations/edit.html.erb
deleted file mode 100644
index 38d95b8..0000000
--- a/app/views/devise/registrations/edit.html.erb
+++ /dev/null
@@ -1,43 +0,0 @@
-Edit <%= resource_name.to_s.humanize %>
-
-<%= form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put }) do |f| %>
- <%= render "devise/shared/error_messages", resource: resource %>
-
-
- <%= f.label :email %>
- <%= f.email_field :email, autofocus: true, autocomplete: "email" %>
-
-
- <% if devise_mapping.confirmable? && resource.pending_reconfirmation? %>
- Currently waiting confirmation for: <%= resource.unconfirmed_email %>
- <% end %>
-
-
- <%= f.label :password %> (leave blank if you don't want to change it)
- <%= f.password_field :password, autocomplete: "new-password" %>
- <% if @minimum_password_length %>
-
- <%= @minimum_password_length %> characters minimum
- <% end %>
-
-
-
- <%= f.label :password_confirmation %>
- <%= f.password_field :password_confirmation, autocomplete: "new-password" %>
-
-
-
- <%= f.label :current_password %> (we need your current password to confirm your changes)
- <%= f.password_field :current_password, autocomplete: "current-password" %>
-
-
-
- <%= f.submit "Update" %>
-
-<% end %>
-
-Cancel my account
-
-Unhappy? <%= button_to "Cancel my account", registration_path(resource_name), data: { confirm: "Are you sure?" }, method: :delete %>
-
-<%= link_to "Back", :back %>
diff --git a/app/views/devise/registrations/edit.html.haml b/app/views/devise/registrations/edit.html.haml
new file mode 100644
index 0000000..5dd45ec
--- /dev/null
+++ b/app/views/devise/registrations/edit.html.haml
@@ -0,0 +1,36 @@
+%h2
+ Edit #{resource_name.to_s.humanize}
+= form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put }) do |f|
+ = render "devise/shared/error_messages", resource: resource
+ .field
+ = f.label :email
+ %br/
+ = f.email_field :email, autofocus: true, autocomplete: "email"
+ - if devise_mapping.confirmable? && resource.pending_reconfirmation?
+ %div
+ Currently waiting confirmation for: #{resource.unconfirmed_email}
+ .field
+ = f.label :password
+ %i (leave blank if you don't want to change it)
+ %br/
+ = f.password_field :password, autocomplete: "new-password"
+ - if @minimum_password_length
+ %br/
+ %em
+ = @minimum_password_length
+ characters minimum
+ .field
+ = f.label :password_confirmation
+ %br/
+ = f.password_field :password_confirmation, autocomplete: "new-password"
+ .field
+ = f.label :current_password
+ %i (we need your current password to confirm your changes)
+ %br/
+ = f.password_field :current_password, autocomplete: "current-password"
+ .actions
+ = f.submit "Update"
+%h3 Cancel my account
+%p
+ Unhappy? #{button_to "Cancel my account", registration_path(resource_name), data: { confirm: "Are you sure?" }, method: :delete}
+= link_to "Back", :back
diff --git a/app/views/devise/registrations/new.html.erb b/app/views/devise/registrations/new.html.erb
deleted file mode 100644
index d655b66..0000000
--- a/app/views/devise/registrations/new.html.erb
+++ /dev/null
@@ -1,29 +0,0 @@
-Sign up
-
-<%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
- <%= render "devise/shared/error_messages", resource: resource %>
-
-
- <%= f.label :email %>
- <%= f.email_field :email, autofocus: true, autocomplete: "email" %>
-
-
-
- <%= f.label :password %>
- <% if @minimum_password_length %>
- (<%= @minimum_password_length %> characters minimum)
- <% end %>
- <%= f.password_field :password, autocomplete: "new-password" %>
-
-
-
- <%= f.label :password_confirmation %>
- <%= f.password_field :password_confirmation, autocomplete: "new-password" %>
-
-
-
- <%= f.submit "Sign up" %>
-
-<% end %>
-
-<%= render "devise/shared/links" %>
diff --git a/app/views/devise/registrations/new.html.haml b/app/views/devise/registrations/new.html.haml
new file mode 100644
index 0000000..0f9c210
--- /dev/null
+++ b/app/views/devise/registrations/new.html.haml
@@ -0,0 +1,21 @@
+%h2 Sign up
+= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f|
+ = render "devise/shared/error_messages", resource: resource
+ .field
+ = f.label :email
+ %br/
+ = f.email_field :email, autofocus: true, autocomplete: "email"
+ .field
+ = f.label :password
+ - if @minimum_password_length
+ %em
+ (#{@minimum_password_length} characters minimum)
+ %br/
+ = f.password_field :password, autocomplete: "new-password"
+ .field
+ = f.label :password_confirmation
+ %br/
+ = f.password_field :password_confirmation, autocomplete: "new-password"
+ .actions
+ = f.submit "Sign up"
+= render "devise/shared/links"
diff --git a/app/views/devise/sessions/new.html.erb b/app/views/devise/sessions/new.html.erb
deleted file mode 100644
index 5ede964..0000000
--- a/app/views/devise/sessions/new.html.erb
+++ /dev/null
@@ -1,26 +0,0 @@
-Log in
-
-<%= form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| %>
-
- <%= f.label :email %>
- <%= f.email_field :email, autofocus: true, autocomplete: "email" %>
-
-
-
- <%= f.label :password %>
- <%= f.password_field :password, autocomplete: "current-password" %>
-
-
- <% if devise_mapping.rememberable? %>
-
- <%= f.check_box :remember_me %>
- <%= f.label :remember_me %>
-
- <% end %>
-
-
- <%= f.submit "Log in" %>
-
-<% end %>
-
-<%= render "devise/shared/links" %>
diff --git a/app/views/devise/sessions/new.html.haml b/app/views/devise/sessions/new.html.haml
new file mode 100644
index 0000000..71ce024
--- /dev/null
+++ b/app/views/devise/sessions/new.html.haml
@@ -0,0 +1,17 @@
+%h2 Log in
+= form_for(resource, as: resource_name, url: session_path(resource_name)) do |f|
+ .field
+ = f.label :email
+ %br/
+ = f.email_field :email, autofocus: true, autocomplete: "email"
+ .field
+ = f.label :password
+ %br/
+ = f.password_field :password, autocomplete: "current-password"
+ - if devise_mapping.rememberable?
+ .field
+ = f.check_box :remember_me
+ = f.label :remember_me
+ .actions
+ = f.submit "Log in"
+= render "devise/shared/links"
diff --git a/app/views/devise/shared/_error_messages.html.erb b/app/views/devise/shared/_error_messages.html.erb
deleted file mode 100644
index ba7ab88..0000000
--- a/app/views/devise/shared/_error_messages.html.erb
+++ /dev/null
@@ -1,15 +0,0 @@
-<% if resource.errors.any? %>
-
-
- <%= I18n.t("errors.messages.not_saved",
- count: resource.errors.count,
- resource: resource.class.model_name.human.downcase)
- %>
-
-
- <% resource.errors.full_messages.each do |message| %>
- - <%= message %>
- <% end %>
-
-
-<% end %>
diff --git a/app/views/devise/shared/_error_messages.html.haml b/app/views/devise/shared/_error_messages.html.haml
new file mode 100644
index 0000000..a921fd6
--- /dev/null
+++ b/app/views/devise/shared/_error_messages.html.haml
@@ -0,0 +1,9 @@
+- if resource.errors.any?
+ #error_explanation
+ %h2
+ = I18n.t("errors.messages.not_saved", |
+ count: resource.errors.count, |
+ resource: resource.class.model_name.human.downcase) |
+ %ul
+ - resource.errors.full_messages.each do |message|
+ %li= message
diff --git a/app/views/devise/shared/_links.html.erb b/app/views/devise/shared/_links.html.erb
deleted file mode 100644
index 96a9412..0000000
--- a/app/views/devise/shared/_links.html.erb
+++ /dev/null
@@ -1,25 +0,0 @@
-<%- if controller_name != 'sessions' %>
- <%= link_to "Log in", new_session_path(resource_name) %>
-<% end %>
-
-<%- if devise_mapping.registerable? && controller_name != 'registrations' %>
- <%= link_to "Sign up", new_registration_path(resource_name) %>
-<% end %>
-
-<%- if devise_mapping.recoverable? && controller_name != 'passwords' && controller_name != 'registrations' %>
- <%= link_to "Forgot your password?", new_password_path(resource_name) %>
-<% end %>
-
-<%- if devise_mapping.confirmable? && controller_name != 'confirmations' %>
- <%= link_to "Didn't receive confirmation instructions?", new_confirmation_path(resource_name) %>
-<% end %>
-
-<%- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != 'unlocks' %>
- <%= link_to "Didn't receive unlock instructions?", new_unlock_path(resource_name) %>
-<% end %>
-
-<%- if devise_mapping.omniauthable? %>
- <%- resource_class.omniauth_providers.each do |provider| %>
- <%= link_to "Sign in with #{OmniAuth::Utils.camelize(provider)}", omniauth_authorize_path(resource_name, provider), method: :post %>
- <% end %>
-<% end %>
diff --git a/app/views/devise/shared/_links.html.haml b/app/views/devise/shared/_links.html.haml
new file mode 100644
index 0000000..e5aacd4
--- /dev/null
+++ b/app/views/devise/shared/_links.html.haml
@@ -0,0 +1,19 @@
+- if controller_name != 'sessions'
+ = link_to "Log in", new_session_path(resource_name)
+ %br/
+- if devise_mapping.registerable? && controller_name != 'registrations'
+ = link_to "Sign up", new_registration_path(resource_name)
+ %br/
+- if devise_mapping.recoverable? && controller_name != 'passwords' && controller_name != 'registrations'
+ = link_to "Forgot your password?", new_password_path(resource_name)
+ %br/
+- if devise_mapping.confirmable? && controller_name != 'confirmations'
+ = link_to "Didn't receive confirmation instructions?", new_confirmation_path(resource_name)
+ %br/
+- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != 'unlocks'
+ = link_to "Didn't receive unlock instructions?", new_unlock_path(resource_name)
+ %br/
+- if devise_mapping.omniauthable?
+ - resource_class.omniauth_providers.each do |provider|
+ = link_to "Sign in with #{OmniAuth::Utils.camelize(provider)}", omniauth_authorize_path(resource_name, provider), method: :post
+ %br/
diff --git a/app/views/devise/unlocks/new.html.erb b/app/views/devise/unlocks/new.html.erb
deleted file mode 100644
index ffc34de..0000000
--- a/app/views/devise/unlocks/new.html.erb
+++ /dev/null
@@ -1,16 +0,0 @@
-Resend unlock instructions
-
-<%= form_for(resource, as: resource_name, url: unlock_path(resource_name), html: { method: :post }) do |f| %>
- <%= render "devise/shared/error_messages", resource: resource %>
-
-
- <%= f.label :email %>
- <%= f.email_field :email, autofocus: true, autocomplete: "email" %>
-
-
-
- <%= f.submit "Resend unlock instructions" %>
-
-<% end %>
-
-<%= render "devise/shared/links" %>
diff --git a/app/views/devise/unlocks/new.html.haml b/app/views/devise/unlocks/new.html.haml
new file mode 100644
index 0000000..bd4ace4
--- /dev/null
+++ b/app/views/devise/unlocks/new.html.haml
@@ -0,0 +1,10 @@
+%h2 Resend unlock instructions
+= form_for(resource, as: resource_name, url: unlock_path(resource_name), html: { method: :post }) do |f|
+ = render "devise/shared/error_messages", resource: resource
+ .field
+ = f.label :email
+ %br/
+ = f.email_field :email, autofocus: true, autocomplete: "email"
+ .actions
+ = f.submit "Resend unlock instructions"
+= render "devise/shared/links"
diff --git a/app/views/layouts/mailer.html.erb b/app/views/layouts/mailer.html.erb
deleted file mode 100644
index cbd34d2..0000000
--- a/app/views/layouts/mailer.html.erb
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
- <%= yield %>
-
-
diff --git a/app/views/layouts/mailer.html.haml b/app/views/layouts/mailer.html.haml
new file mode 100644
index 0000000..cbf6b8e
--- /dev/null
+++ b/app/views/layouts/mailer.html.haml
@@ -0,0 +1,8 @@
+!!!
+%html
+ %head
+ %meta{:content => "text/html; charset=utf-8", "http-equiv" => "Content-Type"}/
+ :css
+ /* Email styles need to be inline */
+ %body
+ = yield
diff --git a/app/views/layouts/mailer.text.erb b/app/views/layouts/mailer.text.erb
deleted file mode 100644
index 37f0bdd..0000000
--- a/app/views/layouts/mailer.text.erb
+++ /dev/null
@@ -1 +0,0 @@
-<%= yield %>
diff --git a/app/views/layouts/mailer.text.haml b/app/views/layouts/mailer.text.haml
new file mode 100644
index 0000000..0a90f09
--- /dev/null
+++ b/app/views/layouts/mailer.text.haml
@@ -0,0 +1 @@
+= yield