Merge branch 'backport-ee-premailer' into 'master'
Backport premailer and diff changes from EE Backport part of https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/151 See merge request !3318
This commit is contained in:
commit
17de30f412
8 changed files with 75 additions and 46 deletions
2
Gemfile
2
Gemfile
|
@ -222,6 +222,8 @@ gem 'net-ssh', '~> 3.0.1'
|
|||
# Sentry integration
|
||||
gem 'sentry-raven', '~> 0.15'
|
||||
|
||||
gem 'premailer-rails', '~> 1.9.0'
|
||||
|
||||
# Metrics
|
||||
group :metrics do
|
||||
gem 'allocations', '~> 1.0', require: false, platform: :mri
|
||||
|
|
10
Gemfile.lock
10
Gemfile.lock
|
@ -148,6 +148,8 @@ GEM
|
|||
crack (0.4.3)
|
||||
safe_yaml (~> 1.0.0)
|
||||
creole (0.5.0)
|
||||
css_parser (1.3.7)
|
||||
addressable
|
||||
d3_rails (3.5.11)
|
||||
railties (>= 3.1.0)
|
||||
daemons (1.2.3)
|
||||
|
@ -421,6 +423,7 @@ GEM
|
|||
haml (~> 4.0.0)
|
||||
nokogiri (~> 1.6.0)
|
||||
ruby_parser (~> 3.5)
|
||||
htmlentities (4.3.4)
|
||||
http-cookie (1.0.2)
|
||||
domain_name (~> 0.5)
|
||||
http_parser.rb (0.5.3)
|
||||
|
@ -562,6 +565,12 @@ GEM
|
|||
websocket-driver (>= 0.2.0)
|
||||
posix-spawn (0.3.11)
|
||||
powerpack (0.1.1)
|
||||
premailer (1.8.6)
|
||||
css_parser (>= 1.3.6)
|
||||
htmlentities (>= 4.0.0)
|
||||
premailer-rails (1.9.0)
|
||||
actionmailer (>= 3, < 5)
|
||||
premailer (~> 1.7, >= 1.7.9)
|
||||
pry (0.10.3)
|
||||
coderay (~> 1.1.0)
|
||||
method_source (~> 0.8.1)
|
||||
|
@ -990,6 +999,7 @@ DEPENDENCIES
|
|||
paranoia (~> 2.0)
|
||||
pg (~> 0.18.2)
|
||||
poltergeist (~> 1.9.0)
|
||||
premailer-rails (~> 1.9.0)
|
||||
pry-rails
|
||||
quiet_assets (~> 1.0.2)
|
||||
rack-attack (~> 4.3.1)
|
||||
|
|
24
app/assets/stylesheets/notify.scss
Normal file
24
app/assets/stylesheets/notify.scss
Normal file
|
@ -0,0 +1,24 @@
|
|||
img {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
p.details {
|
||||
font-style:italic;
|
||||
color:#777
|
||||
}
|
||||
.footer p {
|
||||
font-size:small;
|
||||
color:#777
|
||||
}
|
||||
pre.commit-message {
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
.file-stats a {
|
||||
text-decoration: none;
|
||||
}
|
||||
.file-stats .new-file {
|
||||
color: #090;
|
||||
}
|
||||
.file-stats .deleted-file {
|
||||
color: #B00;
|
||||
}
|
|
@ -1,33 +1,9 @@
|
|||
%html{lang: "en"}
|
||||
%head
|
||||
%meta{content: "text/html; charset=utf-8", "http-equiv" => "Content-Type"}
|
||||
%title
|
||||
GitLab
|
||||
:css
|
||||
img {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
p.details {
|
||||
font-style:italic;
|
||||
color:#777
|
||||
}
|
||||
.footer p {
|
||||
font-size:small;
|
||||
color:#777
|
||||
}
|
||||
pre.commit-message {
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
.file-stats a {
|
||||
text-decoration: none;
|
||||
}
|
||||
.file-stats .new-file {
|
||||
color: #090;
|
||||
}
|
||||
.file-stats .deleted-file {
|
||||
color: #B00;
|
||||
}
|
||||
%title
|
||||
GitLab
|
||||
= stylesheet_link_tag 'notify'
|
||||
%body
|
||||
%div.content
|
||||
= yield
|
||||
|
|
26
app/views/projects/diffs/_line.html.haml
Normal file
26
app/views/projects/diffs/_line.html.haml
Normal file
|
@ -0,0 +1,26 @@
|
|||
- type = line.type
|
||||
%tr.line_holder{id: line_code, class: type}
|
||||
- case type
|
||||
- when 'match'
|
||||
= render "projects/diffs/match_line", {line: line.text,
|
||||
line_old: line.old_pos, line_new: line.new_pos, bottom: false, new_file: diff_file.new_file}
|
||||
- when 'nonewline'
|
||||
%td.old_line.diff-line-num
|
||||
%td.new_line.diff-line-num
|
||||
%td.line_content.match= line.text
|
||||
- else
|
||||
%td.old_line.diff-line-num{class: type}
|
||||
- link_text = raw(type == "new" ? " " : line.old_pos)
|
||||
- if defined?(plain) && plain
|
||||
= link_text
|
||||
- else
|
||||
= link_to link_text, "##{line_code}", id: line_code
|
||||
- if @comments_allowed && can?(current_user, :create_note, @project)
|
||||
= link_to_new_diff_note(line_code)
|
||||
%td.new_line.diff-line-num{class: type, data: {linenumber: line.new_pos}}
|
||||
- link_text = raw(type == "old" ? " " : line.new_pos)
|
||||
- if defined?(plain) && plain
|
||||
= link_text
|
||||
- else
|
||||
= link_to link_text, "##{line_code}", id: line_code
|
||||
%td.line_content{class: "noteable_line #{type} #{line_code}", data: { line_code: line_code }}= diff_line_content(line.text)
|
|
@ -8,26 +8,9 @@
|
|||
- last_line = 0
|
||||
- raw_diff_lines = diff_file.diff_lines.to_a
|
||||
- diff_file.highlighted_diff_lines.each_with_index do |line, index|
|
||||
- type = line.type
|
||||
- last_line = line.new_pos
|
||||
- line_code = generate_line_code(diff_file.file_path, line)
|
||||
- line_old = line.old_pos
|
||||
%tr.line_holder{ id: line_code, class: "#{type}" }
|
||||
- if type == "match"
|
||||
= render "projects/diffs/match_line", {line: line.text,
|
||||
line_old: line_old, line_new: line.new_pos, bottom: false, new_file: diff_file.new_file}
|
||||
- elsif type == 'nonewline'
|
||||
%td.old_line.diff-line-num
|
||||
%td.new_line.diff-line-num
|
||||
%td.line_content.match= line.text
|
||||
- else
|
||||
%td.old_line.diff-line-num{class: type}
|
||||
= link_to raw(type == "new" ? " " : line_old), "##{line_code}", id: line_code
|
||||
- if @comments_allowed && can?(current_user, :create_note, @project)
|
||||
= link_to_new_diff_note(line_code)
|
||||
%td.new_line.diff-line-num{class: type, data: {linenumber: line.new_pos}}
|
||||
= link_to raw(type == "old" ? " " : line.new_pos), "##{line_code}", id: line_code
|
||||
%td.line_content{class: "noteable_line #{type} #{line_code}", data: { line_code: line_code }}= diff_line_content(line.text)
|
||||
- last_line = line.new_pos
|
||||
= render "projects/diffs/line", {line: line, diff_file: diff_file, line_code: line_code}
|
||||
|
||||
- if @reply_allowed
|
||||
- comments = @line_notes.select { |n| n.line_code == line_code && n.active? }.sort_by(&:created_at)
|
||||
|
|
|
@ -49,6 +49,7 @@ module Gitlab
|
|||
config.assets.paths << Gemojione.index.images_path
|
||||
config.assets.precompile << "*.png"
|
||||
config.assets.precompile << "print.css"
|
||||
config.assets.precompile << "notify.css"
|
||||
|
||||
# Version of your assets, change this if you want to expire all your assets
|
||||
config.assets.version = '1.0'
|
||||
|
|
7
config/initializers/premailer.rb
Normal file
7
config/initializers/premailer.rb
Normal file
|
@ -0,0 +1,7 @@
|
|||
# See https://github.com/fphilipe/premailer-rails#configuration
|
||||
Premailer::Rails.config.merge!(
|
||||
generate_text_part: false,
|
||||
preserve_styles: true,
|
||||
remove_comments: true,
|
||||
remove_ids: true
|
||||
)
|
Loading…
Reference in a new issue