diff --git a/.haml-lint.yml b/.haml-lint.yml
index da9a43d9c6dcf23575c20b89e3bfb569d6530749..7c8a9c4fd1784ac737cd5773944a87b4909496f9 100644
--- a/.haml-lint.yml
+++ b/.haml-lint.yml
@@ -7,10 +7,10 @@ exclude:
 
 linters:
   AltText:
-    enabled: false
+    enabled: true
 
   ClassAttributeWithStaticValue:
-    enabled: false
+    enabled: true
 
   ClassesBeforeIds:
     enabled: false
@@ -29,14 +29,14 @@ linters:
     enabled: true
 
   FinalNewline:
-    enabled: false
+    enabled: true
     present: true
 
   HtmlAttributes:
-    enabled: false
+    enabled: true
 
   ImplicitDiv:
-    enabled: false
+    enabled: true
 
   LeadingCommentSpace:
     enabled: false
@@ -80,10 +80,10 @@ linters:
     enabled: false
 
   SpaceBeforeScript:
-    enabled: false
+    enabled: true
 
   SpaceInsideHashAttributes:
-    enabled: false
+    enabled: true
     style: space
 
   Indentation:
@@ -94,7 +94,7 @@ linters:
     enabled: true
 
   TrailingWhitespace:
-    enabled: false
+    enabled: true
 
   UnnecessaryInterpolation:
     enabled: false
diff --git a/app/views/abuse_report_mailer/notify.html.haml b/app/views/abuse_report_mailer/notify.html.haml
index 2741eb443578a2aa43ebd1ef8b01ad2a31cf355c..d50b407174561d5e660c22b872934f713cb908f3 100644
--- a/app/views/abuse_report_mailer/notify.html.haml
+++ b/app/views/abuse_report_mailer/notify.html.haml
@@ -1,7 +1,7 @@
 %p
-  #{link_to @abuse_report.user.name, user_url(@abuse_report.user)} 
-  (@#{@abuse_report.user.username}) was reported for abuse by 
-  #{link_to @abuse_report.reporter.name, user_url(@abuse_report.reporter)} 
+  #{link_to @abuse_report.user.name, user_url(@abuse_report.user)}
+  (@#{@abuse_report.user.username}) was reported for abuse by
+  #{link_to @abuse_report.reporter.name, user_url(@abuse_report.reporter)}
   (@#{@abuse_report.reporter.username}).
 
 %blockquote
diff --git a/app/views/admin/application_settings/_form.html.haml b/app/views/admin/application_settings/_form.html.haml
index 7accd2529af704279a86cd9aba9e07e24a24d424..4612a7a058ac90a56df48e2068d22356bc2d9a7b 100644
--- a/app/views/admin/application_settings/_form.html.haml
+++ b/app/views/admin/application_settings/_form.html.haml
@@ -321,7 +321,7 @@
         = f.text_field :recaptcha_site_key, class: 'form-control'
         .help-block
           Generate site and private keys at
-          %a{ href: 'http://www.google.com/recaptcha', target: 'blank'} http://www.google.com/recaptcha
+          %a{ href: 'http://www.google.com/recaptcha', target: 'blank' } http://www.google.com/recaptcha
 
     .form-group
       = f.label :recaptcha_private_key, 'reCAPTCHA Private Key', class: 'control-label col-sm-2'
@@ -342,7 +342,7 @@
         = f.text_field :akismet_api_key, class: 'form-control'
         .help-block
           Generate API key at
-          %a{ href: 'http://www.akismet.com', target: 'blank'} http://www.akismet.com
+          %a{ href: 'http://www.akismet.com', target: 'blank' } http://www.akismet.com
 
   %fieldset
     %legend Abuse reports
diff --git a/app/views/admin/applications/_delete_form.html.haml b/app/views/admin/applications/_delete_form.html.haml
index 042971e1eed1a4f5bd7d01049cd9a38ea1cc5ecb..82781f6716dfda43a42d7fdf5ffee2e00eef2135 100644
--- a/app/views/admin/applications/_delete_form.html.haml
+++ b/app/views/admin/applications/_delete_form.html.haml
@@ -1,4 +1,4 @@
 - submit_btn_css ||= 'btn btn-link btn-remove btn-sm'
 = form_tag admin_application_path(application) do
-  %input{:name => "_method", :type => "hidden", :value => "delete"}/
+  %input{ :name => "_method", :type => "hidden", :value => "delete" }/
   = submit_tag 'Destroy', onclick: "return confirm('Are you sure?')", class: submit_btn_css
diff --git a/app/views/admin/applications/index.html.haml b/app/views/admin/applications/index.html.haml
index f8cd98f0ec45edd2aa0b93f5f1b8d07b4d93cb78..b3a3b4c1d4568894cb4951a1d804eb9fe910772b 100644
--- a/app/views/admin/applications/index.html.haml
+++ b/app/views/admin/applications/index.html.haml
@@ -15,7 +15,7 @@
       %th
   %tbody.oauth-applications
     - @applications.each do |application|
-      %tr{:id => "application_#{application.id}"}
+      %tr{ :id => "application_#{application.id}" }
         %td= link_to application.name, admin_application_path(application)
         %td= application.redirect_uri
         %td= application.access_tokens.map(&:resource_owner_id).uniq.count
diff --git a/app/views/admin/background_jobs/show.html.haml b/app/views/admin/background_jobs/show.html.haml
index 05855db963a44004d8fe5cc0e855e15ad772d5b6..4f982a6e3693de0e8a79da1fa7f618435c592af9 100644
--- a/app/views/admin/background_jobs/show.html.haml
+++ b/app/views/admin/background_jobs/show.html.haml
@@ -43,4 +43,4 @@
 
 
   .panel.panel-default
-    %iframe{src: sidekiq_path, width: '100%', height: 970, style: "border: none"}
+    %iframe{ src: sidekiq_path, width: '100%', height: 970, style: "border: none" }
diff --git a/app/views/admin/broadcast_messages/index.html.haml b/app/views/admin/broadcast_messages/index.html.haml
index c05538a393cad6011093aad892a82a8d667ed668..4f2ae081d7a6e2a306b83329a55d2b09b759cc29 100644
--- a/app/views/admin/broadcast_messages/index.html.haml
+++ b/app/views/admin/broadcast_messages/index.html.haml
@@ -10,7 +10,7 @@
 
 %br.clearfix
 
--if @broadcast_messages.any?
+- if @broadcast_messages.any?
   %table.table
     %thead
       %tr
diff --git a/app/views/admin/groups/_group.html.haml b/app/views/admin/groups/_group.html.haml
index 6fc212119c47443331138d3867e998ae7067b732..e3a77dfdf10ecf8fca92a42c447f9b9ad6e61968 100644
--- a/app/views/admin/groups/_group.html.haml
+++ b/app/views/admin/groups/_group.html.haml
@@ -16,7 +16,7 @@
       = icon('users')
       = number_with_delimiter(group.users.count)
 
-    %span.visibility-icon.has-tooltip{data: { container: 'body', placement: 'left' }, title: visibility_icon_description(group)}
+    %span.visibility-icon.has-tooltip{ data: { container: 'body', placement: 'left' }, title: visibility_icon_description(group) }
       = visibility_level_icon(group.visibility_level, fw: false)
 
   .avatar-container.s40
diff --git a/app/views/admin/groups/show.html.haml b/app/views/admin/groups/show.html.haml
index ab9c79f6addc8d488174984bd49e8510da0dfe9b..30b3fabdd7efce595849e66f5ef20d844248cf8c 100644
--- a/app/views/admin/groups/show.html.haml
+++ b/app/views/admin/groups/show.html.haml
@@ -103,7 +103,7 @@
           = form_tag admin_group_members_update_path(@group), id: "new_project_member", class: "bulk_import", method: :put  do
             %div
               = users_select_tag(:user_ids, multiple: true, email_user: true, scope: :all)
-            %div.prepend-top-10
+            .prepend-top-10
               = select_tag :access_level, options_for_select(GroupMember.access_level_roles), class: "project-access-select select2"
             %hr
             = button_tag 'Add users to group', class: "btn btn-create"
diff --git a/app/views/admin/hooks/index.html.haml b/app/views/admin/hooks/index.html.haml
index c217490963f1215cddf3579526cb6d5abe2c0530..551edf1436133f162ff5a62ce7242efe09bb403a 100644
--- a/app/views/admin/hooks/index.html.haml
+++ b/app/views/admin/hooks/index.html.haml
@@ -29,7 +29,7 @@
         System hook will be triggered on set of events like creating project
         or adding ssh key. But you can also enable extra triggers like Push events.
 
-      %div.prepend-top-default
+      .prepend-top-default
         = f.check_box :push_events, class: 'pull-left'
         .prepend-left-20
           = f.label :push_events, class: 'list-label' do
@@ -54,7 +54,7 @@
     = f.submit "Add System Hook", class: "btn btn-create"
 %hr
 
--if @hooks.any?
+- if @hooks.any?
   .panel.panel-default
     .panel-heading
       System hooks (#{@hooks.count})
@@ -70,4 +70,3 @@
               - if hook.send(trigger)
                 %span.label.label-gray= trigger.titleize
             %span.label.label-gray SSL Verification: #{hook.enable_ssl_verification ? "enabled" : "disabled"}
-
diff --git a/app/views/admin/labels/_label.html.haml b/app/views/admin/labels/_label.html.haml
index be224d6685529df268d7932e1f76b42f2c756d3c..77b174fbb2742d59a7fcd1dbfb229f6e45083811 100644
--- a/app/views/admin/labels/_label.html.haml
+++ b/app/views/admin/labels/_label.html.haml
@@ -1,4 +1,4 @@
-%li{id: dom_id(label)}
+%li{ id: dom_id(label) }
   .label-row
     = render_colored_label(label, tooltip: false)
     = markdown_field(label, :description)
diff --git a/app/views/admin/runners/_runner.html.haml b/app/views/admin/runners/_runner.html.haml
index 64893b38c58deef0c7f0f8c28cabc1c346173e2c..975bd950ae149f0a99c2829f2e8bec670c37a838 100644
--- a/app/views/admin/runners/_runner.html.haml
+++ b/app/views/admin/runners/_runner.html.haml
@@ -1,4 +1,4 @@
-%tr{id: dom_id(runner)}
+%tr{ id: dom_id(runner) }
   %td
     - if runner.shared?
       %span.label.label-success shared
diff --git a/app/views/admin/users/_user.html.haml b/app/views/admin/users/_user.html.haml
index 2d9588f9d278b19b5a8b6aff4ca94d256b467a0d..3b5c713ac2d275c21aad0f5e1c6999820631a80a 100644
--- a/app/views/admin/users/_user.html.haml
+++ b/app/views/admin/users/_user.html.haml
@@ -18,7 +18,7 @@
     = link_to 'Edit', edit_admin_user_path(user), id: "edit_#{dom_id(user)}", class: 'btn'
     - unless user == current_user
       .dropdown.inline
-        %a.dropdown-new.btn.btn-default#project-settings-button{href: '#', data: { toggle: 'dropdown' } }
+        %a.dropdown-new.btn.btn-default#project-settings-button{ href: '#', data: { toggle: 'dropdown' } }
           = icon('cog')
           = icon('caret-down')
         %ul.dropdown-menu.dropdown-menu-align-right
diff --git a/app/views/admin/users/show.html.haml b/app/views/admin/users/show.html.haml
index 76c9ed0ee8bb7d838567aa18083862715a5b0f6f..a71240986c96662fea32ef5948ee87a13b06c197 100644
--- a/app/views/admin/users/show.html.haml
+++ b/app/views/admin/users/show.html.haml
@@ -40,7 +40,7 @@
 
         %li.two-factor-status
           %span.light Two-factor Authentication:
-          %strong{class: @user.two_factor_enabled? ? 'cgreen' : 'cred'}
+          %strong{ class: @user.two_factor_enabled? ? 'cgreen' : 'cred' }
             - if @user.two_factor_enabled?
               Enabled
               = link_to 'Disable', disable_two_factor_admin_user_path(@user), data: {confirm: 'Are you sure?'}, method: :patch, class: 'btn btn-xs btn-remove pull-right', title: 'Disable Two-factor Authentication'
diff --git a/app/views/ci/lints/_create.html.haml b/app/views/ci/lints/_create.html.haml
index 61c7cce20b24c5a9031474a1284e2e6e5a30f4e0..c91602fcff77b10c6e0b6c20be090bdc8aa29db7 100644
--- a/app/views/ci/lints/_create.html.haml
+++ b/app/views/ci/lints/_create.html.haml
@@ -36,7 +36,7 @@
                 - if build[:allow_failure]
                   %b Allowed to fail
 
--else
+- else
   %p
     %b Status:
     syntax is incorrect
diff --git a/app/views/dashboard/projects/_zero_authorized_projects.html.haml b/app/views/dashboard/projects/_zero_authorized_projects.html.haml
index 4a55aac0df6785016767c8f850e991bd8ef3bb46..1bbd4602ecf0a587a02358e615e39d94b9ccf350 100644
--- a/app/views/dashboard/projects/_zero_authorized_projects.html.haml
+++ b/app/views/dashboard/projects/_zero_authorized_projects.html.haml
@@ -33,7 +33,7 @@
     = link_to new_project_path, class: "btn btn-new" do
       New project
 
--if publicish_project_count > 0
+- if publicish_project_count > 0
   .blank-state
     .blank-state-icon
       = icon("globe")
diff --git a/app/views/dashboard/todos/_todo.html.haml b/app/views/dashboard/todos/_todo.html.haml
index cc077fad32ab805af72a2839258533e9292bfd81..9849b31d7e26ec0bc167b98d61db38af3721bd6f 100644
--- a/app/views/dashboard/todos/_todo.html.haml
+++ b/app/views/dashboard/todos/_todo.html.haml
@@ -1,4 +1,4 @@
-%li{class: "todo todo-#{todo.done? ? 'done' : 'pending'}", id: dom_id(todo), data:{url: todo_target_path(todo)} }
+%li{ class: "todo todo-#{todo.done? ? 'done' : 'pending'}", id: dom_id(todo), data: { url: todo_target_path(todo) } }
   = author_avatar(todo, size: 40)
 
   .todo-item.todo-block
diff --git a/app/views/dashboard/todos/index.html.haml b/app/views/dashboard/todos/index.html.haml
index e13f404fee2b3479eb3d525455d85a105ec35778..f4efcfb27b2d35479dc8a2c2a33eb05252ce4549 100644
--- a/app/views/dashboard/todos/index.html.haml
+++ b/app/views/dashboard/todos/index.html.haml
@@ -5,14 +5,14 @@
   .top-area
     %ul.nav-links
       - todo_pending_active = ('active' if params[:state].blank? || params[:state] == 'pending')
-      %li{class: "todos-pending #{todo_pending_active}"}>
+      %li{ class: "todos-pending #{todo_pending_active}" }>
         = link_to todos_filter_path(state: 'pending') do
           %span
             To do
           %span.badge
             = number_with_delimiter(todos_pending_count)
       - todo_done_active = ('active' if params[:state] == 'done')
-      %li{class: "todos-done #{todo_done_active}"}>
+      %li{ class: "todos-done #{todo_done_active}" }>
         = link_to todos_filter_path(state: 'done') do
           %span
             Done
@@ -50,7 +50,7 @@
             data: { data: todo_actions_options, default_label: 'Action' } })
         .pull-right
           .dropdown.inline.prepend-left-10
-            %button.dropdown-toggle{type: 'button', 'data-toggle' => 'dropdown'}
+            %button.dropdown-toggle{ type: 'button', 'data-toggle' => 'dropdown' }
               %span.light
               - if @sort.present?
                 = sort_options_hash[@sort]
diff --git a/app/views/devise/sessions/_new_base.html.haml b/app/views/devise/sessions/_new_base.html.haml
index 84e13693dfd18ff58f4ff47da32edfc1e26284d4..5d359538efe85698326fd4b1d3ac11f6073dfdcd 100644
--- a/app/views/devise/sessions/_new_base.html.haml
+++ b/app/views/devise/sessions/_new_base.html.haml
@@ -1,16 +1,16 @@
 = form_for(resource, as: resource_name, url: session_path(resource_name), html: { class: 'new_user gl-show-field-errors', 'aria-live' => 'assertive'}) do |f|
-  %div.form-group
+  .form-group
     = f.label "Username or email", for: :login
     = f.text_field :login, class: "form-control top", autofocus: "autofocus", autocapitalize: "off", autocorrect: "off", required: true, title: "This field is required."
-  %div.form-group
+  .form-group
     = f.label :password
     = f.password_field :password, class: "form-control bottom", required: true, title: "This field is required."
   - if devise_mapping.rememberable?
     .remember-me.checkbox
-      %label{for: "user_remember_me"}
+      %label{ for: "user_remember_me" }
         = f.check_box :remember_me
         %span Remember me
       .pull-right.forgot-password
         = link_to "Forgot your password?", new_password_path(resource_name)
-  %div.submit-container.move-submit-down
+  .submit-container.move-submit-down
     = f.submit "Sign in", class: "btn btn-save"
diff --git a/app/views/devise/sessions/_new_crowd.html.haml b/app/views/devise/sessions/_new_crowd.html.haml
index a6cadbcbdff8470a95fb20b355eb6fce02e308bd..2556cb6f59bf5856b19b304888683a6c1b90ff23 100644
--- a/app/views/devise/sessions/_new_crowd.html.haml
+++ b/app/views/devise/sessions/_new_crowd.html.haml
@@ -1,13 +1,13 @@
 = form_tag(omniauth_authorize_path(:user, :crowd), id: 'new_crowd_user', class: 'gl-show-field-errors') do
   .form-group
     = label_tag :username, 'Username or email'
-    = text_field_tag :username, nil, {class: "form-control top", title: "This field is required", autofocus: "autofocus", required: true }
+    = text_field_tag :username, nil, { class: "form-control top", title: "This field is required", autofocus: "autofocus", required: true }
   .form-group
     = label_tag :password
     = password_field_tag :password, nil, { class: "form-control bottom", title: "This field is required.", required: true }
   - if devise_mapping.rememberable?
     .remember-me.checkbox
-      %label{for: "remember_me"}
+      %label{ for: "remember_me" }
         = check_box_tag :remember_me, '1', false, id: 'remember_me'
         %span Remember me
   = submit_tag "Sign in", class: "btn-save btn"
diff --git a/app/views/devise/sessions/_new_ldap.html.haml b/app/views/devise/sessions/_new_ldap.html.haml
index 3ab5461f92933087e768d77953b5ec0e216f4e4c..3159d21598ac79627895c1c5dfa10ba1c6da633c 100644
--- a/app/views/devise/sessions/_new_ldap.html.haml
+++ b/app/views/devise/sessions/_new_ldap.html.haml
@@ -1,13 +1,13 @@
 = form_tag(omniauth_callback_path(:user, server['provider_name']), id: 'new_ldap_user', class: "gl-show-field-errors") do
   .form-group
     = label_tag :username, "#{server['label']} Username"
-    = text_field_tag :username, nil, {class: "form-control top", title: "This field is required.", autofocus: "autofocus", required: true }
+    = text_field_tag :username, nil, { class: "form-control top", title: "This field is required.", autofocus: "autofocus", required: true }
   .form-group
     = label_tag :password
     = password_field_tag :password, nil, { class: "form-control bottom", title: "This field is required.", required: true }
   - if devise_mapping.rememberable?
     .remember-me.checkbox
-      %label{for: "remember_me"}
+      %label{ for: "remember_me" }
         = check_box_tag :remember_me, '1', false, id: 'remember_me'
         %span Remember me
   = submit_tag "Sign in", class: "btn-save btn"
diff --git a/app/views/devise/shared/_omniauth_box.html.haml b/app/views/devise/shared/_omniauth_box.html.haml
index 8908b64cdac9f7ccc7efae71d8c11008134d5151..e87a16a51575110010fc03278af6ccf80e648aff 100644
--- a/app/views/devise/shared/_omniauth_box.html.haml
+++ b/app/views/devise/shared/_omniauth_box.html.haml
@@ -1,4 +1,4 @@
-%div.omniauth-container
+.omniauth-container
   %p
     %span.light
       Sign in with  
diff --git a/app/views/devise/shared/_signin_box.html.haml b/app/views/devise/shared/_signin_box.html.haml
index 86edaf14e43287d8f3d54d7233dabc05ccf1672d..eddfce363a72c1737412c786d5b944d47463fa4e 100644
--- a/app/views/devise/shared/_signin_box.html.haml
+++ b/app/views/devise/shared/_signin_box.html.haml
@@ -1,18 +1,18 @@
 - if form_based_providers.any?
   - if crowd_enabled?
-    .login-box.tab-pane.active{id: "crowd", role: 'tabpanel', class: 'tab-pane'}
+    .login-box.tab-pane.active{ id: "crowd", role: 'tabpanel' }
       .login-body
         = render 'devise/sessions/new_crowd'
   - @ldap_servers.each_with_index do |server, i|
-    .login-box.tab-pane{id: "#{server['provider_name']}", role: 'tabpanel', class: (:active if i.zero? && !crowd_enabled?)}
+    .login-box.tab-pane{ id: "#{server['provider_name']}", role: 'tabpanel', class: (:active if i.zero? && !crowd_enabled?) }
       .login-body
         = render 'devise/sessions/new_ldap', server: server
   - if signin_enabled?
-    .login-box.tab-pane{id: 'ldap-standard', role: 'tabpanel'}
+    .login-box.tab-pane{ id: 'ldap-standard', role: 'tabpanel' }
       .login-body
         = render 'devise/sessions/new_base'
 
 - elsif signin_enabled?
-  .login-box.tab-pane.active{id: 'login-pane', role: 'tabpanel'}
+  .login-box.tab-pane.active{ id: 'login-pane', role: 'tabpanel' }
     .login-body
       = render 'devise/sessions/new_base'
diff --git a/app/views/devise/shared/_signup_box.html.haml b/app/views/devise/shared/_signup_box.html.haml
index 3133f6de2e844d208d24b665504f87bfd575004c..545a938f4bedc281b46390473228516086c0b230 100644
--- a/app/views/devise/shared/_signup_box.html.haml
+++ b/app/views/devise/shared/_signup_box.html.haml
@@ -1,18 +1,18 @@
-#register-pane.login-box{ role: 'tabpanel', class: 'tab-pane' }
+#register-pane.tab-pane.login-box{ role: 'tabpanel' }
   .login-body
     = form_for(resource, as: "new_#{resource_name}", url: registration_path(resource_name), html: { class: "new_new_user gl-show-field-errors", "aria-live" => "assertive" }) do |f|
       .devise-errors
         = devise_error_messages!
-      %div.form-group
+      .form-group
         = f.label :name
         = f.text_field :name, class: "form-control top", required: true, title: "This field is required."
-      %div.username.form-group
+      .username.form-group
         = f.label :username
         = f.text_field :username, class: "form-control middle", pattern: Gitlab::Regex::NAMESPACE_REGEX_STR_SIMPLE, required: true, title: 'Please create a username with only alphanumeric characters.'
         %p.validation-error.hide Username is already taken.
         %p.validation-success.hide Username is available.
         %p.validation-pending.hide Checking username availability...
-      %div.form-group
+      .form-group
         = f.label :email
         = f.email_field :email, class: "form-control middle", required: true, title: "Please provide a valid email address."
       .form-group.append-bottom-20#password-strength
diff --git a/app/views/devise/shared/_tabs_ldap.html.haml b/app/views/devise/shared/_tabs_ldap.html.haml
index aec1b31ce627e737d0511c1027834f9568ea7c96..8c4ad30c832ab80b5509149ee3bb6c11bb6aec79 100644
--- a/app/views/devise/shared/_tabs_ldap.html.haml
+++ b/app/views/devise/shared/_tabs_ldap.html.haml
@@ -3,7 +3,7 @@
     %li.active
       = link_to "Crowd", "#crowd", 'data-toggle' => 'tab'
   - @ldap_servers.each_with_index do |server, i|
-    %li{class: (:active if i.zero? && !crowd_enabled?)}
+    %li{ class: (:active if i.zero? && !crowd_enabled?) }
       = link_to server['label'], "##{server['provider_name']}",  'data-toggle' => 'tab'
   - if signin_enabled?
     %li
diff --git a/app/views/devise/shared/_tabs_normal.html.haml b/app/views/devise/shared/_tabs_normal.html.haml
index 05246303fb6ee17d10e604e695e94c3b8829a77f..c225d800a98fe63d15ad911285c9f4beea9d1d6d 100644
--- a/app/views/devise/shared/_tabs_normal.html.haml
+++ b/app/views/devise/shared/_tabs_normal.html.haml
@@ -1,6 +1,6 @@
-%ul.nav-links.new-session-tabs.nav-tabs{ role: 'tablist'}
+%ul.nav-links.new-session-tabs.nav-tabs{ role: 'tablist' }
   %li.active{ role: 'presentation' }
-    %a{ href: '#login-pane', data: { toggle: 'tab' }, role: 'tab'} Sign in
+    %a{ href: '#login-pane', data: { toggle: 'tab' }, role: 'tab' } Sign in
   - if signin_enabled? && signup_enabled?
-    %li{ role: 'presentation'}
-      %a{ href: '#register-pane', data: { toggle: 'tab' }, role: 'tab'} Register
+    %li{ role: 'presentation' }
+      %a{ href: '#register-pane', data: { toggle: 'tab' }, role: 'tab' } Register
diff --git a/app/views/discussions/_diff_discussion.html.haml b/app/views/discussions/_diff_discussion.html.haml
index 1411daeb4a69187730403a621f021bbd00d18541..2deadbeeceb304b55c609c5cdcb28b7f10e0629f 100644
--- a/app/views/discussions/_diff_discussion.html.haml
+++ b/app/views/discussions/_diff_discussion.html.haml
@@ -1,5 +1,5 @@
 - expanded = local_assigns.fetch(:expanded, true)
-%tr.notes_holder{class: ('hide' unless expanded)}
+%tr.notes_holder{ class: ('hide' unless expanded) }
   %td.notes_line{ colspan: 2 }
   %td.notes_content
     .content
diff --git a/app/views/discussions/_jump_to_next.html.haml b/app/views/discussions/_jump_to_next.html.haml
index 7ed09dd1a9874b323c79ae655e435a4b51878a30..69bd416c4de8d753f92baa86d806422f5e8b0556 100644
--- a/app/views/discussions/_jump_to_next.html.haml
+++ b/app/views/discussions/_jump_to_next.html.haml
@@ -5,5 +5,5 @@
       %button.btn.btn-default.discussion-next-btn.has-tooltip{ "@click" => "jumpToNextUnresolvedDiscussion",
         title: "Jump to next unresolved discussion",
         "aria-label" => "Jump to next unresolved discussion",
-        data: { container: "body" }}
+        data: { container: "body" } }
         = custom_icon("next_discussion")
diff --git a/app/views/discussions/_parallel_diff_discussion.html.haml b/app/views/discussions/_parallel_diff_discussion.html.haml
index f1072ce0febaefdac9514ed35559a2bc27a21512..ef16b516e2c3f823e16f41d37617e188272cd33d 100644
--- a/app/views/discussions/_parallel_diff_discussion.html.haml
+++ b/app/views/discussions/_parallel_diff_discussion.html.haml
@@ -1,9 +1,9 @@
 - expanded = discussion_left.try(:expanded?) || discussion_right.try(:expanded?)
-%tr.notes_holder{class: ('hide' unless expanded)}
+%tr.notes_holder{ class: ('hide' unless expanded) }
   - if discussion_left
     %td.notes_line.old
     %td.notes_content.parallel.old
-      .content{class: ('hide' unless discussion_left.expanded?)}
+      .content{ class: ('hide' unless discussion_left.expanded?) }
         = render "discussions/notes", discussion: discussion_left, line_type: 'old'
   - else
     %td.notes_line.old= ""
@@ -13,7 +13,7 @@
   - if discussion_right
     %td.notes_line.new
     %td.notes_content.parallel.new
-      .content{class: ('hide' unless discussion_right.expanded?)}
+      .content{ class: ('hide' unless discussion_right.expanded?) }
         = render "discussions/notes", discussion: discussion_right, line_type: 'new'
   - else
     %td.notes_line.new= ""
diff --git a/app/views/doorkeeper/applications/_delete_form.html.haml b/app/views/doorkeeper/applications/_delete_form.html.haml
index 001a711b1dd142817fa3d5ea34e19be348ba8203..84b4ce5b606c7d8776336c9c4721114b39299d18 100644
--- a/app/views/doorkeeper/applications/_delete_form.html.haml
+++ b/app/views/doorkeeper/applications/_delete_form.html.haml
@@ -1,6 +1,6 @@
 - submit_btn_css ||= 'btn btn-link btn-remove btn-sm'
 = form_tag oauth_application_path(application) do
-  %input{:name => "_method", :type => "hidden", :value => "delete"}/
+  %input{ :name => "_method", :type => "hidden", :value => "delete" }/
   - if defined? small
     = button_tag type: "submit", class: "btn btn-transparent", data: { confirm: "Are you sure?" } do
       %span.sr-only
diff --git a/app/views/doorkeeper/applications/index.html.haml b/app/views/doorkeeper/applications/index.html.haml
index 3998e66f40d5f63bf87b139c10b77ff17457b070..aa271150b07f082d85d0906f3f7d8eeacd6af9f5 100644
--- a/app/views/doorkeeper/applications/index.html.haml
+++ b/app/views/doorkeeper/applications/index.html.haml
@@ -31,7 +31,7 @@
                   %th.last-heading
               %tbody
                 - @applications.each do |application|
-                  %tr{id: "application_#{application.id}"}
+                  %tr{ id: "application_#{application.id}" }
                     %td= link_to application.name, oauth_application_path(application)
                     %td
                       - application.redirect_uri.split.each do |uri|
@@ -63,7 +63,7 @@
             %tbody
               - @authorized_apps.each do |app|
                 - token = app.authorized_tokens.order('created_at desc').first
-                %tr{id: "application_#{app.id}"}
+                %tr{ id: "application_#{app.id}" }
                   %td= app.name
                   %td= token.created_at
                   %td= token.scopes
@@ -72,7 +72,7 @@
                 %tr
                   %td
                     Anonymous
-                    %div.help-block
+                    .help-block
                       %em Authorization was granted by entering your username and password in the application.
                   %td= token.created_at
                   %td= token.scopes
diff --git a/app/views/doorkeeper/authorizations/error.html.haml b/app/views/doorkeeper/authorizations/error.html.haml
index a4c607cea60c50b92b0518f17a21c3df08a707c2..6117b00149f53217922c4a892e22e73853ef874e 100644
--- a/app/views/doorkeeper/authorizations/error.html.haml
+++ b/app/views/doorkeeper/authorizations/error.html.haml
@@ -1,3 +1,3 @@
 %h3.page-title An error has occurred
-%main{:role => "main"}
+%main{ :role => "main" }
   %pre= @pre_auth.error_response.body[:error_description]
diff --git a/app/views/doorkeeper/authorizations/new.html.haml b/app/views/doorkeeper/authorizations/new.html.haml
index ce050007204f141232e0b81dcd27657e551eaea6..2a0e301c8dd66790a3cfc6edd39b195f6acefa4f 100644
--- a/app/views/doorkeeper/authorizations/new.html.haml
+++ b/app/views/doorkeeper/authorizations/new.html.haml
@@ -1,5 +1,5 @@
 %h3.page-title Authorization required
-%main{:role => "main"}
+%main{ :role => "main" }
   %p.h4
     Authorize
     %strong.text-info= @pre_auth.client.name
diff --git a/app/views/doorkeeper/authorizations/show.html.haml b/app/views/doorkeeper/authorizations/show.html.haml
index 01f9e46f1428f4326c0c98df9880b234e4f8e435..44e868e678218b45c1a55b383a839eb58bb0d493 100644
--- a/app/views/doorkeeper/authorizations/show.html.haml
+++ b/app/views/doorkeeper/authorizations/show.html.haml
@@ -1,3 +1,3 @@
 %h3.page-title Authorization code:
-%main{:role => "main"}
+%main{ :role => "main" }
   %code#authorization_code= params[:code]
diff --git a/app/views/doorkeeper/authorized_applications/_delete_form.html.haml b/app/views/doorkeeper/authorized_applications/_delete_form.html.haml
index 9f02a8d2ed9d6d7af6ca26666634d21003f7385c..11c1e67878e6523ecd656619ac376ed7c8de807e 100644
--- a/app/views/doorkeeper/authorized_applications/_delete_form.html.haml
+++ b/app/views/doorkeeper/authorized_applications/_delete_form.html.haml
@@ -3,7 +3,7 @@
   - path = oauth_authorized_application_path(0, token_id: token)
 - else
   - path = oauth_authorized_application_path(application)
-  
+
 = form_tag path do
-  %input{:name => "_method", :type => "hidden", :value => "delete"}/
+  %input{ :name => "_method", :type => "hidden", :value => "delete" }/
   = submit_tag 'Revoke', onclick: "return confirm('Are you sure?')", class: 'btn btn-remove btn-sm'
diff --git a/app/views/doorkeeper/authorized_applications/index.html.haml b/app/views/doorkeeper/authorized_applications/index.html.haml
index b184b9c01d4e8c8c4ab1b07efbcb611c887ba740..c8a585560a2a35ae4550982f770ebbf6a99b135d 100644
--- a/app/views/doorkeeper/authorized_applications/index.html.haml
+++ b/app/views/doorkeeper/authorized_applications/index.html.haml
@@ -1,6 +1,6 @@
 %header.page-header
   %h1 Your authorized applications
-%main{:role => "main"}
+%main{ :role => "main" }
   .table-holder
     %table.table.table-striped
       %thead
diff --git a/app/views/emojis/index.html.haml b/app/views/emojis/index.html.haml
index 790d90ad3ee5f5b52de5bf9a7aca479ce9765831..49bd9acd2db156f207e4d239a47fdc5b53521f1f 100644
--- a/app/views/emojis/index.html.haml
+++ b/app/views/emojis/index.html.haml
@@ -7,5 +7,5 @@
       %ul.clearfix.emoji-menu-list
         - emojis.each do |emoji|
           %li.pull-left.text-center.emoji-menu-list-item
-            %button.emoji-menu-btn.text-center.js-emoji-btn{type: "button"}
+            %button.emoji-menu-btn.text-center.js-emoji-btn{ type: "button" }
               = emoji_icon(emoji["name"], emoji["unicode"], emoji["aliases"])
diff --git a/app/views/errors/access_denied.html.haml b/app/views/errors/access_denied.html.haml
index 8bddbef3562c9fb29dd37bc6bd4794c69121d1cb..a97cbd4d4b38d1280e350a217373b1faa4cd876c 100644
--- a/app/views/errors/access_denied.html.haml
+++ b/app/views/errors/access_denied.html.haml
@@ -1,6 +1,5 @@
 - content_for(:title, 'Access Denied')
-%img{:alt => "GitLab Logo",
-     :src => image_path('logo.svg')}
+%img{ :alt => "GitLab Logo", :src => image_path('logo.svg') }
   %h1
     403
 .container
diff --git a/app/views/errors/encoding.html.haml b/app/views/errors/encoding.html.haml
index 064ff14ad2c77ef8175ba618aa5f808f522f7fdf..64f7f8e083678a68732091f1f15a226bab1a81ad 100644
--- a/app/views/errors/encoding.html.haml
+++ b/app/views/errors/encoding.html.haml
@@ -1,6 +1,5 @@
 - content_for(:title, 'Encoding Error')
-%img{:alt => "GitLab Logo",
-     :src => image_path('logo.svg')}
+%img{ :alt => "GitLab Logo", :src => image_path('logo.svg') }
   %h1
     500
 .container
diff --git a/app/views/errors/git_not_found.html.haml b/app/views/errors/git_not_found.html.haml
index c5c12a410acf10f878c656f8771f98698c7a9300..d860957665bb90a2ec76ce13366052264df34900 100644
--- a/app/views/errors/git_not_found.html.haml
+++ b/app/views/errors/git_not_found.html.haml
@@ -1,6 +1,5 @@
 - content_for(:title, 'Git Resource Not Found')
-%img{:alt => "GitLab Logo",
-     :src => image_path('logo.svg')}
+%img{ :alt => "GitLab Logo", :src => image_path('logo.svg') }
   %h1
     404
 .container
diff --git a/app/views/errors/not_found.html.haml b/app/views/errors/not_found.html.haml
index 50a54a93cb56f5e4a17c18da5e47563b506685ea..a0b9a632e221e21760c5fc355716897c3bc363c9 100644
--- a/app/views/errors/not_found.html.haml
+++ b/app/views/errors/not_found.html.haml
@@ -1,6 +1,5 @@
 - content_for(:title, 'Not Found')
-%img{:alt => "GitLab Logo",
-     :src => image_path('logo.svg')}
+%img{ :alt => "GitLab Logo", :src => image_path('logo.svg') }
   %h1
     404
 .container
diff --git a/app/views/errors/omniauth_error.html.haml b/app/views/errors/omniauth_error.html.haml
index d91f1878cb6cebb839b5919f7ac39d2be88ceca7..72508b911341108f165d96c53436a95bbccebd0b 100644
--- a/app/views/errors/omniauth_error.html.haml
+++ b/app/views/errors/omniauth_error.html.haml
@@ -1,6 +1,5 @@
 - content_for(:title, 'Auth Error')
-%img{:alt => "GitLab Logo",
-     :src => image_path('logo.svg')}
+%img{ :alt => "GitLab Logo", :src => image_path('logo.svg') }
   %h1
     422
 .container
diff --git a/app/views/events/_event_issue.atom.haml b/app/views/events/_event_issue.atom.haml
index 083c3936212d091f247cb37f7e49ef7fe4e239dd..51585314a629d3d57050e4f66d77c8258231da14 100644
--- a/app/views/events/_event_issue.atom.haml
+++ b/app/views/events/_event_issue.atom.haml
@@ -1,2 +1,2 @@
-%div{xmlns: "http://www.w3.org/1999/xhtml"}
+%div{ xmlns: "http://www.w3.org/1999/xhtml" }
   = markdown(issue.description, pipeline: :atom, project: issue.project, author: issue.author)
diff --git a/app/views/events/_event_merge_request.atom.haml b/app/views/events/_event_merge_request.atom.haml
index d7e05600627cc65fa7264c52d47b0fededa15a9a..56fc8b86217563be818f350382aea2003d433321 100644
--- a/app/views/events/_event_merge_request.atom.haml
+++ b/app/views/events/_event_merge_request.atom.haml
@@ -1,2 +1,2 @@
-%div{xmlns: "http://www.w3.org/1999/xhtml"}
+%div{ xmlns: "http://www.w3.org/1999/xhtml" }
   = markdown(merge_request.description, pipeline: :atom, project: merge_request.project, author: merge_request.author)
diff --git a/app/views/events/_event_note.atom.haml b/app/views/events/_event_note.atom.haml
index 1154f98282130b7d506c130e370d83d027b7ca29..6fa2f9bd4dbef5086b7c9f185a21e7f9182d7d26 100644
--- a/app/views/events/_event_note.atom.haml
+++ b/app/views/events/_event_note.atom.haml
@@ -1,2 +1,2 @@
-%div{xmlns: "http://www.w3.org/1999/xhtml"}
+%div{ xmlns: "http://www.w3.org/1999/xhtml" }
   = markdown(note.note, pipeline: :atom, project: note.project, author: note.author)
diff --git a/app/views/events/_event_push.atom.haml b/app/views/events/_event_push.atom.haml
index 28bee1d0a33a53a9adf69c801e0b90b4b68d2a29..f8f0bcb76082c754614b66548de67a78b3f2bbf3 100644
--- a/app/views/events/_event_push.atom.haml
+++ b/app/views/events/_event_push.atom.haml
@@ -1,4 +1,4 @@
-%div{xmlns: "http://www.w3.org/1999/xhtml"}
+%div{ xmlns: "http://www.w3.org/1999/xhtml" }
   - event.commits.first(15).each do |commit|
     %p
       %strong= commit[:author][:name]
diff --git a/app/views/events/event/_common.html.haml b/app/views/events/event/_common.html.haml
index bba6e0d2c2014d8fe871162c5fcd5799c40cab3c..2fb6b5647dab42df16a2680a1c83c4f9429ae986 100644
--- a/app/views/events/event/_common.html.haml
+++ b/app/views/events/event/_common.html.haml
@@ -1,6 +1,6 @@
 .event-title
   %span.author_name= link_to_author event
-  %span{class: event.action_name}
+  %span{ class: event.action_name }
   - if event.target
     = event.action_name
     %strong
diff --git a/app/views/events/event/_created_project.html.haml b/app/views/events/event/_created_project.html.haml
index aba64dd17d0efc9ba4d760f26214fd47e605b6b9..80cf2344fe12fde0cef50711db040d5136b61eec 100644
--- a/app/views/events/event/_created_project.html.haml
+++ b/app/views/events/event/_created_project.html.haml
@@ -1,6 +1,6 @@
 .event-title
   %span.author_name= link_to_author event
-  %span{class: event.action_name}
+  %span{ class: event.action_name }
     = event_action_name(event)
 
   - if event.project
diff --git a/app/views/explore/groups/index.html.haml b/app/views/explore/groups/index.html.haml
index 4e5d965ccbe3244aa6c050aa7a0e8852f84295f2..73cf6e87eb4388e0c9d143a87170c8a69111d8c2 100644
--- a/app/views/explore/groups/index.html.haml
+++ b/app/views/explore/groups/index.html.haml
@@ -17,7 +17,7 @@
 
   .pull-right
     .dropdown.inline
-      %button.dropdown-toggle{type: 'button', 'data-toggle' => 'dropdown'}
+      %button.dropdown-toggle{ type: 'button', 'data-toggle' => 'dropdown' }
         %span.light
         - if @sort.present?
           = sort_options_hash[@sort]
diff --git a/app/views/explore/projects/_filter.html.haml b/app/views/explore/projects/_filter.html.haml
index 5ea154c36b46f07868553e4cc6ca9613f9ce6cb9..e30888484922673ebb190e771b7e0f4b52057cbe 100644
--- a/app/views/explore/projects/_filter.html.haml
+++ b/app/views/explore/projects/_filter.html.haml
@@ -1,6 +1,6 @@
 - if current_user
   .dropdown
-    %button.dropdown-toggle{href: '#', "data-toggle" => "dropdown"}
+    %button.dropdown-toggle{ href: '#', "data-toggle" => "dropdown" }
       = icon('globe')
       %span.light Visibility:
       - if params[:visibility_level].present?
@@ -20,7 +20,7 @@
 
 - if @tags.present?
   .dropdown
-    %button.dropdown-toggle{href: '#', "data-toggle" => "dropdown"}
+    %button.dropdown-toggle{ href: '#', "data-toggle" => "dropdown" }
       = icon('tags')
       %span.light Tags:
       - if params[:tag].present?
diff --git a/app/views/groups/_group_lfs_settings.html.haml b/app/views/groups/_group_lfs_settings.html.haml
index af57065f0fc59a2c6366b29759603468e3950dc8..3c622ca5c3c8414f66a8d34492561f7858524d25 100644
--- a/app/views/groups/_group_lfs_settings.html.haml
+++ b/app/views/groups/_group_lfs_settings.html.haml
@@ -8,4 +8,4 @@
             Allow projects within this group to use Git LFS
             = link_to icon('question-circle'), help_page_path('workflow/lfs/manage_large_binaries_with_git_lfs')
           %br/
-          %span.descr This setting can be overridden in each project.
\ No newline at end of file
+          %span.descr This setting can be overridden in each project.
diff --git a/app/views/groups/show.html.haml b/app/views/groups/show.html.haml
index 9ef88f233c54d1d84124abcd2108f491ad022c48..d256d14609e16f461e97bc8a43f8160e2a55094a 100644
--- a/app/views/groups/show.html.haml
+++ b/app/views/groups/show.html.haml
@@ -22,7 +22,7 @@
         = render 'shared/members/access_request_buttons', source: @group
         = render 'shared/notifications/button', notification_setting: @notification_setting
 
-%div.groups-header{ class: container_class }
+.groups-header{ class: container_class }
   .top-area
     %ul.nav-links
       %li.active
diff --git a/app/views/help/_shortcuts.html.haml b/app/views/help/_shortcuts.html.haml
index 65842a0479b8cdb00853d2d7d8d51dff96028086..b74cc8222956576c709a7ebbfda8f8eb3f5419c8 100644
--- a/app/views/help/_shortcuts.html.haml
+++ b/app/views/help/_shortcuts.html.haml
@@ -1,8 +1,8 @@
-#modal-shortcuts.modal{tabindex: -1}
+#modal-shortcuts.modal{ tabindex: -1 }
   .modal-dialog
     .modal-content
       .modal-header
-        %a.close{href: "#", "data-dismiss" => "modal"} ×
+        %a.close{ href: "#", "data-dismiss" => "modal" } ×
         %h4
           Keyboard Shortcuts
           %small
@@ -82,7 +82,7 @@
 
           .col-lg-4
             %table.shortcut-mappings
-              %tbody{ class: 'hidden-shortcut project', style: 'display:none' }
+              %tbody.hidden-shortcut.project{ style: 'display:none' }
                 %tr
                   %th
                   %th Global Dashboard
@@ -190,7 +190,7 @@
                   %td New issue
           .col-lg-4
             %table.shortcut-mappings
-              %tbody{ class: 'hidden-shortcut network', style: 'display:none' }
+              %tbody.hidden-shortcut.network{ style: 'display:none' }
                 %tr
                   %th
                   %th Network Graph
@@ -240,7 +240,7 @@
                     .key
                       shift j
                   %td Scroll to bottom
-              %tbody{ class: 'hidden-shortcut issues', style: 'display:none' }
+              %tbody.hidden-shortcut.issues{ style: 'display:none' }
                 %tr
                   %th
                   %th Issues
@@ -264,7 +264,7 @@
                   %td.shortcut
                     .key l
                   %td Change Label
-              %tbody{ class: 'hidden-shortcut merge_requests', style: 'display:none' }
+              %tbody.hidden-shortcut.merge_requests{ style: 'display:none' }
                 %tr
                   %th
                   %th Merge Requests
diff --git a/app/views/help/ui.html.haml b/app/views/help/ui.html.haml
index 070ed90da6dfb0c86bfbd97de8f9bbe160135a6c..dd1df46792bd607cc7f081282fce424caeec7b6a 100644
--- a/app/views/help/ui.html.haml
+++ b/app/views/help/ui.html.haml
@@ -182,7 +182,7 @@
       .nav-controls
         = text_field_tag 'sample', nil, class: 'form-control'
         .dropdown
-          %button.dropdown-menu-toggle{type: 'button', 'data-toggle' => 'dropdown'}
+          %button.dropdown-menu-toggle{ type: 'button', 'data-toggle' => 'dropdown' }
             %span Sort by name
             = icon('chevron-down')
           %ul.dropdown-menu
@@ -205,121 +205,121 @@
   %h2#buttons Buttons
 
   .example
-    %button.btn.btn-default{:type => "button"} Default
-    %button.btn.btn-gray{:type => "button"} Gray
-    %button.btn.btn-primary{:type => "button"} Primary
-    %button.btn.btn-success{:type => "button"} Success
-    %button.btn.btn-info{:type => "button"} Info
-    %button.btn.btn-warning{:type => "button"} Warning
-    %button.btn.btn-danger{:type => "button"} Danger
-    %button.btn.btn-link{:type => "button"} Link
+    %button.btn.btn-default{ :type => "button" } Default
+    %button.btn.btn-gray{ :type => "button" } Gray
+    %button.btn.btn-primary{ :type => "button" } Primary
+    %button.btn.btn-success{ :type => "button" } Success
+    %button.btn.btn-info{ :type => "button" } Info
+    %button.btn.btn-warning{ :type => "button" } Warning
+    %button.btn.btn-danger{ :type => "button" } Danger
+    %button.btn.btn-link{ :type => "button" } Link
 
   %h2#dropdowns Dropdowns
 
   .example
     .clearfix
       .dropdown.inline.pull-left
-        %button.dropdown-menu-toggle{type: 'button', data: {toggle: 'dropdown'}}
+        %button.dropdown-menu-toggle{ type: 'button', data: { toggle: 'dropdown' } }
           Dropdown
           = icon('chevron-down')
         %ul.dropdown-menu
           %li
-            %a{href: "#"}
+            %a{ href: "#" }
               Dropdown Option
       .dropdown.inline.pull-right
-        %button.dropdown-menu-toggle{type: 'button', data: {toggle: 'dropdown'}}
+        %button.dropdown-menu-toggle{ type: 'button', data: { toggle: 'dropdown' } }
           Dropdown
           = icon('chevron-down')
         %ul.dropdown-menu.dropdown-menu-align-right
           %li
-            %a{href: "#"}
+            %a{ href: "#" }
               Dropdown Option
   .example
     %div
       .dropdown.inline
-        %button.dropdown-menu-toggle{type: 'button', data: {toggle: 'dropdown'}}
+        %button.dropdown-menu-toggle{ type: 'button', data: { toggle: 'dropdown' } }
           Dropdown
           = icon('chevron-down')
         %ul.dropdown-menu.dropdown-menu-selectable
           %li
-            %a.is-active{href: "#"}
+            %a.is-active{ href: "#" }
               Dropdown Option
   .example
     %div
       .dropdown.inline
-        %button.dropdown-menu-toggle{type: 'button', data: {toggle: 'dropdown'}}
+        %button.dropdown-menu-toggle{ type: 'button', data: { toggle: 'dropdown' } }
           Dropdown
           = icon('chevron-down')
         .dropdown-menu.dropdown-select.dropdown-menu-selectable
           .dropdown-title
             %span Dropdown Title
-            %button.dropdown-title-button.dropdown-menu-close{aria: {label: "Close"}}
+            %button.dropdown-title-button.dropdown-menu-close{ aria: { label: "Close" } }
               = icon('times')
           .dropdown-input
-            %input.dropdown-input-field{type: "search", placeholder: "Filter results"}
+            %input.dropdown-input-field{ type: "search", placeholder: "Filter results" }
             = icon('search')
           .dropdown-content
             %ul
               %li
-                %a.is-active{href: "#"}
+                %a.is-active{ href: "#" }
                   Dropdown Option
               %li
-                %a{href: "#"}
+                %a{ href: "#" }
                   Dropdown Option
               %li.divider
               %li
-                %a{href: "#"}
+                %a{ href: "#" }
                   Dropdown Option
               %li
-                %a{href: "#"}
+                %a{ href: "#" }
                   Dropdown Option
               %li
-                %a{href: "#"}
+                %a{ href: "#" }
                   Dropdown Option
               %li
-                %a{href: "#"}
+                %a{ href: "#" }
                   Dropdown Option
               %li
-                %a{href: "#"}
+                %a{ href: "#" }
                   Dropdown Option
           .dropdown-footer
             %strong Tip:
             If an author is not a member of this project, you can still filter by his name while using the search field.
       .dropdown.inline
-        %button.dropdown-menu-toggle{type: 'button', data: {toggle: 'dropdown'}}
+        %button.dropdown-menu-toggle{ type: 'button', data: { toggle: 'dropdown' } }
           Dropdown loading
           = icon('chevron-down')
         .dropdown-menu.dropdown-select.dropdown-menu-selectable.is-loading
           .dropdown-title
             %span Dropdown Title
-            %button.dropdown-title-button.dropdown-menu-close{aria: {label: "Close"}}
+            %button.dropdown-title-button.dropdown-menu-close{ aria: { label: "Close" } }
               = icon('times')
           .dropdown-input
-            %input.dropdown-input-field{type: "search", placeholder: "Filter results"}
+            %input.dropdown-input-field{ type: "search", placeholder: "Filter results" }
             = icon('search')
           .dropdown-content
             %ul
               %li
-                %a.is-active{href: "#"}
+                %a.is-active{ href: "#" }
                   Dropdown Option
               %li
-                %a{href: "#"}
+                %a{ href: "#" }
                   Dropdown Option
               %li.divider
               %li
-                %a{href: "#"}
+                %a{ href: "#" }
                   Dropdown Option
               %li
-                %a{href: "#"}
+                %a{ href: "#" }
                   Dropdown Option
               %li
-                %a{href: "#"}
+                %a{ href: "#" }
                   Dropdown Option
               %li
-                %a{href: "#"}
+                %a{ href: "#" }
                   Dropdown Option
               %li
-                %a{href: "#"}
+                %a{ href: "#" }
                   Dropdown Option
           .dropdown-footer
             %strong Tip:
@@ -330,21 +330,21 @@
   .example
     %div
       .dropdown.inline
-        %button.dropdown-menu-toggle{type: 'button', data: {toggle: 'dropdown'}}
+        %button.dropdown-menu-toggle{ type: 'button', data: {toggle: 'dropdown' } }
           Dropdown user
           = icon('chevron-down')
         .dropdown-menu.dropdown-select.dropdown-menu-selectable.dropdown-menu-user
           .dropdown-title
             %span Dropdown Title
-            %button.dropdown-title-button.dropdown-menu-close{aria: {label: "Close"}}
+            %button.dropdown-title-button.dropdown-menu-close{ aria: { label: "Close" } }
               = icon('times')
           .dropdown-input
-            %input.dropdown-input-field{type: "search", placeholder: "Filter results"}
+            %input.dropdown-input-field{ type: "search", placeholder: "Filter results" }
             = icon('search')
           .dropdown-content
             %ul
               %li
-                %a.dropdown-menu-user-link.is-active{href: "#"}
+                %a.dropdown-menu-user-link.is-active{ href: "#" }
                   = link_to_member_avatar(@user, size: 30)
                   %strong.dropdown-menu-user-full-name
                     = @user.name
@@ -354,24 +354,24 @@
   .example
     %div
       .dropdown.inline
-        %button.dropdown-menu-toggle{type: 'button', data: {toggle: 'dropdown'}}
+        %button.dropdown-menu-toggle{ type: 'button', data: { toggle: 'dropdown' } }
           Dropdown page 2
           = icon('chevron-down')
         .dropdown-menu.dropdown-select.dropdown-menu-selectable.dropdown-menu-user.dropdown-menu-paging.is-page-two
           .dropdown-page-one
             .dropdown-title
-              %button.dropdown-title-button.dropdown-menu-back{aria: {label: "Go back"}}
+              %button.dropdown-title-button.dropdown-menu-back{ aria: { label: "Go back" } }
                 = icon('arrow-left')
               %span Dropdown Title
-              %button.dropdown-title-button.dropdown-menu-close{aria: {label: "Close"}}
+              %button.dropdown-title-button.dropdown-menu-close{ aria: { label: "Close" } }
                 = icon('times')
             .dropdown-input
-              %input.dropdown-input-field{type: "search", placeholder: "Filter results"}
+              %input.dropdown-input-field{ type: "search", placeholder: "Filter results" }
               = icon('search')
             .dropdown-content
               %ul
                 %li
-                  %a.dropdown-menu-user-link.is-active{href: "#"}
+                  %a.dropdown-menu-user-link.is-active{ href: "#" }
                     = link_to_member_avatar(@user, size: 30)
                     %strong.dropdown-menu-user-full-name
                       = @user.name
@@ -379,13 +379,13 @@
                       = @user.to_reference
           .dropdown-page-two
             .dropdown-title
-              %button.dropdown-title-button.dropdown-menu-back{aria: {label: "Go back"}}
+              %button.dropdown-title-button.dropdown-menu-back{ aria: { label: "Go back" } }
                 = icon('arrow-left')
               %span Create label
-              %button.dropdown-title-button.dropdown-menu-close{aria: {label: "Close"}}
+              %button.dropdown-title-button.dropdown-menu-close{ aria: { label: "Close" } }
                 = icon('times')
             .dropdown-input
-              %input.dropdown-input-field{type: "search", placeholder: "Name new label"}
+              %input.dropdown-input-field{ type: "search", placeholder: "Name new label" }
             .dropdown-content
               %button.btn.btn-primary
                 Create
@@ -393,16 +393,16 @@
   .example
     %div
       .dropdown.inline
-        %button#js-project-dropdown.dropdown-menu-toggle{type: 'button', data: {toggle: 'dropdown'}}
+        %button#js-project-dropdown.dropdown-menu-toggle{ type: 'button', data: { toggle: 'dropdown' } }
           Projects
           = icon('chevron-down')
         .dropdown-menu.dropdown-select.dropdown-menu-selectable
           .dropdown-title
             %span Go to project
-            %button.dropdown-title-button.dropdown-menu-close{aria: {label: "Close"}}
+            %button.dropdown-title-button.dropdown-menu-close{ aria: { label: "Close" } }
               = icon('times')
           .dropdown-input
-            %input.dropdown-input-field{type: "search", placeholder: "Filter results"}
+            %input.dropdown-input-field{ type: "search", placeholder: "Filter results" }
             = icon('search')
           .dropdown-content
           .dropdown-loading
@@ -486,22 +486,22 @@
   .example
     %form.form-horizontal
       .form-group
-        %label.col-sm-2.control-label{:for => "inputEmail3"} Email
+        %label.col-sm-2.control-label{ :for => "inputEmail3" } Email
         .col-sm-10
-          %input#inputEmail3.form-control{:placeholder => "Email", :type => "email"}/
+          %input#inputEmail3.form-control{ :placeholder => "Email", :type => "email" }/
       .form-group
-        %label.col-sm-2.control-label{:for => "inputPassword3"} Password
+        %label.col-sm-2.control-label{ :for => "inputPassword3" } Password
         .col-sm-10
-          %input#inputPassword3.form-control{:placeholder => "Password", :type => "password"}/
+          %input#inputPassword3.form-control{ :placeholder => "Password", :type => "password" }/
       .form-group
         .col-sm-offset-2.col-sm-10
           .checkbox
             %label
-              %input{:type => "checkbox"}/
+              %input{ :type => "checkbox" }/
               Remember me
       .form-group
         .col-sm-offset-2.col-sm-10
-          %button.btn.btn-default{:type => "submit"} Sign in
+          %button.btn.btn-default{ :type => "submit" } Sign in
 
   .lead
     Form when label rendered above input
@@ -510,16 +510,16 @@
   .example
     %form
       .form-group
-        %label{:for => "exampleInputEmail1"} Email address
-        %input#exampleInputEmail1.form-control{:placeholder => "Enter email", :type => "email"}/
+        %label{ :for => "exampleInputEmail1" } Email address
+        %input#exampleInputEmail1.form-control{ :placeholder => "Enter email", :type => "email" }/
       .form-group
-        %label{:for => "exampleInputPassword1"} Password
-        %input#exampleInputPassword1.form-control{:placeholder => "Password", :type => "password"}/
+        %label{ :for => "exampleInputPassword1" } Password
+        %input#exampleInputPassword1.form-control{ :placeholder => "Password", :type => "password" }/
       .checkbox
         %label
-          %input{:type => "checkbox"}/
+          %input{ :type => "checkbox" }/
           Remember me
-      %button.btn.btn-default{:type => "submit"} Sign in
+      %button.btn.btn-default{ :type => "submit" } Sign in
 
   %h2#file File
   %h4
diff --git a/app/views/import/_githubish_status.html.haml b/app/views/import/_githubish_status.html.haml
index f12f9482a517c0cb2f2c076e76ddda20b72950a7..864c5c0ff9562ee1a10ee1e7a8c4e2235804d15c 100644
--- a/app/views/import/_githubish_status.html.haml
+++ b/app/views/import/_githubish_status.html.haml
@@ -21,7 +21,7 @@
         %th Status
     %tbody
       - @already_added_projects.each do |project|
-        %tr{id: "project_#{project.id}", class: "#{project_status_css_class(project.import_status)}"}
+        %tr{ id: "project_#{project.id}", class: "#{project_status_css_class(project.import_status)}" }
           %td
             = provider_project_link(provider, project.import_source)
           %td
@@ -38,7 +38,7 @@
               = project.human_import_status_name
 
       - @repos.each do |repo|
-        %tr{id: "repo_#{repo.id}"}
+        %tr{ id: "repo_#{repo.id}" }
           %td
             = provider_project_link(provider, repo.full_name)
           %td.import-target
diff --git a/app/views/import/bitbucket/status.html.haml b/app/views/import/bitbucket/status.html.haml
index ac09b71ae892306197e2094b04686b5d9a78f765..7f1b9ee71410af7727ae637781d2bf34c8065416 100644
--- a/app/views/import/bitbucket/status.html.haml
+++ b/app/views/import/bitbucket/status.html.haml
@@ -31,7 +31,7 @@
         %th Status
     %tbody
       - @already_added_projects.each do |project|
-        %tr{id: "project_#{project.id}", class: "#{project_status_css_class(project.import_status)}"}
+        %tr{ id: "project_#{project.id}", class: "#{project_status_css_class(project.import_status)}" }
           %td
             = link_to project.import_source, "https://bitbucket.org/#{project.import_source}", target: '_blank'
           %td
@@ -48,7 +48,7 @@
               = project.human_import_status_name
 
       - @repos.each do |repo|
-        %tr{id: "repo_#{repo.owner}___#{repo.slug}"}
+        %tr{ id: "repo_#{repo.owner}___#{repo.slug}" }
           %td
             = link_to repo.full_name, "https://bitbucket.org/#{repo.full_name}", target: "_blank"
           %td.import-target
@@ -68,7 +68,7 @@
               Import
               = icon('spinner spin', class: 'loading-icon')
       - @incompatible_repos.each do |repo|
-        %tr{id: "repo_#{repo.owner}___#{repo.slug}"}
+        %tr{ id: "repo_#{repo.owner}___#{repo.slug}" }
           %td
             = link_to repo.full_name, "https://bitbucket.org/#{repo.full_name}", target: '_blank'
           %td.import-target
diff --git a/app/views/import/fogbugz/status.html.haml b/app/views/import/fogbugz/status.html.haml
index c8a6fa1aa9ed76a227b019079f6f9e0a00bba9f2..97e5e51abe0692fbe93a67e10168595e9583b9e9 100644
--- a/app/views/import/fogbugz/status.html.haml
+++ b/app/views/import/fogbugz/status.html.haml
@@ -29,7 +29,7 @@
         %th Status
     %tbody
       - @already_added_projects.each do |project|
-        %tr{id: "project_#{project.id}", class: "#{project_status_css_class(project.import_status)}"}
+        %tr{ id: "project_#{project.id}", class: "#{project_status_css_class(project.import_status)}" }
           %td
             = project.import_source
           %td
@@ -46,7 +46,7 @@
               = project.human_import_status_name
 
       - @repos.each do |repo|
-        %tr{id: "repo_#{repo.id}"}
+        %tr{ id: "repo_#{repo.id}" }
           %td
             = repo.name
           %td.import-target
diff --git a/app/views/import/gitlab/status.html.haml b/app/views/import/gitlab/status.html.haml
index d31fc2e6adb6d2c5b1f35eec687f6c1da63091dd..d5b88709a349c163a616bf77a343f1f688a7491b 100644
--- a/app/views/import/gitlab/status.html.haml
+++ b/app/views/import/gitlab/status.html.haml
@@ -24,7 +24,7 @@
         %th Status
     %tbody
       - @already_added_projects.each do |project|
-        %tr{id: "project_#{project.id}", class: "#{project_status_css_class(project.import_status)}"}
+        %tr{ id: "project_#{project.id}", class: "#{project_status_css_class(project.import_status)}" }
           %td
             = link_to project.import_source, "https://gitlab.com/#{project.import_source}", target: "_blank"
           %td
@@ -41,7 +41,7 @@
               = project.human_import_status_name
 
       - @repos.each do |repo|
-        %tr{id: "repo_#{repo["id"]}"}
+        %tr{ id: "repo_#{repo["id"]}" }
           %td
             = link_to repo["path_with_namespace"], "https://gitlab.com/#{repo["path_with_namespace"]}", target: "_blank"
           %td.import-target
diff --git a/app/views/import/google_code/new.html.haml b/app/views/import/google_code/new.html.haml
index 5d2f149cd5f013810b83045674f5cffc4caab95b..336becd229e8d3d6a5efcd0ea7840f6cd7d53c4c 100644
--- a/app/views/import/google_code/new.html.haml
+++ b/app/views/import/google_code/new.html.haml
@@ -45,7 +45,7 @@
       %p
         Upload <code>GoogleCodeProjectHosting.json</code> here:
       %p
-        %input{type: "file", name: "dump_file", id: "dump_file"}
+        %input{ type: "file", name: "dump_file", id: "dump_file" }
     %li
       %p
         Do you want to customize how Google Code email addresses and usernames are imported into GitLab?
diff --git a/app/views/import/google_code/status.html.haml b/app/views/import/google_code/status.html.haml
index e79f122940ae6c122b47951a3b5d17f4dd7d0f16..9f1507cade6c6b40d3b19b36d2f40d1025b1d3e7 100644
--- a/app/views/import/google_code/status.html.haml
+++ b/app/views/import/google_code/status.html.haml
@@ -34,7 +34,7 @@
         %th Status
     %tbody
       - @already_added_projects.each do |project|
-        %tr{id: "project_#{project.id}", class: "#{project_status_css_class(project.import_status)}"}
+        %tr{ id: "project_#{project.id}", class: "#{project_status_css_class(project.import_status)}" }
           %td
             = link_to project.import_source, "https://code.google.com/p/#{project.import_source}", target: "_blank"
           %td
@@ -51,7 +51,7 @@
               = project.human_import_status_name
 
       - @repos.each do |repo|
-        %tr{id: "repo_#{repo.id}"}
+        %tr{ id: "repo_#{repo.id}" }
           %td
             = link_to repo.name, "https://code.google.com/p/#{repo.name}", target: "_blank"
           %td.import-target
@@ -61,7 +61,7 @@
               Import
               = icon("spinner spin", class: "loading-icon")
       - @incompatible_repos.each do |repo|
-        %tr{id: "repo_#{repo.id}"}
+        %tr{ id: "repo_#{repo.id}" }
           %td
             = link_to repo.name, "https://code.google.com/p/#{repo.name}", target: "_blank"
           %td.import-target
diff --git a/app/views/kaminari/gitlab/_next_page.html.haml b/app/views/kaminari/gitlab/_next_page.html.haml
index 125f09777ba50366f6e0499f774e39a584cda27d..c93dc7a50e89ae5a52a79800b8405c8d150a3d70 100644
--- a/app/views/kaminari/gitlab/_next_page.html.haml
+++ b/app/views/kaminari/gitlab/_next_page.html.haml
@@ -6,8 +6,8 @@
 -#    per_page:      number of items to fetch per page
 -#    remote:        data-remote
 - if current_page.last?
-  %li{ class: "next disabled" }
+  %li.next.disabled
     %span= raw(t 'views.pagination.next')
 - else
-  %li{ class: "next" }
+  %li.next
     = link_to raw(t 'views.pagination.next'), url, rel: 'next', remote: remote
diff --git a/app/views/kaminari/gitlab/_page.html.haml b/app/views/kaminari/gitlab/_page.html.haml
index 750aed8f329350297d38dd91989b6e2c1a87d322..cefe0066a8f4dd9bc7c9c566a8203767ee7434c9 100644
--- a/app/views/kaminari/gitlab/_page.html.haml
+++ b/app/views/kaminari/gitlab/_page.html.haml
@@ -6,5 +6,5 @@
 -#    total_pages:   total number of pages
 -#    per_page:      number of items to fetch per page
 -#    remote:        data-remote
-%li{class: "page#{' active' if page.current?}#{' sibling' if page.next? || page.prev?}"}
-  = link_to page, url, {remote: remote, rel: page.next? ? 'next' : page.prev? ? 'prev' : nil}
+%li{ class: "page#{' active' if page.current?}#{' sibling' if page.next? || page.prev?}" }
+  = link_to page, url, { remote: remote, rel: page.next? ? 'next' : page.prev? ? 'prev' : nil }
diff --git a/app/views/kaminari/gitlab/_paginator.html.haml b/app/views/kaminari/gitlab/_paginator.html.haml
index f5e0d2ed3f30dfd54914eafbf51ee7ecc1b6dafc..8fe6bd653ae41dfd54c3ef5082f8646ac8fd7546 100644
--- a/app/views/kaminari/gitlab/_paginator.html.haml
+++ b/app/views/kaminari/gitlab/_paginator.html.haml
@@ -6,7 +6,7 @@
 -#    remote:        data-remote
 -#    paginator:     the paginator that renders the pagination tags inside
 = paginator.render do
-  %div.gl-pagination
+  .gl-pagination
     %ul.pagination.clearfix
       - unless current_page.first?
         = first_page_tag unless total_pages < 5 # As kaminari will always show the first 5 pages
@@ -19,4 +19,3 @@
       = next_page_tag
       - unless current_page.last?
         = last_page_tag unless total_pages < 5
-
diff --git a/app/views/kaminari/gitlab/_prev_page.html.haml b/app/views/kaminari/gitlab/_prev_page.html.haml
index 7edf10498a80e230d03240f393351f538a3b08cb..b7c6caf7ff43dc8fdfafa24b5086fd9004a31805 100644
--- a/app/views/kaminari/gitlab/_prev_page.html.haml
+++ b/app/views/kaminari/gitlab/_prev_page.html.haml
@@ -6,8 +6,8 @@
 -#    per_page:      number of items to fetch per page
 -#    remote:        data-remote
 - if current_page.first?
-  %li{ class: "prev disabled" }
+  %li.prev.disabled
     %span= raw(t 'views.pagination.previous')
 - else
-  %li{ class: "prev" }
+  %li.prev
     = link_to raw(t 'views.pagination.previous'), url, rel: 'prev', remote: remote
diff --git a/app/views/layouts/_head.html.haml b/app/views/layouts/_head.html.haml
index 3e488cf73b97a65c97c4b675f4138f603b16376b..3096f0ee19ee81dcfca025b00eaaf23b34561241 100644
--- a/app/views/layouts/_head.html.haml
+++ b/app/views/layouts/_head.html.haml
@@ -1,27 +1,27 @@
 - page_description brand_title unless page_description
 
 - site_name = "GitLab"
-%head{prefix: "og: http://ogp.me/ns#"}
-  %meta{charset: "utf-8"}
-  %meta{'http-equiv' => 'X-UA-Compatible', content: 'IE=edge'}
+%head{ prefix: "og: http://ogp.me/ns#" }
+  %meta{ charset: "utf-8" }
+  %meta{ 'http-equiv' => 'X-UA-Compatible', content: 'IE=edge' }
 
   -# Open Graph - http://ogp.me/
-  %meta{property: 'og:type',        content: "object"}
-  %meta{property: 'og:site_name',   content: site_name}
-  %meta{property: 'og:title',       content: page_title}
-  %meta{property: 'og:description', content: page_description}
-  %meta{property: 'og:image',       content: page_image}
-  %meta{property: 'og:url',         content: request.base_url + request.fullpath}
+  %meta{ property: 'og:type',        content: "object" }
+  %meta{ property: 'og:site_name',   content: site_name }
+  %meta{ property: 'og:title',       content: page_title }
+  %meta{ property: 'og:description', content: page_description }
+  %meta{ property: 'og:image',       content: page_image }
+  %meta{ property: 'og:url',         content: request.base_url + request.fullpath }
 
   -# Twitter Card - https://dev.twitter.com/cards/types/summary
-  %meta{property: 'twitter:card',         content: "summary"}
-  %meta{property: 'twitter:title',        content: page_title}
-  %meta{property: 'twitter:description',  content: page_description}
-  %meta{property: 'twitter:image',        content: page_image}
+  %meta{ property: 'twitter:card',         content: "summary" }
+  %meta{ property: 'twitter:title',        content: page_title }
+  %meta{ property: 'twitter:description',  content: page_description }
+  %meta{ property: 'twitter:image',        content: page_image }
   = page_card_meta_tags
 
   %title= page_title(site_name)
-  %meta{name: "description", content: page_description}
+  %meta{ name: "description", content: page_description }
 
   = favicon_link_tag 'favicon.ico'
 
@@ -36,20 +36,20 @@
   = csrf_meta_tags
 
   - unless browser.safari?
-    %meta{name: 'referrer', content: 'origin-when-cross-origin'}
-  %meta{name: 'viewport', content: 'width=device-width, initial-scale=1, maximum-scale=1'}
-  %meta{name: 'theme-color', content: '#474D57'}
+    %meta{ name: 'referrer', content: 'origin-when-cross-origin' }
+  %meta{ name: 'viewport', content: 'width=device-width, initial-scale=1, maximum-scale=1' }
+  %meta{ name: 'theme-color', content: '#474D57' }
 
   -# Apple Safari/iOS home screen icons
   = favicon_link_tag 'touch-icon-iphone.png',        rel: 'apple-touch-icon'
   = favicon_link_tag 'touch-icon-ipad.png',          rel: 'apple-touch-icon', sizes: '76x76'
   = favicon_link_tag 'touch-icon-iphone-retina.png', rel: 'apple-touch-icon', sizes: '120x120'
   = favicon_link_tag 'touch-icon-ipad-retina.png',   rel: 'apple-touch-icon', sizes: '152x152'
-  %link{rel: 'mask-icon', href: image_path('logo.svg'), color: 'rgb(226, 67, 41)'}
+  %link{ rel: 'mask-icon', href: image_path('logo.svg'), color: 'rgb(226, 67, 41)' }
 
   -# Windows 8 pinned site tile
-  %meta{name: 'msapplication-TileImage', content: image_path('msapplication-tile.png')}
-  %meta{name: 'msapplication-TileColor', content: '#30353E'}
+  %meta{ name: 'msapplication-TileImage', content: image_path('msapplication-tile.png') }
+  %meta{ name: 'msapplication-TileColor', content: '#30353E' }
 
   = yield :meta_tags
 
diff --git a/app/views/layouts/_search.html.haml b/app/views/layouts/_search.html.haml
index 8e65bd12c569befa909dd63a78270f10b30f6953..0e64ebd71b840872ee26b73bf00166a598cc415a 100644
--- a/app/views/layouts/_search.html.haml
+++ b/app/views/layouts/_search.html.haml
@@ -6,7 +6,7 @@
   - group_data_attrs = { group_path: j(@group.path), name: @group.name, issues_path: issues_group_path(j(@group.path)), mr_path: merge_requests_group_path(j(@group.path)) }
 - if @project && @project.persisted?
   - project_data_attrs = { project_path: j(@project.path), name: j(@project.name), issues_path: namespace_project_issues_path(@project.namespace, @project), mr_path: namespace_project_merge_requests_path(@project.namespace, @project) }
-.search.search-form{class: "#{'has-location-badge' if label.present?}"}
+.search.search-form{ class: "#{'has-location-badge' if label.present?}" }
   = form_tag search_path, method: :get, class: 'navbar-form' do |f|
     .search-input-container
       - if label.present?
@@ -44,4 +44,4 @@
       = hidden_field_tag :snippets, true
     = hidden_field_tag :repository_ref, @ref
     = button_tag 'Go' if ENV['RAILS_ENV'] == 'test'
-    .search-autocomplete-opts.hide{:'data-autocomplete-path' => search_autocomplete_path, :'data-autocomplete-project-id' => @project.try(:id), :'data-autocomplete-project-ref' => @ref }
+    .search-autocomplete-opts.hide{ :'data-autocomplete-path' => search_autocomplete_path, :'data-autocomplete-project-id' => @project.try(:id), :'data-autocomplete-project-ref' => @ref }
diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml
index 6c2285fa2b6322fe1b5d241521aef3cd757deccb..935517d49135bf981cc81410858d1f76a02a6623 100644
--- a/app/views/layouts/application.html.haml
+++ b/app/views/layouts/application.html.haml
@@ -1,7 +1,7 @@
 !!! 5
 %html{ lang: "en", class: "#{page_class}" }
   = render "layouts/head"
-  %body{class: "#{user_application_theme}", data: {page: body_data_page, project: "#{@project.path if @project}", group: "#{@group.path if @group}"}}
+  %body{ class: "#{user_application_theme}", data: { page: body_data_page, project: "#{@project.path if @project}", group: "#{@group.path if @group}" } }
     = Gon::Base.render_data
 
     -# Ideally this would be inside the head, but turbolinks only evaluates page-specific JS in the body.
diff --git a/app/views/layouts/devise.html.haml b/app/views/layouts/devise.html.haml
index afd9958f0738effa3c2a7a90d9609dea5f967f33..3368a9beb29646a20fef41fe158f558cf77599f7 100644
--- a/app/views/layouts/devise.html.haml
+++ b/app/views/layouts/devise.html.haml
@@ -1,7 +1,7 @@
 !!! 5
-%html{ lang: "en", class: "devise-layout-html"}
+%html.devise-layout-html
   = render "layouts/head"
-  %body.ui_charcoal.login-page.application.navless{ data: { page: body_data_page }}
+  %body.ui_charcoal.login-page.application.navless{ data: { page: body_data_page } }
     .page-wrap
       = Gon::Base.render_data
       = render "layouts/header/empty"
diff --git a/app/views/layouts/devise_empty.html.haml b/app/views/layouts/devise_empty.html.haml
index 6bd427b02ac919407a03896dd2924a034444c7be..7466423a934ec6b8420268a4e1d08043cfd56f9a 100644
--- a/app/views/layouts/devise_empty.html.haml
+++ b/app/views/layouts/devise_empty.html.haml
@@ -1,5 +1,5 @@
 !!! 5
-%html{ lang: "en"}
+%html{ lang: "en" }
   = render "layouts/head"
   %body.ui_charcoal.login-page.application.navless
     = Gon::Base.render_data
diff --git a/app/views/layouts/devise_mailer.html.haml b/app/views/layouts/devise_mailer.html.haml
index c258eafdd51c2234939c69fd7a6ce699d727e074..e1e1f9ae516536762ab23e0f94c6ff758f509466 100644
--- a/app/views/layouts/devise_mailer.html.haml
+++ b/app/views/layouts/devise_mailer.html.haml
@@ -1,7 +1,7 @@
 !!! 5
 %html
   %head
-    %meta(content='text/html; charset=UTF-8' http-equiv='Content-Type')
+    %meta{ content: 'text/html; charset=UTF-8', 'http-equiv'=> 'Content-Type' }
     = stylesheet_link_tag 'mailers/devise'
 
   %body
@@ -9,7 +9,7 @@
       %tr
         %td
           %table#header
-            %td{valign: "top"}
+            %td{ valign: "top" }
               = image_tag('mailers/gitlab_header_logo.png', id: 'logo', alt: 'GitLab Wordmark')
 
           %table#body
diff --git a/app/views/layouts/errors.html.haml b/app/views/layouts/errors.html.haml
index a3b925f6afd6ebf8914c7d3e50e2247583b3258f..6d9ec043590acf0ff362b5e1ec9062c85a59621b 100644
--- a/app/views/layouts/errors.html.haml
+++ b/app/views/layouts/errors.html.haml
@@ -1,7 +1,7 @@
 !!! 5
-%html{ lang: "en"}
+%html{ lang: "en" }
   %head
-    %meta{:content => "width=device-width, initial-scale=1, maximum-scale=1", :name => "viewport"}
+    %meta{ :content => "width=device-width, initial-scale=1, maximum-scale=1", :name => "viewport" }
     %title= yield(:title)
     :css
       body {
diff --git a/app/views/layouts/header/_default.html.haml b/app/views/layouts/header/_default.html.haml
index 5456be77aabaae02388126de38fc1448443d27e2..f4e0244596c21472511c1064951c9c1d566d7f8b 100644
--- a/app/views/layouts/header/_default.html.haml
+++ b/app/views/layouts/header/_default.html.haml
@@ -1,11 +1,11 @@
 %header.navbar.navbar-fixed-top.navbar-gitlab{ class: nav_header_class }
-  %a{ href: "#content-body", tabindex: "1", class: "sr-only gl-accessibility" } Skip to content
-  %div{ class: "container-fluid" }
+  %a.sr-only.gl-accessibility{ href: "#content-body", tabindex: "1" } Skip to content
+  .container-fluid
     .header-content
       %button.side-nav-toggle{ type: 'button', "aria-label" => "Toggle global navigation" }
         %span.sr-only Toggle navigation
         = icon('bars')
-      %button.navbar-toggle{type: 'button'}
+      %button.navbar-toggle{ type: 'button' }
         %span.sr-only Toggle navigation
         = icon('ellipsis-v')
 
diff --git a/app/views/layouts/nav/_admin_settings.html.haml b/app/views/layouts/nav/_admin_settings.html.haml
index 38e9b80d129c38b3979a13d33cdc3dffd3ebf2b4..9de0e12a826e9d8fa466966794ca0442a349cf8e 100644
--- a/app/views/layouts/nav/_admin_settings.html.haml
+++ b/app/views/layouts/nav/_admin_settings.html.haml
@@ -1,6 +1,6 @@
 .controls
   .dropdown.admin-settings-dropdown
-    %a.dropdown-new.btn.btn-default{href: '#', 'data-toggle' => 'dropdown'}
+    %a.dropdown-new.btn.btn-default{ href: '#', 'data-toggle' => 'dropdown' }
       = icon('cog')
       = icon('caret-down')
     %ul.dropdown-menu.dropdown-menu-align-right
diff --git a/app/views/layouts/nav/_group_settings.html.haml b/app/views/layouts/nav/_group_settings.html.haml
index 1579d8f16625b4a0aaa89e1f969c5c7545f762e3..30feb6813b4a0d998d62ab2136a87fdbb1133f81 100644
--- a/app/views/layouts/nav/_group_settings.html.haml
+++ b/app/views/layouts/nav/_group_settings.html.haml
@@ -5,7 +5,7 @@
   - if can_admin_group || can_edit
     .controls
       .dropdown.group-settings-dropdown
-        %a.dropdown-new.btn.btn-default#group-settings-button{href: '#', 'data-toggle' => 'dropdown'}
+        %a.dropdown-new.btn.btn-default#group-settings-button{ href: '#', 'data-toggle' => 'dropdown' }
           = icon('cog')
           = icon('caret-down')
         %ul.dropdown-menu.dropdown-menu-align-right
diff --git a/app/views/layouts/nav/_project.html.haml b/app/views/layouts/nav/_project.html.haml
index cc1571cbb4f9461e130830640331f64a77d4a5b9..3c8c7b8f25ea9455d35b8aa0153dfaa9c3c75e8a 100644
--- a/app/views/layouts/nav/_project.html.haml
+++ b/app/views/layouts/nav/_project.html.haml
@@ -1,7 +1,7 @@
 - if current_user
   .controls
     .dropdown.project-settings-dropdown
-      %a.dropdown-new.btn.btn-default#project-settings-button{href: '#', 'data-toggle' => 'dropdown'}
+      %a.dropdown-new.btn.btn-default#project-settings-button{ href: '#', 'data-toggle' => 'dropdown' }
         = icon('cog')
         = icon('caret-down')
       %ul.dropdown-menu.dropdown-menu-align-right
diff --git a/app/views/layouts/notify.html.haml b/app/views/layouts/notify.html.haml
index 1ec4c3f0c6730222f37263cb1dbc457f8b644e2e..76268c1b7056cc1a21f122fc8814168711bf3713 100644
--- a/app/views/layouts/notify.html.haml
+++ b/app/views/layouts/notify.html.haml
@@ -1,14 +1,14 @@
-%html{lang: "en"}
+%html{ lang: "en" }
   %head
-    %meta{content: "text/html; charset=utf-8", "http-equiv" => "Content-Type"}
+    %meta{ content: "text/html; charset=utf-8", "http-equiv" => "Content-Type" }
     %title
       GitLab
     = stylesheet_link_tag 'notify'
     = yield :head
   %body
-    %div.content
+    .content
       = yield
-    %div.footer{style: "margin-top: 10px;"}
+    .footer{ style: "margin-top: 10px;" }
       %p
         &mdash;
         %br
diff --git a/app/views/notify/build_fail_email.html.haml b/app/views/notify/build_fail_email.html.haml
index 4bf7c1f4d64b9ef0b02ae485a21cadee81acf741..a744c4be9d6ba0b0f638f6125db3e23d2bfb89a8 100644
--- a/app/views/notify/build_fail_email.html.haml
+++ b/app/views/notify/build_fail_email.html.haml
@@ -1,5 +1,5 @@
 - content_for :header do
-  %h1{style: "background: #c40834; color: #FFF; font: normal 20px Helvetica, Arial, sans-serif; margin: 0; padding: 5px 10px; line-height: 32px; font-size: 16px;"}
+  %h1{ style: "background: #c40834; color: #FFF; font: normal 20px Helvetica, Arial, sans-serif; margin: 0; padding: 5px 10px; line-height: 32px; font-size: 16px;" }
     GitLab (build failed)
 
 %h3
diff --git a/app/views/notify/build_success_email.html.haml b/app/views/notify/build_success_email.html.haml
index 252a5b7152c225f69b4fb7f9e5b93d852e2e744a..8c2e6db1426dc8bf4aaa9e0b858777c2efaababa 100644
--- a/app/views/notify/build_success_email.html.haml
+++ b/app/views/notify/build_success_email.html.haml
@@ -1,5 +1,5 @@
 - content_for :header do
-  %h1{style: "background: #38CF5B; color: #FFF; font: normal 20px Helvetica, Arial, sans-serif; margin: 0; padding: 5px 10px; line-height: 32px; font-size: 16px;"}
+  %h1{ style: "background: #38CF5B; color: #FFF; font: normal 20px Helvetica, Arial, sans-serif; margin: 0; padding: 5px 10px; line-height: 32px; font-size: 16px;" }
     GitLab (build successful)
 
 %h3
diff --git a/app/views/notify/links/ci/builds/_build.html.haml b/app/views/notify/links/ci/builds/_build.html.haml
index 38cd4e5e1453419a37583277e70445708ef4a4f3..d35b3839171ef8ca5f1f6bfd050f90e72bcac51e 100644
--- a/app/views/notify/links/ci/builds/_build.html.haml
+++ b/app/views/notify/links/ci/builds/_build.html.haml
@@ -1,2 +1,2 @@
-%a{href: pipeline_build_url(pipeline, build), style: "color:#3777b0;text-decoration:none;"}
+%a{ href: pipeline_build_url(pipeline, build), style: "color:#3777b0;text-decoration:none;" }
   = build.name
diff --git a/app/views/notify/new_issue_email.html.haml b/app/views/notify/new_issue_email.html.haml
index f42b150c0d60cd2014e0dab66d76c1fe34fe96ff..d1855568215dfda6dc3d593c580b479cb71c324f 100644
--- a/app/views/notify/new_issue_email.html.haml
+++ b/app/views/notify/new_issue_email.html.haml
@@ -1,7 +1,7 @@
 - if current_application_settings.email_author_in_body
   %div
     #{link_to @issue.author_name, user_url(@issue.author)} wrote:
--if @issue.description
+- if @issue.description
   = markdown(@issue.description, pipeline: :email, author: @issue.author)
 
 - if @issue.assignee_id.present?
diff --git a/app/views/notify/new_mention_in_issue_email.html.haml b/app/views/notify/new_mention_in_issue_email.html.haml
index 4f3d36bd9cada54e93286fab68177e0953ac7060..02f21baa368ccb883e408abcc1e256a53f2671f7 100644
--- a/app/views/notify/new_mention_in_issue_email.html.haml
+++ b/app/views/notify/new_mention_in_issue_email.html.haml
@@ -4,7 +4,7 @@
 - if current_application_settings.email_author_in_body
   %div
     #{link_to @issue.author_name, user_url(@issue.author)} wrote:
--if @issue.description
+- if @issue.description
   = markdown(@issue.description, pipeline: :email, author: @issue.author)
 
 - if @issue.assignee_id.present?
diff --git a/app/views/notify/new_mention_in_merge_request_email.html.haml b/app/views/notify/new_mention_in_merge_request_email.html.haml
index 32aedb9e6b91a3259be0c1a6af41b370888569ed..cbd434be02a9779bc323a575d9a687de12b36bd3 100644
--- a/app/views/notify/new_mention_in_merge_request_email.html.haml
+++ b/app/views/notify/new_mention_in_merge_request_email.html.haml
@@ -11,5 +11,5 @@
   %p
     Assignee: #{@merge_request.author_name} &rarr; #{@merge_request.assignee_name}
 
--if @merge_request.description
+- if @merge_request.description
   = markdown(@merge_request.description, pipeline: :email, author: @merge_request.author)
diff --git a/app/views/notify/new_merge_request_email.html.haml b/app/views/notify/new_merge_request_email.html.haml
index 158404de396084988c8516a7173de9492972ba9e..8890b300f7d0145073cc5b5356065d08490b972a 100644
--- a/app/views/notify/new_merge_request_email.html.haml
+++ b/app/views/notify/new_merge_request_email.html.haml
@@ -8,5 +8,5 @@
   %p
     Assignee: #{@merge_request.author_name} &rarr; #{@merge_request.assignee_name}
 
--if @merge_request.description
+- if @merge_request.description
   = markdown(@merge_request.description, pipeline: :email, author: @merge_request.author)
diff --git a/app/views/notify/pipeline_failed_email.html.haml b/app/views/notify/pipeline_failed_email.html.haml
index 001d9c48555aba9834b3709a4def8b75863dff2a..82c7fe229b805015bed28e7037175c0d7fcac251 100644
--- a/app/views/notify/pipeline_failed_email.html.haml
+++ b/app/views/notify/pipeline_failed_email.html.haml
@@ -1,9 +1,9 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional //EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-%html{lang: "en"}
+%html{ lang: "en" }
   %head
-    %meta{content: "text/html; charset=UTF-8", "http-equiv" => "Content-Type"}/
-    %meta{content: "width=device-width, initial-scale=1", name: "viewport"}/
-    %meta{content: "IE=edge", "http-equiv" => "X-UA-Compatible"}/
+    %meta{ content: "text/html; charset=UTF-8", "http-equiv" => "Content-Type" }/
+    %meta{ content: "width=device-width, initial-scale=1", name: "viewport" }/
+    %meta{ content: "IE=edge", "http-equiv" => "X-UA-Compatible" }/
     %title= message.subject
     :css
       /* CLIENT-SPECIFIC STYLES */
@@ -41,139 +41,139 @@
               padding-right: 10px !important;
           }
       }
-  %body{style: "background-color:#fafafa;margin:0;padding:0;text-align:center;min-width:640px;width:100%;height:100%;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;"}
-    %table#body{border: "0", cellpadding: "0", cellspacing: "0", style: "background-color:#fafafa;margin:0;padding:0;text-align:center;min-width:640px;width:100%;"}
+  %body{ style: "background-color:#fafafa;margin:0;padding:0;text-align:center;min-width:640px;width:100%;height:100%;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;" }
+    %table#body{ border: "0", cellpadding: "0", cellspacing: "0", style: "background-color:#fafafa;margin:0;padding:0;text-align:center;min-width:640px;width:100%;" }
       %tbody
         %tr.line
-          %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;background-color:#6b4fbb;height:4px;font-size:4px;line-height:4px;"}  
+          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;background-color:#6b4fbb;height:4px;font-size:4px;line-height:4px;" }  
         %tr.header
-          %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:25px 0;font-size:13px;line-height:1.6;color:#5c5c5c;"}
-            %img{alt: "GitLab", height: "50", src: image_url('mailers/ci_pipeline_notif_v1/gitlab-logo.gif'), width: "55"}/
+          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:25px 0;font-size:13px;line-height:1.6;color:#5c5c5c;" }
+            %img{ alt: "GitLab", height: "50", src: image_url('mailers/ci_pipeline_notif_v1/gitlab-logo.gif'), width: "55" }/
         %tr
-          %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;"}
-            %table.wrapper{border: "0", cellpadding: "0", cellspacing: "0", style: "width:640px;margin:0 auto;border-collapse:separate;border-spacing:0;"}
+          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;" }
+            %table.wrapper{ border: "0", cellpadding: "0", cellspacing: "0", style: "width:640px;margin:0 auto;border-collapse:separate;border-spacing:0;" }
               %tbody
                 %tr
-                  %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;background-color:#ffffff;text-align:left;padding:18px 25px;border:1px solid #ededed;border-radius:3px;overflow:hidden;"}
-                    %table.content{border: "0", cellpadding: "0", cellspacing: "0", style: "width:100%;border-collapse:separate;border-spacing:0;"}
+                  %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;background-color:#ffffff;text-align:left;padding:18px 25px;border:1px solid #ededed;border-radius:3px;overflow:hidden;" }
+                    %table.content{ border: "0", cellpadding: "0", cellspacing: "0", style: "width:100%;border-collapse:separate;border-spacing:0;" }
                       %tbody
                         %tr.alert
-                          %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:10px;border-radius:3px;font-size:14px;line-height:1.3;text-align:center;overflow:hidden;background-color:#d22f57;color:#ffffff;"}
-                            %table.img{border: "0", cellpadding: "0", cellspacing: "0", style: "border-collapse:collapse;margin:0 auto;"}
+                          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:10px;border-radius:3px;font-size:14px;line-height:1.3;text-align:center;overflow:hidden;background-color:#d22f57;color:#ffffff;" }
+                            %table.img{ border: "0", cellpadding: "0", cellspacing: "0", style: "border-collapse:collapse;margin:0 auto;" }
                               %tbody
                                 %tr
-                                  %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;vertical-align:middle;color:#ffffff;text-align:center;padding-right:5px;"}
-                                    %img{alt: "x", height: "13", src: image_url('mailers/ci_pipeline_notif_v1/icon-x-red-inverted.gif'), style: "display:block;", width: "13"}/
-                                  %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;vertical-align:middle;color:#ffffff;text-align:center;"}
+                                  %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;vertical-align:middle;color:#ffffff;text-align:center;padding-right:5px;" }
+                                    %img{ alt: "x", height: "13", src: image_url('mailers/ci_pipeline_notif_v1/icon-x-red-inverted.gif'), style: "display:block;", width: "13" }/
+                                  %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;vertical-align:middle;color:#ffffff;text-align:center;" }
                                     Your pipeline has failed.
                         %tr.spacer
-                          %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;height:18px;font-size:18px;line-height:18px;"}
+                          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;height:18px;font-size:18px;line-height:18px;" }
                             &nbsp;
                         %tr.section
-                          %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:0 15px;border:1px solid #ededed;border-radius:3px;overflow:hidden;"}
-                            %table.info{border: "0", cellpadding: "0", cellspacing: "0", style: "width:100%;"}
+                          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:0 15px;border:1px solid #ededed;border-radius:3px;overflow:hidden;" }
+                            %table.info{ border: "0", cellpadding: "0", cellspacing: "0", style: "width:100%;" }
                               %tbody
                                 %tr
-                                  %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;color:#8c8c8c;font-weight:300;padding:14px 0;margin:0;"} Project
-                                  %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;color:#8c8c8c;font-weight:300;padding:14px 0;margin:0;color:#333333;font-weight:400;width:75%;padding-left:5px;"}
+                                  %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;color:#8c8c8c;font-weight:300;padding:14px 0;margin:0;" } Project
+                                  %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;color:#8c8c8c;font-weight:300;padding:14px 0;margin:0;color:#333333;font-weight:400;width:75%;padding-left:5px;" }
                                     - namespace_name = @project.group ? @project.group.name : @project.namespace.owner.name
                                     - namespace_url = @project.group ? group_url(@project.group) : user_url(@project.namespace.owner)
-                                    %a.muted{href: namespace_url, style: "color:#333333;text-decoration:none;"}
+                                    %a.muted{ href: namespace_url, style: "color:#333333;text-decoration:none;" }
                                       = namespace_name
                                     \/
-                                    %a.muted{href: project_url(@project), style: "color:#333333;text-decoration:none;"}
+                                    %a.muted{ href: project_url(@project), style: "color:#333333;text-decoration:none;" }
                                       = @project.name
                                 %tr
-                                  %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;color:#8c8c8c;font-weight:300;padding:14px 0;margin:0;border-top:1px solid #ededed;"} Branch
-                                  %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;color:#8c8c8c;font-weight:300;padding:14px 0;margin:0;color:#333333;font-weight:400;width:75%;padding-left:5px;border-top:1px solid #ededed;"}
-                                    %table.img{border: "0", cellpadding: "0", cellspacing: "0", style: "border-collapse:collapse;"}
+                                  %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;color:#8c8c8c;font-weight:300;padding:14px 0;margin:0;border-top:1px solid #ededed;" } Branch
+                                  %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;color:#8c8c8c;font-weight:300;padding:14px 0;margin:0;color:#333333;font-weight:400;width:75%;padding-left:5px;border-top:1px solid #ededed;" }
+                                    %table.img{ border: "0", cellpadding: "0", cellspacing: "0", style: "border-collapse:collapse;" }
                                       %tbody
                                         %tr
-                                          %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;padding-right:5px;"}
-                                            %img{height: "13", src: image_url('mailers/ci_pipeline_notif_v1/icon-branch-gray.gif'), style: "display:block;", width: "13"}/
-                                          %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;"}
-                                            %a.muted{href: commits_url(@pipeline), style: "color:#333333;text-decoration:none;"}
+                                          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;padding-right:5px;" }
+                                            %img{ height: "13", src: image_url('mailers/ci_pipeline_notif_v1/icon-branch-gray.gif'), style: "display:block;", width: "13", alt: "Branch icon" }/
+                                          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;" }
+                                            %a.muted{ href: commits_url(@pipeline), style: "color:#333333;text-decoration:none;" }
                                               = @pipeline.ref
                                 %tr
-                                  %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;color:#8c8c8c;font-weight:300;padding:14px 0;margin:0;border-top:1px solid #ededed;"} Commit
-                                  %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;color:#8c8c8c;font-weight:300;padding:14px 0;margin:0;color:#333333;font-weight:400;width:75%;padding-left:5px;border-top:1px solid #ededed;"}
-                                    %table.img{border: "0", cellpadding: "0", cellspacing: "0", style: "border-collapse:collapse;"}
+                                  %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;color:#8c8c8c;font-weight:300;padding:14px 0;margin:0;border-top:1px solid #ededed;" } Commit
+                                  %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;color:#8c8c8c;font-weight:300;padding:14px 0;margin:0;color:#333333;font-weight:400;width:75%;padding-left:5px;border-top:1px solid #ededed;" }
+                                    %table.img{ border: "0", cellpadding: "0", cellspacing: "0", style: "border-collapse:collapse;" }
                                       %tbody
                                         %tr
-                                          %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;padding-right:5px;"}
-                                            %img{height: "13", src: image_url('mailers/ci_pipeline_notif_v1/icon-commit-gray.gif'), style: "display:block;", width: "13"}/
-                                          %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;"}
-                                            %a{href: commit_url(@pipeline), style: "color:#3777b0;text-decoration:none;"}
+                                          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;padding-right:5px;" }
+                                            %img{ height: "13", src: image_url('mailers/ci_pipeline_notif_v1/icon-commit-gray.gif'), style: "display:block;", width: "13", alt: "Commit icon" }/
+                                          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;" }
+                                            %a{ href: commit_url(@pipeline), style: "color:#3777b0;text-decoration:none;" }
                                               = @pipeline.short_sha
                                             - if @merge_request
                                               in
-                                              %a{href: merge_request_url(@merge_request), style: "color:#3777b0;text-decoration:none;"}
+                                              %a{ href: merge_request_url(@merge_request), style: "color:#3777b0;text-decoration:none;" }
                                                 = @merge_request.to_reference
-                                    .commit{style: "color:#5c5c5c;font-weight:300;"}
+                                    .commit{ style: "color:#5c5c5c;font-weight:300;" }
                                       = @pipeline.git_commit_message.truncate(50)
                                 %tr
-                                  %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;color:#8c8c8c;font-weight:300;padding:14px 0;margin:0;border-top:1px solid #ededed;"} Author
-                                  %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;color:#8c8c8c;font-weight:300;padding:14px 0;margin:0;color:#333333;font-weight:400;width:75%;padding-left:5px;border-top:1px solid #ededed;"}
-                                    %table.img{border: "0", cellpadding: "0", cellspacing: "0", style: "border-collapse:collapse;"}
+                                  %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;color:#8c8c8c;font-weight:300;padding:14px 0;margin:0;border-top:1px solid #ededed;" } Author
+                                  %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;color:#8c8c8c;font-weight:300;padding:14px 0;margin:0;color:#333333;font-weight:400;width:75%;padding-left:5px;border-top:1px solid #ededed;" }
+                                    %table.img{ border: "0", cellpadding: "0", cellspacing: "0", style: "border-collapse:collapse;" }
                                       %tbody
                                         %tr
                                           - commit = @pipeline.commit
-                                          %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;padding-right:5px;"}
-                                            %img.avatar{height: "24", src: avatar_icon(commit.author || commit.author_email, 24), style: "display:block;border-radius:12px;margin:-2px 0;", width: "24"}/
-                                          %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;"}
+                                          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;padding-right:5px;" }
+                                            %img.avatar{ height: "24", src: avatar_icon(commit.author || commit.author_email, 24), style: "display:block;border-radius:12px;margin:-2px 0;", width: "24", alt: "Avatar" }/
+                                          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;" }
                                             - if commit.author
-                                              %a.muted{href: user_url(commit.author), style: "color:#333333;text-decoration:none;"}
+                                              %a.muted{ href: user_url(commit.author), style: "color:#333333;text-decoration:none;" }
                                                 = commit.author.name
                                             - else
                                               %span
                                                 = commit.author_name
                         %tr.spacer
-                          %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;height:18px;font-size:18px;line-height:18px;"}
+                          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;height:18px;font-size:18px;line-height:18px;" }
                             &nbsp;
                         - failed = @pipeline.statuses.latest.failed
                         %tr.pre-section
-                          %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;color:#333333;font-size:15px;font-weight:400;line-height:1.4;padding:15px 0;"}
+                          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;color:#333333;font-size:15px;font-weight:400;line-height:1.4;padding:15px 0;" }
                             Pipeline
-                            %a{href: pipeline_url(@pipeline), style: "color:#3777b0;text-decoration:none;"}
+                            %a{ href: pipeline_url(@pipeline), style: "color:#3777b0;text-decoration:none;" }
                               = "\##{@pipeline.id}"
                             had
                             = failed.size
                             failed
                             = "#{'build'.pluralize(failed.size)}."
                         %tr.warning
-                          %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;border:1px solid #ededed;border-bottom:0;border-radius:3px 3px 0 0;overflow:hidden;background-color:#fdf4f6;color:#d22852;font-size:14px;line-height:1.4;text-align:center;padding:8px 15px;"}
+                          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;border:1px solid #ededed;border-bottom:0;border-radius:3px 3px 0 0;overflow:hidden;background-color:#fdf4f6;color:#d22852;font-size:14px;line-height:1.4;text-align:center;padding:8px 15px;" }
                             Logs may contain sensitive data. Please consider before forwarding this email.
                         %tr.section
-                          %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:0 15px;border:1px solid #ededed;border-radius:3px;overflow:hidden;border-top:0;border-radius:0 0 3px 3px;"}
-                            %table.builds{border: "0", cellpadding: "0", cellspacing: "0", style: "width:100%;border-collapse:collapse;"}
+                          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:0 15px;border:1px solid #ededed;border-radius:3px;overflow:hidden;border-top:0;border-radius:0 0 3px 3px;" }
+                            %table.builds{ border: "0", cellpadding: "0", cellspacing: "0", style: "width:100%;border-collapse:collapse;" }
                               %tbody
                                 - failed.each do |build|
                                   %tr.build-state
-                                    %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:20px 0;color:#8c8c8c;font-weight:500;font-size:15px;"}
-                                      %table.img{border: "0", cellpadding: "0", cellspacing: "0", style: "border-collapse:collapse;"}
+                                    %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:20px 0;color:#8c8c8c;font-weight:500;font-size:15px;" }
+                                      %table.img{ border: "0", cellpadding: "0", cellspacing: "0", style: "border-collapse:collapse;" }
                                         %tbody
                                           %tr
-                                            %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;color:#8c8c8c;font-weight:500;font-size:15px;vertical-align:middle;padding-right:5px;"}
-                                              %img{alt: "x", height: "10", src: image_url('mailers/ci_pipeline_notif_v1/icon-x-red.gif'), style: "display:block;", width: "10"}/
-                                            %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;color:#8c8c8c;font-weight:500;font-size:15px;vertical-align:middle;"}
+                                            %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;color:#8c8c8c;font-weight:500;font-size:15px;vertical-align:middle;padding-right:5px;" }
+                                              %img{ alt: "x", height: "10", src: image_url('mailers/ci_pipeline_notif_v1/icon-x-red.gif'), style: "display:block;", width: "10" }/
+                                            %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;color:#8c8c8c;font-weight:500;font-size:15px;vertical-align:middle;" }
                                               = build.stage
-                                    %td{align: "right", style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:20px 0;color:#8c8c8c;font-weight:500;font-size:15px;"}
+                                    %td{ align: "right", style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:20px 0;color:#8c8c8c;font-weight:500;font-size:15px;" }
                                       = render "notify/links/#{build.to_partial_path}", pipeline: @pipeline, build: build
                                   %tr.build-log
                                     - if build.has_trace?
-                                      %td{colspan: "2", style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:0 0 15px;"}
-                                        %pre{style: "font-family:Monaco,'Lucida Console','Courier New',Courier,monospace;background-color:#fafafa;border-radius:3px;overflow:hidden;white-space:pre-wrap;word-break:break-all;font-size:13px;line-height:1.4;padding:12px;color:#333333;margin:0;"}
+                                      %td{ colspan: "2", style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:0 0 15px;" }
+                                        %pre{ style: "font-family:Monaco,'Lucida Console','Courier New',Courier,monospace;background-color:#fafafa;border-radius:3px;overflow:hidden;white-space:pre-wrap;word-break:break-all;font-size:13px;line-height:1.4;padding:12px;color:#333333;margin:0;" }
                                           = build.trace_html(last_lines: 10).html_safe
                                     - else
-                                      %td{colspan: "2"}
+                                      %td{ colspan: "2" }
         %tr.footer
-          %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:25px 0;font-size:13px;line-height:1.6;color:#5c5c5c;"}
-            %img{alt: "GitLab", height: "33", src: image_url('mailers/ci_pipeline_notif_v1/gitlab-logo-full-horizontal.gif'), style: "display:block;margin:0 auto 1em;", width: "90"}/
+          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:25px 0;font-size:13px;line-height:1.6;color:#5c5c5c;" }
+            %img{ alt: "GitLab", height: "33", src: image_url('mailers/ci_pipeline_notif_v1/gitlab-logo-full-horizontal.gif'), style: "display:block;margin:0 auto 1em;", width: "90" }/
             %div
-              %a{href: profile_notifications_url, style: "color:#3777b0;text-decoration:none;"} Manage all notifications
+              %a{ href: profile_notifications_url, style: "color:#3777b0;text-decoration:none;" } Manage all notifications
               &middot;
-              %a{href: help_url, style: "color:#3777b0;text-decoration:none;"} Help
+              %a{ href: help_url, style: "color:#3777b0;text-decoration:none;" } Help
             %div
               You're receiving this email because of your account on
               = succeed "." do
-                %a{href: root_url, style: "color:#3777b0;text-decoration:none;"}= Gitlab.config.gitlab.host
+                %a{ href: root_url, style: "color:#3777b0;text-decoration:none;" }= Gitlab.config.gitlab.host
diff --git a/app/views/notify/pipeline_success_email.html.haml b/app/views/notify/pipeline_success_email.html.haml
index 56c1949ab2b93cc13542069a261a0315fd1deebe..6dddb3b63731d372f1bbfeb48d27ab77cff9353c 100644
--- a/app/views/notify/pipeline_success_email.html.haml
+++ b/app/views/notify/pipeline_success_email.html.haml
@@ -1,9 +1,9 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional //EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-%html{lang: "en"}
+%html{ lang: "en" }
   %head
-    %meta{content: "text/html; charset=UTF-8", "http-equiv" => "Content-Type"}/
-    %meta{content: "width=device-width, initial-scale=1", name: "viewport"}/
-    %meta{content: "IE=edge", "http-equiv" => "X-UA-Compatible"}/
+    %meta{ content: "text/html; charset=UTF-8", "http-equiv" => "Content-Type" }/
+    %meta{ content: "width=device-width, initial-scale=1", name: "viewport" }/
+    %meta{ content: "IE=edge", "http-equiv" => "X-UA-Compatible" }/
     %title= message.subject
     :css
       /* CLIENT-SPECIFIC STYLES */
@@ -41,114 +41,114 @@
               padding-right: 10px !important;
           }
       }
-  %body{style: "background-color:#fafafa;margin:0;padding:0;text-align:center;min-width:640px;width:100%;height:100%;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;"}
-    %table#body{border: "0", cellpadding: "0", cellspacing: "0", style: "background-color:#fafafa;margin:0;padding:0;text-align:center;min-width:640px;width:100%;"}
+  %body{ style: "background-color:#fafafa;margin:0;padding:0;text-align:center;min-width:640px;width:100%;height:100%;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;" }
+    %table#body{ border: "0", cellpadding: "0", cellspacing: "0", style: "background-color:#fafafa;margin:0;padding:0;text-align:center;min-width:640px;width:100%;" }
       %tbody
         %tr.line
-          %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;background-color:#6b4fbb;height:4px;font-size:4px;line-height:4px;"}  
+          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;background-color:#6b4fbb;height:4px;font-size:4px;line-height:4px;" }  
         %tr.header
-          %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:25px 0;font-size:13px;line-height:1.6;color:#5c5c5c;"}
-            %img{alt: "GitLab", height: "50", src: image_url('mailers/ci_pipeline_notif_v1/gitlab-logo.gif'), width: "55"}/
+          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:25px 0;font-size:13px;line-height:1.6;color:#5c5c5c;" }
+            %img{ alt: "GitLab", height: "50", src: image_url('mailers/ci_pipeline_notif_v1/gitlab-logo.gif'), width: "55" }/
         %tr
-          %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;"}
-            %table.wrapper{border: "0", cellpadding: "0", cellspacing: "0", style: "width:640px;margin:0 auto;border-collapse:separate;border-spacing:0;"}
+          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;" }
+            %table.wrapper{ border: "0", cellpadding: "0", cellspacing: "0", style: "width:640px;margin:0 auto;border-collapse:separate;border-spacing:0;" }
               %tbody
                 %tr
-                  %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;background-color:#ffffff;text-align:left;padding:18px 25px;border:1px solid #ededed;border-radius:3px;overflow:hidden;"}
-                    %table.content{border: "0", cellpadding: "0", cellspacing: "0", style: "width:100%;border-collapse:separate;border-spacing:0;"}
+                  %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;background-color:#ffffff;text-align:left;padding:18px 25px;border:1px solid #ededed;border-radius:3px;overflow:hidden;" }
+                    %table.content{ border: "0", cellpadding: "0", cellspacing: "0", style: "width:100%;border-collapse:separate;border-spacing:0;" }
                       %tbody
                         %tr.success
-                          %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:10px;border-radius:3px;font-size:14px;line-height:1.3;text-align:center;overflow:hidden;color:#ffffff;background-color:#31af64;"}
-                            %table.img{border: "0", cellpadding: "0", cellspacing: "0", style: "border-collapse:collapse;margin:0 auto;"}
+                          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:10px;border-radius:3px;font-size:14px;line-height:1.3;text-align:center;overflow:hidden;color:#ffffff;background-color:#31af64;" }
+                            %table.img{ border: "0", cellpadding: "0", cellspacing: "0", style: "border-collapse:collapse;margin:0 auto;" }
                               %tbody
                                 %tr
-                                  %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;vertical-align:middle;color:#ffffff;text-align:center;padding-right:5px;"}
-                                    %img{alt: "✓", height: "13", src: image_url('mailers/ci_pipeline_notif_v1/icon-check-green-inverted.gif'), style: "display:block;", width: "13"}/
-                                  %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;vertical-align:middle;color:#ffffff;text-align:center;"}
+                                  %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;vertical-align:middle;color:#ffffff;text-align:center;padding-right:5px;" }
+                                    %img{ alt: "✓", height: "13", src: image_url('mailers/ci_pipeline_notif_v1/icon-check-green-inverted.gif'), style: "display:block;", width: "13" }/
+                                  %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;vertical-align:middle;color:#ffffff;text-align:center;" }
                                     Your pipeline has passed.
                         %tr.spacer
-                          %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;height:18px;font-size:18px;line-height:18px;"}
+                          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;height:18px;font-size:18px;line-height:18px;" }
                             &nbsp;
                         %tr.section
-                          %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:0 15px;border:1px solid #ededed;border-radius:3px;overflow:hidden;"}
-                            %table.info{border: "0", cellpadding: "0", cellspacing: "0", style: "width:100%;"}
+                          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:0 15px;border:1px solid #ededed;border-radius:3px;overflow:hidden;" }
+                            %table.info{ border: "0", cellpadding: "0", cellspacing: "0", style: "width:100%;" }
                               %tbody
                                 %tr
-                                  %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;color:#8c8c8c;font-weight:300;padding:14px 0;margin:0;"} Project
-                                  %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;color:#8c8c8c;font-weight:300;padding:14px 0;margin:0;color:#333333;font-weight:400;width:75%;padding-left:5px;"}
+                                  %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;color:#8c8c8c;font-weight:300;padding:14px 0;margin:0;" } Project
+                                  %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;color:#8c8c8c;font-weight:300;padding:14px 0;margin:0;color:#333333;font-weight:400;width:75%;padding-left:5px;" }
                                     - namespace_name = @project.group ? @project.group.name : @project.namespace.owner.name
                                     - namespace_url = @project.group ? group_url(@project.group) : user_url(@project.namespace.owner)
-                                    %a.muted{href: namespace_url, style: "color:#333333;text-decoration:none;"}
+                                    %a.muted{ href: namespace_url, style: "color:#333333;text-decoration:none;" }
                                       = namespace_name
                                     \/
-                                    %a.muted{href: project_url(@project), style: "color:#333333;text-decoration:none;"}
+                                    %a.muted{ href: project_url(@project), style: "color:#333333;text-decoration:none;" }
                                       = @project.name
                                 %tr
-                                  %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;color:#8c8c8c;font-weight:300;padding:14px 0;margin:0;border-top:1px solid #ededed;"} Branch
-                                  %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;color:#8c8c8c;font-weight:300;padding:14px 0;margin:0;color:#333333;font-weight:400;width:75%;padding-left:5px;border-top:1px solid #ededed;"}
-                                    %table.img{border: "0", cellpadding: "0", cellspacing: "0", style: "border-collapse:collapse;"}
+                                  %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;color:#8c8c8c;font-weight:300;padding:14px 0;margin:0;border-top:1px solid #ededed;" } Branch
+                                  %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;color:#8c8c8c;font-weight:300;padding:14px 0;margin:0;color:#333333;font-weight:400;width:75%;padding-left:5px;border-top:1px solid #ededed;" }
+                                    %table.img{ border: "0", cellpadding: "0", cellspacing: "0", style: "border-collapse:collapse;" }
                                       %tbody
                                         %tr
-                                          %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;padding-right:5px;"}
-                                            %img{height: "13", src: image_url('mailers/ci_pipeline_notif_v1/icon-branch-gray.gif'), style: "display:block;", width: "13"}/
-                                          %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;"}
-                                            %a.muted{href: commits_url(@pipeline), style: "color:#333333;text-decoration:none;"}
+                                          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;padding-right:5px;" }
+                                            %img{ height: "13", src: image_url('mailers/ci_pipeline_notif_v1/icon-branch-gray.gif'), style: "display:block;", width: "13", alt: "Branch icon" }/
+                                          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;" }
+                                            %a.muted{ href: commits_url(@pipeline), style: "color:#333333;text-decoration:none;" }
                                               = @pipeline.ref
                                 %tr
-                                  %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;color:#8c8c8c;font-weight:300;padding:14px 0;margin:0;border-top:1px solid #ededed;"} Commit
-                                  %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;color:#8c8c8c;font-weight:300;padding:14px 0;margin:0;color:#333333;font-weight:400;width:75%;padding-left:5px;border-top:1px solid #ededed;"}
-                                    %table.img{border: "0", cellpadding: "0", cellspacing: "0", style: "border-collapse:collapse;"}
+                                  %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;color:#8c8c8c;font-weight:300;padding:14px 0;margin:0;border-top:1px solid #ededed;" } Commit
+                                  %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;color:#8c8c8c;font-weight:300;padding:14px 0;margin:0;color:#333333;font-weight:400;width:75%;padding-left:5px;border-top:1px solid #ededed;" }
+                                    %table.img{ border: "0", cellpadding: "0", cellspacing: "0", style: "border-collapse:collapse;" }
                                       %tbody
                                         %tr
-                                          %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;padding-right:5px;"}
-                                            %img{height: "13", src: image_url('mailers/ci_pipeline_notif_v1/icon-commit-gray.gif'), style: "display:block;", width: "13"}/
-                                          %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;"}
-                                            %a{href: commit_url(@pipeline), style: "color:#3777b0;text-decoration:none;"}
+                                          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;padding-right:5px;" }
+                                            %img{ height: "13", src: image_url('mailers/ci_pipeline_notif_v1/icon-commit-gray.gif'), style: "display:block;", width: "13", alt: "Commit icon" }/
+                                          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;" }
+                                            %a{ href: commit_url(@pipeline), style: "color:#3777b0;text-decoration:none;" }
                                               = @pipeline.short_sha
                                             - if @merge_request
                                               in
-                                              %a{href: merge_request_url(@merge_request), style: "color:#3777b0;text-decoration:none;"}
+                                              %a{ href: merge_request_url(@merge_request), style: "color:#3777b0;text-decoration:none;" }
                                                 = @merge_request.to_reference
-                                    .commit{style: "color:#5c5c5c;font-weight:300;"}
+                                    .commit{ style: "color:#5c5c5c;font-weight:300;" }
                                       = @pipeline.git_commit_message.truncate(50)
                                 %tr
-                                  %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;color:#8c8c8c;font-weight:300;padding:14px 0;margin:0;border-top:1px solid #ededed;"} Author
-                                  %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;color:#8c8c8c;font-weight:300;padding:14px 0;margin:0;color:#333333;font-weight:400;width:75%;padding-left:5px;border-top:1px solid #ededed;"}
-                                    %table.img{border: "0", cellpadding: "0", cellspacing: "0", style: "border-collapse:collapse;"}
+                                  %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;color:#8c8c8c;font-weight:300;padding:14px 0;margin:0;border-top:1px solid #ededed;" } Author
+                                  %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;color:#8c8c8c;font-weight:300;padding:14px 0;margin:0;color:#333333;font-weight:400;width:75%;padding-left:5px;border-top:1px solid #ededed;" }
+                                    %table.img{ border: "0", cellpadding: "0", cellspacing: "0", style: "border-collapse:collapse;" }
                                       %tbody
                                         %tr
                                           - commit = @pipeline.commit
-                                          %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;padding-right:5px;"}
-                                            %img.avatar{height: "24", src: avatar_icon(commit.author || commit.author_email, 24), style: "display:block;border-radius:12px;margin:-2px 0;", width: "24"}/
-                                          %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;"}
+                                          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;padding-right:5px;" }
+                                            %img.avatar{ height: "24", src: avatar_icon(commit.author || commit.author_email, 24), style: "display:block;border-radius:12px;margin:-2px 0;", width: "24", alt: "Avatar" }/
+                                          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.4;vertical-align:middle;" }
                                             - if commit.author
-                                              %a.muted{href: user_url(commit.author), style: "color:#333333;text-decoration:none;"}
+                                              %a.muted{ href: user_url(commit.author), style: "color:#333333;text-decoration:none;" }
                                                 = commit.author.name
                                             - else
                                               %span
                                                 = commit.author_name
                         %tr.spacer
-                          %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;height:18px;font-size:18px;line-height:18px;"}
+                          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;height:18px;font-size:18px;line-height:18px;" }
                             &nbsp;
                         %tr.success-message
-                          %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;color:#333333;font-size:15px;font-weight:400;line-height:1.4;padding:15px 5px;text-align:center;"}
+                          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;color:#333333;font-size:15px;font-weight:400;line-height:1.4;padding:15px 5px;text-align:center;" }
                             - build_count = @pipeline.statuses.latest.size
                             - stage_count = @pipeline.stages_count
                             Pipeline
-                            %a{href: pipeline_url(@pipeline), style: "color:#3777b0;text-decoration:none;"}
+                            %a{ href: pipeline_url(@pipeline), style: "color:#3777b0;text-decoration:none;" }
                               = "\##{@pipeline.id}"
                             successfully completed
                             = "#{build_count} #{'build'.pluralize(build_count)}"
                             in
                             = "#{stage_count} #{'stage'.pluralize(stage_count)}."
         %tr.footer
-          %td{style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:25px 0;font-size:13px;line-height:1.6;color:#5c5c5c;"}
-            %img{alt: "GitLab", height: "33", src: image_url('mailers/ci_pipeline_notif_v1/gitlab-logo-full-horizontal.gif'), style: "display:block;margin:0 auto 1em;", width: "90"}/
+          %td{ style: "font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:25px 0;font-size:13px;line-height:1.6;color:#5c5c5c;" }
+            %img{ alt: "GitLab", height: "33", src: image_url('mailers/ci_pipeline_notif_v1/gitlab-logo-full-horizontal.gif'), style: "display:block;margin:0 auto 1em;", width: "90" }/
             %div
-              %a{href: profile_notifications_url, style: "color:#3777b0;text-decoration:none;"} Manage all notifications
+              %a{ href: profile_notifications_url, style: "color:#3777b0;text-decoration:none;" } Manage all notifications
               &middot;
-              %a{href: help_url, style: "color:#3777b0;text-decoration:none;"} Help
+              %a{ href: help_url, style: "color:#3777b0;text-decoration:none;" } Help
             %div
               You're receiving this email because of your account on
               = succeed "." do
-                %a{href: root_url, style: "color:#3777b0;text-decoration:none;"}= Gitlab.config.gitlab.host
+                %a{ href: root_url, style: "color:#3777b0;text-decoration:none;" }= Gitlab.config.gitlab.host
diff --git a/app/views/notify/project_was_not_exported_email.text.haml b/app/views/notify/project_was_not_exported_email.text.haml
index b27cb620b9e7d0f88da069943d3fcea6c677a010..27785165c2ddd17ccf8d7cd93937ec3b14807554 100644
--- a/app/views/notify/project_was_not_exported_email.text.haml
+++ b/app/views/notify/project_was_not_exported_email.text.haml
@@ -3,4 +3,4 @@
 = "The errors we encountered were:"
 
 - @errors.each do |error|
-  #{error}
\ No newline at end of file
+  #{error}
diff --git a/app/views/notify/repository_push_email.html.haml b/app/views/notify/repository_push_email.html.haml
index 25883de257c0ac9da0537b7a7cffdd72156fa572..36858fa6f346c44ae8e5bb4638c6ce9f8ad350c4 100644
--- a/app/views/notify/repository_push_email.html.haml
+++ b/app/views/notify/repository_push_email.html.haml
@@ -29,7 +29,7 @@
   %ul
     - @message.diffs.each do |diff|
       %li.file-stats
-        %a{href: "#{@message.target_url if @message.disable_diffs?}##{hexdigest(diff.file_path)}" }
+        %a{ href: "#{@message.target_url if @message.disable_diffs?}##{hexdigest(diff.file_path)}" }
           - if diff.deleted_file
             %span.deleted-file
               &minus;
@@ -54,8 +54,8 @@
       %h4 Changes:
       - diff_files.each do |diff_file|
         - file_hash = hexdigest(diff_file.file_path)
-        %li{id: file_hash}
-          %a{href: @message.target_url + "##{file_hash}"}<
+        %li{ id: file_hash }
+          %a{ href: @message.target_url + "##{file_hash}" }<
             - if diff_file.deleted_file
               %strong<
                 = diff_file.old_path
diff --git a/app/views/profiles/chat_names/new.html.haml b/app/views/profiles/chat_names/new.html.haml
index f635acf96e206e956b0cc1e1848c9cadee7715ae..5bf22aa94f1105ccf87360cca16ad7891c35afaf 100644
--- a/app/views/profiles/chat_names/new.html.haml
+++ b/app/views/profiles/chat_names/new.html.haml
@@ -1,5 +1,5 @@
 %h3.page-title Authorization required
-%main{:role => "main"}
+%main{ :role => "main" }
   %p.h4
     Authorize
     %strong.text-info= @chat_name_params[:chat_name]
diff --git a/app/views/profiles/keys/index.html.haml b/app/views/profiles/keys/index.html.haml
index 931878735014e0e341c9f8448c641d5accd60cd8..71b224a413b0231559bcd63fefb53323493b2993 100644
--- a/app/views/profiles/keys/index.html.haml
+++ b/app/views/profiles/keys/index.html.haml
@@ -17,5 +17,5 @@
     %hr
     %h5
       Your SSH keys (#{@keys.count})
-    %div.append-bottom-default
+    .append-bottom-default
       = render 'key_table'
diff --git a/app/views/profiles/notifications/show.html.haml b/app/views/profiles/notifications/show.html.haml
index d79a1a9f3682db4462eccbcb826da607165b96c0..5c5e59403658c039de2aa881d5be7e13f9cbefc3 100644
--- a/app/views/profiles/notifications/show.html.haml
+++ b/app/views/profiles/notifications/show.html.haml
@@ -3,7 +3,7 @@
 
 %div
   - if @user.errors.any?
-    %div.alert.alert-danger
+    .alert.alert-danger
       %ul
         - @user.errors.full_messages.each do |msg|
           %li= msg
diff --git a/app/views/profiles/preferences/show.html.haml b/app/views/profiles/preferences/show.html.haml
index 2afa026847a8a45a54bbc40c35d78f49da6c8ec7..feadd863b00dd4f03e9796f2c4c3cf32e995c153 100644
--- a/app/views/profiles/preferences/show.html.haml
+++ b/app/views/profiles/preferences/show.html.haml
@@ -1,7 +1,7 @@
 - page_title 'Preferences'
 = render 'profiles/head'
 
-= form_for @user, url: profile_preferences_path, remote: true, method: :put, html: {class: 'row prepend-top-default js-preferences-form'} do |f|
+= form_for @user, url: profile_preferences_path, remote: true, method: :put, html: { class: 'row prepend-top-default js-preferences-form' } do |f|
   .col-lg-3.profile-settings-sidebar
     %h4.prepend-top-0
       Application theme
@@ -10,7 +10,7 @@
   .col-lg-9.application-theme
     - Gitlab::Themes.each do |theme|
       = label_tag do
-        .preview{class: theme.css_class}
+        .preview{ class: theme.css_class }
         = f.radio_button :theme_id, theme.id
         = theme.name
   .col-sm-12
diff --git a/app/views/profiles/show.html.haml b/app/views/profiles/show.html.haml
index 578af9fe98dd6c29db50201338dc34159a52f540..2385a90401ef090a2002e071c6a72403b3abe451 100644
--- a/app/views/profiles/show.html.haml
+++ b/app/views/profiles/show.html.haml
@@ -30,7 +30,7 @@
         The maximum file size allowed is 200KB.
       - if @user.avatar?
         %hr
-        = link_to 'Remove avatar', profile_avatar_path, data: { confirm: "Avatar will be removed. Are you sure?"}, method: :delete, class: "btn btn-gray"
+        = link_to 'Remove avatar', profile_avatar_path, data: { confirm: "Avatar will be removed. Are you sure?" }, method: :delete, class: "btn btn-gray"
   %hr
   .row
     .col-lg-3.profile-settings-sidebar
@@ -69,7 +69,7 @@
             %span.help-block We also use email for avatar detection if no avatar is uploaded.
       .form-group
         = f.label :public_email, class: "label-light"
-        = f.select :public_email, options_for_select(@user.all_emails, selected: @user.public_email), {include_blank: 'Do not show on profile'}, class: "select2"
+        = f.select :public_email, options_for_select(@user.all_emails, selected: @user.public_email), { include_blank: 'Do not show on profile' }, class: "select2"
         %span.help-block This email will be displayed on your public profile.
       .form-group
         = f.label :skype, class: "label-light"
@@ -101,14 +101,14 @@
   .modal-dialog
     .modal-content
       .modal-header
-        %button.close{:type => "button", :'data-dismiss' => "modal"}
+        %button.close{ :type => "button", :'data-dismiss' => "modal" }
           %span
             &times;
         %h4.modal-title
           Position and size your new avatar
       .modal-body
         .profile-crop-image-container
-          %img.modal-profile-crop-image
+          %img.modal-profile-crop-image{ alt: "Avatar cropper" }
         .crop-controls
           .btn-group
             %button.btn.btn-primary{ data: { method: "zoom", option: "0.1" } }
@@ -116,5 +116,5 @@
             %button.btn.btn-primary{ data: { method: "zoom", option: "-0.1" } }
               %span.fa.fa-search-minus
       .modal-footer
-        %button.btn.btn-primary.js-upload-user-avatar{:type => "button"}
+        %button.btn.btn-primary.js-upload-user-avatar{ :type => "button" }
           Set new profile picture
diff --git a/app/views/projects/_activity.html.haml b/app/views/projects/_activity.html.haml
index 4f15f2997fbb5be0e98794d94cfdd250036d454d..0ea733cb97852a20d107bc49c7e25a2b9fc95d25 100644
--- a/app/views/projects/_activity.html.haml
+++ b/app/views/projects/_activity.html.haml
@@ -9,7 +9,7 @@
 
     = render 'shared/event_filter'
 
-  .content_list.project-activity{:"data-href" => activity_project_path(@project)}
+  .content_list.project-activity{ :"data-href" => activity_project_path(@project) }
   = spinner
 
 :javascript
diff --git a/app/views/projects/_bitbucket_import_modal.html.haml b/app/views/projects/_bitbucket_import_modal.html.haml
index e74fd5b93eaae8f289c2c3dd2ddb5f817b8112a5..c24a496486ce3423c3262712d56984f538782d1e 100644
--- a/app/views/projects/_bitbucket_import_modal.html.haml
+++ b/app/views/projects/_bitbucket_import_modal.html.haml
@@ -1,8 +1,8 @@
-%div#bitbucket_import_modal.modal
+#bitbucket_import_modal.modal
   .modal-dialog
     .modal-content
       .modal-header
-        %a.close{href: "#", "data-dismiss" => "modal"} ×
+        %a.close{ href: "#", "data-dismiss" => "modal" } ×
         %h3 Import projects from Bitbucket
       .modal-body
         To enable importing projects from Bitbucket,
@@ -10,4 +10,4 @@
           as administrator you need to configure
         - else
           ask your GitLab administrator to configure
-        == #{link_to 'OAuth integration', help_page_path("integration/bitbucket")}.
+        = link_to 'OAuth integration', help_page_path("integration/bitbucket")
diff --git a/app/views/projects/_customize_workflow.html.haml b/app/views/projects/_customize_workflow.html.haml
index d2c1e943db11911cadf1b525e8971e652b4e5273..e2b73cee5a91f84d839d03c4c7bd4f1a44ca7593 100644
--- a/app/views/projects/_customize_workflow.html.haml
+++ b/app/views/projects/_customize_workflow.html.haml
@@ -1,5 +1,5 @@
 .row-content-block.project-home-empty
-  %div.text-center{ class: container_class }
+  .text-center{ class: container_class }
     %h4
       Customize your workflow!
     %p
diff --git a/app/views/projects/_find_file_link.html.haml b/app/views/projects/_find_file_link.html.haml
index 08e2fc48be71bec9a8e26da18aefb5cdcc8a1084..dbb3309067032cc4d68a9ac23d4784c276d6ef13 100644
--- a/app/views/projects/_find_file_link.html.haml
+++ b/app/views/projects/_find_file_link.html.haml
@@ -1,3 +1,3 @@
-= link_to namespace_project_find_file_path(@project.namespace, @project, @ref), class: 'btn btn-grouped shortcuts-find-file', rel: 'nofollow' do
-  = icon('search')
-  %span Find File
+= link_to namespace_project_find_file_path(@project.namespace, @project, @ref), class: 'btn btn-grouped shortcuts-find-file', rel: 'nofollow' do
+  = icon('search')
+  %span Find File
diff --git a/app/views/projects/_gitlab_import_modal.html.haml b/app/views/projects/_gitlab_import_modal.html.haml
index e9f39b16aa7b1e0eb346b47e69285182ebe26068..00aef66e1f891a3ee3617d9ea6b8e7784a09d6f3 100644
--- a/app/views/projects/_gitlab_import_modal.html.haml
+++ b/app/views/projects/_gitlab_import_modal.html.haml
@@ -1,8 +1,8 @@
-%div#gitlab_import_modal.modal
+#gitlab_import_modal.modal
   .modal-dialog
     .modal-content
       .modal-header
-        %a.close{href: "#", "data-dismiss" => "modal"} ×
+        %a.close{ href: "#", "data-dismiss" => "modal" } ×
         %h3 Import projects from GitLab.com
       .modal-body
         To enable importing projects from GitLab.com,
@@ -10,4 +10,4 @@
           as administrator you need to configure
         - else
           ask your GitLab administrator to configure
-        == #{link_to 'OAuth integration', help_page_path("integration/gitlab")}.
+        = link_to 'OAuth integration', help_page_path("integration/gitlab")
diff --git a/app/views/projects/_home_panel.html.haml b/app/views/projects/_home_panel.html.haml
index 0d1f2b70018a685bfd7bafae8478d1a484a13337..1b9d87e9969fd402b84c0debc0e58f9f83ded230 100644
--- a/app/views/projects/_home_panel.html.haml
+++ b/app/views/projects/_home_panel.html.haml
@@ -5,7 +5,7 @@
       = project_icon(@project, alt: @project.name, class: 'avatar s70 avatar-tile')
     %h1.project-title
       = @project.name
-      %span.visibility-icon.has-tooltip{data: { container: 'body' }, title: visibility_icon_description(@project)}
+      %span.visibility-icon.has-tooltip{ data: { container: 'body' }, title: visibility_icon_description(@project) }
         = visibility_level_icon(@project.visibility_level, fw: false)
 
     .project-home-desc
diff --git a/app/views/projects/_md_preview.html.haml b/app/views/projects/_md_preview.html.haml
index 58d961d93ca0b79af8b4136b73a2820ca35e41a3..085f79de7850f4101b45b8289847c6f4f1ec02de 100644
--- a/app/views/projects/_md_preview.html.haml
+++ b/app/views/projects/_md_preview.html.haml
@@ -15,23 +15,23 @@
 
       %li.pull-right
         .toolbar-group
-          = markdown_toolbar_button({icon: "bold fw", data: { "md-tag" => "**" }, title: "Add bold text" })
-          = markdown_toolbar_button({icon: "italic fw", data: { "md-tag" => "*" }, title: "Add italic text" })
-          = markdown_toolbar_button({icon: "quote-right fw", data: { "md-tag" => "> ", "md-prepend" => true }, title: "Insert a quote" })
-          = markdown_toolbar_button({icon: "code fw", data: { "md-tag" => "`", "md-block" => "```" }, title: "Insert code" })
-          = markdown_toolbar_button({icon: "list-ul fw", data: { "md-tag" => "* ", "md-prepend" => true }, title: "Add a bullet list" })
-          = markdown_toolbar_button({icon: "list-ol fw", data: { "md-tag" => "1. ", "md-prepend" => true }, title: "Add a numbered list" })
-          = markdown_toolbar_button({icon: "check-square-o fw", data: { "md-tag" => "* [ ] ", "md-prepend" => true }, title: "Add a task list" })
+          = markdown_toolbar_button({ icon: "bold fw", data: { "md-tag" => "**" }, title: "Add bold text" })
+          = markdown_toolbar_button({ icon: "italic fw", data: { "md-tag" => "*" }, title: "Add italic text" })
+          = markdown_toolbar_button({ icon: "quote-right fw", data: { "md-tag" => "> ", "md-prepend" => true }, title: "Insert a quote" })
+          = markdown_toolbar_button({ icon: "code fw", data: { "md-tag" => "`", "md-block" => "```" }, title: "Insert code" })
+          = markdown_toolbar_button({ icon: "list-ul fw", data: { "md-tag" => "* ", "md-prepend" => true }, title: "Add a bullet list" })
+          = markdown_toolbar_button({ icon: "list-ol fw", data: { "md-tag" => "1. ", "md-prepend" => true }, title: "Add a numbered list" })
+          = markdown_toolbar_button({ icon: "check-square-o fw", data: { "md-tag" => "* [ ] ", "md-prepend" => true }, title: "Add a task list" })
         .toolbar-group
           %button.toolbar-btn.js-zen-enter.has-tooltip.hidden-xs{ type: "button", tabindex: -1, aria: { label: "Go full screen" }, title: "Go full screen", data: { container: "body" } }
-            =icon("arrows-alt fw")
+            = icon("arrows-alt fw")
 
   .md-write-holder
     = yield
-  .md.md-preview-holder.js-md-preview.hide{class: (preview_class if defined?(preview_class))}
+  .md.md-preview-holder.js-md-preview.hide{ class: (preview_class if defined?(preview_class)) }
 
   - if defined?(referenced_users) && referenced_users
-    %div.referenced-users.hide
+    .referenced-users.hide
       %span
         = icon("exclamation-triangle")
         You are about to add
diff --git a/app/views/projects/_wiki.html.haml b/app/views/projects/_wiki.html.haml
index f00422dd7c08846400f874156de7bc9c5765045b..41d42740f61a5f9fa5463187b871dfacc630d448 100644
--- a/app/views/projects/_wiki.html.haml
+++ b/app/views/projects/_wiki.html.haml
@@ -7,7 +7,7 @@
 - else
   - can_create_wiki = can?(current_user, :create_wiki, @project)
   .project-home-empty{ class: [('row-content-block' if can_create_wiki), ('content-block' unless can_create_wiki)] }
-    %div.text-center{ class: container_class }
+    .text-center{ class: container_class }
       %h4
         This project does not have a wiki homepage yet
       - if can_create_wiki
diff --git a/app/views/projects/artifacts/_tree_directory.html.haml b/app/views/projects/artifacts/_tree_directory.html.haml
index def493c56f5148000522770ece1ced9dcf76368f..9e49c93388a55929ab40164e6e9986f9f94139b9 100644
--- a/app/views/projects/artifacts/_tree_directory.html.haml
+++ b/app/views/projects/artifacts/_tree_directory.html.haml
@@ -1,6 +1,6 @@
 - path_to_directory = browse_namespace_project_build_artifacts_path(@project.namespace, @project, @build, path: directory.path)
 
-%tr.tree-item{ 'data-link' => path_to_directory}
+%tr.tree-item{ 'data-link' => path_to_directory }
   %td.tree-item-file-name
     = tree_icon('folder', '755', directory.name)
     %span.str-truncated
diff --git a/app/views/projects/artifacts/browse.html.haml b/app/views/projects/artifacts/browse.html.haml
index ede01dcc1aa1843e83008c49928fecd77e55ca2f..d0ff14e45e68b279426639f32cd765d91e07ede9 100644
--- a/app/views/projects/artifacts/browse.html.haml
+++ b/app/views/projects/artifacts/browse.html.haml
@@ -8,7 +8,7 @@
       Download artifacts archive
 
 .tree-holder
-  %div.tree-content-holder
+  .tree-content-holder
     %table.table.tree-table
       %thead
         %tr
diff --git a/app/views/projects/blame/show.html.haml b/app/views/projects/blame/show.html.haml
index f63802ac88b023b2c587412e23199eec385d081d..23f54553014e5be5af47bd40d54cf70cb311f51c 100644
--- a/app/views/projects/blame/show.html.haml
+++ b/app/views/projects/blame/show.html.haml
@@ -36,7 +36,7 @@
               %td.line-numbers
                 - line_count = blame_group[:lines].count
                 - (current_line...(current_line + line_count)).each do |i|
-                  %a.diff-line-num{href: "#L#{i}", id: "L#{i}", 'data-line-number' => i}
+                  %a.diff-line-num{ href: "#L#{i}", id: "L#{i}", 'data-line-number' => i }
                     = icon("link")
                     = i
                   \
diff --git a/app/views/projects/blob/_blob.html.haml b/app/views/projects/blob/_blob.html.haml
index 149ee7c59d6a4b3625408c3d9111d8c173b84f15..350bdf5f836ab58bff7ae1c4cdd8a2543c170eb2 100644
--- a/app/views/projects/blob/_blob.html.haml
+++ b/app/views/projects/blob/_blob.html.haml
@@ -22,7 +22,7 @@
   - blob_commit = @repository.last_commit_for_path(@commit.id, blob.path)
   = render blob_commit, project: @project, ref: @ref
 
-%div#blob-content-holder.blob-content-holder
+#blob-content-holder.blob-content-holder
   %article.file-holder
     .file-title
       = blob_icon blob.mode, blob.name
diff --git a/app/views/projects/blob/_image.html.haml b/app/views/projects/blob/_image.html.haml
index 4c356d1f07f26be1093662ce622b45f6505bdb19..a486b2fe4913025dbf5744a50cb3525e71a6ce23 100644
--- a/app/views/projects/blob/_image.html.haml
+++ b/app/views/projects/blob/_image.html.haml
@@ -5,11 +5,11 @@
       - # be wrong/strange if RawController modified the data.
       - blob.load_all_data!(@repository)
       - blob = sanitize_svg(blob)
-      %img{src: "data:#{blob.mime_type};base64,#{Base64.encode64(blob.data)}"}
+      %img{ src: "data:#{blob.mime_type};base64,#{Base64.encode64(blob.data)}", alt: "#{blob.name}" }
     - else
       .nothing-here-block
         The SVG could not be displayed as it is too large, you can
         #{link_to('view the raw file', namespace_project_raw_path(@project.namespace, @project, @id), target: '_blank')}
         instead.
   - else
-    %img{src: namespace_project_raw_path(@project.namespace, @project, tree_join(@commit.id, blob.path))}
+    %img{ src: namespace_project_raw_path(@project.namespace, @project, tree_join(@commit.id, blob.path)), alt: "#{blob.name}" }
diff --git a/app/views/projects/blob/_new_dir.html.haml b/app/views/projects/blob/_new_dir.html.haml
index 84694203d7d4ca8f013fee573896338193cc324f..7f470b890ba2c1464c6a125859ccbcd40bc8d4ca 100644
--- a/app/views/projects/blob/_new_dir.html.haml
+++ b/app/views/projects/blob/_new_dir.html.haml
@@ -2,7 +2,7 @@
   .modal-dialog
     .modal-content
       .modal-header
-        %a.close{href: "#", "data-dismiss" => "modal"} ×
+        %a.close{ href: "#", "data-dismiss" => "modal" } ×
         %h3.page-title Create New Directory
       .modal-body
         = form_tag namespace_project_create_dir_path(@project.namespace, @project, @id), method: :post, remote: false, class: 'form-horizontal js-create-dir-form js-quick-submit js-requires-input' do
diff --git a/app/views/projects/blob/_remove.html.haml b/app/views/projects/blob/_remove.html.haml
index 2e1f32fd15e12b6abe3a003b890432c2d98755ea..db6662a95acb953f849467aa5cadde5f9043bcfc 100644
--- a/app/views/projects/blob/_remove.html.haml
+++ b/app/views/projects/blob/_remove.html.haml
@@ -2,7 +2,7 @@
   .modal-dialog
     .modal-content
       .modal-header
-        %a.close{href: "#", "data-dismiss" => "modal"} ×
+        %a.close{ href: "#", "data-dismiss" => "modal" } ×
         %h3.page-title Delete #{@blob.name}
 
       .modal-body
diff --git a/app/views/projects/blob/_upload.html.haml b/app/views/projects/blob/_upload.html.haml
index 57a27ec904e4148b9e8159088340990af9ae7e35..61a7ffdd0abb08c20c0e4b4e48abd92888a37a07 100644
--- a/app/views/projects/blob/_upload.html.haml
+++ b/app/views/projects/blob/_upload.html.haml
@@ -2,7 +2,7 @@
   .modal-dialog
     .modal-content
       .modal-header
-        %a.close{href: "#", "data-dismiss" => "modal"} ×
+        %a.close{ href: "#", "data-dismiss" => "modal" } ×
         %h3.page-title #{title}
       .modal-body
         = form_tag form_path, method: method, class: 'js-quick-submit js-upload-blob-form form-horizontal' do
@@ -12,7 +12,7 @@
                 Attach a file by drag &amp; drop or
                 = link_to 'click to upload', '#', class: "markdown-selector"
           %br
-          .dropzone-alerts{class: "alert alert-danger data", style: "display:none"}
+          .dropzone-alerts.alert.alert-danger.data{ style: "display:none" }
 
           = render 'shared/new_commit_form', placeholder: placeholder
 
diff --git a/app/views/projects/blob/diff.html.haml b/app/views/projects/blob/diff.html.haml
index a79ae53c7803e1a39e65a0657298bf49d5b38dfb..538f8591f134d098c91b06569d71efe30adfe1fc 100644
--- a/app/views/projects/blob/diff.html.haml
+++ b/app/views/projects/blob/diff.html.haml
@@ -13,15 +13,15 @@
       - case diff_view
       - when :inline
         %td.old_line.diff-line-num{ data: { linenumber: line_old } }
-          %a{href: "##{line_old}", data: { linenumber: line_old }}
+          %a{ href: "##{line_old}", data: { linenumber: line_old } }
         %td.new_line.diff-line-num{ data: { linenumber: line_new } }
-          %a{href: "##{line_new}", data: { linenumber: line_new }}
+          %a{ href: "##{line_new}", data: { linenumber: line_new } }
         = line_content
       - when :parallel
-        %td.old_line.diff-line-num{data: { linenumber: line_old }}
+        %td.old_line.diff-line-num{ data: { linenumber: line_old } }
           = link_to raw(line_old), "##{line_old}"
         = line_content
-        %td.new_line.diff-line-num{data: { linenumber: line_new }}
+        %td.new_line.diff-line-num{ data: { linenumber: line_new } }
           = link_to raw(line_new), "##{line_new}"
         = line_content
 
diff --git a/app/views/projects/blob/preview.html.haml b/app/views/projects/blob/preview.html.haml
index 541dc96c45f949ac167be508f98f65c2a6d49f06..5cafb644b406e956b1f2fb4a026e0aded477350d 100644
--- a/app/views/projects/blob/preview.html.haml
+++ b/app/views/projects/blob/preview.html.haml
@@ -20,6 +20,6 @@
                 - else
                   %td.old_line.diff-line-num
                   %td.new_line.diff-line-num
-                  %td.line_content{class: "#{line.type}"}= diff_line_content(line.text)
+                  %td.line_content{ class: "#{line.type}" }= diff_line_content(line.text)
         - else
           .nothing-here-block No changes.
diff --git a/app/views/projects/blob/show.html.haml b/app/views/projects/blob/show.html.haml
index 0ab78a39cf9a98f85370a7d71b53fde427fe4dbb..b6738c3380f791ec826dc94bf6d044d8eee5afd5 100644
--- a/app/views/projects/blob/show.html.haml
+++ b/app/views/projects/blob/show.html.haml
@@ -5,7 +5,7 @@
 %div{ class: container_class }
   = render 'projects/last_push'
 
-  %div#tree-holder.tree-holder
+  #tree-holder.tree-holder
     = render 'blob', blob: @blob
 
   - if can_edit_blob?(@blob)
diff --git a/app/views/projects/boards/components/_card.html.haml b/app/views/projects/boards/components/_card.html.haml
index 1f31496e73fd7bba9bccbea3583c04b8bcac3870..e4c2aff46ecb34ee72f10713fd99069057ff6a2b 100644
--- a/app/views/projects/boards/components/_card.html.haml
+++ b/app/views/projects/boards/components/_card.html.haml
@@ -17,7 +17,7 @@
       ":title" => '"Assigned to " + issue.assignee.name',
       "v-if" => "issue.assignee",
       data: { container: 'body' } }
-      %img.avatar.avatar-inline.s20{ ":src" => "issue.assignee.avatar", width: 20, height: 20 }
+      %img.avatar.avatar-inline.s20{ ":src" => "issue.assignee.avatar", width: 20, height: 20, alt: "Avatar" }
     %button.label.color-label.has-tooltip{ "v-for" => "label in issue.labels",
       type: "button",
       "v-if" => "(!list.label || label.id !== list.label.id)",
diff --git a/app/views/projects/boards/components/sidebar/_assignee.html.haml b/app/views/projects/boards/components/sidebar/_assignee.html.haml
index 8fe1b832071e04ab3d4150bd415f7962b71a3b66..e75ce305440c19776b8ecd2db676294308e14d4f 100644
--- a/app/views/projects/boards/components/sidebar/_assignee.html.haml
+++ b/app/views/projects/boards/components/sidebar/_assignee.html.haml
@@ -14,7 +14,7 @@
     %a.author_link.bold{ ":href" => "'#{root_url}' + issue.assignee.username",
       "v-if" => "issue.assignee" }
       %img.avatar.avatar-inline.s32{ ":src" => "issue.assignee.avatar",
-        width: "32" }
+        width: "32", alt: "Avatar" }
       %span.author
         {{ issue.assignee.name }}
       %span.username
diff --git a/app/views/projects/branches/_branch.html.haml b/app/views/projects/branches/_branch.html.haml
index 9135cee8364e9c2f40e79f200ee6b426f8a7c6f9..2eb49685f08cc050e454a9d3ba72ade65a0964f2 100644
--- a/app/views/projects/branches/_branch.html.haml
+++ b/app/views/projects/branches/_branch.html.haml
@@ -4,7 +4,7 @@
 - number_commits_behind = diverging_commit_counts[:behind]
 - number_commits_ahead = diverging_commit_counts[:ahead]
 - merge_project = can?(current_user, :create_merge_request, @project) ? @project : (current_user && current_user.fork_of(@project))
-%li(class="js-branch-#{branch.name}")
+%li{ class: "js-branch-#{branch.name}" }
   %div
     = link_to namespace_project_tree_path(@project.namespace, @project, branch.name), class: 'item-title str-truncated' do
       = branch.name
@@ -12,7 +12,7 @@
     - if branch.name == @repository.root_ref
       %span.label.label-primary default
     - elsif @repository.merged_to_root_ref? branch.name
-      %span.label.label-info.has-tooltip(title="Merged into #{@repository.root_ref}")
+      %span.label.label-info.has-tooltip{ title: "Merged into #{@repository.root_ref}" }
         merged
 
     - if @project.protected_branch? branch.name
diff --git a/app/views/projects/branches/index.html.haml b/app/views/projects/branches/index.html.haml
index c2a5e725efcddb2088abc3121c3db9be822114b2..ecd812312c01a38c084c39869c3b38e880abefe5 100644
--- a/app/views/projects/branches/index.html.haml
+++ b/app/views/projects/branches/index.html.haml
@@ -12,7 +12,7 @@
         = search_field_tag :search, params[:search], { placeholder: 'Filter by branch name', id: 'branch-search', class: 'form-control search-text-input input-short', spellcheck: false }
 
       .dropdown.inline
-        %button.dropdown-menu-toggle{type: 'button', 'data-toggle' => 'dropdown'}
+        %button.dropdown-menu-toggle{ type: 'button', 'data-toggle' => 'dropdown' }
           %span.light
             = projects_sort_options_hash[@sort]
           = icon('chevron-down')
diff --git a/app/views/projects/branches/new.html.haml b/app/views/projects/branches/new.html.haml
index 5a6c8c243fa77a36134a46eb145cebe9c60e37d0..e63bdb38bd873998d5880390ce004a5b87f1ca3d 100644
--- a/app/views/projects/branches/new.html.haml
+++ b/app/views/projects/branches/new.html.haml
@@ -2,7 +2,7 @@
 
 - if @error
   .alert.alert-danger
-    %button{ type: "button", class: "close", "data-dismiss" => "alert"} &times;
+    %button.close{ type: "button", "data-dismiss" => "alert" } &times;
     = @error
 %h3.page-title
   New Branch
diff --git a/app/views/projects/builds/_sidebar.html.haml b/app/views/projects/builds/_sidebar.html.haml
index ce8b66b194518a32aebf7df48f163835c5228fcd..0b3adcbe1213541fb7ffdabe5688fa2ec889eed3 100644
--- a/app/views/projects/builds/_sidebar.html.haml
+++ b/app/views/projects/builds/_sidebar.html.haml
@@ -114,7 +114,7 @@
     - if @build.pipeline.stages_count > 1
       .dropdown.build-dropdown
         .title Stage
-        %button.dropdown-menu-toggle{type: 'button', 'data-toggle' => 'dropdown'}
+        %button.dropdown-menu-toggle{ type: 'button', 'data-toggle' => 'dropdown' }
           %span.stage-selection More
           = icon('chevron-down')
         %ul.dropdown-menu
@@ -125,10 +125,10 @@
   .builds-container
     - HasStatus::ORDERED_STATUSES.each do |build_status|
       - builds.select{|build| build.status == build_status}.each do |build|
-        .build-job{class: sidebar_build_class(build, @build), data: {stage: build.stage}}
+        .build-job{ class: sidebar_build_class(build, @build), data: { stage: build.stage } }
           = link_to namespace_project_build_path(@project.namespace, @project, build) do
             = icon('arrow-right')
-            %span{class: "ci-status-icon-#{build.status}"}
+            %span{ class: "ci-status-icon-#{build.status}" }
               = ci_icon_for_status(build.status)
             %span
               - if build.name
@@ -136,4 +136,4 @@
               - else
                 = build.id
             - if build.retried?
-              %i.fa.fa-refresh.has-tooltip{data: { container: 'body', placement: 'bottom' }, title: 'Build was retried'}
+              %i.fa.fa-refresh.has-tooltip{ data: { container: 'body', placement: 'bottom' }, title: 'Build was retried' }
diff --git a/app/views/projects/builds/index.html.haml b/app/views/projects/builds/index.html.haml
index 06070f12bbd13dd76dae17d3cc96eea8ff7937f5..c623e39b21f7feb8138b826c2379694d7ea4cd8e 100644
--- a/app/views/projects/builds/index.html.haml
+++ b/app/views/projects/builds/index.html.haml
@@ -19,5 +19,5 @@
         = link_to ci_lint_path, class: 'btn btn-default' do
           %span CI Lint
 
-  %div.content-list.builds-content-list
+  .content-list.builds-content-list
     = render "table", builds: @builds, project: @project
diff --git a/app/views/projects/builds/show.html.haml b/app/views/projects/builds/show.html.haml
index c69c53b656fb077b1cdf88c87c214a8c0173e59b..54724ef5cabd2d843644320ccc5a1d885aca137d 100644
--- a/app/views/projects/builds/show.html.haml
+++ b/app/views/projects/builds/show.html.haml
@@ -56,10 +56,10 @@
       - else
         #js-build-scroll.scroll-controls
           .scroll-step
-            %a{ href: '#up-build-trace', id: 'scroll-top', class: 'scroll-link scroll-top', title: 'Scroll to top' }
+            %a.scroll-link.scroll-top{ href: '#up-build-trace', id: 'scroll-top', title: 'Scroll to top' }
               = custom_icon('scroll_up')
               = custom_icon('scroll_up_hover_active')
-            %a{ href: '#down-build-trace', id: 'scroll-bottom', class: 'scroll-link scroll-bottom', title: 'Scroll to bottom' }
+            %a.scroll-link.scroll-bottom{ href: '#down-build-trace', id: 'scroll-bottom', title: 'Scroll to bottom' }
               = custom_icon('scroll_down')
               = custom_icon('scroll_down_hover_active')
           - if @build.active?
diff --git a/app/views/projects/buttons/_dropdown.html.haml b/app/views/projects/buttons/_dropdown.html.haml
index f5659be25f076f62b84f7db5caa6406ea68db21e..67de8699b2eae402b2d5192a791e734007b54b0b 100644
--- a/app/views/projects/buttons/_dropdown.html.haml
+++ b/app/views/projects/buttons/_dropdown.html.haml
@@ -1,6 +1,6 @@
 - if current_user
   .project-action-button.dropdown.inline
-    %a.btn.dropdown-toggle{href: '#', "data-toggle" => "dropdown"}
+    %a.btn.dropdown-toggle{ href: '#', "data-toggle" => "dropdown" }
       = icon('plus')
       = icon("caret-down")
     %ul.dropdown-menu.dropdown-menu-align-right.project-home-dropdown
diff --git a/app/views/projects/buttons/_fork.html.haml b/app/views/projects/buttons/_fork.html.haml
index 27da86b9efe614dc81e70b0b9a82c932a05ee092..851fe44a86d19a3c7b7dbc02a853a549f986d329 100644
--- a/app/views/projects/buttons/_fork.html.haml
+++ b/app/views/projects/buttons/_fork.html.haml
@@ -8,7 +8,7 @@
       = link_to new_namespace_project_fork_path(@project.namespace, @project), title: 'Fork project', class: 'btn' do
         = custom_icon('icon_fork')
         %span Fork
-    %div.count-with-arrow
+    .count-with-arrow
       %span.arrow
       = link_to namespace_project_forks_path(@project.namespace, @project), title: 'Forks', class: 'count' do
         = @project.forks_count
diff --git a/app/views/projects/buttons/_star.html.haml b/app/views/projects/buttons/_star.html.haml
index 12d351017705883037bd44298d53a7e3db6b722a..d57eb2cbfbc64e4ad9336318dfa4302f39d8edd2 100644
--- a/app/views/projects/buttons/_star.html.haml
+++ b/app/views/projects/buttons/_star.html.haml
@@ -6,7 +6,7 @@
     - else
       = icon('star-o')
       %span Star
-  %div.count-with-arrow
+  .count-with-arrow
     %span.arrow
     %span.count.star-count
       = @project.star_count
@@ -15,7 +15,7 @@
   = link_to new_user_session_path, class: 'btn has-tooltip star-btn', title: 'You must sign in to star a project' do
     = icon('star')
     Star
-  %div.count-with-arrow
+  .count-with-arrow
     %span.arrow
     %span.count
       = @project.star_count
diff --git a/app/views/projects/ci/builds/_build.html.haml b/app/views/projects/ci/builds/_build.html.haml
index f1cb020103224557f38af0a57a4f69904a8295b2..520113639b7e20e2c1aaee3f9d362fd12e380385 100644
--- a/app/views/projects/ci/builds/_build.html.haml
+++ b/app/views/projects/ci/builds/_build.html.haml
@@ -7,7 +7,7 @@
 - coverage = local_assigns.fetch(:coverage, false)
 - allow_retry = local_assigns.fetch(:allow_retry, false)
 
-%tr.build.commit{class: ('retried' if retried)}
+%tr.build.commit{ class: ('retried' if retried) }
   %td.status
     = render "ci/status/badge", status: build.detailed_status(current_user)
 
diff --git a/app/views/projects/ci/pipelines/_pipeline.html.haml b/app/views/projects/ci/pipelines/_pipeline.html.haml
index 2f8f153f9a9f7441598667f8390d5e7d32cccc83..e67492a36d10d56edcf421d218f79454c06f3176 100644
--- a/app/views/projects/ci/pipelines/_pipeline.html.haml
+++ b/app/views/projects/ci/pipelines/_pipeline.html.haml
@@ -49,7 +49,7 @@
 
         .stage-container.mini-pipeline-graph
           .dropdown.inline.build-content
-            %button.has-tooltip.builds-dropdown.js-builds-dropdown-button{ type: 'button', data: { toggle: 'dropdown', title: "#{stage.name}: #{detailed_status.label}", placement: 'top', "stage-endpoint" => stage_namespace_project_pipeline_path(pipeline.project.namespace, pipeline.project, pipeline, stage: stage.name)}}
+            %button.has-tooltip.builds-dropdown.js-builds-dropdown-button{ type: 'button', data: { toggle: 'dropdown', title: "#{stage.name}: #{detailed_status.label}", placement: 'top', "stage-endpoint" => stage_namespace_project_pipeline_path(pipeline.project.namespace, pipeline.project, pipeline, stage: stage.name) } }
               %span.has-tooltip{ class: status_klass }
                 %span.mini-pipeline-graph-icon-container
                   %span{ class: status_klass }= custom_icon(icon_status)
@@ -81,7 +81,7 @@
         .btn-group.inline
           - if actions.any?
             .btn-group
-              %a.dropdown-toggle.btn.btn-default.js-pipeline-dropdown-manual-actions{type: 'button', 'data-toggle' => 'dropdown'}
+              %a.dropdown-toggle.btn.btn-default.js-pipeline-dropdown-manual-actions{ type: 'button', 'data-toggle' => 'dropdown' }
                 = custom_icon('icon_play')
                 = icon('caret-down')
               %ul.dropdown-menu.dropdown-menu-align-right
@@ -92,7 +92,7 @@
                       %span= build.name.humanize
           - if artifacts.present?
             .btn-group
-              %a.dropdown-toggle.btn.btn-default.build-artifacts.js-pipeline-dropdown-download{type: 'button', 'data-toggle' => 'dropdown'}
+              %a.dropdown-toggle.btn.btn-default.build-artifacts.js-pipeline-dropdown-download{ type: 'button', 'data-toggle' => 'dropdown' }
                 = icon("download")
                 = icon('caret-down')
               %ul.dropdown-menu.dropdown-menu-align-right
diff --git a/app/views/projects/commit/_change.html.haml b/app/views/projects/commit/_change.html.haml
index 782f558e8b081c59fd6b43787d6c63f54a92d026..12e4280d344221776077c20bc31846dbc83816f7 100644
--- a/app/views/projects/commit/_change.html.haml
+++ b/app/views/projects/commit/_change.html.haml
@@ -6,11 +6,11 @@
   - label = 'Cherry-pick'
   - target_label = 'Pick into branch'
 
-.modal{id: "modal-#{type}-commit"}
+.modal{ id: "modal-#{type}-commit" }
   .modal-dialog
     .modal-content
       .modal-header
-        %a.close{href: "#", "data-dismiss" => "modal"} ×
+        %a.close{ href: "#", "data-dismiss" => "modal" } ×
         %h3.page-title== #{label} this #{commit.change_type_title(current_user)}
       .modal-body
         = form_tag send("#{type.underscore}_namespace_project_commit_path", @project.namespace, @project, commit.id), method: :post, remote: false, class: "form-horizontal js-#{type}-form js-requires-input" do
@@ -18,7 +18,7 @@
             = label_tag 'target_branch', target_label, class: 'control-label'
             .col-sm-10
               = hidden_field_tag :target_branch, @project.default_branch, id: 'target_branch'
-              = dropdown_tag(@project.default_branch, options: { title: "Switch branch", filter: true, placeholder: "Search branches", toggle_class: 'js-project-refs-dropdown js-target-branch dynamic', dropdown_class: 'dropdown-menu-selectable', data: { field_name: "target_branch", selected: @project.default_branch, target_branch: @project.default_branch, refs_url: namespace_project_branches_path(@project.namespace, @project), submit_form_on_click: false }})
+              = dropdown_tag(@project.default_branch, options: { title: "Switch branch", filter: true, placeholder: "Search branches", toggle_class: 'js-project-refs-dropdown js-target-branch dynamic', dropdown_class: 'dropdown-menu-selectable', data: { field_name: "target_branch", selected: @project.default_branch, target_branch: @project.default_branch, refs_url: namespace_project_branches_path(@project.namespace, @project), submit_form_on_click: false } })
 
               - if can?(current_user, :push_code, @project)
                 .js-create-merge-request-container
diff --git a/app/views/projects/commit/_commit_box.html.haml b/app/views/projects/commit/_commit_box.html.haml
index c08ed8f6c1687fc2c244ae0f794b3ca6780076ba..a9ee92300768f4f14d7882867c1453b01e863010 100644
--- a/app/views/projects/commit/_commit_box.html.haml
+++ b/app/views/projects/commit/_commit_box.html.haml
@@ -63,7 +63,7 @@
 
   - if @commit.status
     .well-segment.pipeline-info
-      %div{class: "icon-container ci-status-icon-#{@commit.status}"}
+      %div{ class: "icon-container ci-status-icon-#{@commit.status}" }
         = ci_icon_for_status(@commit.status)
       Pipeline
       = link_to "##{@commit.pipelines.last.id}", pipelines_namespace_project_commit_path(@project.namespace, @project, @commit.id), class: "monospace"
diff --git a/app/views/projects/commit/show.html.haml b/app/views/projects/commit/show.html.haml
index b8c64d1f13e574d02bd1d85f0ff8075603cfadfa..7afd3d80ef526a4f244959ef22def9b880305a11 100644
--- a/app/views/projects/commit/show.html.haml
+++ b/app/views/projects/commit/show.html.haml
@@ -8,7 +8,7 @@
   - if @commit.status
     = render "ci_menu"
   - else
-    %div.block-connector
+    .block-connector
   = render "projects/diffs/diffs", diffs: @diffs
   = render "projects/notes/notes_with_form"
   - if can_collaborate_with_project?
diff --git a/app/views/projects/commits/_commit_list.html.haml b/app/views/projects/commits/_commit_list.html.haml
index ce416caa4946a2172cfb02bc8d565eb071f064e4..6f5835cb9be1c7c8ebef9ad8ff0f23f9261c2b23 100644
--- a/app/views/projects/commits/_commit_list.html.haml
+++ b/app/views/projects/commits/_commit_list.html.haml
@@ -1,7 +1,7 @@
 - commits, hidden = limited_commits(@commits)
 - commits = Commit.decorate(commits, @project)
 
-%div.panel.panel-default
+.panel.panel-default
   .panel-heading
     Commits (#{@commits.count})
   - if hidden > 0
diff --git a/app/views/projects/commits/show.html.haml b/app/views/projects/commits/show.html.haml
index 9628cbd163409b4d4026f657077fbb6f99a9f545..e77f23c7fd878f205463950e2a1b2c51b70fdfbb 100644
--- a/app/views/projects/commits/show.html.haml
+++ b/app/views/projects/commits/show.html.haml
@@ -28,12 +28,12 @@
           = search_field_tag :search, params[:search], { placeholder: 'Filter by commit message', id: 'commits-search', class: 'form-control search-text-input input-short', spellcheck: false }
       - if current_user && current_user.private_token
         .control
-          = link_to namespace_project_commits_path(@project.namespace, @project, @ref, {format: :atom, private_token: current_user.private_token}), title: "Commits Feed", class: 'btn' do
+          = link_to namespace_project_commits_path(@project.namespace, @project, @ref, { format: :atom, private_token: current_user.private_token }), title: "Commits Feed", class: 'btn' do
             = icon("rss")
     %ul.breadcrumb.repo-breadcrumb
       = commits_breadcrumbs
 
-  %div{id: dom_id(@project)}
+  %div{ id: dom_id(@project) }
     %ol#commits-list.list-unstyled.content_list
       = render 'commits', project: @project, ref: @ref
   = spinner
diff --git a/app/views/projects/cycle_analytics/show.html.haml b/app/views/projects/cycle_analytics/show.html.haml
index ef1b38d5e210396e15b15387453744bc53468201..89e2e162b5bc1335334155c8a8bc34a8ec01380e 100644
--- a/app/views/projects/cycle_analytics/show.html.haml
+++ b/app/views/projects/cycle_analytics/show.html.haml
@@ -7,7 +7,7 @@
 
 #cycle-analytics{ class: container_class, "v-cloak" => "true", data: { request_path: project_cycle_analytics_path(@project) } }
   - if @cycle_analytics_no_data
-    .bordered-box.landing.content-block{"v-if" => "!isOverviewDialogDismissed"}
+    .bordered-box.landing.content-block{ "v-if" => "!isOverviewDialogDismissed" }
       = icon("times", class: "dismiss-icon", "@click" => "dismissOverviewDialog()")
       .row
         .col-sm-3.col-xs-12.svg-container
@@ -20,19 +20,19 @@
 
           = link_to "Read more",  help_page_path('user/project/cycle_analytics'), target: '_blank', class: 'btn'
   = icon("spinner spin", "v-show" => "isLoading")
-  .wrapper{"v-show" => "!isLoading && !hasError"}
+  .wrapper{ "v-show" => "!isLoading && !hasError" }
     .panel.panel-default
       .panel-heading
         Pipeline Health
       .content-block
         .container-fluid
           .row
-            .col-sm-3.col-xs-12.column{"v-for" => "item in state.summary"}
+            .col-sm-3.col-xs-12.column{ "v-for" => "item in state.summary" }
               %h3.header {{item.value}}
               %p.text {{item.title}}
             .col-sm-3.col-xs-12.column
               .dropdown.inline.js-ca-dropdown
-                %button.dropdown-menu-toggle{"data-toggle" => "dropdown", :type => "button"}
+                %button.dropdown-menu-toggle{ "data-toggle" => "dropdown", :type => "button" }
                   %span.dropdown-label Last 30 days
                   %i.fa.fa-chevron-down
                 %ul.dropdown-menu.dropdown-menu-align-right
diff --git a/app/views/projects/deployments/_actions.haml b/app/views/projects/deployments/_actions.haml
index 58a214bdbd15a74d55729e6a42c5bc0a13110b93..a680b1ca0175aca3e41f1b99cbbe71d583a919b3 100644
--- a/app/views/projects/deployments/_actions.haml
+++ b/app/views/projects/deployments/_actions.haml
@@ -3,7 +3,7 @@
   - if actions.present?
     .inline
       .dropdown
-        %a.dropdown-new.btn.btn-default{type: 'button', 'data-toggle' => 'dropdown'}
+        %a.dropdown-new.btn.btn-default{ type: 'button', 'data-toggle' => 'dropdown' }
           = custom_icon('icon_play')
           = icon('caret-down')
         %ul.dropdown-menu.dropdown-menu-align-right
diff --git a/app/views/projects/deployments/_commit.html.haml b/app/views/projects/deployments/_commit.html.haml
index ff250eeca50711175b0009e3683423fcc6e70cac..170d786ecbf1c25b9491e87a9067f61cbe38323b 100644
--- a/app/views/projects/deployments/_commit.html.haml
+++ b/app/views/projects/deployments/_commit.html.haml
@@ -1,4 +1,4 @@
-%div.branch-commit
+.branch-commit
   - if deployment.ref
     .icon-container
       = deployment.tag? ? icon('tag') : icon('code-fork')
diff --git a/app/views/projects/diffs/_content.html.haml b/app/views/projects/diffs/_content.html.haml
index 6120b2191dd8efc4f561014c7d9246dc3ab273ed..52a1ece7d605a72ca3dc8a69ed6a0eb502cc5562 100644
--- a/app/views/projects/diffs/_content.html.haml
+++ b/app/views/projects/diffs/_content.html.haml
@@ -10,7 +10,7 @@
       .nothing-here-block This diff was suppressed by a .gitattributes entry.
     - elsif diff_file.collapsed?
       - url = url_for(params.merge(action: :diff_for_path, old_path: diff_file.old_path, new_path: diff_file.new_path, file_identifier: diff_file.file_identifier))
-      .nothing-here-block.diff-collapsed{data: { diff_for_path: url } }
+      .nothing-here-block.diff-collapsed{ data: { diff_for_path: url } }
         This diff is collapsed.
         %a.click-to-expand
           Click to expand it.
diff --git a/app/views/projects/diffs/_file.html.haml b/app/views/projects/diffs/_file.html.haml
index 6c33d80becd972938214e5d848a5cefb2018b938..15df2edefc7b8e8cba2d6cde472d57a93f876115 100644
--- a/app/views/projects/diffs/_file.html.haml
+++ b/app/views/projects/diffs/_file.html.haml
@@ -1,5 +1,5 @@
-.diff-file.file-holder{id: file_hash, data: diff_file_html_data(project, diff_file.file_path, diff_commit.id)}
-  .file-title{id: "file-path-#{hexdigest(diff_file.file_path)}"}
+.diff-file.file-holder{ id: file_hash, data: diff_file_html_data(project, diff_file.file_path, diff_commit.id) }
+  .file-title{ id: "file-path-#{hexdigest(diff_file.file_path)}" }
     = render "projects/diffs/file_header", diff_file: diff_file, blob: blob, diff_commit: diff_commit, project: project, url: "##{file_hash}"
 
     - unless diff_file.submodule?
diff --git a/app/views/projects/diffs/_image.html.haml b/app/views/projects/diffs/_image.html.haml
index 9ec6a7aa5cd7a604abc3101d8e536b16f50b5373..1bccaaf527323859820e1b676bf41b8ed318a94e 100644
--- a/app/views/projects/diffs/_image.html.haml
+++ b/app/views/projects/diffs/_image.html.haml
@@ -7,16 +7,16 @@
 - if diff.renamed_file || diff.new_file || diff.deleted_file
   .image
     %span.wrap
-      .frame{class: image_diff_class(diff)}
-        %img{src: diff.deleted_file ? old_file_raw_path : file_raw_path}
+      .frame{ class: image_diff_class(diff) }
+        %img{ src: diff.deleted_file ? old_file_raw_path : file_raw_path, alt: diff.new_path }
       %p.image-info= "#{number_to_human_size file.size}"
 - else
   .image
-    %div.two-up.view
+    .two-up.view
       %span.wrap
         .frame.deleted
-          %a{href: namespace_project_blob_path(@project.namespace, @project, tree_join(diff_file.old_ref, diff.old_path))}
-            %img{src: old_file_raw_path}
+          %a{ href: namespace_project_blob_path(@project.namespace, @project, tree_join(diff_file.old_ref, diff.old_path)) }
+            %img{ src: old_file_raw_path, alt: diff.old_path }
         %p.image-info.hide
           %span.meta-filesize= "#{number_to_human_size old_file.size}"
           |
@@ -27,8 +27,8 @@
           %span.meta-height
       %span.wrap
         .frame.added
-          %a{href: namespace_project_blob_path(@project.namespace, @project, tree_join(diff_file.new_ref, diff.new_path))}
-            %img{src: file_raw_path}
+          %a{ href: namespace_project_blob_path(@project.namespace, @project, tree_join(diff_file.new_ref, diff.new_path)) }
+            %img{ src: file_raw_path, alt: diff.new_path }
         %p.image-info.hide
           %span.meta-filesize= "#{number_to_human_size file.size}"
           |
@@ -38,32 +38,32 @@
           %b H:
           %span.meta-height
 
-    %div.swipe.view.hide
+    .swipe.view.hide
       .swipe-frame
         .frame.deleted
-          %img{src: old_file_raw_path}
+          %img{ src: old_file_raw_path, alt: diff.old_path }
         .swipe-wrap
           .frame.added
-            %img{src: file_raw_path}
+            %img{ src: file_raw_path, alt: diff.new_path }
         %span.swipe-bar
           %span.top-handle
           %span.bottom-handle
 
-    %div.onion-skin.view.hide
+    .onion-skin.view.hide
       .onion-skin-frame
         .frame.deleted
-          %img{src: old_file_raw_path}
+          %img{ src: old_file_raw_path, alt: diff.old_path }
         .frame.added
-          %img{src: file_raw_path}
+          %img{ src: file_raw_path, alt: diff.new_path }
         .controls
           .transparent
           .drag-track
-            .dragger{:style => "left: 0px;"}
+            .dragger{ :style => "left: 0px;" }
           .opaque
 
 
   .view-modes.hide
     %ul.view-modes-menu
-      %li.two-up{data: {mode: 'two-up'}} 2-up
-      %li.swipe{data: {mode: 'swipe'}} Swipe
-      %li.onion-skin{data: {mode: 'onion-skin'}} Onion skin
+      %li.two-up{ data: { mode: 'two-up' } } 2-up
+      %li.swipe{ data: { mode: 'swipe' } } Swipe
+      %li.onion-skin{ data: { mode: 'onion-skin' } } Onion skin
diff --git a/app/views/projects/diffs/_line.html.haml b/app/views/projects/diffs/_line.html.haml
index 16c96b667141af9be80c633fe0ed5d0af3c9231e..cd18ba2ed00518078617c688a55bff87bc926367 100644
--- a/app/views/projects/diffs/_line.html.haml
+++ b/app/views/projects/diffs/_line.html.haml
@@ -16,13 +16,13 @@
       - if plain
         = link_text
       - else
-        %a{href: "##{line_code}", data: { linenumber: link_text }}
+        %a{ href: "##{line_code}", data: { linenumber: link_text } }
     %td.new_line.diff-line-num{ class: type, data: { linenumber: line.new_pos } }
       - link_text = type == "old" ? " " : line.new_pos
       - if plain
         = link_text
       - else
-        %a{href: "##{line_code}", data: { linenumber: link_text }}
+        %a{ href: "##{line_code}", data: { linenumber: link_text } }
     %td.line_content.noteable_line{ class: type, data: (diff_view_line_data(line_code, diff_file.position(line), type) unless plain) }<
       - if email
         %pre= line.text
diff --git a/app/views/projects/diffs/_parallel_view.html.haml b/app/views/projects/diffs/_parallel_view.html.haml
index 78aa9fb73919f23973aad956b43d2d6881b26473..b087485aa17648dd5a7ad4c53539d0671f93d2f2 100644
--- a/app/views/projects/diffs/_parallel_view.html.haml
+++ b/app/views/projects/diffs/_parallel_view.html.haml
@@ -1,5 +1,5 @@
 / Side-by-side diff view
-%div.text-file.diff-wrap-lines.code.js-syntax-highlight{ data: diff_view_data }
+.text-file.diff-wrap-lines.code.js-syntax-highlight{ data: diff_view_data }
   %table
     - last_line = 0
     - diff_file.parallel_diff_lines.each do |line|
@@ -13,9 +13,9 @@
           - else
             - left_line_code = diff_file.line_code(left)
             - left_position = diff_file.position(left)
-            %td.old_line.diff-line-num{id: left_line_code, class: left.type, data: { linenumber: left.old_pos }}
-              %a{href: "##{left_line_code}" }= raw(left.old_pos)
-            %td.line_content.parallel.noteable_line{class: left.type, data: diff_view_line_data(left_line_code, left_position, 'old')}= diff_line_content(left.text)
+            %td.old_line.diff-line-num{ id: left_line_code, class: left.type, data: { linenumber: left.old_pos } }
+              %a{ href: "##{left_line_code}" }= raw(left.old_pos)
+            %td.line_content.parallel.noteable_line{ class: left.type, data: diff_view_line_data(left_line_code, left_position, 'old') }= diff_line_content(left.text)
         - else
           %td.old_line.diff-line-num.empty-cell
           %td.line_content.parallel
@@ -26,9 +26,9 @@
           - else
             - right_line_code = diff_file.line_code(right)
             - right_position = diff_file.position(right)
-            %td.new_line.diff-line-num{id: right_line_code, class: right.type, data: { linenumber: right.new_pos }}
-              %a{href: "##{right_line_code}" }= raw(right.new_pos)
-            %td.line_content.parallel.noteable_line{class: right.type, data: diff_view_line_data(right_line_code, right_position, 'new')}= diff_line_content(right.text)
+            %td.new_line.diff-line-num{ id: right_line_code, class: right.type, data: { linenumber: right.new_pos } }
+              %a{ href: "##{right_line_code}" }= raw(right.new_pos)
+            %td.line_content.parallel.noteable_line{ class: right.type, data: diff_view_line_data(right_line_code, right_position, 'new') }= diff_line_content(right.text)
         - else
           %td.old_line.diff-line-num.empty-cell
           %td.line_content.parallel
diff --git a/app/views/projects/diffs/_stats.html.haml b/app/views/projects/diffs/_stats.html.haml
index 66d6254aa1eb5abec739374703ccb5dd52cd6fd8..290f696d58270b639b46984bbe8556594b96a7e9 100644
--- a/app/views/projects/diffs/_stats.html.haml
+++ b/app/views/projects/diffs/_stats.html.haml
@@ -14,24 +14,23 @@
         %li
           - if diff_file.deleted_file
             %span.deleted-file
-              %a{href: "##{file_hash}"}
+              %a{ href: "##{file_hash}" }
                 %i.fa.fa-minus
                 = diff_file.old_path
           - elsif diff_file.renamed_file
             %span.renamed-file
-              %a{href: "##{file_hash}"}
+              %a{ href: "##{file_hash}" }
                 %i.fa.fa-minus
                 = diff_file.old_path
                 &rarr;
                 = diff_file.new_path
           - elsif diff_file.new_file
             %span.new-file
-              %a{href: "##{file_hash}"}
+              %a{ href: "##{file_hash}" }
                 %i.fa.fa-plus
                 = diff_file.new_path
           - else
             %span.edit-file
-              %a{href: "##{file_hash}"}
+              %a{ href: "##{file_hash}" }
                 %i.fa.fa-adjust
                 = diff_file.new_path
-
diff --git a/app/views/projects/empty.html.haml b/app/views/projects/empty.html.haml
index c0a83091c8ca618ebcf27e08771809e8803589cb..3525a07a68781d6aa88182383edc0feaef975cb7 100644
--- a/app/views/projects/empty.html.haml
+++ b/app/views/projects/empty.html.haml
@@ -32,7 +32,7 @@
     .empty_wrapper
       %h3.page-title-empty
         Command line instructions
-      %div.git-empty
+      .git-empty
         %fieldset
           %h5 Git global setup
           %pre.light-well
diff --git a/app/views/projects/environments/index.html.haml b/app/views/projects/environments/index.html.haml
index 0c6f696f5b98558a249c7db3a898363b77db82aa..8c728eb0f6afe50b45840796843cc46380c52d3a 100644
--- a/app/views/projects/environments/index.html.haml
+++ b/app/views/projects/environments/index.html.haml
@@ -16,4 +16,4 @@
   "css-class" => container_class,
   "commit-icon-svg" => custom_icon("icon_commit"),
   "terminal-icon-svg" => custom_icon("icon_terminal"),
-  "play-icon-svg" => custom_icon("icon_play")}}
+  "play-icon-svg" => custom_icon("icon_play") } }
diff --git a/app/views/projects/environments/terminal.html.haml b/app/views/projects/environments/terminal.html.haml
index a6726e509e0724c86d6ff237d0360d1d974979cb..431253c12994233211c0478a1f3fbb643e085bcd 100644
--- a/app/views/projects/environments/terminal.html.haml
+++ b/app/views/projects/environments/terminal.html.haml
@@ -6,7 +6,7 @@
   = stylesheet_link_tag "xterm/xterm"
   = page_specific_javascript_tag("terminal/terminal_bundle.js")
 
-%div{class: container_class}
+%div{ class: container_class }
   .top-area
     .row
       .col-sm-6
@@ -18,5 +18,5 @@
         .nav-controls
           = render 'projects/deployments/actions', deployment: @environment.last_deployment
 
-.terminal-container{class: container_class}
-  #terminal{data:{project_path: "#{terminal_namespace_project_environment_path(@project.namespace, @project, @environment)}.ws"}}
+.terminal-container{ class: container_class }
+  #terminal{ data: { project_path: "#{terminal_namespace_project_environment_path(@project.namespace, @project, @environment)}.ws" } }
diff --git a/app/views/projects/find_file/show.html.haml b/app/views/projects/find_file/show.html.haml
index 9322c82904f9cf7becbe6a58b26af19d0ed8f566..4cdb44325b30e8c06c4433621e9fa6be4d58e075 100644
--- a/app/views/projects/find_file/show.html.haml
+++ b/app/views/projects/find_file/show.html.haml
@@ -9,11 +9,11 @@
         = link_to namespace_project_tree_path(@project.namespace, @project, @ref) do
           = @project.path
       %li.file-finder
-        %input#file_find.form-control.file-finder-input{type: "text", placeholder: 'Find by path', autocomplete: 'off'}
+        %input#file_find.form-control.file-finder-input{ type: "text", placeholder: 'Find by path', autocomplete: 'off' }
 
-  %div.tree-content-holder
+  .tree-content-holder
     .table-holder
-      %table.table.files-slider{class: "table_#{@hex_path} tree-table table-striped" }
+      %table.table.files-slider{ class: "table_#{@hex_path} tree-table table-striped" }
         %tbody
       = spinner nil, true
 
diff --git a/app/views/projects/forks/index.html.haml b/app/views/projects/forks/index.html.haml
index 5ee3979c7e76e29753de557ab79f2f76e4415155..6c8a6f051a915d334591fed95588a8e24fc71e17 100644
--- a/app/views/projects/forks/index.html.haml
+++ b/app/views/projects/forks/index.html.haml
@@ -1,7 +1,7 @@
 .top-area
   .nav-text
     - full_count_title = "#{@public_forks_count} public and #{@private_forks_count} private"
-    == #{pluralize(@total_forks_count, 'fork')}: #{full_count_title}
+    = "#{pluralize(@total_forks_count, 'fork')}: #{full_count_title}"
 
   .nav-controls
     = form_tag request.original_url, method: :get, class: 'project-filter-form', id: 'project-filter-form' do |f|
@@ -9,7 +9,7 @@
         spellcheck: false, data: { 'filter-selector' => 'span.namespace-name' }
 
     .dropdown
-      %button.dropdown-toggle{type: 'button', 'data-toggle' => 'dropdown'}
+      %button.dropdown-toggle{ type: 'button', 'data-toggle' => 'dropdown' }
         %span.light sort:
         - if @sort.present?
           = sort_options_hash[@sort]
diff --git a/app/views/projects/generic_commit_statuses/_generic_commit_status.html.haml b/app/views/projects/generic_commit_statuses/_generic_commit_status.html.haml
index 9f444f076c05427cd406725b5a693b9f85269268..6d7af1685fddbebf3898b0b53a813b89fad77893 100644
--- a/app/views/projects/generic_commit_statuses/_generic_commit_status.html.haml
+++ b/app/views/projects/generic_commit_statuses/_generic_commit_status.html.haml
@@ -6,7 +6,7 @@
 - stage = local_assigns.fetch(:stage, false)
 - coverage = local_assigns.fetch(:coverage, false)
 
-%tr.generic_commit_status{class: ('retried' if retried)}
+%tr.generic_commit_status{ class: ('retried' if retried) }
   %td.status
     = render 'ci/status/badge', status: generic_commit_status.detailed_status(current_user)
 
diff --git a/app/views/projects/graphs/ci/_build_times.haml b/app/views/projects/graphs/ci/_build_times.haml
index 195f18afc7614725774dc5697e42a58be832e1d4..bb0975a953596887beb0e72478500c380448688a 100644
--- a/app/views/projects/graphs/ci/_build_times.haml
+++ b/app/views/projects/graphs/ci/_build_times.haml
@@ -2,7 +2,7 @@
   %p.light
     Commit duration in minutes for last 30 commits
 
-  %canvas#build_timesChart{height: 200}
+  %canvas#build_timesChart{ height: 200 }
 
 :javascript
   var data = {
diff --git a/app/views/projects/graphs/ci/_builds.haml b/app/views/projects/graphs/ci/_builds.haml
index 1fbf6ca2c1ccad7a9812e362a09a8cba6a568b11..431657c4dcbedcd0c49dda35a3028f1f9a0717bb 100644
--- a/app/views/projects/graphs/ci/_builds.haml
+++ b/app/views/projects/graphs/ci/_builds.haml
@@ -13,18 +13,18 @@
   %p.light
     Builds for last week
     (#{date_from_to(Date.today - 7.days, Date.today)})
-  %canvas#weekChart{height: 200}
+  %canvas#weekChart{ height: 200 }
 
 .prepend-top-default
   %p.light
     Builds for last month
     (#{date_from_to(Date.today - 30.days, Date.today)})
-  %canvas#monthChart{height: 200}
+  %canvas#monthChart{ height: 200 }
 
 .prepend-top-default
   %p.light
     Builds for last year
-  %canvas#yearChart.padded{height: 250}
+  %canvas#yearChart.padded{ height: 250 }
 
 - [:week, :month, :year].each do |scope|
   :javascript
diff --git a/app/views/projects/graphs/show.html.haml b/app/views/projects/graphs/show.html.haml
index ac5f792d1402dbc1b3a90fe66019d84e55ea2417..5ebb939a109ca69fc6c781c505c0f661f1e013a4 100644
--- a/app/views/projects/graphs/show.html.haml
+++ b/app/views/projects/graphs/show.html.haml
@@ -21,7 +21,7 @@
       %h3#date_header.page-title
       %p.light
         Commits to #{@ref}, excluding merge commits. Limited to 6,000 commits.
-      %input#brush_change{:type => "hidden"}
+      %input#brush_change{ :type => "hidden" }
     .graphs.row
       #contributors-master
       #contributors.clearfix
diff --git a/app/views/projects/issues/_issue.html.haml b/app/views/projects/issues/_issue.html.haml
index c80210d6ff46b47fa36a02b310557f5211aa278c..bd46af339cf18f540125c53dee44c0b2aabe4fec 100644
--- a/app/views/projects/issues/_issue.html.haml
+++ b/app/views/projects/issues/_issue.html.haml
@@ -43,7 +43,7 @@
         = icon('clock-o')
         = issue.milestone.title
     - if issue.due_date
-      %span{class: "#{'cred' if issue.overdue?}"}
+      %span{ class: "#{'cred' if issue.overdue?}" }
         &nbsp;
         = icon('calendar')
         = issue.due_date.to_s(:medium)
diff --git a/app/views/projects/issues/_new_branch.html.haml b/app/views/projects/issues/_new_branch.html.haml
index 4589e1122796e05582e48915fee5c0287ccc8b5a..13e2150f997de12b455ef6496f41bbd9c404d1a0 100644
--- a/app/views/projects/issues/_new_branch.html.haml
+++ b/app/views/projects/issues/_new_branch.html.haml
@@ -1,6 +1,6 @@
 - if can?(current_user, :push_code, @project)
   .pull-right
-    #new-branch.new-branch{'data-path' => can_create_branch_namespace_project_issue_path(@project.namespace, @project, @issue)}
+    #new-branch.new-branch{ 'data-path' => can_create_branch_namespace_project_issue_path(@project.namespace, @project, @issue) }
       = link_to namespace_project_branches_path(@project.namespace, @project, branch_name: @issue.to_branch_name, issue_iid: @issue.iid),
         method: :post, class: 'btn btn-new btn-inverted btn-grouped has-tooltip available hide', title: @issue.to_branch_name do
         New branch
diff --git a/app/views/projects/merge_requests/_merge_request.html.haml b/app/views/projects/merge_requests/_merge_request.html.haml
index b3c43286a5056372816dcd240478babd8a03c3e4..e3b0aa7e644edaae0944502b175cc997a2f18cd3 100644
--- a/app/views/projects/merge_requests/_merge_request.html.haml
+++ b/app/views/projects/merge_requests/_merge_request.html.haml
@@ -65,7 +65,7 @@
       &nbsp;
       - merge_request.labels.each do |label|
         = link_to_label(label, subject: merge_request.project, type: :merge_request)
-        
+
     - if merge_request.tasks?
       &nbsp;
       %span.task-status
diff --git a/app/views/projects/merge_requests/_show.html.haml b/app/views/projects/merge_requests/_show.html.haml
index 393ab1149bc4ad3c7b383267a5f184b68efc0c7d..633701c6f40391a5cc69a1a8cc87ff210f935bf9 100644
--- a/app/views/projects/merge_requests/_show.html.haml
+++ b/app/views/projects/merge_requests/_show.html.haml
@@ -5,10 +5,10 @@
 - content_for :page_specific_javascripts do
   = page_specific_javascript_tag('diff_notes/diff_notes_bundle.js')
 
-.merge-request{'data-url' => merge_request_path(@merge_request)}
+.merge-request{ 'data-url' => merge_request_path(@merge_request) }
   = render "projects/merge_requests/show/mr_title"
 
-  .merge-request-details.issuable-details{data: {id: @merge_request.project.id}}
+  .merge-request-details.issuable-details{ data: { id: @merge_request.project.id } }
     = render "projects/merge_requests/show/mr_box"
     .append-bottom-default.mr-source-target.prepend-top-default
       - if @merge_request.open?
@@ -73,7 +73,7 @@
                 Changes
                 %span.badge= @merge_request.diff_size
             %li#resolve-count-app.line-resolve-all-container.pull-right.prepend-top-10.hidden-xs{ "v-cloak" => true }
-              %resolve-count{ "inline-template" => true, ":logged-out" => "#{current_user.nil?}"  }
+              %resolve-count{ "inline-template" => true, ":logged-out" => "#{current_user.nil?}" }
                 %div
                   .line-resolve-all{ "v-show" => "discussionCount > 0",
                     ":class" => "{ 'has-next-btn': !loggedOut && resolvedDiscussionCount !== discussionCount }" }
diff --git a/app/views/projects/merge_requests/conflicts.html.haml b/app/views/projects/merge_requests/conflicts.html.haml
index 16789f68f701a9d3016bb565ba882cd40419d9cf..b8b87dcdcafeb784dea4ec3233f0871a9d0ee49e 100644
--- a/app/views/projects/merge_requests/conflicts.html.haml
+++ b/app/views/projects/merge_requests/conflicts.html.haml
@@ -9,29 +9,29 @@
 
 = render 'shared/issuable/sidebar', issuable: @merge_request
 
-#conflicts{"v-cloak" => "true", data: { conflicts_path: conflicts_namespace_project_merge_request_path(@merge_request.project.namespace, @merge_request.project, @merge_request, format: :json),
+#conflicts{ "v-cloak" => "true", data: { conflicts_path: conflicts_namespace_project_merge_request_path(@merge_request.project.namespace, @merge_request.project, @merge_request, format: :json),
     resolve_conflicts_path: resolve_conflicts_namespace_project_merge_request_path(@merge_request.project.namespace, @merge_request.project, @merge_request) } }
-  .loading{"v-if" => "isLoading"}
+  .loading{ "v-if" => "isLoading" }
     %i.fa.fa-spinner.fa-spin
 
-  .nothing-here-block{"v-if" => "hasError"}
+  .nothing-here-block{ "v-if" => "hasError" }
     {{conflictsData.errorMessage}}
 
   = render partial: "projects/merge_requests/conflicts/commit_stats"
 
-  .files-wrapper{"v-if" => "!isLoading && !hasError"}
+  .files-wrapper{ "v-if" => "!isLoading && !hasError" }
     .files
-      .diff-file.file-holder.conflict{"v-for" => "file in conflictsData.files"}
+      .diff-file.file-holder.conflict{ "v-for" => "file in conflictsData.files" }
         .file-title
-          %i.fa.fa-fw{":class" => "file.iconClass"}
+          %i.fa.fa-fw{ ":class" => "file.iconClass" }
           %strong {{file.filePath}}
           = render partial: 'projects/merge_requests/conflicts/file_actions'
         .diff-content.diff-wrap-lines
-          .diff-wrap-lines.code.file-content.js-syntax-highlight{"v-show" => "!isParallel && file.resolveMode === 'interactive' && file.type === 'text'" }
+          .diff-wrap-lines.code.file-content.js-syntax-highlight{ "v-show" => "!isParallel && file.resolveMode === 'interactive' && file.type === 'text'" }
             = render partial: "projects/merge_requests/conflicts/components/inline_conflict_lines"
-          .diff-wrap-lines.code.file-content.js-syntax-highlight{"v-show" => "isParallel && file.resolveMode === 'interactive' && file.type === 'text'" }
+          .diff-wrap-lines.code.file-content.js-syntax-highlight{ "v-show" => "isParallel && file.resolveMode === 'interactive' && file.type === 'text'" }
             %parallel-conflict-lines{ ":file" => "file" }
-          %div{"v-show" => "file.resolveMode === 'edit' ||  file.type === 'text-editor'"}
+          %div{ "v-show" => "file.resolveMode === 'edit' ||  file.type === 'text-editor'" }
             = render partial: "projects/merge_requests/conflicts/components/diff_file_editor"
 
     = render partial: "projects/merge_requests/conflicts/submit_form"
diff --git a/app/views/projects/merge_requests/conflicts/_commit_stats.html.haml b/app/views/projects/merge_requests/conflicts/_commit_stats.html.haml
index 5ab3cd96163c3d623fe704ae406c616a813d3fdb..964dc40a21377edd8425eace3a7528c275a0f4b5 100644
--- a/app/views/projects/merge_requests/conflicts/_commit_stats.html.haml
+++ b/app/views/projects/merge_requests/conflicts/_commit_stats.html.haml
@@ -1,9 +1,9 @@
-.content-block.oneline-block.files-changed{"v-if" => "!isLoading && !hasError"}
-  .inline-parallel-buttons{"v-if" => "showDiffViewTypeSwitcher"}
+.content-block.oneline-block.files-changed{ "v-if" => "!isLoading && !hasError" }
+  .inline-parallel-buttons{ "v-if" => "showDiffViewTypeSwitcher" }
     .btn-group
-      %button.btn{":class" => "{'active': !isParallel}", "@click" => "handleViewTypeChange('inline')"}
+      %button.btn{ ":class" => "{'active': !isParallel}", "@click" => "handleViewTypeChange('inline')" }
         Inline
-      %button.btn{":class" => "{'active': isParallel}", "@click" => "handleViewTypeChange('parallel')"}
+      %button.btn{ ":class" => "{'active': isParallel}", "@click" => "handleViewTypeChange('parallel')" }
         Side-by-side
 
   .js-toggle-container
diff --git a/app/views/projects/merge_requests/conflicts/_file_actions.html.haml b/app/views/projects/merge_requests/conflicts/_file_actions.html.haml
index 05af57acf038bfedf4a491024c78fe581218ad6b..2595ce74ac0ee2a8c090346273a16b02a34e5308 100644
--- a/app/views/projects/merge_requests/conflicts/_file_actions.html.haml
+++ b/app/views/projects/merge_requests/conflicts/_file_actions.html.haml
@@ -1,5 +1,5 @@
 .file-actions
-  .btn-group{"v-if" => "file.type === 'text'"}
+  .btn-group{ "v-if" => "file.type === 'text'" }
     %button.btn{ ":class" => "{ 'active': file.resolveMode == 'interactive' }",
       '@click' => "onClickResolveModeButton(file, 'interactive')",
       type: 'button' }
@@ -8,5 +8,5 @@
       '@click' => "onClickResolveModeButton(file, 'edit')",
       type: 'button' }
       Edit inline
-  %a.btn.view-file.btn-file-option{":href" => "file.blobPath"}
+  %a.btn.view-file.btn-file-option{ ":href" => "file.blobPath" }
     View file @{{conflictsData.shortCommitSha}}
diff --git a/app/views/projects/merge_requests/conflicts/_submit_form.html.haml b/app/views/projects/merge_requests/conflicts/_submit_form.html.haml
index 6ffaa9ad4d226dce4c99c3722fec9cb1a74a717b..62c9748c5102257b8a6f8eca4c256531a467fb5c 100644
--- a/app/views/projects/merge_requests/conflicts/_submit_form.html.haml
+++ b/app/views/projects/merge_requests/conflicts/_submit_form.html.haml
@@ -10,7 +10,7 @@
     .col-sm-offset-2.col-sm-10
       .row
         .col-xs-6
-          %button{ type: "button", class: "btn btn-success js-submit-button", "@click" => "commit()", ":disabled" => "!readyToCommit" }
+          %button.btn.btn-success.js-submit-button{ type: "button", "@click" => "commit()", ":disabled" => "!readyToCommit" }
             %span {{commitButtonText}}
         .col-xs-6.text-right
           = link_to "Cancel", namespace_project_merge_request_path(@merge_request.project.namespace, @merge_request.project, @merge_request), class: "btn btn-cancel"
diff --git a/app/views/projects/merge_requests/conflicts/components/_diff_file_editor.html.haml b/app/views/projects/merge_requests/conflicts/components/_diff_file_editor.html.haml
index 3c927d362c28612641a7cc4bda453544b861dde2..aff3fb82fa6b4f4f721944885a436a2a1ed36b2a 100644
--- a/app/views/projects/merge_requests/conflicts/components/_diff_file_editor.html.haml
+++ b/app/views/projects/merge_requests/conflicts/components/_diff_file_editor.html.haml
@@ -1,4 +1,4 @@
-%diff-file-editor{"inline-template" => "true", ":file" => "file", ":on-cancel-discard-confirmation" => "cancelDiscardConfirmation", ":on-accept-discard-confirmation" => "acceptDiscardConfirmation"}
+%diff-file-editor{ "inline-template" => "true", ":file" => "file", ":on-cancel-discard-confirmation" => "cancelDiscardConfirmation", ":on-accept-discard-confirmation" => "acceptDiscardConfirmation" }
   .diff-editor-wrap{ "v-show" => "file.showEditor" }
     .discard-changes-alert-wrap{ "v-if" => "file.promptDiscardConfirmation" }
       .discard-changes-alert
diff --git a/app/views/projects/merge_requests/conflicts/components/_inline_conflict_lines.html.haml b/app/views/projects/merge_requests/conflicts/components/_inline_conflict_lines.html.haml
index d35c7bee163d67571e2a7491579e51855fcf2a5d..d828cb6cf9e78c19090d962c65989c71327a3861 100644
--- a/app/views/projects/merge_requests/conflicts/components/_inline_conflict_lines.html.haml
+++ b/app/views/projects/merge_requests/conflicts/components/_inline_conflict_lines.html.haml
@@ -1,14 +1,14 @@
-%inline-conflict-lines{ "inline-template" => "true", ":file" => "file"}
+%inline-conflict-lines{ "inline-template" => "true", ":file" => "file" }
   %table
-    %tr.line_holder.diff-inline{"v-for" => "line in file.inlineLines"}
-      %td.diff-line-num.new_line{":class" => "lineCssClass(line)", "v-if" => "!line.isHeader"}
+    %tr.line_holder.diff-inline{ "v-for" => "line in file.inlineLines" }
+      %td.diff-line-num.new_line{ ":class" => "lineCssClass(line)", "v-if" => "!line.isHeader" }
         %a {{line.new_line}}
-      %td.diff-line-num.old_line{":class" => "lineCssClass(line)", "v-if" => "!line.isHeader"}
+      %td.diff-line-num.old_line{ ":class" => "lineCssClass(line)", "v-if" => "!line.isHeader" }
         %a {{line.old_line}}
-      %td.line_content{":class" => "lineCssClass(line)", "v-if" => "!line.isHeader", "v-html" => "line.richText"}
-      %td.diff-line-num.header{":class" => "lineCssClass(line)", "v-if" => "line.isHeader"}
-      %td.diff-line-num.header{":class" => "lineCssClass(line)", "v-if" => "line.isHeader"}
-      %td.line_content.header{":class" => "lineCssClass(line)", "v-if" => "line.isHeader"}
-        %strong{"v-html" => "line.richText"}
+      %td.line_content{ ":class" => "lineCssClass(line)", "v-if" => "!line.isHeader", "v-html" => "line.richText" }
+      %td.diff-line-num.header{ ":class" => "lineCssClass(line)", "v-if" => "line.isHeader" }
+      %td.diff-line-num.header{ ":class" => "lineCssClass(line)", "v-if" => "line.isHeader" }
+      %td.line_content.header{ ":class" => "lineCssClass(line)", "v-if" => "line.isHeader" }
+        %strong{ "v-html" => "line.richText" }
         %button.btn{ "@click" => "handleSelected(file, line.id, line.section)" }
           {{line.buttonTitle}}
diff --git a/app/views/projects/merge_requests/show/_how_to_merge.html.haml b/app/views/projects/merge_requests/show/_how_to_merge.html.haml
index f1d5441f9ddecf78bd75350787ba9f3aea7a612d..ec76c6a5417bb5dde51ace35760225d913fe07c9 100644
--- a/app/views/projects/merge_requests/show/_how_to_merge.html.haml
+++ b/app/views/projects/merge_requests/show/_how_to_merge.html.haml
@@ -1,8 +1,8 @@
-%div#modal_merge_info.modal
+#modal_merge_info.modal
   .modal-dialog
     .modal-content
       .modal-header
-        %a.close{href: "#", "data-dismiss" => "modal"} ×
+        %a.close{ href: "#", "data-dismiss" => "modal" } ×
         %h3 Check out, review, and merge locally
       .modal-body
         %p
diff --git a/app/views/projects/merge_requests/show/_mr_box.html.haml b/app/views/projects/merge_requests/show/_mr_box.html.haml
index ed23d06ee5e06b6fa6d16624700eb0cb91321398..683cb8a5a27ae9db5896cee90be6073a7470d9a6 100644
--- a/app/views/projects/merge_requests/show/_mr_box.html.haml
+++ b/app/views/projects/merge_requests/show/_mr_box.html.haml
@@ -4,7 +4,7 @@
 
   %div
     - if @merge_request.description.present?
-      .description{class: can?(current_user, :update_merge_request, @merge_request) ? 'js-task-list-container' : ''}
+      .description{ class: can?(current_user, :update_merge_request, @merge_request) ? 'js-task-list-container' : '' }
         .wiki
           = preserve do
             = markdown_field(@merge_request, :description)
diff --git a/app/views/projects/merge_requests/show/_versions.html.haml b/app/views/projects/merge_requests/show/_versions.html.haml
index 5cc92595fe06285360f594359be9e6c8b5872425..ac4a03220b97d75d047460aa7edd3be60dedd69d 100644
--- a/app/views/projects/merge_requests/show/_versions.html.haml
+++ b/app/views/projects/merge_requests/show/_versions.html.haml
@@ -1,6 +1,6 @@
 - if @merge_request_diffs.size > 1
   .mr-version-controls
-    %div.mr-version-menus-container.content-block
+    .mr-version-menus-container.content-block
       Changes between
       %span.dropdown.inline.mr-version-dropdown
         %a.dropdown-toggle.btn.btn-default{ data: {toggle: :dropdown} }
@@ -13,7 +13,7 @@
         .dropdown-menu.dropdown-select.dropdown-menu-selectable
           .dropdown-title
             %span Version:
-            %button.dropdown-title-button.dropdown-menu-close{aria: {label: "Close"}}
+            %button.dropdown-title-button.dropdown-menu-close{ aria: { label: "Close" } }
               = icon('times', class: 'dropdown-menu-close-icon')
           .dropdown-content
             %ul
@@ -43,7 +43,7 @@
           .dropdown-menu.dropdown-select.dropdown-menu-selectable
             .dropdown-title
               %span Compared with:
-              %button.dropdown-title-button.dropdown-menu-close{aria: {label: "Close"}}
+              %button.dropdown-title-button.dropdown-menu-close{ aria: { label: "Close" } }
                 = icon('times', class: 'dropdown-menu-close-icon')
             .dropdown-content
               %ul
diff --git a/app/views/projects/merge_requests/widget/_closed.html.haml b/app/views/projects/merge_requests/widget/_closed.html.haml
index f3cc0e7e8a19fe04e1985c1b2d44c208dfaec37e..15f47ecf21014d54082375975623a2e30ba97e2a 100644
--- a/app/views/projects/merge_requests/widget/_closed.html.haml
+++ b/app/views/projects/merge_requests/widget/_closed.html.haml
@@ -6,7 +6,7 @@
       - if @merge_request.closed_event
         by #{link_to_member(@project, @merge_request.closed_event.author, avatar: true)}
         #{time_ago_with_tooltip(@merge_request.closed_event.created_at)}
-    %p 
+    %p
       = succeed '.' do
         The changes were not merged into
         %span.label-branch= @merge_request.target_branch
diff --git a/app/views/projects/merge_requests/widget/_heading.html.haml b/app/views/projects/merge_requests/widget/_heading.html.haml
index 5bc417d1760c947caf3cc6f528afb409d4cbfb2b..c80dc33058d3d60d21779222c527069c964479b6 100644
--- a/app/views/projects/merge_requests/widget/_heading.html.haml
+++ b/app/views/projects/merge_requests/widget/_heading.html.haml
@@ -17,7 +17,7 @@
   - # TODO, remove in later versions when services like Jenkins will set CI status via Commit status API
   .mr-widget-heading
     - %w[success skipped canceled failed running pending].each do |status|
-      .ci_widget{class: "ci-#{status} ci-status-icon-#{status}", style: "display:none"}
+      .ci_widget{ class: "ci-#{status} ci-status-icon-#{status}", style: "display:none" }
         = ci_icon_for_status(status)
         %span
           CI build
@@ -32,11 +32,11 @@
       = icon("spinner spin")
       Checking CI status for #{@merge_request.diff_head_commit.short_id}&hellip;
 
-    .ci_widget.ci-not_found{style: "display:none"}
+    .ci_widget.ci-not_found{ style: "display:none" }
       = icon("times-circle")
       Could not find CI status for #{@merge_request.diff_head_commit.short_id}.
 
-    .ci_widget.ci-error{style: "display:none"}
+    .ci_widget.ci-error{ style: "display:none" }
       = icon("times-circle")
       Could not connect to the CI server. Please check your settings and try again.
 
diff --git a/app/views/projects/merge_requests/widget/_open.html.haml b/app/views/projects/merge_requests/widget/_open.html.haml
index 40fbac7025a3f42c6f024f547996d55bdb48244a..c0d6ab669b812602a37395865a8559fa6168f26b 100644
--- a/app/views/projects/merge_requests/widget/_open.html.haml
+++ b/app/views/projects/merge_requests/widget/_open.html.haml
@@ -43,5 +43,3 @@
           #{"Issue".pluralize(mr_issues_mentioned_but_not_closing.size)}
           != markdown issues_sentence(mr_issues_mentioned_but_not_closing), pipeline: :gfm, author: @merge_request.author
           #{mr_issues_mentioned_but_not_closing.size > 1 ? 'are' : 'is'} mentioned but will not be closed.
-         
-
diff --git a/app/views/projects/merge_requests/widget/open/_archived.html.haml b/app/views/projects/merge_requests/widget/open/_archived.html.haml
index ab30fa6b24365bef35d6775d0963ddf6e250e3ce..0d61e56d8fbfd879cd735ac2ea4fd056fc0334fd 100644
--- a/app/views/projects/merge_requests/widget/open/_archived.html.haml
+++ b/app/views/projects/merge_requests/widget/open/_archived.html.haml
@@ -1,4 +1,4 @@
-%h4 
+%h4
   Project is archived
 %p
   This merge request cannot be merged because archived projects cannot be written to.
diff --git a/app/views/projects/merge_requests/widget/open/_nothing.html.haml b/app/views/projects/merge_requests/widget/open/_nothing.html.haml
index 35626b624b7a2cb9de503aa314899455e3be3983..7af8c01c1346a13960dfc8e715d9c7894ce465d3 100644
--- a/app/views/projects/merge_requests/widget/open/_nothing.html.haml
+++ b/app/views/projects/merge_requests/widget/open/_nothing.html.haml
@@ -1,4 +1,4 @@
-%h4 
+%h4
   = icon("exclamation-triangle")
   Nothing to merge from
   %span.label-branch= source_branch_with_namespace(@merge_request)
diff --git a/app/views/projects/milestones/_form.html.haml b/app/views/projects/milestones/_form.html.haml
index 513710e8e66fb6697a2023b446611a742e9169eb..0f4a850875155e30c224fc1af6d723435be7b83b 100644
--- a/app/views/projects/milestones/_form.html.haml
+++ b/app/views/projects/milestones/_form.html.haml
@@ -20,6 +20,6 @@
     - if @milestone.new_record?
       = f.submit 'Create milestone', class: "btn-create btn"
       = link_to "Cancel", namespace_project_milestones_path(@project.namespace, @project), class: "btn btn-cancel"
-    -else
+    - else
       = f.submit 'Save changes', class: "btn-save btn"
       = link_to "Cancel", namespace_project_milestone_path(@project.namespace, @project, @milestone), class: "btn btn-cancel"
diff --git a/app/views/projects/new.html.haml b/app/views/projects/new.html.haml
index 866b278ce573f160053235f5afccfa0a3e7eb20e..064e92b15eba1d7e12021569e0f2b60934bb7c7e 100644
--- a/app/views/projects/new.html.haml
+++ b/app/views/projects/new.html.haml
@@ -77,7 +77,7 @@
                   - if git_import_enabled?
                     = link_to "#", class: 'btn js-toggle-button import_git' do
                       = icon('git', text: 'Repo by URL')
-                %div{ class: 'import_gitlab_project' }
+                .import_gitlab_project
                   - if gitlab_project_import_enabled?
                     = link_to new_import_gitlab_project_path, class: 'btn btn_import_gitlab_project project-submit' do
                       = icon('gitlab', text: 'GitLab export')
diff --git a/app/views/projects/notes/_form.html.haml b/app/views/projects/notes/_form.html.haml
index 46b402545cddb85d20cc75acf19ddd48da801634..39731668a61ee96bec8fd2cffb2ff60e03351b30 100644
--- a/app/views/projects/notes/_form.html.haml
+++ b/app/views/projects/notes/_form.html.haml
@@ -23,5 +23,5 @@
   .note-form-actions.clearfix
     = f.submit 'Comment', class: "btn btn-nr btn-create append-right-10 comment-btn js-comment-button"
     = yield(:note_actions)
-    %a.btn.btn-cancel.js-note-discard{role: "button", data: {cancel_text: "Cancel"}}
+    %a.btn.btn-cancel.js-note-discard{ role: "button", data: {cancel_text: "Cancel" } }
       Discard draft
diff --git a/app/views/projects/notes/_note.html.haml b/app/views/projects/notes/_note.html.haml
index 399cf85cd0f3c747372833e8f3fce21fa88a8d5e..eb869ea85bfb42c551628eaca9078428b01be612 100644
--- a/app/views/projects/notes/_note.html.haml
+++ b/app/views/projects/notes/_note.html.haml
@@ -5,7 +5,7 @@
 %li.timeline-entry{ id: dom_id(note), class: ["note", "note-row-#{note.id}", ('system-note' if note.system)], data: {author_id: note.author.id, editable: note_editable} }
   .timeline-entry-inner
     .timeline-icon
-      %a{href: user_path(note.author)}
+      %a{ href: user_path(note.author) }
         = image_tag avatar_icon(note.author), alt: '', class: 'avatar s40'
     .timeline-content
       .note-header
@@ -15,7 +15,7 @@
           - unless note.system
             commented
           - if note.system
-            %span{class: 'system-note-message'}
+            %span.system-note-message
               = note.redacted_note_html
           %a{ href: "##{dom_id(note)}" }
             = time_ago_with_tooltip(note.created_at, placement: 'bottom', html_class: 'note-created-ago')
@@ -61,7 +61,7 @@
                   = icon('pencil', class: 'link-highlight')
                 = link_to namespace_project_note_path(note.project.namespace, note.project, note), title: 'Remove comment', method: :delete, data: { confirm: 'Are you sure you want to remove this comment?' }, remote: true, class: 'note-action-button hidden-xs js-note-delete danger' do
                   = icon('trash-o', class: 'danger-highlight')
-      .note-body{class: note_editable ? 'js-task-list-container' : ''}
+      .note-body{ class: note_editable ? 'js-task-list-container' : '' }
         .note-text.md
           = preserve do
             = note.redacted_note_html
diff --git a/app/views/projects/pipelines/_info.html.haml b/app/views/projects/pipelines/_info.html.haml
index b00ba2d5307c60c55e0ea280cdd5d9bb14c33778..ca76f13ef5ead69fa6d122e961802efb821672ec 100644
--- a/app/views/projects/pipelines/_info.html.haml
+++ b/app/views/projects/pipelines/_info.html.haml
@@ -23,7 +23,7 @@
 .info-well
   - if @commit.status
     .well-segment.pipeline-info
-      %div{class: "icon-container ci-status-icon-#{@commit.status}"}
+      %div{ class: "icon-container ci-status-icon-#{@commit.status}" }
         = ci_icon_for_status(@commit.status)
       = pluralize @pipeline.statuses.count(:id), "build"
       - if @pipeline.ref
diff --git a/app/views/projects/pipelines/index.html.haml b/app/views/projects/pipelines/index.html.haml
index 28026ccf86191606674dd61d4600eaa3d5c7c5e1..4bb3d4d35fbe0b4f9b5bc82d805e0b8f6c524bf1 100644
--- a/app/views/projects/pipelines/index.html.haml
+++ b/app/views/projects/pipelines/index.html.haml
@@ -5,23 +5,23 @@
 %div{ class: container_class }
   .top-area
     %ul.nav-links
-      %li{class: ('active' if @scope.nil?)}>
+      %li{ class: ('active' if @scope.nil?) }>
         = link_to project_pipelines_path(@project) do
           All
           %span.badge.js-totalbuilds-count
             = number_with_delimiter(@pipelines_count)
 
-      %li{class: ('active' if @scope == 'running')}>
+      %li{ class: ('active' if @scope == 'running') }>
         = link_to project_pipelines_path(@project, scope: :running) do
           Running
           %span.badge.js-running-count
             = number_with_delimiter(@running_or_pending_count)
 
-      %li{class: ('active' if @scope == 'branches')}>
+      %li{ class: ('active' if @scope == 'branches') }>
         = link_to project_pipelines_path(@project, scope: :branches) do
           Branches
 
-      %li{class: ('active' if @scope == 'tags')}>
+      %li{ class: ('active' if @scope == 'tags') }>
         = link_to project_pipelines_path(@project, scope: :tags) do
           Tags
 
@@ -36,7 +36,7 @@
         = link_to ci_lint_path, class: 'btn btn-default' do
           %span CI Lint
 
-  %div.content-list.pipelines
+  .content-list.pipelines
     - if @pipelines.blank?
       %div
         .nothing-here-block No pipelines to show
diff --git a/app/views/projects/pipelines/show.html.haml b/app/views/projects/pipelines/show.html.haml
index 29a41bc664bc7f792f426f997e4111058fa120cf..49c1d88642329752938c110107f3d85563c4383a 100644
--- a/app/views/projects/pipelines/show.html.haml
+++ b/app/views/projects/pipelines/show.html.haml
@@ -2,7 +2,7 @@
 - page_title "Pipeline"
 = render "projects/pipelines/head"
 
-%div.js-pipeline-container{ class: container_class, data: { controller_action: "#{controller.action_name}" } }
+.js-pipeline-container{ class: container_class, data: { controller_action: "#{controller.action_name}" } }
   - if @commit
     = render "projects/pipelines/info"
 
diff --git a/app/views/projects/runners/_runner.html.haml b/app/views/projects/runners/_runner.html.haml
index 6e58e5a0c781a0c4a211c0a58b3000026abb6b20..7036b8a5ccce4306f5febdd22cd3df035f1453c7 100644
--- a/app/views/projects/runners/_runner.html.haml
+++ b/app/views/projects/runners/_runner.html.haml
@@ -1,4 +1,4 @@
-%li.runner{id: dom_id(runner)}
+%li.runner{ id: dom_id(runner) }
   %h4
     = runner_status_icon(runner)
     %span.monospace
diff --git a/app/views/projects/snippets/show.html.haml b/app/views/projects/snippets/show.html.haml
index 79d87b7db127d89e8c291e2241c03cb9e6f930dd..485b23815bc022ceca2a07bf1684ba6fddce2f31 100644
--- a/app/views/projects/snippets/show.html.haml
+++ b/app/views/projects/snippets/show.html.haml
@@ -15,4 +15,4 @@
   .row-content-block.top-block.content-component-block
     = render 'award_emoji/awards_block', awardable: @snippet, inline: true
 
-  %div#notes= render "projects/notes/notes_with_form"
+  #notes= render "projects/notes/notes_with_form"
diff --git a/app/views/projects/stage/_graph.html.haml b/app/views/projects/stage/_graph.html.haml
index 6919b210a000148477a079f7369ca8cc74498df4..d9d392fa02ff33d9e6566b8388ed7e1b3b33bbd6 100644
--- a/app/views/projects/stage/_graph.html.haml
+++ b/app/views/projects/stage/_graph.html.haml
@@ -10,11 +10,10 @@
       - status_groups.each do |group_name, grouped_statuses|
         - if grouped_statuses.one?
           - status = grouped_statuses.first
-          %li.build{ 'id' => "ci-badge-#{group_name}"  }
+          %li.build{ 'id' => "ci-badge-#{group_name}" }
             .curve
             = render 'ci/status/graph_badge', subject: status
         - else
-          %li.build{ 'id' => "ci-badge-#{group_name}"  }
+          %li.build{ 'id' => "ci-badge-#{group_name}" }
             .curve
             = render 'projects/stage/in_stage_group', name: group_name, subject: grouped_statuses
-
diff --git a/app/views/projects/stage/_in_stage_group.html.haml b/app/views/projects/stage/_in_stage_group.html.haml
index 65e5f31e86c7a46d986ee120416a2bbda96b0644..c4cb9ab50d0103d5d53b23e0d7fff76789a6410e 100644
--- a/app/views/projects/stage/_in_stage_group.html.haml
+++ b/app/views/projects/stage/_in_stage_group.html.haml
@@ -1,6 +1,6 @@
 - group_status = CommitStatus.where(id: subject).status
 %button.dropdown-menu-toggle.build-content.has-tooltip{ type: 'button', data: { toggle: 'dropdown',  title: "#{name} - #{group_status}" } }
-  %span{class: "ci-status-icon ci-status-icon-#{group_status}"}
+  %span{ class: "ci-status-icon ci-status-icon-#{group_status}" }
     = ci_icon_for_status(group_status)
   %span.ci-status-text
     = name
diff --git a/app/views/projects/stage/_stage.html.haml b/app/views/projects/stage/_stage.html.haml
index 1684e02fbad5af60d363969529b10a01924ed08d..28e1c060875eb28ea0fbd0bf2c4261decf4956e6 100644
--- a/app/views/projects/stage/_stage.html.haml
+++ b/app/views/projects/stage/_stage.html.haml
@@ -1,13 +1,13 @@
 %tr
-  %th{colspan: 10}
+  %th{ colspan: 10 }
     %strong
       %a{ name: stage.name }
-      %span{class: "ci-status-link ci-status-icon-#{stage.status}"}
+      %span{ class: "ci-status-link ci-status-icon-#{stage.status}" }
         = ci_icon_for_status(stage.status)
       &nbsp;
       = stage.name.titleize
 = render stage.statuses.latest_ordered, coverage: @project.build_coverage_enabled?, stage: false, ref: false, pipeline_link: false, allow_retry: true
 = render stage.statuses.retried_ordered, coverage: @project.build_coverage_enabled?, stage: false, ref: false, pipeline_link: false, retried: true
 %tr
-  %td{colspan: 10}
+  %td{ colspan: 10 }
     &nbsp;
diff --git a/app/views/projects/tags/index.html.haml b/app/views/projects/tags/index.html.haml
index 92a023a5c854f42099821792fd77b86d79dd5b8a..e2f132f77428c7551cf9cba226347b9915a3818c 100644
--- a/app/views/projects/tags/index.html.haml
+++ b/app/views/projects/tags/index.html.haml
@@ -2,7 +2,7 @@
 - page_title "Tags"
 = render "projects/commits/head"
 
-%div.flex-list{ class: container_class }
+.flex-list{ class: container_class }
   .top-area.flex-row
     .nav-text.row-main-content
       Tags give the ability to mark specific points in history as being important
diff --git a/app/views/projects/tags/new.html.haml b/app/views/projects/tags/new.html.haml
index c06a413eb2ff45094a64f3de2530aaae51bb5712..160d4c7a22372d82e415c67b5ad19065ed36e24d 100644
--- a/app/views/projects/tags/new.html.haml
+++ b/app/views/projects/tags/new.html.haml
@@ -2,7 +2,7 @@
 
 - if @error
   .alert.alert-danger
-    %button{ type: "button", class: "close", "data-dismiss" => "alert"} &times;
+    %button.close{ type: "button", "data-dismiss" => "alert" } &times;
     = @error
 
 %h3.page-title
diff --git a/app/views/projects/tags/show.html.haml b/app/views/projects/tags/show.html.haml
index a8d462132c6651b255e8abf42a864f3c021128e3..fad3c5c2173f31b39ee8459af0f3d205d9d57ca7 100644
--- a/app/views/projects/tags/show.html.haml
+++ b/app/views/projects/tags/show.html.haml
@@ -26,7 +26,7 @@
         .btn-container.controls-item-full
           = link_to namespace_project_tag_path(@project.namespace, @project, @tag.name), class: 'btn btn-remove remove-row has-tooltip', title: "Delete tag", method: :delete, data: { confirm: "Deleting the '#{@tag.name}' tag cannot be undone. Are you sure?" } do
             %i.fa.fa-trash-o
-            
+
     - if @tag.message.present?
       %pre.wrap
         = strip_gpg_signature(@tag.message)
diff --git a/app/views/projects/tree/_blob_item.html.haml b/app/views/projects/tree/_blob_item.html.haml
index ee417b58cbf5656706351150bff0d1b3a9628571..425b460eb093a7af430a3925e5cdc7a82dac4c8f 100644
--- a/app/views/projects/tree/_blob_item.html.haml
+++ b/app/views/projects/tree/_blob_item.html.haml
@@ -6,4 +6,4 @@
       %span.str-truncated= file_name
   %td.hidden-xs.tree-commit
   %td.tree-time-ago.cgray.text-right
-    = render 'projects/tree/spinner'
\ No newline at end of file
+    = render 'projects/tree/spinner'
diff --git a/app/views/projects/tree/_submodule_item.html.haml b/app/views/projects/tree/_submodule_item.html.haml
index 2b5f671c09ec5e4a1e268ecaa20f1578119c650d..04d52361db0ac67c0b61b6be48fc28d4ffb5d74a 100644
--- a/app/views/projects/tree/_submodule_item.html.haml
+++ b/app/views/projects/tree/_submodule_item.html.haml
@@ -1,4 +1,4 @@
-%tr{ class: "tree-item" }
+%tr.tree-item
   %td.tree-item-file-name
     %i.fa.fa-archive.fa-fw
     = submodule_link(submodule_item, @ref)
diff --git a/app/views/projects/tree/_tree_content.html.haml b/app/views/projects/tree/_tree_content.html.haml
index d37c376c36b375d265ecbb27e75d4de3153a6a4b..038a960bd0c387d2b4e8c12f4660588ea26c6ba4 100644
--- a/app/views/projects/tree/_tree_content.html.haml
+++ b/app/views/projects/tree/_tree_content.html.haml
@@ -1,13 +1,13 @@
-%div.tree-content-holder
+.tree-content-holder
   .table-holder
-    %table.table#tree-slider{class: "table_#{@hex_path} tree-table" }
+    %table.table#tree-slider{ class: "table_#{@hex_path} tree-table" }
       %thead
         %tr
           %th Name
           %th.hidden-xs
             .pull-left Last commit
             .last-commit.hidden-sm.pull-left
-              %small.light              
+              %small.light
                 = clipboard_button(clipboard_text: @commit.id)
                 = link_to @commit.short_id, namespace_project_commit_path(@project.namespace, @project, @commit), class: "monospace"
                 = time_ago_with_tooltip(@commit.committed_date)
diff --git a/app/views/projects/tree/_tree_header.html.haml b/app/views/projects/tree/_tree_header.html.haml
index 1c5f8b3928b3385bc85406ee2d4c151f2a70269b..259207a6dfde290955bc0873513dae730901aa90 100644
--- a/app/views/projects/tree/_tree_header.html.haml
+++ b/app/views/projects/tree/_tree_header.html.haml
@@ -15,11 +15,11 @@
   - if current_user
     %li
       - if !on_top_of_branch?
-        %span.btn.add-to-tree.disabled.has-tooltip{title: "You can only add files when you are on a branch", data: { container: 'body' }}
+        %span.btn.add-to-tree.disabled.has-tooltip{ title: "You can only add files when you are on a branch", data: { container: 'body' } }
           = icon('plus')
       - else
         %span.dropdown
-          %a.dropdown-toggle.btn.add-to-tree{href: '#', "data-toggle" => "dropdown"}
+          %a.dropdown-toggle.btn.add-to-tree{ href: '#', "data-toggle" => "dropdown" }
             = icon('plus')
           %ul.dropdown-menu
             - if can_edit_tree?
@@ -28,11 +28,11 @@
                   = icon('pencil fw')
                   New file
               %li
-                = link_to '#modal-upload-blob', { 'data-target' => '#modal-upload-blob', 'data-toggle' => 'modal'} do
+                = link_to '#modal-upload-blob', { 'data-target' => '#modal-upload-blob', 'data-toggle' => 'modal' } do
                   = icon('file fw')
                   Upload file
               %li
-                = link_to '#modal-create-new-dir', { 'data-target' => '#modal-create-new-dir', 'data-toggle' => 'modal'} do
+                = link_to '#modal-create-new-dir', { 'data-target' => '#modal-create-new-dir', 'data-toggle' => 'modal' } do
                   = icon('folder fw')
                   New directory
             - elsif can?(current_user, :fork_project, @project)
diff --git a/app/views/projects/tree/_tree_item.html.haml b/app/views/projects/tree/_tree_item.html.haml
index 1ccef6d52abb35e6273531ebd7202ff2e6263efd..15c9536133cd24b62924d0e2a20b8d6cd35f4572 100644
--- a/app/views/projects/tree/_tree_item.html.haml
+++ b/app/views/projects/tree/_tree_item.html.haml
@@ -6,4 +6,4 @@
       %span.str-truncated= path
   %td.hidden-xs.tree-commit
   %td.tree-time-ago.text-right
-    = render 'projects/tree/spinner'
\ No newline at end of file
+    = render 'projects/tree/spinner'
diff --git a/app/views/projects/variables/index.html.haml b/app/views/projects/variables/index.html.haml
index 3930370013184f87ea270ab39b8d6187cec52f18..cf7ae0b489f35cca2f4f72a94c6f468670f23b1f 100644
--- a/app/views/projects/variables/index.html.haml
+++ b/app/views/projects/variables/index.html.haml
@@ -15,4 +15,4 @@
         No variables found, add one with the form above.
     - else
       = render "table"
-      %button.btn.btn-info.js-btn-toggle-reveal-values{"data-status" => 'hidden'} Reveal Values
+      %button.btn.btn-info.js-btn-toggle-reveal-values{ "data-status" => 'hidden' } Reveal Values
diff --git a/app/views/projects/wikis/_new.html.haml b/app/views/projects/wikis/_new.html.haml
index c32cb122c26fe33b8e4f263fff88275f7033fab2..c74f53b4c39fed8f7af6f81c8ea4fb008a764e3d 100644
--- a/app/views/projects/wikis/_new.html.haml
+++ b/app/views/projects/wikis/_new.html.haml
@@ -1,11 +1,11 @@
 - @no_container = true
 
 %div{ class: container_class }
-  %div#modal-new-wiki.modal
+  #modal-new-wiki.modal
     .modal-dialog
       .modal-content
         .modal-header
-          %a.close{href: "#", "data-dismiss" => "modal"} ×
+          %a.close{ href: "#", "data-dismiss" => "modal" } ×
           %h3.page-title New Wiki Page
         .modal-body
           %form.new-wiki-page
diff --git a/app/views/search/_category.html.haml b/app/views/search/_category.html.haml
index 2c378231237393072f2ddfaa3c8799e57bdb169f..8cbecb725b528aae1abd8caf9a455e5a7e4f0e63 100644
--- a/app/views/search/_category.html.haml
+++ b/app/views/search/_category.html.haml
@@ -1,70 +1,70 @@
 %ul.nav-links.search-filter
   - if @project
-    %li{class: ("active" if @scope == 'blobs')}
+    %li{ class: ("active" if @scope == 'blobs') }
       = link_to search_filter_path(scope: 'blobs') do
         Code
         %span.badge
           = @search_results.blobs_count
-    %li{class: ("active" if @scope == 'issues')}
+    %li{ class: ("active" if @scope == 'issues') }
       = link_to search_filter_path(scope: 'issues') do
         Issues
         %span.badge
           = @search_results.issues_count
-    %li{class: ("active" if @scope == 'merge_requests')}
+    %li{ class: ("active" if @scope == 'merge_requests') }
       = link_to search_filter_path(scope: 'merge_requests') do
         Merge requests
         %span.badge
           = @search_results.merge_requests_count
-    %li{class: ("active" if @scope == 'milestones')}
+    %li{ class: ("active" if @scope == 'milestones') }
       = link_to search_filter_path(scope: 'milestones') do
         Milestones
         %span.badge
           = @search_results.milestones_count
-    %li{class: ("active" if @scope == 'notes')}
+    %li{ class: ("active" if @scope == 'notes') }
       = link_to search_filter_path(scope: 'notes') do
         Comments
         %span.badge
           = @search_results.notes_count
-    %li{class: ("active" if @scope == 'wiki_blobs')}
+    %li{ class: ("active" if @scope == 'wiki_blobs') }
       = link_to search_filter_path(scope: 'wiki_blobs') do
         Wiki
         %span.badge
           = @search_results.wiki_blobs_count
-    %li{class: ("active" if @scope == 'commits')}
+    %li{ class: ("active" if @scope == 'commits') }
       = link_to search_filter_path(scope: 'commits') do
         Commits
         %span.badge
           = @search_results.commits_count
 
   - elsif @show_snippets
-    %li{class: ("active" if @scope == 'snippet_blobs')}
+    %li{ class: ("active" if @scope == 'snippet_blobs') }
       = link_to search_filter_path(scope: 'snippet_blobs', snippets: true, group_id: nil, project_id: nil) do
         Snippet Contents
         %span.badge
           = @search_results.snippet_blobs_count
-    %li{class: ("active" if @scope == 'snippet_titles')}
+    %li{ class: ("active" if @scope == 'snippet_titles') }
       = link_to search_filter_path(scope: 'snippet_titles', snippets: true, group_id: nil, project_id: nil) do
         Titles and Filenames
         %span.badge
           = @search_results.snippet_titles_count
 
   - else
-    %li{class: ("active" if @scope == 'projects')}
+    %li{ class: ("active" if @scope == 'projects') }
       = link_to search_filter_path(scope: 'projects') do
         Projects
         %span.badge
           = @search_results.projects_count
-    %li{class: ("active" if @scope == 'issues')}
+    %li{ class: ("active" if @scope == 'issues') }
       = link_to search_filter_path(scope: 'issues') do
         Issues
         %span.badge
           = @search_results.issues_count
-    %li{class: ("active" if @scope == 'merge_requests')}
+    %li{ class: ("active" if @scope == 'merge_requests') }
       = link_to search_filter_path(scope: 'merge_requests') do
         Merge requests
         %span.badge
           = @search_results.merge_requests_count
-    %li{class: ("active" if @scope == 'milestones')}
+    %li{ class: ("active" if @scope == 'milestones') }
       = link_to search_filter_path(scope: 'milestones') do
         Milestones
         %span.badge
diff --git a/app/views/shared/_clone_panel.html.haml b/app/views/shared/_clone_panel.html.haml
index 3b82d8e686f37d7075be2a475368ec1b652e7c4a..96b7544030974d4aec105344fc0f125b29e06b66 100644
--- a/app/views/shared/_clone_panel.html.haml
+++ b/app/views/shared/_clone_panel.html.haml
@@ -2,12 +2,12 @@
 
 .git-clone-holder.input-group
   .input-group-btn
-    -if allowed_protocols_present?
+    - if allowed_protocols_present?
       .clone-dropdown-btn.btn.btn-static
         %span
           = enabled_project_button(project, enabled_protocol)
     - else
-      %a#clone-dropdown.clone-dropdown-btn.btn{href: '#', data: { toggle: 'dropdown' }}
+      %a#clone-dropdown.clone-dropdown-btn.btn{ href: '#', data: { toggle: 'dropdown' } }
         %span
           = default_clone_protocol.upcase
         = icon('caret-down')
diff --git a/app/views/shared/_confirm_modal.html.haml b/app/views/shared/_confirm_modal.html.haml
index b0fc60573f734abc6424b08b1731ac5b7186deee..e7cb93b17a714c74d0524f6ceedb50eaf0750bb7 100644
--- a/app/views/shared/_confirm_modal.html.haml
+++ b/app/views/shared/_confirm_modal.html.haml
@@ -1,8 +1,8 @@
-#modal-confirm-danger.modal{tabindex: -1}
+#modal-confirm-danger.modal{ tabindex: -1 }
   .modal-dialog
     .modal-content
       .modal-header
-        %a.close{href: "#", "data-dismiss" => "modal"} ×
+        %a.close{ href: "#", "data-dismiss" => "modal" } ×
         %h3.page-title
           Confirmation required
 
diff --git a/app/views/shared/_file_highlight.html.haml b/app/views/shared/_file_highlight.html.haml
index e26693bf5b9613a0419b520b10e983371e6d1e9f..8d64cb5d698b81b1da27c8dd91782f46d6ab1f0f 100644
--- a/app/views/shared/_file_highlight.html.haml
+++ b/app/views/shared/_file_highlight.html.haml
@@ -9,8 +9,8 @@
         - offset = defined?(first_line_number) ? first_line_number : 1
         - i = index + offset
         -# We're not using `link_to` because it is too slow once we get to thousands of lines.
-        %a.diff-line-num{href: "#{link}#L#{i}", id: "L#{i}", 'data-line-number' => i}
+        %a.diff-line-num{ href: "#{link}#L#{i}", id: "L#{i}", 'data-line-number' => i }
           = link_icon
           = i
-  .blob-content{data: {blob_id: blob.id}}
+  .blob-content{ data: { blob_id: blob.id } }
     = highlight(blob.path, blob.data, repository: repository, plain: blob.no_highlighting?)
diff --git a/app/views/shared/_label.html.haml b/app/views/shared/_label.html.haml
index db324d8868e26284babe9ca0f78cd705ee94ab3d..f11f4471a9d29fdf5ca293add5ec5ee48cf8707b 100644
--- a/app/views/shared/_label.html.haml
+++ b/app/views/shared/_label.html.haml
@@ -4,7 +4,7 @@
 - status = label_subscription_status(label, @project).inquiry if current_user
 - subject = local_assigns[:subject]
 
-%li{id: label_css_id, data: { id: label.id } }
+%li{ id: label_css_id, data: { id: label.id } }
   = render "shared/label_row", label: label
 
   .visible-xs.visible-sm-inline-block.visible-md-inline-block.dropdown
@@ -56,7 +56,7 @@
             = icon('spinner spin', class: 'label-subscribe-button-loading')
 
           .dropdown.dropdown-group-label{ class: ('hidden' unless status.unsubscribed?) }
-            %button.dropdown-menu-toggle{type: 'button', 'data-toggle' => 'dropdown'}
+            %button.dropdown-menu-toggle{ type: 'button', 'data-toggle' => 'dropdown' }
               %span Subscribe
               = icon('chevron-down')
             %ul.dropdown-menu
diff --git a/app/views/shared/_milestones_filter.html.haml b/app/views/shared/_milestones_filter.html.haml
index 186ed4a7c8b0147f520756e226ba25febd28e7b2..39294fe1a0989d816e05b0a8fc6c4f94e6b71673 100644
--- a/app/views/shared/_milestones_filter.html.haml
+++ b/app/views/shared/_milestones_filter.html.haml
@@ -2,17 +2,17 @@
   - counts = milestone_counts(@project.milestones)
 
 %ul.nav-links
-  %li{class: milestone_class_for_state(params[:state], 'opened', true)}>
+  %li{ class: milestone_class_for_state(params[:state], 'opened', true) }>
     = link_to milestones_filter_path(state: 'opened') do
       Open
       - if @project
         %span.badge #{counts[:opened]}
-  %li{class: milestone_class_for_state(params[:state], 'closed')}>
+  %li{ class: milestone_class_for_state(params[:state], 'closed') }>
     = link_to milestones_filter_path(state: 'closed') do
       Closed
       - if @project
         %span.badge #{counts[:closed]}
-  %li{class: milestone_class_for_state(params[:state], 'all')}>
+  %li{ class: milestone_class_for_state(params[:state], 'all') }>
     = link_to milestones_filter_path(state: 'all') do
       All
       - if @project
diff --git a/app/views/shared/_nav_scroll.html.haml b/app/views/shared/_nav_scroll.html.haml
index 4e3b1b3a571da49e13ca1edc61a845980bcfcbb2..61646f150c106bb10f13cf76dcbc357c45a58456 100644
--- a/app/views/shared/_nav_scroll.html.haml
+++ b/app/views/shared/_nav_scroll.html.haml
@@ -1,4 +1,4 @@
 .fade-left
   = icon('angle-left')
 .fade-right
-  = icon('angle-right')
\ No newline at end of file
+  = icon('angle-right')
diff --git a/app/views/shared/_sort_dropdown.html.haml b/app/views/shared/_sort_dropdown.html.haml
index ede3c7090d75c5846f3c9eb37507c8ffbe091115..0ce0d759e86764ea27f79286418646175914636b 100644
--- a/app/views/shared/_sort_dropdown.html.haml
+++ b/app/views/shared/_sort_dropdown.html.haml
@@ -1,5 +1,5 @@
 .dropdown.inline.prepend-left-10
-  %button.dropdown-toggle{type: 'button', data: {toggle: 'dropdown'}}
+  %button.dropdown-toggle{ type: 'button', data: {toggle: 'dropdown' } }
     %span.light
     - if @sort.present?
       = sort_options_hash[@sort]
diff --git a/app/views/shared/groups/_group.html.haml b/app/views/shared/groups/_group.html.haml
index 8164f61797c0d0a451e4fecb7cb80af18c036fb8..f9a7aa4e29bd7372be09fa6d77c76086cbfa630f 100644
--- a/app/views/shared/groups/_group.html.haml
+++ b/app/views/shared/groups/_group.html.haml
@@ -21,7 +21,7 @@
       = icon('users')
       = number_with_delimiter(group.users.count)
 
-    %span.visibility-icon.has-tooltip{data: { container: 'body', placement: 'left' }, title: visibility_icon_description(group)}
+    %span.visibility-icon.has-tooltip{ data: { container: 'body', placement: 'left' }, title: visibility_icon_description(group) }
       = visibility_level_icon(group.visibility_level, fw: false)
 
   .avatar-container.s40
diff --git a/app/views/shared/issuable/_filter.html.haml b/app/views/shared/issuable/_filter.html.haml
index d6c67c523e20d7ed964613d5922a5b886fa58db2..b42eaabb111b220dc928b32261182fcc12ae9b56 100644
--- a/app/views/shared/issuable/_filter.html.haml
+++ b/app/views/shared/issuable/_filter.html.haml
@@ -31,7 +31,7 @@
 
         - if issuable_filter_present?
           .filter-item.inline.reset-filters
-            %a{href: page_filter_path(without: issuable_filter_params)} Reset filters
+            %a{ href: page_filter_path(without: issuable_filter_params) } Reset filters
 
         .pull-right
           - if boards_page
@@ -56,9 +56,9 @@
             = dropdown_tag("Status", options: { toggle_class: "js-issue-status", title: "Change status", dropdown_class: "dropdown-menu-status dropdown-menu-selectable", data: { field_name: "update[state_event]" } } ) do
               %ul
                 %li
-                  %a{href: "#", data: {id: "reopen"}} Open
+                  %a{ href: "#", data: { id: "reopen" } } Open
                 %li
-                  %a{href: "#", data: {id: "close"}} Closed
+                  %a{ href: "#", data: {id: "close" } } Closed
           .filter-item.inline
             = dropdown_tag("Assignee", options: { toggle_class: "js-user-search js-update-assignee js-filter-submit js-filter-bulk-update", title: "Assign to", filter: true, dropdown_class: "dropdown-menu-user dropdown-menu-selectable",
               placeholder: "Search authors", data: { first_user: (current_user.username if current_user), null_user: true, current_user: true, project_id: @project.id, field_name: "update[assignee_id]" } })
@@ -70,9 +70,9 @@
             = dropdown_tag("Subscription", options: { toggle_class: "js-subscription-event", title: "Change subscription", dropdown_class: "dropdown-menu-selectable", data: { field_name: "update[subscription_event]" } } ) do
               %ul
                 %li
-                  %a{href: "#", data: {id: "subscribe"}} Subscribe
+                  %a{ href: "#", data: { id: "subscribe" } } Subscribe
                 %li
-                  %a{href: "#", data: {id: "unsubscribe"}} Unsubscribe
+                  %a{ href: "#", data: { id: "unsubscribe" } } Unsubscribe
 
           = hidden_field_tag 'update[issuable_ids]', []
           = hidden_field_tag :state_event, params[:state_event]
diff --git a/app/views/shared/issuable/_form.html.haml b/app/views/shared/issuable/_form.html.haml
index bdb00bfa33c6148bd932cb38240b900702cacbe1..dcc1f3ba676da82d2012120b67960e5cb8dffe67 100644
--- a/app/views/shared/issuable/_form.html.haml
+++ b/app/views/shared/issuable/_form.html.haml
@@ -58,7 +58,7 @@
         as resolved. Ask someone with sufficient rights to resolve the them.
 
 - is_footer = !(issuable.is_a?(MergeRequest) && issuable.new_record?)
-.row-content-block{class: (is_footer ? "footer-block" : "middle-block")}
+.row-content-block{ class: (is_footer ? "footer-block" : "middle-block") }
   - if issuable.new_record?
     = form.submit "Submit #{issuable.class.model_name.human.downcase}", class: 'btn btn-create'
   - else
diff --git a/app/views/shared/issuable/_label_dropdown.html.haml b/app/views/shared/issuable/_label_dropdown.html.haml
index 22b5a6aa11bebb39a9f273de03656dc93564fea7..93c7fa0c7d65d29d32048c4002547a0b60cd14d3 100644
--- a/app/views/shared/issuable/_label_dropdown.html.haml
+++ b/app/views/shared/issuable/_label_dropdown.html.haml
@@ -19,7 +19,7 @@
     = hidden_field_tag data_options[:field_name], use_id ? label.try(:id) : label.try(:title), id: nil
 
 .dropdown
-  %button.dropdown-menu-toggle.js-label-select.js-multiselect{class: classes.join(' '), type: "button", data: dropdown_data}
+  %button.dropdown-menu-toggle.js-label-select.js-multiselect{ class: classes.join(' '), type: "button", data: dropdown_data }
     %span.dropdown-toggle-text{ class: ("is-default" if selected.nil? || selected.empty?) }
       = multi_label_name(selected, "Labels")
     = icon('chevron-down')
diff --git a/app/views/shared/issuable/_label_page_default.html.haml b/app/views/shared/issuable/_label_page_default.html.haml
index a8f01026ca553179512ab4e3581d614b021cdec3..9a8529c6cbb7a90ced227ec5b4c3fd5e50c9b2e8 100644
--- a/app/views/shared/issuable/_label_page_default.html.haml
+++ b/app/views/shared/issuable/_label_page_default.html.haml
@@ -17,7 +17,7 @@
       %ul.dropdown-footer-list
         - if can?(current_user, :admin_label, @project)
           %li
-            %a.dropdown-toggle-page{href: "#"}
+            %a.dropdown-toggle-page{ href: "#" }
               Create new label
         %li
           = link_to namespace_project_labels_path(@project.namespace, @project), :"data-is-link" => true do
diff --git a/app/views/shared/issuable/_nav.html.haml b/app/views/shared/issuable/_nav.html.haml
index d938edf4dbdd8a5d5d73930f53cffe215417e7bb..1154316c03f25a47741c71251ac5d098a8c9331f 100644
--- a/app/views/shared/issuable/_nav.html.haml
+++ b/app/views/shared/issuable/_nav.html.haml
@@ -3,23 +3,23 @@
 - issuables = @issues || @merge_requests
 
 %ul.nav-links.issues-state-filters
-  %li{class: ("active" if params[:state] == 'opened')}>
+  %li{ class: ("active" if params[:state] == 'opened') }>
     = link_to page_filter_path(state: 'opened', label: true), id: 'state-opened', title: "Filter by #{page_context_word} that are currently opened." do
       #{issuables_state_counter_text(type, :opened)}
 
   - if type == :merge_requests
-    %li{class: ("active" if params[:state] == 'merged')}>
+    %li{ class: ("active" if params[:state] == 'merged') }>
       = link_to page_filter_path(state: 'merged', label: true), id: 'state-merged', title: 'Filter by merge requests that are currently merged.' do
         #{issuables_state_counter_text(type, :merged)}
 
-    %li{class: ("active" if params[:state] == 'closed')}>
+    %li{ class: ("active" if params[:state] == 'closed') }>
       = link_to page_filter_path(state: 'closed', label: true), id: 'state-closed', title: 'Filter by merge requests that are currently closed and unmerged.' do
         #{issuables_state_counter_text(type, :closed)}
   - else
-    %li{class: ("active" if params[:state] == 'closed')}>
+    %li{ class: ("active" if params[:state] == 'closed') }>
       = link_to page_filter_path(state: 'closed', label: true), id: 'state-all', title: 'Filter by issues that are currently closed.' do
         #{issuables_state_counter_text(type, :closed)}
 
-  %li{class: ("active" if params[:state] == 'all')}>
+  %li{ class: ("active" if params[:state] == 'all') }>
     = link_to page_filter_path(state: 'all', label: true), id: 'state-all', title: "Show all #{page_context_word}." do
       #{issuables_state_counter_text(type, :all)}
diff --git a/app/views/shared/issuable/_participants.html.haml b/app/views/shared/issuable/_participants.html.haml
index 33a9a49485797daa07c483bb2173bbea72fc53cb..171da89993736f94196b1e57a65066ef354e3a11 100644
--- a/app/views/shared/issuable/_participants.html.haml
+++ b/app/views/shared/issuable/_participants.html.haml
@@ -13,8 +13,8 @@
       .participants-author.js-participants-author
         = link_to_member(@project, participant, name: false, size: 24)
     - if participants_extra > 0
-      %div.participants-more
-        %a.js-participants-more{href: "#", data: {original_text: "+ #{participants_size - 7} more", less_text: "- show less"}}
+      .participants-more
+        %a.js-participants-more{ href: "#", data: { original_text: "+ #{participants_size - 7} more", less_text: "- show less" } }
           + #{participants_extra} more
 :javascript
   IssuableContext.prototype.PARTICIPANTS_ROW_COUNT = #{participants_row};
diff --git a/app/views/shared/issuable/_sidebar.html.haml b/app/views/shared/issuable/_sidebar.html.haml
index 9fe1be5a597d25bb5468ed805e89d9352919ace9..bc57d48ae7cacc1f18775fa3b940f4b1eef7ae67 100644
--- a/app/views/shared/issuable/_sidebar.html.haml
+++ b/app/views/shared/issuable/_sidebar.html.haml
@@ -17,9 +17,9 @@
               Add todo
           = icon('spin spinner', class: 'hidden js-issuable-todo-loading')
 
-    = form_for [@project.namespace.becomes(Namespace), @project, issuable], remote: true, format: :json, html: {class: 'issuable-context-form inline-update js-issuable-update'} do |f|
+    = form_for [@project.namespace.becomes(Namespace), @project, issuable], remote: true, format: :json, html: { class: 'issuable-context-form inline-update js-issuable-update' } do |f|
       .block.assignee
-        .sidebar-collapsed-icon.sidebar-collapsed-user{data: {toggle: "tooltip", placement: "left", container: "body"}, title: (issuable.assignee.name if issuable.assignee)}
+        .sidebar-collapsed-icon.sidebar-collapsed-user{ data: { toggle: "tooltip", placement: "left", container: "body" }, title: (issuable.assignee.name if issuable.assignee) }
           - if issuable.assignee
             = link_to_member(@project, issuable.assignee, size: 24)
           - else
@@ -54,7 +54,7 @@
           = icon('clock-o')
           %span
             - if issuable.milestone
-              %span.has-tooltip{title: milestone_remaining_days(issuable.milestone), data: {container: 'body', html: 1, placement: 'left'}}
+              %span.has-tooltip{ title: milestone_remaining_days(issuable.milestone), data: { container: 'body', html: 1, placement: 'left' } }
                 = issuable.milestone.title
             - else
               None
@@ -129,8 +129,8 @@
             - selected_labels.each do |label|
               = hidden_field_tag "#{issuable.to_ability_name}[label_names][]", label.id, id: nil
             .dropdown
-              %button.dropdown-menu-toggle.js-label-select.js-multiselect.js-label-sidebar-dropdown{type: "button", data: {toggle: "dropdown", default_label: "Labels", field_name: "#{issuable.to_ability_name}[label_names][]", ability_name: issuable.to_ability_name, show_no: "true", show_any: "true", namespace_path: @project.try(:namespace).try(:path), project_path: @project.try(:path), issue_update: issuable_json_path(issuable), labels: (namespace_project_labels_path(@project.namespace, @project, :json) if @project)}}
-                %span.dropdown-toggle-text{ class: ("is-default" if selected_labels.empty?)}
+              %button.dropdown-menu-toggle.js-label-select.js-multiselect.js-label-sidebar-dropdown{ type: "button", data: {toggle: "dropdown", default_label: "Labels", field_name: "#{issuable.to_ability_name}[label_names][]", ability_name: issuable.to_ability_name, show_no: "true", show_any: "true", namespace_path: @project.try(:namespace).try(:path), project_path: @project.try(:path), issue_update: issuable_json_path(issuable), labels: (namespace_project_labels_path(@project.namespace, @project, :json) if @project) } }
+                %span.dropdown-toggle-text{ class: ("is-default" if selected_labels.empty?) }
                   = multi_label_name(selected_labels, "Labels")
                 = icon('chevron-down')
               .dropdown-menu.dropdown-select.dropdown-menu-paging.dropdown-menu-labels.dropdown-menu-selectable
@@ -141,7 +141,7 @@
       = render "shared/issuable/participants", participants: issuable.participants(current_user)
       - if current_user
         - subscribed = issuable.subscribed?(current_user, @project)
-        .block.light.subscription{data: {url: toggle_subscription_path(issuable)}}
+        .block.light.subscription{ data: { url: toggle_subscription_path(issuable) } }
           .sidebar-collapsed-icon
             = icon('rss')
           %span.issuable-header-text.hide-collapsed.pull-left
@@ -157,7 +157,7 @@
         .cross-project-reference.hide-collapsed
           %span
             Reference:
-            %cite{title: project_ref}
+            %cite{ title: project_ref }
               = project_ref
           = clipboard_button(clipboard_text: project_ref)
 
diff --git a/app/views/shared/members/_group.html.haml b/app/views/shared/members/_group.html.haml
index 8928de9097b1465fb4f7e920cbe538c17203a999..a46ba3b060595bffaa9d9aec54657367acfc5076 100644
--- a/app/views/shared/members/_group.html.haml
+++ b/app/views/shared/members/_group.html.haml
@@ -3,7 +3,7 @@
 - can_admin_member = can?(current_user, :admin_project_member, @project)
 - dom_id = "group_member_#{group_link.id}"
 %li.member.group_member{ id: dom_id }
-  %span{ class: "list-item-name" }
+  %span.list-item-name
     = image_tag group_icon(group), class: "avatar s40", alt: ''
     %strong
       = link_to group.name, group_path(group)
diff --git a/app/views/shared/milestones/_issuable.html.haml b/app/views/shared/milestones/_issuable.html.haml
index 9e1b03794285f2436dffe00e5818238026412ce0..51c195ffbcd057fd3e2850685469b6dab7da8336 100644
--- a/app/views/shared/milestones/_issuable.html.haml
+++ b/app/views/shared/milestones/_issuable.html.haml
@@ -14,15 +14,15 @@
     - if issuable.is_a?(Issue)
       = confidential_icon(issuable)
     = link_to_gfm issuable.title, [project.namespace.becomes(Namespace), project, issuable], title: issuable.title
-  %div{class: 'issuable-detail'}
+  .issuable-detail
     = link_to [project.namespace.becomes(Namespace), project, issuable] do
-      %span{ class: 'issuable-number' }>= issuable.to_reference
+      %span.issuable-number >= issuable.to_reference
 
     - issuable.labels.each do |label|
       = link_to polymorphic_path(base_url_args, { milestone_title: @milestone.title, label_name: label.title, state: 'all' }) do
         - render_colored_label(label)
 
-    %span{ class: "assignee-icon" }
+    %span.assignee-icon
       - if assignee
         = link_to polymorphic_path(base_url_args, { milestone_title: @milestone.title, assignee_id: issuable.assignee_id, state: 'all' }),
                   class: 'has-tooltip', title: "Assigned to #{assignee.name}", data: { container: 'body' } do
diff --git a/app/views/shared/milestones/_milestone.html.haml b/app/views/shared/milestones/_milestone.html.haml
index 3dccfb147bfaab5363c8842147ca6df4716eaa5f..3200aacf5427360110c11496d13a963e398f4748 100644
--- a/app/views/shared/milestones/_milestone.html.haml
+++ b/app/views/shared/milestones/_milestone.html.haml
@@ -1,7 +1,7 @@
 - dashboard = local_assigns[:dashboard]
 - custom_dom_id = dom_id(@project ? milestone : milestone.milestones.first)
 
-%li{class: "milestone milestone-#{milestone.closed? ? 'closed' : 'open'}", id: custom_dom_id }
+%li{ class: "milestone milestone-#{milestone.closed? ? 'closed' : 'open'}", id: custom_dom_id }
   .row
     .col-sm-6
       %strong= link_to_gfm truncate(milestone.title, length: 100), milestone_path
diff --git a/app/views/shared/notifications/_custom_notifications.html.haml b/app/views/shared/notifications/_custom_notifications.html.haml
index a82fc95df84a92582f1cc1afb7549d5048c66ec5..b5c0a7fd6d4e4a32e390b56ed4042a89821febbf 100644
--- a/app/views/shared/notifications/_custom_notifications.html.haml
+++ b/app/views/shared/notifications/_custom_notifications.html.haml
@@ -18,7 +18,7 @@
                 %p
                   Custom notification levels are the same as participating levels. With custom notification levels you will also receive notifications for select events. To find out more, check out
                   = succeed "." do
-                    %a{ href: "http://docs.gitlab.com/ce/workflow/notifications.html", target: "_blank"} notification emails
+                    %a{ href: "http://docs.gitlab.com/ce/workflow/notifications.html", target: "_blank" } notification emails
               .col-lg-8
                 - NotificationSetting::EMAIL_EVENTS.each_with_index do |event, index|
                   - field_id = "#{notifications_menu_identifier("modal", notification_setting)}_notification_setting[#{event}]"
diff --git a/app/views/shared/projects/_project.html.haml b/app/views/shared/projects/_project.html.haml
index 264391fe84f6fd25403e7e9952a61e9e882cb7fc..4a27965754d137859cc98accbd04a45f7e566336 100644
--- a/app/views/shared/projects/_project.html.haml
+++ b/app/views/shared/projects/_project.html.haml
@@ -25,7 +25,7 @@
         %span
           = icon('star')
           = number_with_delimiter(project.star_count)
-      %span.visibility-icon.has-tooltip{data: { container: 'body', placement: 'left' }, title: visibility_icon_description(project)}
+      %span.visibility-icon.has-tooltip{ data: { container: 'body', placement: 'left' }, title: visibility_icon_description(project) }
         = visibility_level_icon(project.visibility_level, fw: true)
 
     .title
diff --git a/app/views/shared/snippets/_blob.html.haml b/app/views/shared/snippets/_blob.html.haml
index dcdba01aee9f4a12b9bf220cc802717e411082d9..ad5c0c2d8c80f6662aaffa25b50352154198ac62 100644
--- a/app/views/shared/snippets/_blob.html.haml
+++ b/app/views/shared/snippets/_blob.html.haml
@@ -1,6 +1,6 @@
 - unless @snippet.content.empty?
   - if markup?(@snippet.file_name)
-    %textarea.markdown-snippet-copy.blob-content{data: {blob_id: @snippet.id}}
+    %textarea.markdown-snippet-copy.blob-content{ data: { blob_id: @snippet.id } }
       = @snippet.content
     .file-content.wiki
       - if gitlab_markdown?(@snippet.file_name)
diff --git a/app/views/sherlock/file_samples/show.html.haml b/app/views/sherlock/file_samples/show.html.haml
index 94d4dd4fa7d78f277c2fe75666e399f35ef8b400..92151176fce2a0c5d24a05ca1e065eb229092b8d 100644
--- a/app/views/sherlock/file_samples/show.html.haml
+++ b/app/views/sherlock/file_samples/show.html.haml
@@ -41,7 +41,7 @@
             %th= t('sherlock.percent')
         %tbody
           - @file_sample.line_samples.each_with_index do |sample, index|
-            %tr{class: sample.majority_of?(@file_sample.duration) ? 'slow' : ''}
+            %tr{ class: sample.majority_of?(@file_sample.duration) ? 'slow' : '' }
               %td= index + 1
               %td= sample.events
               %td
diff --git a/app/views/sherlock/queries/_general.html.haml b/app/views/sherlock/queries/_general.html.haml
index 7073c0f4d90aad9ef931fdc7ad1196badd16e31e..5a447f791dc6aa7ce164b65a86c74bb5696077c9 100644
--- a/app/views/sherlock/queries/_general.html.haml
+++ b/app/views/sherlock/queries/_general.html.haml
@@ -26,7 +26,7 @@
   .panel.panel-default
     .panel-heading
       .pull-right
-        %button.js-clipboard-trigger.btn.btn-xs{title: t('sherlock.copy_to_clipboard'), type: :button}
+        %button.js-clipboard-trigger.btn.btn-xs{ title: t('sherlock.copy_to_clipboard'), type: :button }
           %i.fa.fa-clipboard
         %pre.hidden
           = @query.formatted_query
@@ -41,7 +41,7 @@
   .panel.panel-default
     .panel-heading
       .pull-right
-        %button.js-clipboard-trigger.btn.btn-xs{title: t('sherlock.copy_to_clipboard'), type: :button}
+        %button.js-clipboard-trigger.btn.btn-xs{ title: t('sherlock.copy_to_clipboard'), type: :button }
           %i.fa.fa-clipboard
         %pre.hidden
           = @query.explain
diff --git a/app/views/sherlock/queries/show.html.haml b/app/views/sherlock/queries/show.html.haml
index fc2863dca8e065db325d55c2909b924d73f5ff64..c45da6ee9a4084a901bedc3f1c90ea676934b959 100644
--- a/app/views/sherlock/queries/show.html.haml
+++ b/app/views/sherlock/queries/show.html.haml
@@ -3,10 +3,10 @@
 
 %ul.nav-links
   %li.active
-    %a(href="#tab-general" data-toggle="tab")
+    %a{ href: "#tab-general", data: { toggle: "tab" } }
       = t('sherlock.general')
   %li
-    %a(href="#tab-backtrace" data-toggle="tab")
+    %a{ href: "#tab-backtrace", data: { toggle: "tab" } }
       = t('sherlock.backtrace')
 
 .row-content-block
diff --git a/app/views/sherlock/transactions/index.html.haml b/app/views/sherlock/transactions/index.html.haml
index da969c0276523275b7c8457ee65f7596a6eb809d..bc05659dfa831a2f558f5db7874875699e2e7f95 100644
--- a/app/views/sherlock/transactions/index.html.haml
+++ b/app/views/sherlock/transactions/index.html.haml
@@ -28,7 +28,7 @@
           %tr
             %td= trans.type
             %td
-              %span{title: trans.path}
+              %span{ title: trans.path }
                 = truncate(trans.path, length: 70)
             %td
               = trans.duration.round(2)
diff --git a/app/views/sherlock/transactions/show.html.haml b/app/views/sherlock/transactions/show.html.haml
index 8aa6b437d953263757e6e0cd7450538ecbb25d73..eab91e8fbe4ce86a5e5acbc4a485289ffedf5607 100644
--- a/app/views/sherlock/transactions/show.html.haml
+++ b/app/views/sherlock/transactions/show.html.haml
@@ -3,15 +3,15 @@
 
 %ul.nav-links
   %li.active
-    %a(href="#tab-general" data-toggle="tab")
+    %a{ href: "#tab-general", data: { toggle: "tab" } }
       = t('sherlock.general')
   %li
-    %a(href="#tab-queries" data-toggle="tab")
+    %a{ href: "#tab-queries", data: { toggle: "tab" } }
       = t('sherlock.queries')
       %span.badge
         #{@transaction.queries.length}
   %li
-    %a(href="#tab-file-samples" data-toggle="tab")
+    %a{ href: "#tab-file-samples", data: { toggle: "tab" } }
       = t('sherlock.file_samples')
       %span.badge
         #{@transaction.file_samples.length}
diff --git a/app/views/u2f/_register.html.haml b/app/views/u2f/_register.html.haml
index fcc33f04237da7c39787e5154fb488e4d650496d..adc07bcba733187541618b726e6e001f580af2a2 100644
--- a/app/views/u2f/_register.html.haml
+++ b/app/views/u2f/_register.html.haml
@@ -27,7 +27,7 @@
     %a.btn.btn-warning#js-u2f-try-again Try again?
 
 %script#js-register-u2f-registered{ type: "text/template" }
-  %div.row.append-bottom-10
+  .row.append-bottom-10
     .col-md-12
       %p Your device was successfully set up! Give it a name and register it with the GitLab server.
       = form_tag(create_u2f_profile_two_factor_auth_path, method: :post) do
diff --git a/app/views/users/calendar.html.haml b/app/views/users/calendar.html.haml
index 09ff8a76d2711da184e8b7e7b10bf74064607039..6228245d8d0fc0f368bbca728e211392f82d67ae 100644
--- a/app/views/users/calendar.html.haml
+++ b/app/views/users/calendar.html.haml
@@ -6,4 +6,4 @@
   new Calendar(
     #{@activity_dates.to_json},
     '#{user_calendar_activities_path}'
-  );
\ No newline at end of file
+  );
diff --git a/app/views/users/show.html.haml b/app/views/users/show.html.haml
index 1e0752bd3c3925abb7f9669872cded2a9e66017f..fb25eed4f37e612ef7ed60e5da7de901f08dd2fa 100644
--- a/app/views/users/show.html.haml
+++ b/app/views/users/show.html.haml
@@ -18,11 +18,11 @@
       - elsif current_user
         - if @user.abuse_report
           %button.btn.btn-danger{ title: 'Already reported for abuse',
-            data: { toggle: 'tooltip', placement: 'bottom', container: 'body' }}
+            data: { toggle: 'tooltip', placement: 'bottom', container: 'body' } }
             = icon('exclamation-circle')
         - else
           = link_to new_abuse_report_path(user_id: @user.id, ref_url: request.referrer), class: 'btn btn-gray',
-            title: 'Report abuse', data: {toggle: 'tooltip', placement: 'bottom', container: 'body'} do
+            title: 'Report abuse', data: { toggle: 'tooltip', placement: 'bottom', container: 'body' } do
             = icon('exclamation-circle')
       - if current_user
         = link_to user_path(@user, :atom, { private_token: current_user.private_token }), class: 'btn btn-gray' do
@@ -101,12 +101,12 @@
     .tab-content
       #activity.tab-pane
         .row-content-block.calender-block.white.second-block.hidden-xs
-          .user-calendar{data: {href: user_calendar_path}}
+          .user-calendar{ data: { href: user_calendar_path } }
             %h4.center.light
               %i.fa.fa-spinner.fa-spin
           .user-calendar-activities
 
-        .content_list{ data: {href: user_path} }
+        .content_list{ data: { href: user_path } }
         = spinner
 
       #groups.tab-pane