Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Jérome Perrin
gitlab-ce
Commits
eac81b98
Commit
eac81b98
authored
Jun 29, 2016
by
Phil Hughes
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Updated project header
Closes #18544
parent
f60b48bd
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
221 additions
and
293 deletions
+221
-293
app/assets/stylesheets/framework/avatar.scss
app/assets/stylesheets/framework/avatar.scss
+1
-1
app/assets/stylesheets/pages/projects.scss
app/assets/stylesheets/pages/projects.scss
+135
-200
app/views/projects/_home_panel.html.haml
app/views/projects/_home_panel.html.haml
+21
-33
app/views/projects/_last_commit.html.haml
app/views/projects/_last_commit.html.haml
+9
-10
app/views/projects/buttons/_fork.html.haml
app/views/projects/buttons/_fork.html.haml
+2
-3
app/views/projects/show.html.haml
app/views/projects/show.html.haml
+53
-46
No files found.
app/assets/stylesheets/framework/avatar.scss
View file @
eac81b98
...
@@ -15,7 +15,7 @@
...
@@ -15,7 +15,7 @@
&
.s24
{
margin-right
:
4px
;
}
&
.s24
{
margin-right
:
4px
;
}
}
}
&
.group-avatar
,
&
.
project-avatar
,
&
.
avatar-tile
{
&
.group-avatar
,
&
.avatar-tile
{
@include
border-radius
(
0
);
@include
border-radius
(
0
);
}
}
...
...
app/assets/stylesheets/pages/projects.scss
View file @
eac81b98
...
@@ -64,86 +64,39 @@
...
@@ -64,86 +64,39 @@
}
}
.project-home-panel
{
.project-home-panel
{
background
:
$white-light
;
padding-top
:
24px
;
text-align
:
left
;
padding-bottom
:
24px
;
padding
:
24px
0
;
border-bottom
:
1px
solid
$border-color
;
.container-fluid
{
.project-avatar
{
position
:
relative
;
float
:
none
;
margin-left
:
auto
;
@media
(
min-width
:
$screen-lg-min
)
{
margin-right
:
auto
;
.row
{
display
:
flex
;
-ms-flex-align
:
center
;
-webkit-align-items
:
center
;
-webkit-box-align
:
center
;
}
}
}
.cover-controls
{
.project-settings-dropdown
{
margin-left
:
10px
;
display
:
inline-block
;
.dropdown-menu
{
left
:
auto
;
width
:
auto
;
right
:
0
;
max-width
:
240px
;
}
}
}
.cover-title
{
margin-bottom
:
0
;
}
}
.project-image-container
{
.project-title
{
@include
make-sm-column
(
1
);
margin-top
:
10px
;
max-width
:
86px
;
margin-bottom
:
10px
;
min-width
:
86px
;
font-size
:
24px
;
padding-right
:
0
;
font-weight
:
400
;
line-height
:
1
;
@media
(
max-width
:
$screen-md-max
)
{
padding-left
:
0
;
margin
:
0
0
10px
;
max-width
:
none
;
min-width
:
none
;
.avatar.s70
{
.fa
{
margin
:
auto
;
margin-left
:
2px
;
}
font-size
:
12px
;
vertical-align
:
middle
;
}
}
}
}
.project-info
{
.project-home-desc
{
@include
make-sm-column
(
10
);
margin-bottom
:
15px
;
h1
{
font-size
:
24px
;
font-weight
:
normal
;
margin
:
0
;
}
.project-home-desc
{
>
p
{
p
{
margin-bottom
:
0
;
margin
:
0
;
}
}
}
}
}
.identicon
{
float
:
left
;
@include
border-radius
(
50%
);
}
.avatar
{
float
:
none
;
}
.notifications-btn
{
.notifications-btn
{
.fa-bell
,
.fa-bell
,
.fa-spinner
{
.fa-spinner
{
margin-right
:
6px
;
margin-right
:
6px
;
...
@@ -153,127 +106,106 @@
...
@@ -153,127 +106,106 @@
margin-left
:
6px
;
margin-left
:
6px
;
}
}
}
}
}
.project-repo-buttons
{
.project-repo-buttons
{
font-size
:
0
;
font-size
:
0
;
.btn
{
@include
btn-gray
;
padding
:
3px
10px
;
text-transform
:
none
;
background-color
:
$background-color
;
.fa
{
.btn
{
color
:
$layout-link
-gray
;
@include
btn
-gray
;
}
padding
:
3px
10px
;
.fa-caret-down
{
.fa
{
margin-left
:
3px
;
color
:
$layout-link-gray
;
}
}
}
form
{
.fa-caret-down
{
margin-left
:
10
px
;
margin-left
:
3
px
;
}
}
}
.count-buttons
{
.project-repo-btn-group
,
display
:
inline-block
;
.notification-dropdown
{
vertical-align
:
top
;
margin-left
:
10px
;
margin-top
:
16px
;
}
}
.project-clone-holder
{
.count-buttons
{
display
:
inline-block
;
display
:
inline-block
;
margin-top
:
16px
;
vertical-align
:
top
;
}
input
{
.project-clone-holder
{
height
:
29px
;
display
:
inline-block
;
}
input
{
height
:
29px
;
}
}
}
.count-with-arrow
{
.count-with-arrow
{
display
:
inline-block
;
display
:
inline-block
;
position
:
relative
;
position
:
relative
;
margin-left
:
4px
;
margin-left
:
4px
;
.arrow
{
.arrow
{
&
:before
{
&
:before
{
content
:
''
;
content
:
''
;
display
:
inline-block
;
position
:
absolute
;
width
:
0
;
height
:
0
;
border-color
:
transparent
;
border-style
:
solid
;
top
:
50%
;
left
:
0
;
margin-top
:
-6px
;
border-width
:
7px
5px
7px
0
;
border-right-color
:
#dce0e5
;
}
&
:after
{
content
:
''
;
position
:
absolute
;
width
:
0
;
height
:
0
;
border-color
:
transparent
;
border-style
:
solid
;
top
:
50%
;
left
:
1px
;
margin-top
:
-9px
;
border-width
:
10px
7px
10px
0
;
border-right-color
:
#fff
;
}
}
.count
{
@include
btn-gray
;
display
:
inline-block
;
display
:
inline-block
;
background
:
white
;
position
:
absolute
;
border-radius
:
2px
;
width
:
0
;
border-width
:
1px
;
height
:
0
;
border-color
:
transparent
;
border-style
:
solid
;
border-style
:
solid
;
font-size
:
13px
;
top
:
50%
;
font-weight
:
600
;
left
:
0
;
line-height
:
13px
;
margin-top
:
-6px
;
padding
:
$gl-vert-padding
$gl-padding
;
border-width
:
7px
5px
7px
0
;
letter-spacing
:
.4px
;
border-right-color
:
#dce0e5
;
padding
:
7px
14px
;
pointer-events
:
none
;
text-align
:
center
;
vertical-align
:
middle
;
touch-action
:
manipulation
;
cursor
:
pointer
;
background-image
:
none
;
white-space
:
nowrap
;
margin
:
0
10px
0
4px
;
a
{
color
:
inherit
;
}
&
:hover
{
background
:
#fff
;
}
}
}
}
}
.project-right-buttons
{
position
:
absolute
;
right
:
16px
;
bottom
:
0
;
@media
(
max-width
:
$screen-md-max
)
{
&
:after
{
top
:
0
;
content
:
''
;
position
:
absolute
;
width
:
0
;
height
:
0
;
border-color
:
transparent
;
border-style
:
solid
;
top
:
50%
;
left
:
1px
;
margin-top
:
-9px
;
border-width
:
10px
7px
10px
0
;
border-right-color
:
#fff
;
pointer-events
:
none
;
}
}
}
}
.count
{
@include
btn-gray
;
@media
(
max-width
:
$screen-md-max
)
{
display
:
inline-block
;
text-align
:
center
;
background
:
white
;
border-radius
:
2px
;
border-width
:
1px
;
border-style
:
solid
;
font-size
:
13px
;
font-weight
:
600
;
line-height
:
13px
;
padding
:
$gl-vert-padding
$gl-padding
;
letter-spacing
:
.4px
;
padding
:
7px
14px
;
text-align
:
center
;
vertical-align
:
middle
;
touch-action
:
manipulation
;
background-image
:
none
;
white-space
:
nowrap
;
margin
:
0
10px
0
4px
;
a
{
color
:
inherit
;
}
.project-info
,
&
:hover
{
.project-image-container
{
background
:
#fff
;
width
:
100%
;
}
}
}
}
}
}
}
...
@@ -421,36 +353,33 @@ a.deploy-project-label {
...
@@ -421,36 +353,33 @@ a.deploy-project-label {
}
}
.project-stats
{
.project-stats
{
margin-top
:
$gl-padding
;
margin-bottom
:
0
;
padding
:
0
;
background-color
:
$white-light
;
font-size
:
0
;
font-size
:
0
;
border-bottom
:
1px
solid
$border-color
;
ul
.nav
{
.nav
{
display
:
inline-block
;
padding-top
:
$gl-padding
;
padding-bottom
:
$gl-padding
;
}
}
.nav
li
{
.nav
>
li
{
display
:
inline-block
;
display
:
inline-block
;
margin
:
16px
0
;
margin-right
:
16px
;
&
:not
(
:last-child
)
{
margin-right
:
$gl-padding
;
}
}
}
.nav
>
li
>
a
{
.nav
>
li
>
a
{
padding
:
0
;
background-color
:
transparent
;
background-color
:
transparent
;
padding
:
5px
10px
;
font-size
:
15px
;
font-size
:
15px
;
line-height
:
29px
;
color
:
$notes-light-color
;
color
:
$notes-light-color
;
}
li
{
display
:
inline
;
}
a
{
&
:hover
,
float
:
left
;
&
:focus
{
font-size
:
17px
;
color
:
darken
(
$notes-light-color
,
15%
);
}
}
}
li
.missing
{
li
.missing
{
...
@@ -466,10 +395,6 @@ a.deploy-project-label {
...
@@ -466,10 +395,6 @@ a.deploy-project-label {
background-color
:
$gray-normal
;
background-color
:
$gray-normal
;
}
}
}
}
&
.row-content-block.second-block
{
margin-top
:
0
;
}
}
}
pre
.light-well
{
pre
.light-well
{
...
@@ -557,6 +482,21 @@ pre.light-well {
...
@@ -557,6 +482,21 @@ pre.light-well {
}
}
.project-last-commit
{
.project-last-commit
{
margin-top
:
$gl-padding
;
&
.container-fluid
{
padding-top
:
12px
;
padding-bottom
:
12px
;
background-color
:
$background-color
;
border
:
1px
solid
$border-color
;
}
&
.container-limited
{
@media
(
min-width
:
1281px
)
{
border-radius
:
$border-radius-base
;
}
}
.ci-status
{
.ci-status
{
margin-right
:
16px
;
margin-right
:
16px
;
}
}
...
@@ -601,15 +541,10 @@ pre.light-well {
...
@@ -601,15 +541,10 @@ pre.light-well {
}
}
.git-clone-holder
{
.git-clone-holder
{
width
:
498
px
;
width
:
380
px
;
.btn-clipboard
{
.btn-clipboard
{
border
:
1px
solid
$border-color
;
border
:
1px
solid
$border-color
;
padding
:
6px
$gl-padding
;
}
.project-home-dropdown
+
&
{
margin-right
:
45px
;
}
}
.clone-options
{
.clone-options
{
...
...
app/views/projects/_home_panel.html.haml
View file @
eac81b98
-
empty_repo
=
@project
.
empty_repo?
-
empty_repo
=
@project
.
empty_repo?
.project-home-panel.cover-block.clearfix
{
:class
=>
(
"empty-project"
if
empty_repo
)}
.project-home-panel.text-center
{
class:
(
"empty-project"
if
empty_repo
)
}
%div
{
class:
container_class
}
%div
{
class:
container_class
}
.row
=
project_icon
(
@project
,
alt:
@project
.
name
,
class:
'project-avatar avatar s70'
)
.project-image-container
%h1
.project-title
=
project_icon
(
@project
,
alt:
''
,
class:
'project-avatar avatar s70'
)
=
@project
.
name
.project-info
%span
.visibility-icon.has-tooltip
{
data:
{
container:
'body'
},
title:
visibility_icon_description
(
@project
)}
.cover-title.project-home-desc
=
visibility_level_icon
(
@project
.
visibility_level
,
fw:
false
)
%h1
=
@project
.
name
%span
.visibility-icon.has-tooltip
{
data:
{
container:
'body'
},
title:
visibility_icon_description
(
@project
)}
=
visibility_level_icon
(
@project
.
visibility_level
,
fw:
false
)
-
if
@project
.
description
.
present?
-
if
@project
.
description
.
present?
.cover-desc
.project-home-desc
.project-home-desc
=
markdown
(
@project
.
description
,
pipeline: :description
)
=
markdown
(
@project
.
description
,
pipeline: :description
)
-
if
forked_from_project
=
@project
.
forked_from_project
-
if
forked_from_project
=
@project
.
forked_from_project
.cover-desc
.cover-desc
Forked from
Forked from
=
link_to
project_path
(
forked_from_project
)
do
=
link_to
project_path
(
forked_from_project
)
do
=
forked_from_project
.
namespace
.
try
(
:name
)
=
forked_from_project
.
namespace
.
try
(
:name
)
.project-repo-buttons.project-action-buttons
.project-repo-buttons.project-action-buttons
.count-buttons
.count-buttons
=
render
'projects/buttons/star'
=
render
'projects/buttons/star'
=
render
'projects/buttons/fork'
=
render
'projects/buttons/fork'
.project-clone-holder
.project-clone-holder
=
render
"shared/clone_panel"
=
render
"shared/clone_panel"
.project-repo-buttons.btn-group.project-right-buttons
-
if
current_user
.pull-left.append-right-10
=
render
'shared/members/access_request_buttons'
,
source:
@project
=
render
"projects/buttons/download"
=
render
'projects/buttons/dropdown'
=
render
'shared/notifications/button'
,
notification_setting:
@notification_setting
:javascript
:javascript
new
Star
();
new
Star
();
app/views/projects/_last_commit.html.haml
View file @
eac81b98
.project-last-commit
-
if
commit
.
status
-
if
commit
.
status
=
link_to
builds_namespace_project_commit_path
(
commit
.
project
.
namespace
,
commit
.
project
,
commit
),
class:
"ci-status ci-
#{
commit
.
status
}
"
do
=
link_to
builds_namespace_project_commit_path
(
commit
.
project
.
namespace
,
commit
.
project
,
commit
),
class:
"ci-status ci-
#{
commit
.
status
}
"
do
=
ci_icon_for_status
(
commit
.
status
)
=
ci_icon_for_status
(
commit
.
status
)
=
ci_label_for_status
(
commit
.
status
)
=
ci_label_for_status
(
commit
.
status
)
=
link_to
commit
.
short_id
,
namespace_project_commit_path
(
project
.
namespace
,
project
,
commit
),
class:
"commit_short_id"
=
link_to
commit
.
short_id
,
namespace_project_commit_path
(
project
.
namespace
,
project
,
commit
),
class:
"commit_short_id"
=
link_to_gfm
commit
.
title
,
namespace_project_commit_path
(
project
.
namespace
,
project
,
commit
),
class:
"commit-row-message"
=
link_to_gfm
commit
.
title
,
namespace_project_commit_path
(
project
.
namespace
,
project
,
commit
),
class:
"commit-row-message"
·
·
#{
time_ago_with_tooltip
(
commit
.
committed_date
,
skip_js:
true
)
}
by
#{
time_ago_with_tooltip
(
commit
.
committed_date
,
skip_js:
true
)
}
by
=
commit_author_link
(
commit
,
avatar:
true
,
size:
24
)
=
commit_author_link
(
commit
,
avatar:
true
,
size:
24
)
app/views/projects/buttons/_fork.html.haml
View file @
eac81b98
...
@@ -14,6 +14,5 @@
...
@@ -14,6 +14,5 @@
Fork
Fork
%div
.count-with-arrow
%div
.count-with-arrow
%span
.arrow
%span
.arrow
%span
.count
=
link_to
namespace_project_forks_path
(
@project
.
namespace
,
@project
),
class:
"count"
do
=
link_to
namespace_project_forks_path
(
@project
.
namespace
,
@project
)
do
=
@project
.
forks_count
=
@project
.
forks_count
app/views/projects/show.html.haml
View file @
eac81b98
...
@@ -12,60 +12,67 @@
...
@@ -12,60 +12,67 @@
=
render
'projects/last_push'
=
render
'projects/last_push'
=
render
"home_panel"
=
render
"home_panel"
.project-stats.row-content-block.second-block
%nav
.project-stats
{
class:
(
container_class
)
}
%div
{
class:
container_class
}
%ul
.nav
%ul
.nav
%li
%li
=
link_to
project_files_path
(
@project
)
do
=
link_to
project_files_path
(
@project
)
do
Files (
#{
repository_size
}
)
Files (
#{
repository_size
}
)
%li
%li
=
link_to
namespace_project_commits_path
(
@project
.
namespace
,
@project
,
current_ref
)
do
=
link_to
namespace_project_commits_path
(
@project
.
namespace
,
@project
,
current_ref
)
do
#{
'Commit'
.
pluralize
(
@project
.
commit_count
)
}
(
#{
number_with_delimiter
(
@project
.
commit_count
)
}
)
#{
'Commit'
.
pluralize
(
@project
.
commit_count
)
}
(
#{
number_with_delimiter
(
@project
.
commit_count
)
}
)
%li
%li
=
link_to
namespace_project_branches_path
(
@project
.
namespace
,
@project
)
do
=
link_to
namespace_project_branches_path
(
@project
.
namespace
,
@project
)
do
#{
'Branch'
.
pluralize
(
@repository
.
branch_count
)
}
(
#{
number_with_delimiter
(
@repository
.
branch_count
)
}
)
#{
'Branch'
.
pluralize
(
@repository
.
branch_count
)
}
(
#{
number_with_delimiter
(
@repository
.
branch_count
)
}
)
%li
=
link_to
namespace_project_tags_path
(
@project
.
namespace
,
@project
)
do
#{
'Tag'
.
pluralize
(
@repository
.
tag_count
)
}
(
#{
number_with_delimiter
(
@repository
.
tag_count
)
}
)
-
if
default_project_view
!=
'readme'
&&
@repository
.
readme
%li
%li
=
link_to
namespace_project_tags_path
(
@project
.
namespace
,
@project
)
do
=
link_to
'Readme'
,
readme_path
(
@project
)
#{
'Tag'
.
pluralize
(
@repository
.
tag_count
)
}
(
#{
number_with_delimiter
(
@repository
.
tag_count
)
}
)
-
if
default_project_view
!=
'readme'
&&
@repository
.
readme
-
if
@repository
.
changelog
%li
%li
=
link_to
'Readme'
,
readme
_path
(
@project
)
=
link_to
'Changelog'
,
changelog
_path
(
@project
)
-
if
@repository
.
changelog
-
if
@repository
.
license_blob
%li
%li
=
link_to
'Changelog'
,
changelog
_path
(
@project
)
=
link_to
license_short_name
(
@project
),
license
_path
(
@project
)
-
if
@repository
.
license_blob
-
if
@repository
.
contribution_guide
%li
%li
=
link_to
license_short_name
(
@project
),
licens
e_path
(
@project
)
=
link_to
'Contribution guide'
,
contribution_guid
e_path
(
@project
)
-
if
@repository
.
contribution_guide
-
if
current_user
&&
can_push_branch?
(
@project
,
@project
.
default_branch
)
%li
-
unless
@repository
.
changelog
=
link_to
'Contribution guide'
,
contribution_guide_path
(
@project
)
%li
.missing
=
link_to
add_special_file_path
(
@project
,
file_name:
'CHANGELOG'
)
do
Add Changelog
-
unless
@repository
.
license_blob
%li
.missing
=
link_to
add_special_file_path
(
@project
,
file_name:
'LICENSE'
)
do
Add License
-
unless
@repository
.
contribution_guide
%li
.missing
=
link_to
add_special_file_path
(
@project
,
file_name:
'CONTRIBUTING.md'
,
commit_message:
'Add contribution guide'
)
do
Add Contribution guide
-
unless
@repository
.
gitlab_ci_yml
%li
.missing
=
link_to
add_special_file_path
(
@project
,
file_name:
'.gitlab-ci.yml'
)
do
Set Up CI
%li
.pull-right
.project-repo-buttons.project-right-buttons
-
if
current_user
=
render
'shared/members/access_request_buttons'
,
source:
@project
-
if
current_user
&&
can_push_branch?
(
@project
,
@project
.
default_branch
)
.btn-group.project-repo-btn-group
-
unless
@repository
.
changelog
=
render
"projects/buttons/download"
%li
.missing
=
render
'projects/buttons/dropdown'
=
link_to
add_special_file_path
(
@project
,
file_name:
'CHANGELOG'
)
do
Add Changelog
-
unless
@repository
.
license_blob
%li
.missing
=
link_to
add_special_file_path
(
@project
,
file_name:
'LICENSE'
)
do
Add License
-
unless
@repository
.
contribution_guide
%li
.missing
=
link_to
add_special_file_path
(
@project
,
file_name:
'CONTRIBUTING.md'
,
commit_message:
'Add contribution guide'
)
do
Add Contribution guide
-
unless
@repository
.
gitlab_ci_yml
%li
.missing
=
link_to
add_special_file_path
(
@project
,
file_name:
'.gitlab-ci.yml'
)
do
Set Up CI
=
render
'shared/notifications/button'
,
notification_setting:
@notification_setting
-
if
@repository
.
commit
-
if
@repository
.
commit
.content-block.second-block.white
.project-last-commit
{
class:
container_class
}
%div
{
class:
container_class
}
=
render
'projects/last_commit'
,
commit:
@repository
.
commit
,
project:
@project
=
render
'projects/last_commit'
,
commit:
@repository
.
commit
,
project:
@project
%div
{
class:
container_class
}
%div
{
class:
container_class
}
-
if
@project
.
archived?
-
if
@project
.
archived?
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment