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
Kazuhiko Shiozaki
gitlab-ce
Commits
66399d55
Commit
66399d55
authored
Aug 16, 2012
by
Robert Speicher
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' into hooray_apostrophes
parents
70174a1e
05da3801
Changes
18
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
335 additions
and
280 deletions
+335
-280
app/assets/stylesheets/common.scss
app/assets/stylesheets/common.scss
+13
-7
app/assets/stylesheets/gitlab_bootstrap.scss
app/assets/stylesheets/gitlab_bootstrap.scss
+138
-140
app/assets/stylesheets/sections/header.scss
app/assets/stylesheets/sections/header.scss
+19
-19
app/assets/stylesheets/themes/ui_basic.scss
app/assets/stylesheets/themes/ui_basic.scss
+5
-5
app/assets/stylesheets/themes/ui_mars.scss
app/assets/stylesheets/themes/ui_mars.scss
+12
-12
app/assets/stylesheets/themes/ui_modern.scss
app/assets/stylesheets/themes/ui_modern.scss
+2
-1
app/helpers/application_helper.rb
app/helpers/application_helper.rb
+1
-1
app/helpers/gitlab_markdown_helper.rb
app/helpers/gitlab_markdown_helper.rb
+3
-46
app/views/errors/access_denied.html.haml
app/views/errors/access_denied.html.haml
+4
-5
app/views/errors/git_not_found.html.haml
app/views/errors/git_not_found.html.haml
+6
-9
app/views/errors/gitolite.html.haml
app/views/errors/gitolite.html.haml
+24
-24
app/views/errors/not_found.html.haml
app/views/errors/not_found.html.haml
+4
-5
app/views/layouts/admin.html.haml
app/views/layouts/admin.html.haml
+1
-1
app/views/layouts/error.html.haml
app/views/layouts/error.html.haml
+2
-2
lib/gitlab/markdown.rb
lib/gitlab/markdown.rb
+98
-0
public/404.html
public/404.html
+1
-1
public/422.html
public/422.html
+1
-1
public/500.html
public/500.html
+1
-1
No files found.
app/assets/stylesheets/common.scss
View file @
66399d55
...
@@ -249,7 +249,7 @@ ul.bordered-list li:last-child { border:none }
...
@@ -249,7 +249,7 @@ ul.bordered-list li:last-child { border:none }
li
.commit
{
li
.commit
{
.avatar
{
.avatar
{
width
:
24px
;
width
:
24px
;
top
:
-
3
px
;
top
:
-
5
px
;
margin-right
:
10px
;
margin-right
:
10px
;
margin-left
:
10px
;
margin-left
:
10px
;
}
}
...
@@ -305,12 +305,7 @@ p.time {
...
@@ -305,12 +305,7 @@ p.time {
}
}
.styled_image
{
.styled_image
{
-webkit-border-radius
:
4px
;
border
:
2px
solid
#ddd
;
-moz-border-radius
:
4px
;
border-radius
:
4px
;
-moz-box-shadow
:
0
0
5px
#888
;
-webkit-box-shadow
:
0
0
5px
#888
;
box-shadow
:
0
0
5px
#888
;
}
}
.event_feed
{
.event_feed
{
...
@@ -729,3 +724,14 @@ li.note {
...
@@ -729,3 +724,14 @@ li.note {
}
}
}
}
}
}
.git_error_tips
{
@extend
.span6
;
text-align
:left
;
margin-top
:
40px
;
pre
{
background
:white
;
border
:none
;
font-size
:
12px
;
}
}
app/assets/stylesheets/gitlab_bootstrap.scss
View file @
66399d55
body
{
body
{
margin-bottom
:
20px
;
margin-bottom
:
20px
;
}
}
a
{
a
{
outline
:
none
;
outline
:
none
;
color
:
$link_color
;
color
:
$link_color
;
&
:hover
{
&
:hover
{
text-decoration
:none
;
text-decoration
:none
;
color
:
$blue_link
;
color
:
$blue_link
;
}
}
&
.btn
{
&
.btn
{
color
:
$style_color
;
color
:
$style_color
;
}
}
&
.dark
{
&
.dark
{
color
:
$style_color
;
color
:
$style_color
;
}
}
&
.lined
{
&
.lined
{
text-decoration
:underline
;
text-decoration
:underline
;
&
:hover
{
text-decoration
:underline
;
}
&
:hover
{
text-decoration
:underline
;
}
}
}
&
.gray
{
&
.gray
{
color
:gray
;
color
:gray
;
}
}
&
.supp_diff_link
{
&
.supp_diff_link
{
text-align
:center
;
text-align
:center
;
padding
:
20px
0
;
padding
:
20px
0
;
background
:
#f1f1f1
;
background
:
#f1f1f1
;
...
@@ -39,24 +39,24 @@ a {
...
@@ -39,24 +39,24 @@ a {
}
}
}
}
.neib
{
.neib
{
margin-right
:
10px
;
margin-right
:
10px
;
}
}
.alert-message
{
.alert-message
{
@extend
.alert
;
@extend
.alert
;
&
.success
{
&
.success
{
@extend
.alert-success
;
@extend
.alert-success
;
}
}
&
.error
{
&
.error
{
@extend
.alert-error
;
@extend
.alert-error
;
}
}
}
}
.alert
{
.alert
{
&
.alert-well
{
&
.alert-well
{
background
:
#ddd
;
background
:
#ddd
;
border
:
1px
solid
#ccc
;
border
:
1px
solid
#ccc
;
background-image
:
-webkit-gradient
(
linear
,
0
0
,
0
30
,
color-stop
(
0
.066
,
#ddd
)
,
to
(
#dfdfdf
));
background-image
:
-webkit-gradient
(
linear
,
0
0
,
0
30
,
color-stop
(
0
.066
,
#ddd
)
,
to
(
#dfdfdf
));
...
@@ -71,12 +71,12 @@ h3, h4, h5, h6 {
...
@@ -71,12 +71,12 @@ h3, h4, h5, h6 {
line-height
:
36px
;
line-height
:
36px
;
}
}
h5
{
h5
{
font-size
:
14px
;
font-size
:
14px
;
}
}
table
{
table
{
width
:
100%
;
width
:
100%
;
th
{
th
{
padding-top
:
9px
;
padding-top
:
9px
;
...
@@ -97,12 +97,12 @@ table {
...
@@ -97,12 +97,12 @@ table {
border-radius
:
4px
;
border-radius
:
4px
;
}
}
&
.zebra-striped
{
&
.zebra-striped
{
@extend
.table-striped
;
@extend
.table-striped
;
}
}
}
}
.btn
{
.btn
{
background-image
:
-webkit-gradient
(
linear
,
0
0
,
0
100%
,
from
(
#f1f1f1
)
,
color-stop
(
25%
,
#f1f1f1
)
,
to
(
#e6e6e6
));
background-image
:
-webkit-gradient
(
linear
,
0
0
,
0
100%
,
from
(
#f1f1f1
)
,
color-stop
(
25%
,
#f1f1f1
)
,
to
(
#e6e6e6
));
background-image
:
-webkit-linear-gradient
(
#f1f1f1
,
#f1f1f1
25%
,
#e6e6e6
);
background-image
:
-webkit-linear-gradient
(
#f1f1f1
,
#f1f1f1
25%
,
#e6e6e6
);
background-image
:
-moz-linear-gradient
(
top
,
#f1f1f1
,
#f1f1f1
25%
,
#e6e6e6
);
background-image
:
-moz-linear-gradient
(
top
,
#f1f1f1
,
#f1f1f1
25%
,
#e6e6e6
);
...
@@ -110,63 +110,63 @@ table {
...
@@ -110,63 +110,63 @@ table {
background-image
:
-o-linear-gradient
(
#f1f1f1
,
#f1f1f1
25%
,
#e6e6e6
);
background-image
:
-o-linear-gradient
(
#f1f1f1
,
#f1f1f1
25%
,
#e6e6e6
);
background-image
:
linear-gradient
(
#f1f1f1
,
#f1f1f1
25%
,
#e6e6e6
);
background-image
:
linear-gradient
(
#f1f1f1
,
#f1f1f1
25%
,
#e6e6e6
);
&
:hover
{
&
:hover
{
}
}
&
.btn-primary
{
&
.btn-primary
{
background
:
$link_color
;
background
:
$link_color
;
border-color
:
#2A79A3
;
border-color
:
#2A79A3
;
&
:hover
{
&
:hover
{
background
:
$blue_link
;
background
:
$blue_link
;
}
}
}
}
&
.primary
{
&
.primary
{
@extend
.btn-primary
;
@extend
.btn-primary
;
}
}
&
.success
{
&
.success
{
color
:
#fff
;
color
:
#fff
;
text-shadow
:
0
0
1px
#111
;
text-shadow
:
0
0
1px
#111
;
background
:
#5bb75b
;;
background
:
#5bb75b
;;
font-weight
:
bold
;
font-weight
:
bold
;
&
:hover
{
&
:hover
{
background-color
:
#51a351
;
background-color
:
#51a351
;
color
:
#fff
;
color
:
#fff
;
}
}
}
}
&
.danger
,
&
.danger
,
&
.btn-danger
{
&
.btn-danger
{
color
:
#fff
;
color
:
#fff
;
background
:
#DA4E49
;
background
:
#DA4E49
;
border-color
:
#BD362F
;
border-color
:
#BD362F
;
&
:hover
{
&
:hover
{
color
:
#fff
;
color
:
#fff
;
background
:
#EE4E49
;
background
:
#EE4E49
;
}
}
}
}
&
.danger
{
&
.danger
{
@extend
.btn-danger
;
@extend
.btn-danger
;
}
}
&
.small
{
&
.small
{
@extend
.btn-small
;
@extend
.btn-small
;
}
}
&
.active
{
&
.active
{
border-color
:
#aaa
;
border-color
:
#aaa
;
background-color
:
#ccc
;
background-color
:
#ccc
;
}
}
}
}
a
:focus
{
a
:focus
{
outline
:
none
;
outline
:
none
;
}
}
.nav-pills
a
:hover
{
.nav-pills
a
:hover
{
background-color
:
#888
;
background-color
:
#888
;
}
}
...
@@ -174,20 +174,20 @@ a:focus {
...
@@ -174,20 +174,20 @@ a:focus {
background-color
:
$style_color
;
background-color
:
$style_color
;
}
}
.label
{
.label
{
background-color
:
#474D57
;
background-color
:
#474D57
;
&
.label-important
{
&
.label-important
{
background-color
:
#B94A48
;
background-color
:
#B94A48
;
}
}
&
.label-issue
{
&
.label-issue
{
background-color
:
#eee
;
background-color
:
#eee
;
border
:
1px
solid
#ccc
;
border
:
1px
solid
#ccc
;
padding
:
4px
6px
;
padding
:
4px
6px
;
color
:
#444
;
color
:
#444
;
text-shadow
:
0
0
1px
#fff
;
text-shadow
:
0
0
1px
#fff
;
&
.grouped
{
&
.grouped
{
float
:
left
;
float
:
left
;
margin-right
:
6px
;
margin-right
:
6px
;
padding
:
6px
;
padding
:
6px
;
...
@@ -199,7 +199,7 @@ a:focus {
...
@@ -199,7 +199,7 @@ a:focus {
color
:
$style_color
;
color
:
$style_color
;
}
}
.nav-tabs
>
.active
>
a
{
.nav-tabs
>
.active
>
a
{
font-weight
:bold
;
font-weight
:bold
;
}
}
...
@@ -248,39 +248,39 @@ a:focus {
...
@@ -248,39 +248,39 @@ a:focus {
margin-top
:
20px
;
margin-top
:
20px
;
}
}
.padded
{
.padded
{
padding
:
20px
;
padding
:
20px
;
}
}
.ipadded
{
.ipadded
{
padding
:
20px
!
important
;
padding
:
20px
!
important
;
}
}
.lborder
{
.lborder
{
border-left
:
1px
solid
#eee
;
border-left
:
1px
solid
#eee
;
}
}
.borders
{
.borders
{
border
:
1px
solid
#ccc
;
border
:
1px
solid
#ccc
;
@include
shade
;
@include
shade
;
}
}
.no-borders
{
.no-borders
{
border
:none
;
border
:none
;
}
}
table
.no-borders
{
table
.no-borders
{
border
:none
;
border
:none
;
tr
,
td
{
border
:none
}
tr
,
td
{
border
:none
}
}
}
.no-padding
{
.no-padding
{
padding
:
0
!
important
;
padding
:
0
!
important
;
}
}
.underlined
{
.underlined
{
border-bottom
:
1px
solid
$border_color
;
border-bottom
:
1px
solid
$border_color
;
}
}
.vlink
{
.vlink
{
color
:
$link_color
!
important
;
color
:
$link_color
!
important
;
}
}
.pretty_label
{
.pretty_label
{
@include
round-borders-all
(
4px
);
@include
round-borders-all
(
4px
);
padding
:
2px
4px
;
padding
:
2px
4px
;
background-image
:
-webkit-gradient
(
linear
,
0
0
,
0
26
,
color-stop
(
0
.076
,
#fefefe
)
,
to
(
#F6F7F8
));
background-image
:
-webkit-gradient
(
linear
,
0
0
,
0
26
,
color-stop
(
0
.076
,
#fefefe
)
,
to
(
#F6F7F8
));
...
@@ -290,7 +290,7 @@ table.no-borders {
...
@@ -290,7 +290,7 @@ table.no-borders {
color
:
#777
;
color
:
#777
;
border
:
1px
solid
#DEDFE1
;
border
:
1px
solid
#DEDFE1
;
&
.branch
{
&
.branch
{
border
:none
;
border
:none
;
font-size
:
13px
;
font-size
:
13px
;
background
:
#474D57
;
background
:
#474D57
;
...
@@ -300,73 +300,71 @@ table.no-borders {
...
@@ -300,73 +300,71 @@ table.no-borders {
}
}
}
}
.event_label
{
.event_label
{
@extend
.label
;
@extend
.label
;
background-color
:
#999
;
background-color
:
#999
;
&
.pushed
{
&
.pushed
{
background-color
:
#3A87AD
;
background-color
:
#3A87AD
;
}
}
&
.opened
{
&
.opened
{
background-color
:
#468847
;
background-color
:
#468847
;
}
}
&
.closed
{
&
.closed
{
background-color
:
#B94A48
;
background-color
:
#B94A48
;
}
}
&
.merged
{
&
.merged
{
background-color
:
#2A2
;
background-color
:
#2A2
;
}
}
}
}
img
.avatar
{
img
.avatar
{
float
:left
;
float
:left
;
margin-right
:
15px
;
margin-right
:
15px
;
width
:
40px
;
width
:
40px
;
-webkit-border-radius
:
4px
;
border
:
2px
solid
#ddd
;
-moz-border-radius
:
4px
;
border-radius
:
4px
;
&
.s16
{
&
.s16
{
width
:
16px
;
width
:
16px
;
}
}
&
.s24
{
&
.s24
{
width
:
24px
;
width
:
24px
;
}
}
&
.s32
{
&
.s32
{
width
:
32px
;
width
:
32px
;
}
}
}
}
img
.lil_av
{
img
.lil_av
{
padding-left
:
4px
;
padding-left
:
4px
;
padding-right
:
3px
;
padding-right
:
3px
;
}
}
form
{
form
{
@extend
.form-horizontal
;
@extend
.form-horizontal
;
.actions
{
.actions
{
@extend
.form-actions
;
@extend
.form-actions
;
}
}
.clearfix
{
.clearfix
{
@extend
.control-group
;
@extend
.control-group
;
}
}
.input
{
.input
{
@extend
.controls
;
@extend
.controls
;
}
}
label
{
label
{
@extend
.control-label
;
@extend
.control-label
;
}
}
.xlarge
{
.xlarge
{
@extend
.input-xlarge
;
@extend
.input-xlarge
;
}
}
.xxlarge
{
.xxlarge
{
@extend
.input-xxlarge
;
@extend
.input-xxlarge
;
}
}
}
}
...
@@ -375,25 +373,25 @@ form {
...
@@ -375,25 +373,25 @@ form {
* List li block element #1
* List li block element #1
*
*
*/
*/
.wll
{
.wll
{
background-color
:
#FFF
;
background-color
:
#FFF
;
padding
:
10px
5px
;
padding
:
10px
5px
;
min-height
:
20px
;
min-height
:
20px
;
border-bottom
:
1px
solid
#eee
;
border-bottom
:
1px
solid
#eee
;
border-bottom
:
1px
solid
rgba
(
0
,
0
,
0
,
0
.05
);
border-bottom
:
1px
solid
rgba
(
0
,
0
,
0
,
0
.05
);
&
.smoke
{
&
.smoke
{
background-color
:
#f5f5f5
;
background-color
:
#f5f5f5
;
}
}
&
:hover
{
&
:hover
{
background
:
$hover
;
background
:
$hover
;
}
}
&
:last-child
{
border
:none
}
&
:last-child
{
border
:none
}
p
{
padding-top
:
5px
;
margin
:
0
;
color
:
$style_color
;}
p
{
padding-top
:
5px
;
margin
:
0
;
color
:
$style_color
;}
.author
{
color
:
#999
;
}
.author
{
color
:
#999
;
}
p
{
p
{
color
:
#222
;
color
:
#222
;
margin-bottom
:
0
;
margin-bottom
:
0
;
img
{
img
{
position
:relative
;
position
:relative
;
top
:
3px
;
top
:
3px
;
}
}
...
@@ -405,7 +403,7 @@ form {
...
@@ -405,7 +403,7 @@ form {
* Block element #2
* Block element #2
*
*
*/
*/
.entry
{
.entry
{
position
:
relative
;
position
:
relative
;
padding
:
7px
15px
;
padding
:
7px
15px
;
margin-bottom
:
18px
;
margin-bottom
:
18px
;
...
@@ -427,10 +425,10 @@ form {
...
@@ -427,10 +425,10 @@ form {
border
:
1px
solid
#ccc
;
border
:
1px
solid
#ccc
;
p
{
p
{
color
:
$style_color
;
color
:
$style_color
;
margin-bottom
:
0
;
margin-bottom
:
0
;
img
{
img
{
position
:relative
;
position
:relative
;
top
:
3px
;
top
:
3px
;
}
}
...
@@ -442,18 +440,18 @@ form {
...
@@ -442,18 +440,18 @@ form {
* Big UI Block for show page content
* Big UI Block for show page content
*
*
*/
*/
.ui-box
{
.ui-box
{
background
:
#F9F9F9
;
background
:
#F9F9F9
;
margin-bottom
:
25px
;
margin-bottom
:
25px
;
@include
round-borders-all
(
4px
);
@include
round-borders-all
(
4px
);
border-color
:
#CCC
;
border-color
:
#CCC
;
@include
solid_shade
;
@include
solid_shade
;
ul
{
ul
{
margin
:
0
;
margin
:
0
;
}
}
h5
,
.title
{
h5
,
.title
{
padding
:
0
10px
;
padding
:
0
10px
;
@include
round-borders-top
(
4px
);
@include
round-borders-top
(
4px
);
border-bottom
:
1px
solid
#bbb
;
border-bottom
:
1px
solid
#bbb
;
...
@@ -463,30 +461,30 @@ form {
...
@@ -463,30 +461,30 @@ form {
background-image
:
-moz-linear-gradient
(
#eee
6
.6%
,
#dfdfdf
);
background-image
:
-moz-linear-gradient
(
#eee
6
.6%
,
#dfdfdf
);
background-image
:
-o-linear-gradient
(
#eee
6
.6%
,
#dfdfdf
);
background-image
:
-o-linear-gradient
(
#eee
6
.6%
,
#dfdfdf
);
&
.small
{
&
.small
{
line-height
:
28px
;
line-height
:
28px
;
font-size
:
14px
;
font-size
:
14px
;
line-height
:
28px
;
line-height
:
28px
;
text-shadow
:
0
1px
1px
white
;
text-shadow
:
0
1px
1px
white
;
}
}
form
{
form
{
padding
:
9px
0
;
padding
:
9px
0
;
margin
:
0px
;
margin
:
0px
;
}
}
.nav-pills
{
.nav-pills
{
li
{
li
{
padding
:
3px
0
;
padding
:
3px
0
;
&
.active
a
{
background-color
:
$style_color
;
}
&
.active
a
{
background-color
:
$style_color
;
}
a
{
a
{
border-radius
:
7px
;
border-radius
:
7px
;
}
}
}
}
}
}
}
}
.bottom
{
.bottom
{
background-image
:
-webkit-gradient
(
linear
,
0
0
,
0
30
,
color-stop
(
0
.066
,
#eee
)
,
to
(
#dfdfdf
));
background-image
:
-webkit-gradient
(
linear
,
0
0
,
0
30
,
color-stop
(
0
.066
,
#eee
)
,
to
(
#dfdfdf
));
background-image
:
-webkit-linear-gradient
(
#eee
6
.6%
,
#dfdfdf
);
background-image
:
-webkit-linear-gradient
(
#eee
6
.6%
,
#dfdfdf
);
background-image
:
-moz-linear-gradient
(
#eee
6
.6%
,
#dfdfdf
);
background-image
:
-moz-linear-gradient
(
#eee
6
.6%
,
#dfdfdf
);
...
@@ -496,13 +494,13 @@ form {
...
@@ -496,13 +494,13 @@ form {
border-top
:
1px
solid
#bbb
;
border-top
:
1px
solid
#bbb
;
}
}
&
.padded
{
&
.padded
{
h5
,
.title
{
h5
,
.title
{
margin
:
-20px
;
margin
:
-20px
;
margin-bottom
:
0
;
margin-bottom
:
0
;
padding
:
5px
20px
;
padding
:
5px
20px
;
}
}
.middle_title
{
.middle_title
{
background
:
#f5f5f5
;
background
:
#f5f5f5
;
margin
:
20px
-20px
;
margin
:
20px
-20px
;
padding
:
0
20px
;
padding
:
0
20px
;
...
@@ -512,7 +510,7 @@ form {
...
@@ -512,7 +510,7 @@ form {
color
:
#777
;
color
:
#777
;
}
}
}
}
.row_title
{
.row_title
{
font-weight
:bold
;
font-weight
:bold
;
color
:
#444
;
color
:
#444
;
&
:hover
{
&
:hover
{
...
@@ -523,12 +521,12 @@ form {
...
@@ -523,12 +521,12 @@ form {
li
,
.wll
{
li
,
.wll
{
padding
:
10px
;
padding
:
10px
;
&
:first-child
{
&
:first-child
{
@include
round-borders-top
(
4px
);
@include
round-borders-top
(
4px
);
border-top
:none
;
border-top
:none
;
}
}
&
:last-child
{
&
:last-child
{
@include
round-borders-bottom
(
4px
);
@include
round-borders-bottom
(
4px
);
border
:none
;
border
:none
;
}
}
...
@@ -537,10 +535,10 @@ form {
...
@@ -537,10 +535,10 @@ form {
}
}
table
.admin-table
{
table
.admin-table
{
@extend
.table-bordered
;
@extend
.table-bordered
;
@extend
.zebra-striped
;
@extend
.zebra-striped
;
@include
solid_shade
;
@include
solid_shade
;
th
{
th
{
border-color
:
#CCC
;
border-color
:
#CCC
;
border-bottom
:
1px
solid
#bbb
;
border-bottom
:
1px
solid
#bbb
;
background
:
#eee
;
background
:
#eee
;
...
@@ -551,7 +549,7 @@ table.admin-table {
...
@@ -551,7 +549,7 @@ table.admin-table {
}
}
}
}
.field_with_errors
{
.field_with_errors
{
display
:inline
;
display
:inline
;
}
}
...
@@ -563,13 +561,13 @@ ul.breadcrumb {
...
@@ -563,13 +561,13 @@ ul.breadcrumb {
text-shadow
:
0
1px
0
white
text-shadow
:
0
1px
0
white
}
}
a
{
a
{
color
:
#474D57
;
color
:
#474D57
;
font-weight
:bold
;
font-weight
:bold
;
font-size
:
14px
;
font-size
:
14px
;
}
}
.arrow
{
.arrow
{
background
:
url("images.png")
no-repeat
-85px
-77px
;
background
:
url("images.png")
no-repeat
-85px
-77px
;
width
:
19px
;
width
:
19px
;
height
:
16px
;
height
:
16px
;
...
@@ -581,18 +579,18 @@ ul.breadcrumb {
...
@@ -581,18 +579,18 @@ ul.breadcrumb {
}
}
}
}
.nothing_here_message
{
.nothing_here_message
{
text-align
:center
;
text-align
:center
;
padding
:
20px
;
padding
:
20px
;
color
:
#777
;
color
:
#777
;
}
}
/**
/**
* UI box element
* UI box element
* contains top, middle, bottom blocks
* contains top, middle, bottom blocks
*
*
*/
*/
.main_box
{
.main_box
{
@extend
.borders
;
@extend
.borders
;
@extend
.prepend-top-20
;
@extend
.prepend-top-20
;
@extend
.append-bottom-20
;
@extend
.append-bottom-20
;
...
@@ -608,9 +606,9 @@ ul.breadcrumb {
...
@@ -608,9 +606,9 @@ ul.breadcrumb {
}
}
}
}
.top_box_content
,
.top_box_content
,
.middle_box_content
,
.middle_box_content
,
.bottom_box_content
{
.bottom_box_content
{
padding
:
15px
;
padding
:
15px
;
pre
{
pre
{
...
@@ -621,7 +619,7 @@ ul.breadcrumb {
...
@@ -621,7 +619,7 @@ ul.breadcrumb {
}
}
}
}
.middle_box_content
{
.middle_box_content
{
border-radius
:
0
;
border-radius
:
0
;
border
:none
;
border
:none
;
font-size
:
12px
;
font-size
:
12px
;
...
@@ -630,20 +628,20 @@ ul.breadcrumb {
...
@@ -630,20 +628,20 @@ ul.breadcrumb {
border-top
:
1px
solid
#eee
;
border-top
:
1px
solid
#eee
;
}
}
.bottom_box_content
{
.bottom_box_content
{
border-top
:
1px
solid
#eee
;
border-top
:
1px
solid
#eee
;
}
}
}
}
input
[
type
=
text
]
{
input
[
type
=
text
]
{
&
.large_text
{
&
.large_text
{
padding
:
6px
;
padding
:
6px
;
font-size
:
16px
;
font-size
:
16px
;
}
}
}
}
p
{
p
{
&
.slead
{
&
.slead
{
color
:
#456
;
color
:
#456
;
font-size
:
16px
;
font-size
:
16px
;
margin-bottom
:
12px
;
margin-bottom
:
12px
;
...
@@ -652,7 +650,7 @@ p {
...
@@ -652,7 +650,7 @@ p {
}
}
}
}
h3
.page_title
{
h3
.page_title
{
color
:
#456
;
color
:
#456
;
font-size
:
20px
;
font-size
:
20px
;
font-weight
:
normal
;
font-weight
:
normal
;
...
@@ -660,15 +658,15 @@ h3.page_title {
...
@@ -660,15 +658,15 @@ h3.page_title {
}
}
/**
/**
* File content holder
* File content holder
*
*
*/
*/
.file_holder
{
.file_holder
{
border
:
1px
solid
#CCC
;
border
:
1px
solid
#CCC
;
margin-bottom
:
1em
;
margin-bottom
:
1em
;
@include
solid_shade
;
@include
solid_shade
;
.file_title
{
.file_title
{
border-bottom
:
1px
solid
#bbb
;
border-bottom
:
1px
solid
#bbb
;
background
:
#eee
;
background
:
#eee
;
background-image
:
-webkit-gradient
(
linear
,
0
0
,
0
30
,
color-stop
(
0
.066
,
#eee
)
,
to
(
#dfdfdf
));
background-image
:
-webkit-gradient
(
linear
,
0
0
,
0
30
,
color-stop
(
0
.066
,
#eee
)
,
to
(
#dfdfdf
));
...
@@ -683,16 +681,16 @@ h3.page_title {
...
@@ -683,16 +681,16 @@ h3.page_title {
padding
:
9px
10px
;
padding
:
9px
10px
;
height
:
18px
;
height
:
18px
;
.options
{
.options
{
float
:right
;
float
:right
;
margin-top
:
-5px
;
margin-top
:
-5px
;
}
}
.file_name
{
.file_name
{
color
:
$style_color
;
color
:
$style_color
;
font-size
:
14px
;
font-size
:
14px
;
text-shadow
:
0
1px
1px
#fff
;
text-shadow
:
0
1px
1px
#fff
;
small
{
small
{
color
:
#999
;
color
:
#999
;
font-size
:
13px
;
font-size
:
13px
;
}
}
...
@@ -702,21 +700,21 @@ h3.page_title {
...
@@ -702,21 +700,21 @@ h3.page_title {
background
:
#fff
;
background
:
#fff
;
font-size
:
11px
;
font-size
:
11px
;
&
.wiki
{
&
.wiki
{
font-size
:
13px
;
font-size
:
13px
;
code
{
code
{
padding
:
0
4px
;
padding
:
0
4px
;
}
}
padding
:
20px
;
padding
:
20px
;
h1
,
h2
{
h1
,
h2
{
line-height
:
46px
;
line-height
:
46px
;
}
}
h3
,
h4
{
h3
,
h4
{
line-height
:
40px
;
line-height
:
40px
;
}
}
}
}
&
.image_file
{
&
.image_file
{
background
:
#eee
;
background
:
#eee
;
text-align
:center
;
text-align
:center
;
img
{
img
{
...
@@ -725,27 +723,27 @@ h3.page_title {
...
@@ -725,27 +723,27 @@ h3.page_title {
}
}
}
}
&
.blob_file
{
&
.blob_file
{
}
}
/**
/**
* Blame file
* Blame file
*/
*/
&
.blame
{
&
.blame
{
tr
{
tr
{
border-bottom
:
1px
solid
#eee
;
border-bottom
:
1px
solid
#eee
;
}
}
td
{
td
{
padding
:
5px
;
padding
:
5px
;
}
}
.author
,
.author
,
.blame_commit
{
.blame_commit
{
background
:
#f5f5f5
;
background
:
#f5f5f5
;
vertical-align
:top
;
vertical-align
:top
;
}
}
.lines
{
.lines
{
pre
{
pre
{
padding
:
0
;
padding
:
0
;
margin
:
0
;
margin
:
0
;
background
:none
;
background
:none
;
...
@@ -754,27 +752,27 @@ h3.page_title {
...
@@ -754,27 +752,27 @@ h3.page_title {
}
}
}
}
&
.logs
{
&
.logs
{
background
:
#eee
;
background
:
#eee
;
max-height
:
700px
;
max-height
:
700px
;
overflow-y
:
auto
;
overflow-y
:
auto
;
ol
{
ol
{
margin-left
:
40px
;
margin-left
:
40px
;
padding
:
10px
0
;
padding
:
10px
0
;
border-left
:
1px
solid
#CCC
;
border-left
:
1px
solid
#CCC
;
margin-bottom
:
0
;
margin-bottom
:
0
;
background
:
white
;
background
:
white
;
li
{
li
{
color
:
#888
;
color
:
#888
;
p
{
p
{
margin
:
0
;
margin
:
0
;
color
:
#333
;
color
:
#333
;
line-height
:
24px
;
line-height
:
24px
;
padding-left
:
10px
;
padding-left
:
10px
;
}
}
&
:hover
{
&
:hover
{
background
:
$hover
;
background
:
$hover
;
}
}
}
}
...
@@ -784,7 +782,7 @@ h3.page_title {
...
@@ -784,7 +782,7 @@ h3.page_title {
/**
/**
* Code file
* Code file
*/
*/
&
.code
{
&
.code
{
padding
:
0
;
padding
:
0
;
td
.code
{
td
.code
{
width
:
100%
;
width
:
100%
;
...
...
app/assets/stylesheets/sections/header.scss
View file @
66399d55
...
@@ -2,14 +2,14 @@
...
@@ -2,14 +2,14 @@
* Application Header
* Application Header
*
*
*/
*/
header
{
header
{
width
:
100%
;
width
:
100%
;
padding
:
0
;
padding
:
0
;
margin
:
0
;
margin
:
0
;
top
:
1px
;
top
:
1px
;
left
:
0
;
left
:
0
;
background
:
#F1F1F1
;
/* for non-css3 browsers */
background
:
#F1F1F1
;
/* for non-css3 browsers */
border-bottom
:
1px
solid
#ccc
;
border-bottom
:
1px
solid
#ccc
;
box-shadow
:
0
-1px
0
white
inset
;
box-shadow
:
0
-1px
0
white
inset
;
-moz-box-shadow
:
0
-1px
0
white
inset
;
-moz-box-shadow
:
0
-1px
0
white
inset
;
-webkit-box-shadow
:
0
-1px
0
white
inset
;
-webkit-box-shadow
:
0
-1px
0
white
inset
;
...
@@ -17,7 +17,7 @@ header {
...
@@ -17,7 +17,7 @@ header {
height
:
60px
;
height
:
60px
;
/**
/**
*
*
* Logo holder
* Logo holder
*
*
*/
*/
...
@@ -27,10 +27,10 @@ header {
...
@@ -27,10 +27,10 @@ header {
position
:relative
;
position
:relative
;
top
:
-5px
;
top
:
-5px
;
a
{
a
{
float
:left
;
float
:left
;
h1
{
h1
{
text-indent
:
-9999px
;
text-indent
:
-9999px
;
width
:
102px
;
width
:
102px
;
background
:
url('logo_text.png')
no-repeat
0px
-3px
;
background
:
url('logo_text.png')
no-repeat
0px
-3px
;
...
@@ -54,8 +54,8 @@ header {
...
@@ -54,8 +54,8 @@ header {
margin-top
:
-10px
;
margin-top
:
-10px
;
}
}
}
}
.container
{
.container
{
.top_panel_content
{
.top_panel_content
{
margin
:auto
;
margin
:auto
;
position
:relative
;
position
:relative
;
padding
:
15px
0
;
padding
:
15px
0
;
...
@@ -63,7 +63,7 @@ header {
...
@@ -63,7 +63,7 @@ header {
}
}
/**
/**
*
*
* Project / Area name
* Project / Area name
*
*
*/
*/
...
@@ -78,10 +78,10 @@ header {
...
@@ -78,10 +78,10 @@ header {
text-shadow
:
0
1px
1px
#FFF
;
text-shadow
:
0
1px
1px
#FFF
;
}
}
.fbtn
{
.fbtn
{
float
:
right
;
float
:
right
;
margin-right
:
10px
;
margin-right
:
10px
;
.btn
{
.btn
{
margin-left
:
7px
;
margin-left
:
7px
;
background
:
#F1F1F1
;
background
:
#F1F1F1
;
border
:
1px
solid
#CCC
;
border
:
1px
solid
#CCC
;
...
@@ -90,13 +90,13 @@ header {
...
@@ -90,13 +90,13 @@ header {
/**
/**
*
*
* Search box
* Search box
*
*
*/
*/
.search
{
.search
{
float
:
right
;
float
:
right
;
margin-right
:
50
px
;
margin-right
:
45
px
;
.search-input
{
.search-input
{
@extend
.span2
;
@extend
.span2
;
...
@@ -110,7 +110,7 @@ header {
...
@@ -110,7 +110,7 @@ header {
}
}
/**
/**
*
*
* Account box
* Account box
*
*
*/
*/
...
@@ -125,13 +125,13 @@ header {
...
@@ -125,13 +125,13 @@ header {
display
:
block
;
display
:
block
;
cursor
:
pointer
;
cursor
:
pointer
;
img
{
img
{
border-radius
:
4px
;
@include
border-radius
(
4px
)
;
right
:
5px
;
right
:
5px
;
position
:
absolute
;
position
:
absolute
;
width
:
31
px
;
width
:
28
px
;
height
:
31
px
;
height
:
28
px
;
display
:
block
;
display
:
block
;
top
:
0
;
top
:
2px
;
&
:after
{
&
:after
{
content
:
" "
;
content
:
" "
;
display
:
block
;
display
:
block
;
...
@@ -186,7 +186,7 @@ header {
...
@@ -186,7 +186,7 @@ header {
width
:
100px
;
width
:
100px
;
position
:
absolute
;
position
:
absolute
;
right
:
10px
;
right
:
10px
;
top
:
4
6
px
;
top
:
4
2
px
;
margin-top
:
0
;
margin-top
:
0
;
float
:
right
;
float
:
right
;
box-shadow
:
0
1px
1px
rgba
(
0
,
0
,
0
,
0
.2
);
box-shadow
:
0
1px
1px
rgba
(
0
,
0
,
0
,
0
.2
);
...
...
app/assets/stylesheets/themes/ui_basic.scss
View file @
66399d55
/**
/**
* This file represent some UI that can be changed
* This file represent some UI that can be changed
* during web app restyle or theme select.
* during web app restyle or theme select.
*
*
*/
*/
.ui_basic
{
.ui_basic
{
/*
/*
* Common styles
* Common styles
*
*
*/
*/
a
{
a
{
color
:
$link_color
;
color
:
$link_color
;
&
:hover
{
&
:hover
{
text-decoration
:none
;
text-decoration
:none
;
color
:
$blue_link
;
color
:
$blue_link
;
}
}
}
}
...
...
app/assets/stylesheets/themes/ui_mars.scss
View file @
66399d55
/**
/**
* This file represent some UI that can be changed
* This file represent some UI that can be changed
* during web app restyle or theme select.
* during web app restyle or theme select.
*
*
* Next items should be placed there
* Next items should be placed there
* - link colors
* - link colors
* - header restyles
* - header restyles
...
@@ -13,20 +13,20 @@
...
@@ -13,20 +13,20 @@
* Application Header
* Application Header
*
*
*/
*/
header
{
header
{
background
:
#474D57
url('bg-header.png')
repeat-x
bottom
;
background
:
#474D57
url('bg-header.png')
repeat-x
bottom
;
box-shadow
:none
;
box-shadow
:none
;
border-bottom
:
1px
solid
#444
;
border-bottom
:
1px
solid
#444
;
.fbtn
{
.fbtn
{
.btn
{
.btn
{
margin-left
:
8px
;
margin-left
:
8px
;
background-image
:
-webkit-gradient
(
linear
,
0
0
,
0
30
,
color-stop
(
0
.066
,
#595D63
)
,
to
(
#31363E
));
background-image
:
-webkit-gradient
(
linear
,
0
0
,
0
30
,
color-stop
(
0
.066
,
#595D63
)
,
to
(
#31363E
));
background-image
:
-webkit-linear-gradient
(
#595D63
6
.6%
,
#31363E
);
background-image
:
-webkit-linear-gradient
(
#595D63
6
.6%
,
#31363E
);
background-image
:
-moz-linear-gradient
(
#595D63
6
.6%
,
#31363E
);
background-image
:
-moz-linear-gradient
(
#595D63
6
.6%
,
#31363E
);
background-image
:
-o-linear-gradient
(
#595D63
6
.6%
,
#31363E
);
background-image
:
-o-linear-gradient
(
#595D63
6
.6%
,
#31363E
);
font-size
:
12px
;
font-size
:
12px
;
&
:hover
{
&
:hover
{
background-image
:
-webkit-gradient
(
linear
,
0
0
,
0
30
,
color-stop
(
0
.066
,
#595D63
)
,
to
(
#2C2F35
));
background-image
:
-webkit-gradient
(
linear
,
0
0
,
0
30
,
color-stop
(
0
.066
,
#595D63
)
,
to
(
#2C2F35
));
background-image
:
-webkit-linear-gradient
(
#595D63
6
.6%
,
#2C2F35
);
background-image
:
-webkit-linear-gradient
(
#595D63
6
.6%
,
#2C2F35
);
background-image
:
-moz-linear-gradient
(
#595D63
6
.6%
,
#202227
);
background-image
:
-moz-linear-gradient
(
#595D63
6
.6%
,
#202227
);
...
@@ -39,10 +39,10 @@
...
@@ -39,10 +39,10 @@
text-shadow
:
0
-1px
0
#000000
;
text-shadow
:
0
-1px
0
#000000
;
}
}
}
}
.search
{
.search
{
float
:
right
;
float
:
right
;
margin-right
:
5
5px
;
margin-right
:
4
5px
;
.search-input
{
.search-input
{
border
:
1px
solid
rgba
(
0
,
0
,
0
,
0
.7
);
border
:
1px
solid
rgba
(
0
,
0
,
0
,
0
.7
);
box-shadow
:
0
1px
0
rgba
(
255
,
255
,
255
,
0
.2
)
,
0
2px
2px
rgba
(
0
,
0
,
0
,
0
.4
)
inset
;
box-shadow
:
0
1px
0
rgba
(
255
,
255
,
255
,
0
.2
)
,
0
2px
2px
rgba
(
0
,
0
,
0
,
0
.4
)
inset
;
background-color
:
#D2D5DA
;
background-color
:
#D2D5DA
;
...
@@ -57,8 +57,8 @@
...
@@ -57,8 +57,8 @@
color
:
#666
;
color
:
#666
;
}
}
.app_logo
{
.app_logo
{
a
{
a
{
h1
{
h1
{
background
:
url('images.png')
no-repeat
-3px
-6px
;
background
:
url('images.png')
no-repeat
-3px
-6px
;
width
:
65px
;
width
:
65px
;
height
:
26px
;
height
:
26px
;
...
...
app/assets/stylesheets/themes/ui_modern.scss
View file @
66399d55
...
@@ -91,7 +91,7 @@
...
@@ -91,7 +91,7 @@
*/
*/
.search
{
.search
{
float
:
right
;
float
:
right
;
margin-right
:
5
5px
;
margin-right
:
4
5px
;
.search-input
{
.search-input
{
border
:
1px
solid
rgba
(
0
,
0
,
0
,
0
.7
);
border
:
1px
solid
rgba
(
0
,
0
,
0
,
0
.7
);
box-shadow
:
0
1px
0
rgba
(
255
,
255
,
255
,
0
.2
)
,
0
2px
2px
rgba
(
0
,
0
,
0
,
0
.4
)
inset
;
box-shadow
:
0
1px
0
rgba
(
255
,
255
,
255
,
0
.2
)
,
0
2px
2px
rgba
(
0
,
0
,
0
,
0
.4
)
inset
;
...
@@ -127,6 +127,7 @@
...
@@ -127,6 +127,7 @@
.account-box
{
.account-box
{
top
:
6px
;
top
:
6px
;
img
{
img
{
top
:
1px
;
right
:
5px
;
right
:
5px
;
width
:
26px
;
width
:
26px
;
height
:
26px
;
height
:
26px
;
...
...
app/helpers/application_helper.rb
View file @
66399d55
...
@@ -110,7 +110,7 @@ module ApplicationHelper
...
@@ -110,7 +110,7 @@ module ApplicationHelper
when
:admin_root
;
controller
.
controller_name
==
"dashboard"
when
:admin_root
;
controller
.
controller_name
==
"dashboard"
when
:admin_users
;
controller
.
controller_name
==
'users'
when
:admin_users
;
controller
.
controller_name
==
'users'
when
:admin_projects
;
controller
.
controller_name
==
"projects"
when
:admin_projects
;
controller
.
controller_name
==
"projects"
when
:admin_
emails
;
controller
.
controller_name
==
'mailer
'
when
:admin_
hooks
;
controller
.
controller_name
==
'hooks
'
when
:admin_resque
;
controller
.
controller_name
==
'resque'
when
:admin_resque
;
controller
.
controller_name
==
'resque'
when
:admin_logs
;
controller
.
controller_name
==
'logs'
when
:admin_logs
;
controller
.
controller_name
==
'logs'
...
...
app/helpers/gitlab_markdown_helper.rb
View file @
66399d55
...
@@ -12,53 +12,10 @@ module GitlabMarkdownHelper
...
@@ -12,53 +12,10 @@ module GitlabMarkdownHelper
"{gfm-extraction-
#{
md5
}
}"
"{gfm-extraction-
#{
md5
}
}"
end
end
# match 1 2 3 4 5 6
# TODO: add popups with additional information
text
.
gsub!
(
/(\W)?(@([\w\._]+)|[#!$](\d+)|([\h]{6,40}))(\W)?/
)
do
|
match
|
prefix
=
$1
reference
=
$2
user_name
=
$3
issue_id
=
$4
merge_request_id
=
$4
snippet_id
=
$4
commit_id
=
$5
suffix
=
$6
# TODO: add popups with additional information
parser
=
Gitlab
::
Markdown
.
new
(
@project
,
html_options
)
ref_link
=
case
reference
text
=
parser
.
parse
(
text
)
# team member: @foo
when
/^@/
user
=
@project
.
users
.
where
(
name:
user_name
).
first
member
=
@project
.
users_projects
.
where
(
user_id:
user
).
first
if
user
link_to
(
"@
#{
user_name
}
"
,
project_team_member_path
(
@project
,
member
),
html_options
.
merge
(
class:
"gfm gfm-team_member
#{
html_options
[
:class
]
}
"
))
if
member
# issue: #123
when
/^#/
# avoid HTML entities
unless
prefix
.
try
(
:end_with?
,
"&"
)
&&
suffix
.
try
(
:start_with?
,
";"
)
issue
=
@project
.
issues
.
where
(
id:
issue_id
).
first
link_to
(
"#
#{
issue_id
}
"
,
project_issue_path
(
@project
,
issue
),
html_options
.
merge
(
title:
"Issue:
#{
issue
.
title
}
"
,
class:
"gfm gfm-issue
#{
html_options
[
:class
]
}
"
))
if
issue
end
# merge request: !123
when
/^!/
merge_request
=
@project
.
merge_requests
.
where
(
id:
merge_request_id
).
first
link_to
(
"!
#{
merge_request_id
}
"
,
project_merge_request_path
(
@project
,
merge_request
),
html_options
.
merge
(
title:
"Merge Request:
#{
merge_request
.
title
}
"
,
class:
"gfm gfm-merge_request
#{
html_options
[
:class
]
}
"
))
if
merge_request
# snippet: $123
when
/^\$/
snippet
=
@project
.
snippets
.
where
(
id:
snippet_id
).
first
link_to
(
"$
#{
snippet_id
}
"
,
project_snippet_path
(
@project
,
snippet
),
html_options
.
merge
(
title:
"Snippet:
#{
snippet
.
title
}
"
,
class:
"gfm gfm-snippet
#{
html_options
[
:class
]
}
"
))
if
snippet
# commit: 123456...
when
/^\h/
commit
=
@project
.
commit
(
commit_id
)
link_to
(
commit_id
,
project_commit_path
(
@project
,
id:
commit
.
id
),
html_options
.
merge
(
title:
"Commit:
#{
commit
.
author_name
}
-
#{
CommitDecorator
.
new
(
commit
).
title
}
"
,
class:
"gfm gfm-commit
#{
html_options
[
:class
]
}
"
))
if
commit
end
# case
ref_link
.
nil?
?
match
:
"
#{
prefix
}#{
ref_link
}#{
suffix
}
"
end
# gsub
# Insert pre block extractions
# Insert pre block extractions
text
.
gsub!
(
/\{gfm-extraction-(\h{32})\}/
)
do
text
.
gsub!
(
/\{gfm-extraction-(\h{32})\}/
)
do
...
...
app/views/errors/access_denied.html.haml
View file @
66399d55
.alert-message.block-message.error
%h1
Access Denied
%h3
Access Denied
%hr
%hr
%h2
You are not allowed to access this page.
%p
You are not allowed to access this page.
%p
Read more about project permissions
#{
link_to
"here"
,
help_permissions_path
,
class:
"vlink"
}
%p
Read more about project permissions
#{
link_to
"here"
,
help_permissions_path
,
class:
"vlink"
}
app/views/errors/git_not_found.html.haml
View file @
66399d55
.alert-message.block-message.error
%h1
404
%h3
Git Resource Not found
%hr
%hr
%h2
Git Resource Not found
%p
%p
Application can't get access to some
Application can't get access to some branch or commit in your repository. It
%span
.label
branch
may have been moved.
or
%span
.label
commit
in your repository. It may have been moved.
app/views/errors/gitolite.html.haml
View file @
66399d55
.alert-message.block-message.e
rror
%h1
Git E
rror
%h3
Gitolite Erro
r
%h
r
%h4
Application can't get access to your g
itolite system.
%h2
Gitlab was unable to access your G
itolite system.
%h4
Tips for Administrator:
.git_error_tips
%h4
Tips for Administrator:
%ul
%ol
%li
%li
%p
%p
Check git logs in admin area
Check git logs in admin area
%li
%li
%p
%p
Check config/gitlab.yml for correct settings.
Check config/gitlab.yml for correct settings.
%li
%li
%p
%p
Diagnostic tool:
Diagnostic tool:
%pre
bundle exec rake gitlab:app:status RAILS_ENV=production
%li
%p
Permissions:
%pre
%pre
bundle exec rake gitlab:app:status RAILS_ENV=production
=
preserve
do
%li
sudo chmod -R 770 /home/git/repositories/
%p
sudo chown -R git:git /home/git/repositories/
Permissions:
sudo chown gitlab:gitlab /home/git/repositories/**/hooks/post-receive
%pre
=
preserve
do
sudo chmod -R 770 /home/git/repositories/
sudo chown -R git:git /home/git/repositories/
sudo chown gitlab:gitlab /home/git/repositories/**/hooks/post-receive
app/views/errors/not_found.html.haml
View file @
66399d55
.alert-message.block-message.error
%h1
404
%h3
Not found
%hr
%hr
%h2
The resource you were looking for doesn't exist.
%p
The resource you were looking for doesn't exist.
%p
You may have mistyped the address or the page may have moved.
%p
You may have mistyped the address or it may have been removed.
app/views/layouts/admin.html.haml
View file @
66399d55
...
@@ -14,7 +14,7 @@
...
@@ -14,7 +14,7 @@
=
link_to
"Users"
,
admin_users_path
=
link_to
"Users"
,
admin_users_path
%li
{
class:
tab_class
(
:admin_logs
)}
%li
{
class:
tab_class
(
:admin_logs
)}
=
link_to
"Logs"
,
admin_logs_path
=
link_to
"Logs"
,
admin_logs_path
%li
{
class:
tab_class
(
:admin_
email
s
)}
%li
{
class:
tab_class
(
:admin_
hook
s
)}
=
link_to
"Hooks"
,
admin_hooks_path
=
link_to
"Hooks"
,
admin_hooks_path
%li
{
class:
tab_class
(
:admin_resque
)}
%li
{
class:
tab_class
(
:admin_resque
)}
=
link_to
"Resque"
,
admin_resque_path
=
link_to
"Resque"
,
admin_resque_path
...
...
app/views/layouts/error.html.haml
View file @
66399d55
...
@@ -6,5 +6,5 @@
...
@@ -6,5 +6,5 @@
=
render
"layouts/head_panel"
,
title:
""
=
render
"layouts/head_panel"
,
title:
""
.container
.container
.content
.content
%
br
%
center
.padded.prepend-top-20
%h3
=
yield
=
yield
lib/gitlab/markdown.rb
0 → 100644
View file @
66399d55
module
Gitlab
# Custom parsing for Gitlab-flavored Markdown
#
# Examples
#
# >> m = Markdown.new(...)
#
# >> m.parse("Hey @david, can you fix this?")
# => "Hey <a href="/gitlab/team_members/1">@david</a>, can you fix this?"
#
# >> m.parse("Commit 35d5f7c closes #1234")
# => "Commit <a href="/gitlab/commits/35d5f7c">35d5f7c</a> closes <a href="/gitlab/issues/1234">#1234</a>"
class
Markdown
include
Rails
.
application
.
routes
.
url_helpers
include
ActionView
::
Helpers
REFERENCE_PATTERN
=
%r{
([^
\w
&;])? # Prefix (1)
( # Reference (2)
@([
\w\.
_]+) # User name (3)
|[#!$](
\d
+) # Issue/MR/Snippet ID (4)
|([
\h
]{6,40}) # Commit ID (5)
)
([^
\w
&;])? # Suffix (6)
}x
.
freeze
attr_reader
:html_options
def
initialize
(
project
,
html_options
=
{})
@project
=
project
@html_options
=
html_options
end
def
parse
(
text
)
text
.
gsub
(
REFERENCE_PATTERN
)
do
|
match
|
prefix
=
$1
||
''
reference
=
$2
identifier
=
$3
||
$4
||
$5
suffix
=
$6
||
''
if
ref_link
=
reference_link
(
reference
,
identifier
)
prefix
+
ref_link
+
suffix
else
match
end
end
end
private
# Private: Dispatches to a dedicated processing method based on reference
#
# reference - Object reference ("@1234", "!567", etc.)
# identifier - Object identifier (Issue ID, SHA hash, etc.)
#
# Returns string rendered by the processing method
def
reference_link
(
reference
,
identifier
)
case
reference
when
/^@/
then
reference_user
(
identifier
)
when
/^#/
then
reference_issue
(
identifier
)
when
/^!/
then
reference_merge_request
(
identifier
)
when
/^\$/
then
reference_snippet
(
identifier
)
when
/^\h/
then
reference_commit
(
identifier
)
end
end
def
reference_user
(
identifier
)
if
user
=
@project
.
users
.
where
(
name:
identifier
).
first
member
=
@project
.
users_projects
.
where
(
user_id:
user
).
first
link_to
(
"@
#{
user
.
name
}
"
,
project_team_member_path
(
@project
,
member
),
html_options
.
merge
(
class:
"gfm gfm-team_member
#{
html_options
[
:class
]
}
"
))
if
member
end
end
def
reference_issue
(
identifier
)
if
issue
=
@project
.
issues
.
where
(
id:
identifier
).
first
link_to
(
"#
#{
issue
.
id
}
"
,
project_issue_path
(
@project
,
issue
),
html_options
.
merge
(
title:
"Issue:
#{
issue
.
title
}
"
,
class:
"gfm gfm-issue
#{
html_options
[
:class
]
}
"
))
end
end
def
reference_merge_request
(
identifier
)
if
merge_request
=
@project
.
merge_requests
.
where
(
id:
identifier
).
first
link_to
(
"!
#{
merge_request
.
id
}
"
,
project_merge_request_path
(
@project
,
merge_request
),
html_options
.
merge
(
title:
"Merge Request:
#{
merge_request
.
title
}
"
,
class:
"gfm gfm-merge_request
#{
html_options
[
:class
]
}
"
))
end
end
def
reference_snippet
(
identifier
)
if
snippet
=
@project
.
snippets
.
where
(
id:
identifier
).
first
link_to
(
"$
#{
snippet
.
id
}
"
,
project_snippet_path
(
@project
,
snippet
),
html_options
.
merge
(
title:
"Snippet:
#{
snippet
.
title
}
"
,
class:
"gfm gfm-snippet
#{
html_options
[
:class
]
}
"
))
end
end
def
reference_commit
(
identifier
)
if
commit
=
@project
.
commit
(
identifier
)
link_to
(
identifier
,
project_commit_path
(
@project
,
id:
commit
.
id
),
html_options
.
merge
(
title:
"Commit:
#{
commit
.
author_name
}
-
#{
CommitDecorator
.
new
(
commit
).
title
}
"
,
class:
"gfm gfm-commit
#{
html_options
[
:class
]
}
"
))
end
end
end
end
public/404.html
View file @
66399d55
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
<body>
<body>
<h1>
404
</h1>
<h1>
404
</h1>
<div
class=
"alert-message block-message error"
>
<div>
<h2>
The page you were looking for doesn't exist.
</h2>
<h2>
The page you were looking for doesn't exist.
</h2>
<p>
You may have mistyped the address or the page may have moved.
</p>
<p>
You may have mistyped the address or the page may have moved.
</p>
</div>
</div>
...
...
public/422.html
View file @
66399d55
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
<body>
<body>
<!-- This file lives in public/422.html -->
<!-- This file lives in public/422.html -->
<h1>
422
</h1>
<h1>
422
</h1>
<div
class=
"alert-message block-message error"
>
<div>
<h2>
The change you wanted was rejected.
</h2>
<h2>
The change you wanted was rejected.
</h2>
<p>
Maybe you tried to change something you didn't have access to.
</p>
<p>
Maybe you tried to change something you didn't have access to.
</p>
</div>
</div>
...
...
public/500.html
View file @
66399d55
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
<body>
<body>
<!-- This file lives in public/500.html -->
<!-- This file lives in public/500.html -->
<h1>
500
</h1>
<h1>
500
</h1>
<div
class=
"alert-message block-message error"
>
<div>
<h2>
We're sorry, but something went wrong.
</h2>
<h2>
We're sorry, but something went wrong.
</h2>
<p>
We've been notified about this issue and we'll take a look at it shortly.
</p>
<p>
We've been notified about this issue and we'll take a look at it shortly.
</p>
</div>
</div>
...
...
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