Nicer commit headers.
This commit is contained in:
parent
a1d59d8053
commit
c530543c1a
|
@ -93,6 +93,11 @@ $hover: #FDF5D9;
|
||||||
*/
|
*/
|
||||||
@import "common.scss";
|
@import "common.scss";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Styles related to displaying commits
|
||||||
|
*/
|
||||||
|
@import "sections/commits.scss";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This scss file redefine chozen selectbox styles for
|
* This scss file redefine chozen selectbox styles for
|
||||||
* project Branch/Tag select element
|
* project Branch/Tag select element
|
||||||
|
|
33
app/assets/stylesheets/sections/commits.scss
Normal file
33
app/assets/stylesheets/sections/commits.scss
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
.commit-head {
|
||||||
|
@extend .well;
|
||||||
|
|
||||||
|
padding: 14px;
|
||||||
|
padding-bottom: 8px;
|
||||||
|
|
||||||
|
.browse-button {
|
||||||
|
@extend .btn;
|
||||||
|
@extend .btn-small;
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.commit-title {
|
||||||
|
line-height: 26px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.commit-description {
|
||||||
|
background-color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sha-block {
|
||||||
|
float: right;
|
||||||
|
margin-left: 10px
|
||||||
|
}
|
||||||
|
|
||||||
|
.committer {
|
||||||
|
padding-left: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.avatar {
|
||||||
|
margin-right: 4px;
|
||||||
|
}
|
||||||
|
}
|
|
@ -106,6 +106,41 @@ class Commit
|
||||||
utf8 author.name
|
utf8 author.name
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Returns the commits title.
|
||||||
|
#
|
||||||
|
# Usually, the commit title is the first line of the commit message.
|
||||||
|
# In case this first line is longer than 80 characters, it is cut off
|
||||||
|
# after 70 characters and ellipses (`&hellp;`) are appended.
|
||||||
|
#
|
||||||
|
# @todo This might be better placed in a view helper.
|
||||||
|
def title
|
||||||
|
title_end = safe_message.index(/\n/)
|
||||||
|
if (!title_end && safe_message.length > 80) || (title_end && title_end > 80)
|
||||||
|
safe_message[0..69] << "…".html_safe
|
||||||
|
else
|
||||||
|
safe_message.split(/\n/, 2).first
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# Returns the commits description
|
||||||
|
#
|
||||||
|
# cut off, ellipses (`&hellp;`) are prepended to the commit message.
|
||||||
|
#
|
||||||
|
# @todo This might be better placed in a view helper.
|
||||||
|
def description
|
||||||
|
title_end = safe_message.index(/\n/)
|
||||||
|
if (!title_end && safe_message.length > 80) || (title_end && title_end > 80)
|
||||||
|
"…".html_safe << safe_message[70..-1]
|
||||||
|
else
|
||||||
|
safe_message.split(/\n/, 2)[1].try(:chomp)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# Was this commit committed by a different person than the original author?
|
||||||
|
def different_committer?
|
||||||
|
author_name != committer_name || author_email != committer_email
|
||||||
|
end
|
||||||
|
|
||||||
def committer_name
|
def committer_name
|
||||||
utf8 committer.name
|
utf8 committer.name
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,26 +1,31 @@
|
||||||
.main_box
|
.commit-head{class: @commit.parents.count > 1 ? "merge-commit" : ""}
|
||||||
.top_box_content
|
= link_to "Browse Code »", tree_project_ref_path(@project, @commit.id), :class => "browse-button"
|
||||||
.right
|
%h3.commit-title
|
||||||
- unless @notes_count.zero?
|
= commit_msg_with_link_to_issues(@project, @commit.title)
|
||||||
%span.btn.small.disabled.padded= pluralize @notes_count, 'note'
|
- if @commit.description.present?
|
||||||
|
%pre.commit-description
|
||||||
= link_to tree_project_ref_path(@project, @commit.id), :class => "btn small" do
|
= commit_msg_with_link_to_issues(@project, @commit.description)
|
||||||
Browse Code »
|
%span.sha-block
|
||||||
= image_tag gravatar_icon(@commit.author_email), :class => "avatar"
|
commit
|
||||||
%code= @commit.id.to_s
|
%code= @commit.id
|
||||||
%h5
|
%span.sha-block
|
||||||
|
= pluralize(@commit.parents.count, "parent")
|
||||||
|
- @commit.parents.each do |parent|
|
||||||
|
%code= link_to parent.id, project_commit_path(@project, parent)
|
||||||
|
.commit-info
|
||||||
|
.author
|
||||||
|
= image_tag gravatar_icon(@commit.author_email, 24), :class => "avatar", :height => 24, :width => 24
|
||||||
= @commit.author_name
|
= @commit.author_name
|
||||||
%small= @commit.created_at.stamp("Aug 21, 2011 9:23pm")
|
authored
|
||||||
- if @commit.author_name != @commit.committer_name or @commit.author_email != @commit.committer_email or @commit.authored_date != @commit.committed_date
|
%time{title: @commit.authored_date.stamp("Aug 21, 2011 9:23pm")}
|
||||||
–
|
#{time_ago_in_words(@commit.authored_date)} ago
|
||||||
%cite committed by
|
- if @commit.different_committer?
|
||||||
|
.committer
|
||||||
= @commit.committer_name
|
= @commit.committer_name
|
||||||
%small= @commit.committed_date.stamp("Aug 21, 2011 9:23pm")
|
committed
|
||||||
|
%time{title: @commit.committed_date.stamp("Aug 21, 2011 9:23pm")}
|
||||||
|
#{time_ago_in_words(@commit.committed_date)} ago
|
||||||
|
|
||||||
.middle_box_content
|
|
||||||
%pre.commit_message
|
|
||||||
= commit_msg_with_link_to_issues(@project, @commit.safe_message)
|
|
||||||
%br
|
|
||||||
= render "commits/diffs", :diffs => @commit.diffs
|
= render "commits/diffs", :diffs => @commit.diffs
|
||||||
= render "notes/notes", :tid => @commit.id, :tt => "commit"
|
= render "notes/notes", :tid => @commit.id, :tt => "commit"
|
||||||
= render "notes/per_line_form"
|
= render "notes/per_line_form"
|
||||||
|
|
Loading…
Reference in a new issue