Commit 66399d558da45fb9cd3ea972a47a4f7bb12bfc8d
Exists in
master
and in
4 other branches
Merge branch 'master' into hooray_apostrophes
Showing
18 changed files
with
335 additions
and
280 deletions
Show diff stats
app/assets/stylesheets/common.scss
@@ -249,7 +249,7 @@ ul.bordered-list li:last-child { border:none } | @@ -249,7 +249,7 @@ ul.bordered-list li:last-child { border:none } | ||
249 | li.commit { | 249 | li.commit { |
250 | .avatar { | 250 | .avatar { |
251 | width:24px; | 251 | width:24px; |
252 | - top:-3px; | 252 | + top:-5px; |
253 | margin-right:10px; | 253 | margin-right:10px; |
254 | margin-left:10px; | 254 | margin-left:10px; |
255 | } | 255 | } |
@@ -305,12 +305,7 @@ p.time { | @@ -305,12 +305,7 @@ p.time { | ||
305 | } | 305 | } |
306 | 306 | ||
307 | .styled_image { | 307 | .styled_image { |
308 | - -webkit-border-radius: 4px; | ||
309 | - -moz-border-radius: 4px; | ||
310 | - border-radius: 4px; | ||
311 | - -moz-box-shadow: 0 0 5px #888; | ||
312 | - -webkit-box-shadow: 0 0 5px#888; | ||
313 | - box-shadow: 0 0 5px #888; | 308 | + border:2px solid #ddd; |
314 | } | 309 | } |
315 | 310 | ||
316 | .event_feed { | 311 | .event_feed { |
@@ -729,3 +724,14 @@ li.note { | @@ -729,3 +724,14 @@ li.note { | ||
729 | } | 724 | } |
730 | } | 725 | } |
731 | } | 726 | } |
727 | + | ||
728 | +.git_error_tips { | ||
729 | + @extend .span6; | ||
730 | + text-align:left; | ||
731 | + margin-top:40px; | ||
732 | + pre { | ||
733 | + background:white; | ||
734 | + border:none; | ||
735 | + font-size: 12px; | ||
736 | + } | ||
737 | +} |
app/assets/stylesheets/gitlab_bootstrap.scss
1 | -body { | 1 | +body { |
2 | margin-bottom:20px; | 2 | margin-bottom:20px; |
3 | } | 3 | } |
4 | a { | 4 | a { |
5 | outline: none; | 5 | outline: none; |
6 | color: $link_color; | 6 | color: $link_color; |
7 | - &:hover { | ||
8 | - text-decoration:none; | 7 | + &:hover { |
8 | + text-decoration:none; | ||
9 | color: $blue_link; | 9 | color: $blue_link; |
10 | } | 10 | } |
11 | 11 | ||
12 | - &.btn { | 12 | + &.btn { |
13 | color: $style_color; | 13 | color: $style_color; |
14 | } | 14 | } |
15 | 15 | ||
16 | - &.dark { | 16 | + &.dark { |
17 | color: $style_color; | 17 | color: $style_color; |
18 | } | 18 | } |
19 | 19 | ||
20 | - &.lined { | ||
21 | - text-decoration:underline; | 20 | + &.lined { |
21 | + text-decoration:underline; | ||
22 | &:hover { text-decoration:underline; } | 22 | &:hover { text-decoration:underline; } |
23 | } | 23 | } |
24 | 24 | ||
25 | - &.gray { | 25 | + &.gray { |
26 | color:gray; | 26 | color:gray; |
27 | } | 27 | } |
28 | 28 | ||
29 | - &.supp_diff_link { | 29 | + &.supp_diff_link { |
30 | text-align:center; | 30 | text-align:center; |
31 | padding:20px 0; | 31 | padding:20px 0; |
32 | background:#f1f1f1; | 32 | background:#f1f1f1; |
@@ -39,24 +39,24 @@ a { | @@ -39,24 +39,24 @@ a { | ||
39 | } | 39 | } |
40 | } | 40 | } |
41 | 41 | ||
42 | -.neib { | 42 | +.neib { |
43 | margin-right:10px; | 43 | margin-right:10px; |
44 | } | 44 | } |
45 | 45 | ||
46 | -.alert-message { | 46 | +.alert-message { |
47 | @extend .alert; | 47 | @extend .alert; |
48 | 48 | ||
49 | - &.success { | 49 | + &.success { |
50 | @extend .alert-success; | 50 | @extend .alert-success; |
51 | } | 51 | } |
52 | 52 | ||
53 | - &.error { | 53 | + &.error { |
54 | @extend .alert-error; | 54 | @extend .alert-error; |
55 | } | 55 | } |
56 | } | 56 | } |
57 | 57 | ||
58 | -.alert { | ||
59 | - &.alert-well { | 58 | +.alert { |
59 | + &.alert-well { | ||
60 | background:#ddd; | 60 | background:#ddd; |
61 | border:1px solid #ccc; | 61 | border:1px solid #ccc; |
62 | background-image: -webkit-gradient(linear, 0 0, 0 30, color-stop(0.066, #ddd), to(#dfdfdf)); | 62 | 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 { | ||
71 | line-height: 36px; | 71 | line-height: 36px; |
72 | } | 72 | } |
73 | 73 | ||
74 | -h5 { | 74 | +h5 { |
75 | font-size:14px; | 75 | font-size:14px; |
76 | } | 76 | } |
77 | 77 | ||
78 | 78 | ||
79 | -table { | 79 | +table { |
80 | width:100%; | 80 | width:100%; |
81 | th { | 81 | th { |
82 | padding-top: 9px; | 82 | padding-top: 9px; |
@@ -97,12 +97,12 @@ table { | @@ -97,12 +97,12 @@ table { | ||
97 | border-radius: 4px; | 97 | border-radius: 4px; |
98 | } | 98 | } |
99 | 99 | ||
100 | - &.zebra-striped { | 100 | + &.zebra-striped { |
101 | @extend .table-striped; | 101 | @extend .table-striped; |
102 | } | 102 | } |
103 | } | 103 | } |
104 | 104 | ||
105 | -.btn { | 105 | +.btn { |
106 | background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f1f1f1), color-stop(25%, #f1f1f1), to(#e6e6e6)); | 106 | background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f1f1f1), color-stop(25%, #f1f1f1), to(#e6e6e6)); |
107 | background-image: -webkit-linear-gradient(#f1f1f1, #f1f1f1 25%, #e6e6e6); | 107 | background-image: -webkit-linear-gradient(#f1f1f1, #f1f1f1 25%, #e6e6e6); |
108 | background-image: -moz-linear-gradient(top, #f1f1f1, #f1f1f1 25%, #e6e6e6); | 108 | background-image: -moz-linear-gradient(top, #f1f1f1, #f1f1f1 25%, #e6e6e6); |
@@ -110,63 +110,63 @@ table { | @@ -110,63 +110,63 @@ table { | ||
110 | background-image: -o-linear-gradient(#f1f1f1, #f1f1f1 25%, #e6e6e6); | 110 | background-image: -o-linear-gradient(#f1f1f1, #f1f1f1 25%, #e6e6e6); |
111 | background-image: linear-gradient(#f1f1f1, #f1f1f1 25%, #e6e6e6); | 111 | background-image: linear-gradient(#f1f1f1, #f1f1f1 25%, #e6e6e6); |
112 | 112 | ||
113 | - &:hover { | 113 | + &:hover { |
114 | } | 114 | } |
115 | 115 | ||
116 | - &.btn-primary { | 116 | + &.btn-primary { |
117 | background:$link_color; | 117 | background:$link_color; |
118 | border-color: #2A79A3; | 118 | border-color: #2A79A3; |
119 | - &:hover { | 119 | + &:hover { |
120 | background:$blue_link; | 120 | background:$blue_link; |
121 | } | 121 | } |
122 | } | 122 | } |
123 | - &.primary { | 123 | + &.primary { |
124 | @extend .btn-primary; | 124 | @extend .btn-primary; |
125 | } | 125 | } |
126 | 126 | ||
127 | - &.success { | 127 | + &.success { |
128 | color: #fff; | 128 | color: #fff; |
129 | text-shadow: 0 0 1px #111; | 129 | text-shadow: 0 0 1px #111; |
130 | background: #5bb75b;; | 130 | background: #5bb75b;; |
131 | font-weight: bold; | 131 | font-weight: bold; |
132 | 132 | ||
133 | - &:hover { | 133 | + &:hover { |
134 | background-color: #51a351; | 134 | background-color: #51a351; |
135 | color: #fff; | 135 | color: #fff; |
136 | } | 136 | } |
137 | } | 137 | } |
138 | 138 | ||
139 | &.danger, | 139 | &.danger, |
140 | - &.btn-danger { | 140 | + &.btn-danger { |
141 | color:#fff; | 141 | color:#fff; |
142 | background: #DA4E49; | 142 | background: #DA4E49; |
143 | border-color: #BD362F; | 143 | border-color: #BD362F; |
144 | 144 | ||
145 | - &:hover { | 145 | + &:hover { |
146 | color:#fff; | 146 | color:#fff; |
147 | background: #EE4E49; | 147 | background: #EE4E49; |
148 | } | 148 | } |
149 | } | 149 | } |
150 | 150 | ||
151 | - &.danger { | 151 | + &.danger { |
152 | @extend .btn-danger; | 152 | @extend .btn-danger; |
153 | } | 153 | } |
154 | 154 | ||
155 | - &.small { | 155 | + &.small { |
156 | @extend .btn-small; | 156 | @extend .btn-small; |
157 | } | 157 | } |
158 | 158 | ||
159 | - &.active { | 159 | + &.active { |
160 | border-color:#aaa; | 160 | border-color:#aaa; |
161 | background-color:#ccc; | 161 | background-color:#ccc; |
162 | } | 162 | } |
163 | } | 163 | } |
164 | 164 | ||
165 | -a:focus { | ||
166 | - outline: none; | 165 | +a:focus { |
166 | + outline: none; | ||
167 | } | 167 | } |
168 | 168 | ||
169 | -.nav-pills a:hover { | 169 | +.nav-pills a:hover { |
170 | background-color:#888; | 170 | background-color:#888; |
171 | } | 171 | } |
172 | 172 | ||
@@ -174,20 +174,20 @@ a:focus { | @@ -174,20 +174,20 @@ a:focus { | ||
174 | background-color: $style_color; | 174 | background-color: $style_color; |
175 | } | 175 | } |
176 | 176 | ||
177 | -.label { | 177 | +.label { |
178 | background-color: #474D57; | 178 | background-color: #474D57; |
179 | - &.label-important { | 179 | + &.label-important { |
180 | background-color: #B94A48; | 180 | background-color: #B94A48; |
181 | } | 181 | } |
182 | 182 | ||
183 | - &.label-issue { | 183 | + &.label-issue { |
184 | background-color: #eee; | 184 | background-color: #eee; |
185 | border: 1px solid #ccc; | 185 | border: 1px solid #ccc; |
186 | padding:4px 6px; | 186 | padding:4px 6px; |
187 | color:#444; | 187 | color:#444; |
188 | text-shadow:0 0 1px #fff; | 188 | text-shadow:0 0 1px #fff; |
189 | 189 | ||
190 | - &.grouped { | 190 | + &.grouped { |
191 | float: left; | 191 | float: left; |
192 | margin-right: 6px; | 192 | margin-right: 6px; |
193 | padding: 6px; | 193 | padding: 6px; |
@@ -199,7 +199,7 @@ a:focus { | @@ -199,7 +199,7 @@ a:focus { | ||
199 | color:$style_color; | 199 | color:$style_color; |
200 | } | 200 | } |
201 | 201 | ||
202 | -.nav-tabs > .active > a { | 202 | +.nav-tabs > .active > a { |
203 | font-weight:bold; | 203 | font-weight:bold; |
204 | } | 204 | } |
205 | 205 | ||
@@ -248,39 +248,39 @@ a:focus { | @@ -248,39 +248,39 @@ a:focus { | ||
248 | margin-top:20px; | 248 | margin-top:20px; |
249 | } | 249 | } |
250 | 250 | ||
251 | -.padded { | 251 | +.padded { |
252 | padding:20px; | 252 | padding:20px; |
253 | } | 253 | } |
254 | 254 | ||
255 | -.ipadded { | 255 | +.ipadded { |
256 | padding:20px !important; | 256 | padding:20px !important; |
257 | } | 257 | } |
258 | -.lborder { | 258 | +.lborder { |
259 | border-left:1px solid #eee; | 259 | border-left:1px solid #eee; |
260 | } | 260 | } |
261 | 261 | ||
262 | -.borders { | 262 | +.borders { |
263 | border: 1px solid #ccc; | 263 | border: 1px solid #ccc; |
264 | @include shade; | 264 | @include shade; |
265 | } | 265 | } |
266 | -.no-borders { | 266 | +.no-borders { |
267 | border:none; | 267 | border:none; |
268 | } | 268 | } |
269 | -table.no-borders { | 269 | +table.no-borders { |
270 | border:none; | 270 | border:none; |
271 | tr, td { border:none } | 271 | tr, td { border:none } |
272 | } | 272 | } |
273 | -.no-padding { | 273 | +.no-padding { |
274 | padding:0 !important; | 274 | padding:0 !important; |
275 | } | 275 | } |
276 | -.underlined { | 276 | +.underlined { |
277 | border-bottom: 1px solid $border_color; | 277 | border-bottom: 1px solid $border_color; |
278 | } | 278 | } |
279 | -.vlink { | 279 | +.vlink { |
280 | color: $link_color !important; | 280 | color: $link_color !important; |
281 | } | 281 | } |
282 | 282 | ||
283 | -.pretty_label { | 283 | +.pretty_label { |
284 | @include round-borders-all(4px); | 284 | @include round-borders-all(4px); |
285 | padding:2px 4px; | 285 | padding:2px 4px; |
286 | background-image: -webkit-gradient(linear, 0 0, 0 26, color-stop(0.076, #fefefe), to(#F6F7F8)); | 286 | 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 { | ||
290 | color: #777; | 290 | color: #777; |
291 | border: 1px solid #DEDFE1; | 291 | border: 1px solid #DEDFE1; |
292 | 292 | ||
293 | - &.branch { | 293 | + &.branch { |
294 | border:none; | 294 | border:none; |
295 | font-size:13px; | 295 | font-size:13px; |
296 | background: #474D57; | 296 | background: #474D57; |
@@ -300,73 +300,71 @@ table.no-borders { | @@ -300,73 +300,71 @@ table.no-borders { | ||
300 | } | 300 | } |
301 | } | 301 | } |
302 | 302 | ||
303 | -.event_label { | 303 | +.event_label { |
304 | @extend .label; | 304 | @extend .label; |
305 | background-color: #999; | 305 | background-color: #999; |
306 | 306 | ||
307 | - &.pushed { | 307 | + &.pushed { |
308 | background-color: #3A87AD; | 308 | background-color: #3A87AD; |
309 | } | 309 | } |
310 | 310 | ||
311 | - &.opened { | 311 | + &.opened { |
312 | background-color: #468847; | 312 | background-color: #468847; |
313 | } | 313 | } |
314 | 314 | ||
315 | - &.closed { | 315 | + &.closed { |
316 | background-color: #B94A48; | 316 | background-color: #B94A48; |
317 | } | 317 | } |
318 | 318 | ||
319 | - &.merged { | 319 | + &.merged { |
320 | background-color: #2A2; | 320 | background-color: #2A2; |
321 | } | 321 | } |
322 | } | 322 | } |
323 | 323 | ||
324 | -img.avatar { | 324 | +img.avatar { |
325 | float:left; | 325 | float:left; |
326 | margin-right:15px; | 326 | margin-right:15px; |
327 | width:40px; | 327 | width:40px; |
328 | - -webkit-border-radius: 4px; | ||
329 | - -moz-border-radius: 4px; | ||
330 | - border-radius: 4px; | 328 | + border:2px solid #ddd; |
331 | 329 | ||
332 | - &.s16 { | 330 | + &.s16 { |
333 | width:16px; | 331 | width:16px; |
334 | } | 332 | } |
335 | - &.s24 { | 333 | + &.s24 { |
336 | width:24px; | 334 | width:24px; |
337 | } | 335 | } |
338 | - &.s32 { | 336 | + &.s32 { |
339 | width:32px; | 337 | width:32px; |
340 | } | 338 | } |
341 | } | 339 | } |
342 | 340 | ||
343 | -img.lil_av { | 341 | +img.lil_av { |
344 | padding-left: 4px; | 342 | padding-left: 4px; |
345 | padding-right:3px; | 343 | padding-right:3px; |
346 | } | 344 | } |
347 | 345 | ||
348 | -form { | 346 | +form { |
349 | @extend .form-horizontal; | 347 | @extend .form-horizontal; |
350 | 348 | ||
351 | - .actions { | 349 | + .actions { |
352 | @extend .form-actions; | 350 | @extend .form-actions; |
353 | } | 351 | } |
354 | 352 | ||
355 | - .clearfix { | 353 | + .clearfix { |
356 | @extend .control-group; | 354 | @extend .control-group; |
357 | } | 355 | } |
358 | 356 | ||
359 | - .input { | 357 | + .input { |
360 | @extend .controls; | 358 | @extend .controls; |
361 | } | 359 | } |
362 | 360 | ||
363 | - label { | 361 | + label { |
364 | @extend .control-label; | 362 | @extend .control-label; |
365 | } | 363 | } |
366 | - .xlarge { | 364 | + .xlarge { |
367 | @extend .input-xlarge; | 365 | @extend .input-xlarge; |
368 | } | 366 | } |
369 | - .xxlarge { | 367 | + .xxlarge { |
370 | @extend .input-xxlarge; | 368 | @extend .input-xxlarge; |
371 | } | 369 | } |
372 | } | 370 | } |
@@ -375,25 +373,25 @@ form { | @@ -375,25 +373,25 @@ form { | ||
375 | * List li block element #1 | 373 | * List li block element #1 |
376 | * | 374 | * |
377 | */ | 375 | */ |
378 | -.wll { | 376 | +.wll { |
379 | background-color: #FFF; | 377 | background-color: #FFF; |
380 | padding: 10px 5px; | 378 | padding: 10px 5px; |
381 | min-height: 20px; | 379 | min-height: 20px; |
382 | border-bottom: 1px solid #eee; | 380 | border-bottom: 1px solid #eee; |
383 | border-bottom: 1px solid rgba(0, 0, 0, 0.05); | 381 | border-bottom: 1px solid rgba(0, 0, 0, 0.05); |
384 | - &.smoke { | 382 | + &.smoke { |
385 | background-color:#f5f5f5; | 383 | background-color:#f5f5f5; |
386 | } | 384 | } |
387 | - &:hover { | 385 | + &:hover { |
388 | background:$hover; | 386 | background:$hover; |
389 | } | 387 | } |
390 | &:last-child { border:none } | 388 | &:last-child { border:none } |
391 | p { padding-top:5px; margin:0; color:$style_color;} | 389 | p { padding-top:5px; margin:0; color:$style_color;} |
392 | .author { color: #999; } | 390 | .author { color: #999; } |
393 | - p { | 391 | + p { |
394 | color:#222; | 392 | color:#222; |
395 | margin-bottom: 0; | 393 | margin-bottom: 0; |
396 | - img { | 394 | + img { |
397 | position:relative; | 395 | position:relative; |
398 | top:3px; | 396 | top:3px; |
399 | } | 397 | } |
@@ -405,7 +403,7 @@ form { | @@ -405,7 +403,7 @@ form { | ||
405 | * Block element #2 | 403 | * Block element #2 |
406 | * | 404 | * |
407 | */ | 405 | */ |
408 | -.entry { | 406 | +.entry { |
409 | position: relative; | 407 | position: relative; |
410 | padding: 7px 15px; | 408 | padding: 7px 15px; |
411 | margin-bottom: 18px; | 409 | margin-bottom: 18px; |
@@ -427,10 +425,10 @@ form { | @@ -427,10 +425,10 @@ form { | ||
427 | border: 1px solid #ccc; | 425 | border: 1px solid #ccc; |
428 | 426 | ||
429 | 427 | ||
430 | - p { | 428 | + p { |
431 | color:$style_color; | 429 | color:$style_color; |
432 | margin-bottom: 0; | 430 | margin-bottom: 0; |
433 | - img { | 431 | + img { |
434 | position:relative; | 432 | position:relative; |
435 | top:3px; | 433 | top:3px; |
436 | } | 434 | } |
@@ -442,18 +440,18 @@ form { | @@ -442,18 +440,18 @@ form { | ||
442 | * Big UI Block for show page content | 440 | * Big UI Block for show page content |
443 | * | 441 | * |
444 | */ | 442 | */ |
445 | -.ui-box { | 443 | +.ui-box { |
446 | background:#F9F9F9; | 444 | background:#F9F9F9; |
447 | margin-bottom: 25px; | 445 | margin-bottom: 25px; |
448 | @include round-borders-all(4px); | 446 | @include round-borders-all(4px); |
449 | border-color: #CCC; | 447 | border-color: #CCC; |
450 | @include solid_shade; | 448 | @include solid_shade; |
451 | 449 | ||
452 | - ul { | 450 | + ul { |
453 | margin:0; | 451 | margin:0; |
454 | } | 452 | } |
455 | 453 | ||
456 | - h5, .title { | 454 | + h5, .title { |
457 | padding: 0 10px; | 455 | padding: 0 10px; |
458 | @include round-borders-top(4px); | 456 | @include round-borders-top(4px); |
459 | border-bottom: 1px solid #bbb; | 457 | border-bottom: 1px solid #bbb; |
@@ -463,30 +461,30 @@ form { | @@ -463,30 +461,30 @@ form { | ||
463 | background-image: -moz-linear-gradient(#eee 6.6%, #dfdfdf); | 461 | background-image: -moz-linear-gradient(#eee 6.6%, #dfdfdf); |
464 | background-image: -o-linear-gradient(#eee 6.6%, #dfdfdf); | 462 | background-image: -o-linear-gradient(#eee 6.6%, #dfdfdf); |
465 | 463 | ||
466 | - &.small { | 464 | + &.small { |
467 | line-height: 28px; | 465 | line-height: 28px; |
468 | font-size: 14px; | 466 | font-size: 14px; |
469 | line-height:28px; | 467 | line-height:28px; |
470 | text-shadow: 0 1px 1px white; | 468 | text-shadow: 0 1px 1px white; |
471 | } | 469 | } |
472 | 470 | ||
473 | - form { | 471 | + form { |
474 | padding:9px 0; | 472 | padding:9px 0; |
475 | margin:0px; | 473 | margin:0px; |
476 | } | 474 | } |
477 | 475 | ||
478 | - .nav-pills { | ||
479 | - li { | 476 | + .nav-pills { |
477 | + li { | ||
480 | padding:3px 0; | 478 | padding:3px 0; |
481 | &.active a { background-color:$style_color; } | 479 | &.active a { background-color:$style_color; } |
482 | - a { | 480 | + a { |
483 | border-radius:7px; | 481 | border-radius:7px; |
484 | } | 482 | } |
485 | } | 483 | } |
486 | } | 484 | } |
487 | } | 485 | } |
488 | 486 | ||
489 | - .bottom { | 487 | + .bottom { |
490 | background-image: -webkit-gradient(linear, 0 0, 0 30, color-stop(0.066, #eee), to(#dfdfdf)); | 488 | background-image: -webkit-gradient(linear, 0 0, 0 30, color-stop(0.066, #eee), to(#dfdfdf)); |
491 | background-image: -webkit-linear-gradient(#eee 6.6%, #dfdfdf); | 489 | background-image: -webkit-linear-gradient(#eee 6.6%, #dfdfdf); |
492 | background-image: -moz-linear-gradient(#eee 6.6%, #dfdfdf); | 490 | background-image: -moz-linear-gradient(#eee 6.6%, #dfdfdf); |
@@ -496,13 +494,13 @@ form { | @@ -496,13 +494,13 @@ form { | ||
496 | border-top: 1px solid #bbb; | 494 | border-top: 1px solid #bbb; |
497 | } | 495 | } |
498 | 496 | ||
499 | - &.padded { | ||
500 | - h5, .title { | 497 | + &.padded { |
498 | + h5, .title { | ||
501 | margin: -20px; | 499 | margin: -20px; |
502 | margin-bottom: 0; | 500 | margin-bottom: 0; |
503 | padding: 5px 20px; | 501 | padding: 5px 20px; |
504 | } | 502 | } |
505 | - .middle_title { | 503 | + .middle_title { |
506 | background:#f5f5f5; | 504 | background:#f5f5f5; |
507 | margin:20px -20px; | 505 | margin:20px -20px; |
508 | padding: 0 20px; | 506 | padding: 0 20px; |
@@ -512,7 +510,7 @@ form { | @@ -512,7 +510,7 @@ form { | ||
512 | color:#777; | 510 | color:#777; |
513 | } | 511 | } |
514 | } | 512 | } |
515 | - .row_title { | 513 | + .row_title { |
516 | font-weight:bold; | 514 | font-weight:bold; |
517 | color:#444; | 515 | color:#444; |
518 | &:hover { | 516 | &:hover { |
@@ -523,12 +521,12 @@ form { | @@ -523,12 +521,12 @@ form { | ||
523 | 521 | ||
524 | li, .wll { | 522 | li, .wll { |
525 | padding:10px; | 523 | padding:10px; |
526 | - &:first-child { | 524 | + &:first-child { |
527 | @include round-borders-top(4px); | 525 | @include round-borders-top(4px); |
528 | border-top:none; | 526 | border-top:none; |
529 | } | 527 | } |
530 | 528 | ||
531 | - &:last-child { | 529 | + &:last-child { |
532 | @include round-borders-bottom(4px); | 530 | @include round-borders-bottom(4px); |
533 | border:none; | 531 | border:none; |
534 | } | 532 | } |
@@ -537,10 +535,10 @@ form { | @@ -537,10 +535,10 @@ form { | ||
537 | } | 535 | } |
538 | 536 | ||
539 | table.admin-table { | 537 | table.admin-table { |
540 | - @extend .table-bordered; | 538 | + @extend .table-bordered; |
541 | @extend .zebra-striped; | 539 | @extend .zebra-striped; |
542 | @include solid_shade; | 540 | @include solid_shade; |
543 | - th { | 541 | + th { |
544 | border-color: #CCC; | 542 | border-color: #CCC; |
545 | border-bottom: 1px solid #bbb; | 543 | border-bottom: 1px solid #bbb; |
546 | background:#eee; | 544 | background:#eee; |
@@ -551,7 +549,7 @@ table.admin-table { | @@ -551,7 +549,7 @@ table.admin-table { | ||
551 | } | 549 | } |
552 | } | 550 | } |
553 | 551 | ||
554 | -.field_with_errors { | 552 | +.field_with_errors { |
555 | display:inline; | 553 | display:inline; |
556 | } | 554 | } |
557 | 555 | ||
@@ -563,13 +561,13 @@ ul.breadcrumb { | @@ -563,13 +561,13 @@ ul.breadcrumb { | ||
563 | text-shadow: 0 1px 0 white | 561 | text-shadow: 0 1px 0 white |
564 | } | 562 | } |
565 | 563 | ||
566 | - a { | 564 | + a { |
567 | color:#474D57; | 565 | color:#474D57; |
568 | font-weight:bold; | 566 | font-weight:bold; |
569 | font-size:14px; | 567 | font-size:14px; |
570 | } | 568 | } |
571 | 569 | ||
572 | - .arrow { | 570 | + .arrow { |
573 | background: url("images.png") no-repeat -85px -77px; | 571 | background: url("images.png") no-repeat -85px -77px; |
574 | width: 19px; | 572 | width: 19px; |
575 | height: 16px; | 573 | height: 16px; |
@@ -581,18 +579,18 @@ ul.breadcrumb { | @@ -581,18 +579,18 @@ ul.breadcrumb { | ||
581 | } | 579 | } |
582 | } | 580 | } |
583 | 581 | ||
584 | -.nothing_here_message { | 582 | +.nothing_here_message { |
585 | text-align:center; | 583 | text-align:center; |
586 | padding:20px; | 584 | padding:20px; |
587 | color:#777; | 585 | color:#777; |
588 | } | 586 | } |
589 | 587 | ||
590 | /** | 588 | /** |
591 | - * UI box element | 589 | + * UI box element |
592 | * contains top, middle, bottom blocks | 590 | * contains top, middle, bottom blocks |
593 | - * | 591 | + * |
594 | */ | 592 | */ |
595 | -.main_box { | 593 | +.main_box { |
596 | @extend .borders; | 594 | @extend .borders; |
597 | @extend .prepend-top-20; | 595 | @extend .prepend-top-20; |
598 | @extend .append-bottom-20; | 596 | @extend .append-bottom-20; |
@@ -608,9 +606,9 @@ ul.breadcrumb { | @@ -608,9 +606,9 @@ ul.breadcrumb { | ||
608 | } | 606 | } |
609 | } | 607 | } |
610 | 608 | ||
611 | - .top_box_content, | ||
612 | - .middle_box_content, | ||
613 | - .bottom_box_content { | 609 | + .top_box_content, |
610 | + .middle_box_content, | ||
611 | + .bottom_box_content { | ||
614 | padding:15px; | 612 | padding:15px; |
615 | 613 | ||
616 | pre { | 614 | pre { |
@@ -621,7 +619,7 @@ ul.breadcrumb { | @@ -621,7 +619,7 @@ ul.breadcrumb { | ||
621 | } | 619 | } |
622 | } | 620 | } |
623 | 621 | ||
624 | - .middle_box_content { | 622 | + .middle_box_content { |
625 | border-radius:0; | 623 | border-radius:0; |
626 | border:none; | 624 | border:none; |
627 | font-size:12px; | 625 | font-size:12px; |
@@ -630,20 +628,20 @@ ul.breadcrumb { | @@ -630,20 +628,20 @@ ul.breadcrumb { | ||
630 | border-top:1px solid #eee; | 628 | border-top:1px solid #eee; |
631 | } | 629 | } |
632 | 630 | ||
633 | - .bottom_box_content { | 631 | + .bottom_box_content { |
634 | border-top:1px solid #eee; | 632 | border-top:1px solid #eee; |
635 | } | 633 | } |
636 | } | 634 | } |
637 | 635 | ||
638 | -input[type=text] { | ||
639 | - &.large_text { | 636 | +input[type=text] { |
637 | + &.large_text { | ||
640 | padding:6px; | 638 | padding:6px; |
641 | font-size:16px; | 639 | font-size:16px; |
642 | } | 640 | } |
643 | } | 641 | } |
644 | 642 | ||
645 | -p { | ||
646 | - &.slead { | 643 | +p { |
644 | + &.slead { | ||
647 | color:#456; | 645 | color:#456; |
648 | font-size:16px; | 646 | font-size:16px; |
649 | margin-bottom: 12px; | 647 | margin-bottom: 12px; |
@@ -652,7 +650,7 @@ p { | @@ -652,7 +650,7 @@ p { | ||
652 | } | 650 | } |
653 | } | 651 | } |
654 | 652 | ||
655 | -h3.page_title { | 653 | +h3.page_title { |
656 | color:#456; | 654 | color:#456; |
657 | font-size:20px; | 655 | font-size:20px; |
658 | font-weight: normal; | 656 | font-weight: normal; |
@@ -660,15 +658,15 @@ h3.page_title { | @@ -660,15 +658,15 @@ h3.page_title { | ||
660 | } | 658 | } |
661 | 659 | ||
662 | /** | 660 | /** |
663 | - * File content holder | 661 | + * File content holder |
664 | * | 662 | * |
665 | */ | 663 | */ |
666 | -.file_holder { | 664 | +.file_holder { |
667 | border:1px solid #CCC; | 665 | border:1px solid #CCC; |
668 | margin-bottom:1em; | 666 | margin-bottom:1em; |
669 | @include solid_shade; | 667 | @include solid_shade; |
670 | 668 | ||
671 | - .file_title { | 669 | + .file_title { |
672 | border-bottom: 1px solid #bbb; | 670 | border-bottom: 1px solid #bbb; |
673 | background:#eee; | 671 | background:#eee; |
674 | background-image: -webkit-gradient(linear, 0 0, 0 30, color-stop(0.066, #eee), to(#dfdfdf)); | 672 | 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 { | ||
683 | padding: 9px 10px; | 681 | padding: 9px 10px; |
684 | height:18px; | 682 | height:18px; |
685 | 683 | ||
686 | - .options { | 684 | + .options { |
687 | float:right; | 685 | float:right; |
688 | margin-top: -5px; | 686 | margin-top: -5px; |
689 | } | 687 | } |
690 | 688 | ||
691 | - .file_name { | 689 | + .file_name { |
692 | color:$style_color; | 690 | color:$style_color; |
693 | font-size:14px; | 691 | font-size:14px; |
694 | text-shadow: 0 1px 1px #fff; | 692 | text-shadow: 0 1px 1px #fff; |
695 | - small { | 693 | + small { |
696 | color:#999; | 694 | color:#999; |
697 | font-size:13px; | 695 | font-size:13px; |
698 | } | 696 | } |
@@ -702,21 +700,21 @@ h3.page_title { | @@ -702,21 +700,21 @@ h3.page_title { | ||
702 | background:#fff; | 700 | background:#fff; |
703 | font-size: 11px; | 701 | font-size: 11px; |
704 | 702 | ||
705 | - &.wiki { | 703 | + &.wiki { |
706 | font-size: 13px; | 704 | font-size: 13px; |
707 | - code { | 705 | + code { |
708 | padding:0 4px; | 706 | padding:0 4px; |
709 | } | 707 | } |
710 | padding:20px; | 708 | padding:20px; |
711 | - h1, h2 { | ||
712 | - line-height: 46px; | ||
713 | - } | ||
714 | - h3, h4 { | ||
715 | - line-height: 40px; | ||
716 | - } | 709 | + h1, h2 { |
710 | + line-height: 46px; | ||
711 | + } | ||
712 | + h3, h4 { | ||
713 | + line-height: 40px; | ||
714 | + } | ||
717 | } | 715 | } |
718 | 716 | ||
719 | - &.image_file { | 717 | + &.image_file { |
720 | background:#eee; | 718 | background:#eee; |
721 | text-align:center; | 719 | text-align:center; |
722 | img { | 720 | img { |
@@ -725,27 +723,27 @@ h3.page_title { | @@ -725,27 +723,27 @@ h3.page_title { | ||
725 | } | 723 | } |
726 | } | 724 | } |
727 | 725 | ||
728 | - &.blob_file { | 726 | + &.blob_file { |
729 | 727 | ||
730 | } | 728 | } |
731 | 729 | ||
732 | /** | 730 | /** |
733 | * Blame file | 731 | * Blame file |
734 | */ | 732 | */ |
735 | - &.blame { | ||
736 | - tr { | 733 | + &.blame { |
734 | + tr { | ||
737 | border-bottom: 1px solid #eee; | 735 | border-bottom: 1px solid #eee; |
738 | } | 736 | } |
739 | - td { | 737 | + td { |
740 | padding:5px; | 738 | padding:5px; |
741 | } | 739 | } |
742 | - .author, | ||
743 | - .blame_commit { | 740 | + .author, |
741 | + .blame_commit { | ||
744 | background:#f5f5f5; | 742 | background:#f5f5f5; |
745 | vertical-align:top; | 743 | vertical-align:top; |
746 | } | 744 | } |
747 | - .lines { | ||
748 | - pre { | 745 | + .lines { |
746 | + pre { | ||
749 | padding:0; | 747 | padding:0; |
750 | margin:0; | 748 | margin:0; |
751 | background:none; | 749 | background:none; |
@@ -754,27 +752,27 @@ h3.page_title { | @@ -754,27 +752,27 @@ h3.page_title { | ||
754 | } | 752 | } |
755 | } | 753 | } |
756 | 754 | ||
757 | - &.logs { | 755 | + &.logs { |
758 | background:#eee; | 756 | background:#eee; |
759 | max-height: 700px; | 757 | max-height: 700px; |
760 | overflow-y: auto; | 758 | overflow-y: auto; |
761 | 759 | ||
762 | - ol { | 760 | + ol { |
763 | margin-left:40px; | 761 | margin-left:40px; |
764 | padding: 10px 0; | 762 | padding: 10px 0; |
765 | border-left: 1px solid #CCC; | 763 | border-left: 1px solid #CCC; |
766 | margin-bottom:0; | 764 | margin-bottom:0; |
767 | background: white; | 765 | background: white; |
768 | - li { | 766 | + li { |
769 | color:#888; | 767 | color:#888; |
770 | - p { | 768 | + p { |
771 | margin:0; | 769 | margin:0; |
772 | color:#333; | 770 | color:#333; |
773 | line-height:24px; | 771 | line-height:24px; |
774 | padding-left: 10px; | 772 | padding-left: 10px; |
775 | } | 773 | } |
776 | 774 | ||
777 | - &:hover { | 775 | + &:hover { |
778 | background:$hover; | 776 | background:$hover; |
779 | } | 777 | } |
780 | } | 778 | } |
@@ -784,7 +782,7 @@ h3.page_title { | @@ -784,7 +782,7 @@ h3.page_title { | ||
784 | /** | 782 | /** |
785 | * Code file | 783 | * Code file |
786 | */ | 784 | */ |
787 | - &.code { | 785 | + &.code { |
788 | padding:0; | 786 | padding:0; |
789 | td.code { | 787 | td.code { |
790 | width: 100%; | 788 | width: 100%; |
app/assets/stylesheets/sections/header.scss
@@ -2,14 +2,14 @@ | @@ -2,14 +2,14 @@ | ||
2 | * Application Header | 2 | * Application Header |
3 | * | 3 | * |
4 | */ | 4 | */ |
5 | -header { | 5 | +header { |
6 | width:100%; | 6 | width:100%; |
7 | padding:0; | 7 | padding:0; |
8 | margin:0; | 8 | margin:0; |
9 | top:1px; | 9 | top:1px; |
10 | left:0; | 10 | left:0; |
11 | background: #F1F1F1; /* for non-css3 browsers */ | 11 | background: #F1F1F1; /* for non-css3 browsers */ |
12 | - border-bottom: 1px solid #ccc; | 12 | + border-bottom: 1px solid #ccc; |
13 | box-shadow: 0 -1px 0 white inset; | 13 | box-shadow: 0 -1px 0 white inset; |
14 | -moz-box-shadow: 0 -1px 0 white inset; | 14 | -moz-box-shadow: 0 -1px 0 white inset; |
15 | -webkit-box-shadow: 0 -1px 0 white inset; | 15 | -webkit-box-shadow: 0 -1px 0 white inset; |
@@ -17,7 +17,7 @@ header { | @@ -17,7 +17,7 @@ header { | ||
17 | height:60px; | 17 | height:60px; |
18 | 18 | ||
19 | /** | 19 | /** |
20 | - * | 20 | + * |
21 | * Logo holder | 21 | * Logo holder |
22 | * | 22 | * |
23 | */ | 23 | */ |
@@ -27,10 +27,10 @@ header { | @@ -27,10 +27,10 @@ header { | ||
27 | position:relative; | 27 | position:relative; |
28 | top:-5px; | 28 | top:-5px; |
29 | 29 | ||
30 | - a { | 30 | + a { |
31 | float:left; | 31 | float:left; |
32 | 32 | ||
33 | - h1 { | 33 | + h1 { |
34 | text-indent:-9999px; | 34 | text-indent:-9999px; |
35 | width:102px; | 35 | width:102px; |
36 | background: url('logo_text.png') no-repeat 0px -3px; | 36 | background: url('logo_text.png') no-repeat 0px -3px; |
@@ -54,8 +54,8 @@ header { | @@ -54,8 +54,8 @@ header { | ||
54 | margin-top: -10px; | 54 | margin-top: -10px; |
55 | } | 55 | } |
56 | } | 56 | } |
57 | - .container { | ||
58 | - .top_panel_content { | 57 | + .container { |
58 | + .top_panel_content { | ||
59 | margin:auto; | 59 | margin:auto; |
60 | position:relative; | 60 | position:relative; |
61 | padding:15px 0; | 61 | padding:15px 0; |
@@ -63,7 +63,7 @@ header { | @@ -63,7 +63,7 @@ header { | ||
63 | } | 63 | } |
64 | 64 | ||
65 | /** | 65 | /** |
66 | - * | 66 | + * |
67 | * Project / Area name | 67 | * Project / Area name |
68 | * | 68 | * |
69 | */ | 69 | */ |
@@ -78,10 +78,10 @@ header { | @@ -78,10 +78,10 @@ header { | ||
78 | text-shadow: 0 1px 1px #FFF; | 78 | text-shadow: 0 1px 1px #FFF; |
79 | } | 79 | } |
80 | 80 | ||
81 | - .fbtn { | 81 | + .fbtn { |
82 | float: right; | 82 | float: right; |
83 | margin-right:10px; | 83 | margin-right:10px; |
84 | - .btn { | 84 | + .btn { |
85 | margin-left:7px; | 85 | margin-left:7px; |
86 | background: #F1F1F1; | 86 | background: #F1F1F1; |
87 | border: 1px solid #CCC; | 87 | border: 1px solid #CCC; |
@@ -90,13 +90,13 @@ header { | @@ -90,13 +90,13 @@ header { | ||
90 | 90 | ||
91 | 91 | ||
92 | /** | 92 | /** |
93 | - * | 93 | + * |
94 | * Search box | 94 | * Search box |
95 | * | 95 | * |
96 | */ | 96 | */ |
97 | - .search { | 97 | + .search { |
98 | float: right; | 98 | float: right; |
99 | - margin-right: 50px; | 99 | + margin-right: 45px; |
100 | 100 | ||
101 | .search-input { | 101 | .search-input { |
102 | @extend .span2; | 102 | @extend .span2; |
@@ -110,7 +110,7 @@ header { | @@ -110,7 +110,7 @@ header { | ||
110 | } | 110 | } |
111 | 111 | ||
112 | /** | 112 | /** |
113 | - * | 113 | + * |
114 | * Account box | 114 | * Account box |
115 | * | 115 | * |
116 | */ | 116 | */ |
@@ -125,13 +125,13 @@ header { | @@ -125,13 +125,13 @@ header { | ||
125 | display: block; | 125 | display: block; |
126 | cursor: pointer; | 126 | cursor: pointer; |
127 | img { | 127 | img { |
128 | - border-radius: 4px; | 128 | + @include border-radius(4px); |
129 | right: 5px; | 129 | right: 5px; |
130 | position: absolute; | 130 | position: absolute; |
131 | - width: 31px; | ||
132 | - height: 31px; | 131 | + width: 28px; |
132 | + height: 28px; | ||
133 | display: block; | 133 | display: block; |
134 | - top: 0; | 134 | + top: 2px; |
135 | &:after { | 135 | &:after { |
136 | content: " "; | 136 | content: " "; |
137 | display: block; | 137 | display: block; |
@@ -186,7 +186,7 @@ header { | @@ -186,7 +186,7 @@ header { | ||
186 | width: 100px; | 186 | width: 100px; |
187 | position: absolute; | 187 | position: absolute; |
188 | right: 10px; | 188 | right: 10px; |
189 | - top: 46px; | 189 | + top: 42px; |
190 | margin-top: 0; | 190 | margin-top: 0; |
191 | float: right; | 191 | float: right; |
192 | box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2); | 192 | box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2); |
app/assets/stylesheets/themes/ui_basic.scss
1 | /** | 1 | /** |
2 | - * This file represent some UI that can be changed | ||
3 | - * during web app restyle or theme select. | 2 | + * This file represent some UI that can be changed |
3 | + * during web app restyle or theme select. | ||
4 | * | 4 | * |
5 | */ | 5 | */ |
6 | -.ui_basic { | 6 | +.ui_basic { |
7 | /* | 7 | /* |
8 | * Common styles | 8 | * Common styles |
9 | * | 9 | * |
10 | */ | 10 | */ |
11 | a { | 11 | a { |
12 | color: $link_color; | 12 | color: $link_color; |
13 | - &:hover { | ||
14 | - text-decoration:none; | 13 | + &:hover { |
14 | + text-decoration:none; | ||
15 | color: $blue_link; | 15 | color: $blue_link; |
16 | } | 16 | } |
17 | } | 17 | } |
app/assets/stylesheets/themes/ui_mars.scss
1 | /** | 1 | /** |
2 | - * This file represent some UI that can be changed | ||
3 | - * during web app restyle or theme select. | ||
4 | - * | 2 | + * This file represent some UI that can be changed |
3 | + * during web app restyle or theme select. | ||
4 | + * | ||
5 | * Next items should be placed there | 5 | * Next items should be placed there |
6 | * - link colors | 6 | * - link colors |
7 | * - header restyles | 7 | * - header restyles |
@@ -13,20 +13,20 @@ | @@ -13,20 +13,20 @@ | ||
13 | * Application Header | 13 | * Application Header |
14 | * | 14 | * |
15 | */ | 15 | */ |
16 | - header { | 16 | + header { |
17 | background: #474D57 url('bg-header.png') repeat-x bottom; | 17 | background: #474D57 url('bg-header.png') repeat-x bottom; |
18 | box-shadow:none; | 18 | box-shadow:none; |
19 | border-bottom: 1px solid #444; | 19 | border-bottom: 1px solid #444; |
20 | 20 | ||
21 | - .fbtn { | ||
22 | - .btn { | 21 | + .fbtn { |
22 | + .btn { | ||
23 | margin-left:8px; | 23 | margin-left:8px; |
24 | background-image: -webkit-gradient(linear, 0 0, 0 30, color-stop(0.066, #595D63), to(#31363E)); | 24 | background-image: -webkit-gradient(linear, 0 0, 0 30, color-stop(0.066, #595D63), to(#31363E)); |
25 | background-image: -webkit-linear-gradient(#595D63 6.6%, #31363E); | 25 | background-image: -webkit-linear-gradient(#595D63 6.6%, #31363E); |
26 | background-image: -moz-linear-gradient(#595D63 6.6%, #31363E); | 26 | background-image: -moz-linear-gradient(#595D63 6.6%, #31363E); |
27 | background-image: -o-linear-gradient(#595D63 6.6%, #31363E); | 27 | background-image: -o-linear-gradient(#595D63 6.6%, #31363E); |
28 | font-size: 12px; | 28 | font-size: 12px; |
29 | - &:hover { | 29 | + &:hover { |
30 | background-image: -webkit-gradient(linear, 0 0, 0 30, color-stop(0.066, #595D63), to(#2C2F35)); | 30 | background-image: -webkit-gradient(linear, 0 0, 0 30, color-stop(0.066, #595D63), to(#2C2F35)); |
31 | background-image: -webkit-linear-gradient(#595D63 6.6%, #2C2F35); | 31 | background-image: -webkit-linear-gradient(#595D63 6.6%, #2C2F35); |
32 | background-image: -moz-linear-gradient(#595D63 6.6%, #202227); | 32 | background-image: -moz-linear-gradient(#595D63 6.6%, #202227); |
@@ -39,10 +39,10 @@ | @@ -39,10 +39,10 @@ | ||
39 | text-shadow: 0 -1px 0 #000000; | 39 | text-shadow: 0 -1px 0 #000000; |
40 | } | 40 | } |
41 | } | 41 | } |
42 | - .search { | 42 | + .search { |
43 | float: right; | 43 | float: right; |
44 | - margin-right: 55px; | ||
45 | - .search-input { | 44 | + margin-right: 45px; |
45 | + .search-input { | ||
46 | border: 1px solid rgba(0, 0, 0, 0.7); | 46 | border: 1px solid rgba(0, 0, 0, 0.7); |
47 | box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2), 0 2px 2px rgba(0, 0, 0, 0.4) inset; | 47 | box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2), 0 2px 2px rgba(0, 0, 0, 0.4) inset; |
48 | background-color: #D2D5DA; | 48 | background-color: #D2D5DA; |
@@ -57,8 +57,8 @@ | @@ -57,8 +57,8 @@ | ||
57 | color: #666; | 57 | color: #666; |
58 | } | 58 | } |
59 | .app_logo { | 59 | .app_logo { |
60 | - a { | ||
61 | - h1 { | 60 | + a { |
61 | + h1 { | ||
62 | background: url('images.png') no-repeat -3px -6px; | 62 | background: url('images.png') no-repeat -3px -6px; |
63 | width: 65px; | 63 | width: 65px; |
64 | height: 26px; | 64 | height: 26px; |
app/assets/stylesheets/themes/ui_modern.scss
@@ -91,7 +91,7 @@ | @@ -91,7 +91,7 @@ | ||
91 | */ | 91 | */ |
92 | .search { | 92 | .search { |
93 | float: right; | 93 | float: right; |
94 | - margin-right: 55px; | 94 | + margin-right: 45px; |
95 | .search-input { | 95 | .search-input { |
96 | border: 1px solid rgba(0, 0, 0, 0.7); | 96 | border: 1px solid rgba(0, 0, 0, 0.7); |
97 | box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2), 0 2px 2px rgba(0, 0, 0, 0.4) inset; | 97 | 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 @@ | ||
127 | .account-box { | 127 | .account-box { |
128 | top:6px; | 128 | top:6px; |
129 | img { | 129 | img { |
130 | + top:1px; | ||
130 | right: 5px; | 131 | right: 5px; |
131 | width: 26px; | 132 | width: 26px; |
132 | height: 26px; | 133 | height: 26px; |
app/helpers/application_helper.rb
@@ -110,7 +110,7 @@ module ApplicationHelper | @@ -110,7 +110,7 @@ module ApplicationHelper | ||
110 | when :admin_root; controller.controller_name == "dashboard" | 110 | when :admin_root; controller.controller_name == "dashboard" |
111 | when :admin_users; controller.controller_name == 'users' | 111 | when :admin_users; controller.controller_name == 'users' |
112 | when :admin_projects; controller.controller_name == "projects" | 112 | when :admin_projects; controller.controller_name == "projects" |
113 | - when :admin_emails; controller.controller_name == 'mailer' | 113 | + when :admin_hooks; controller.controller_name == 'hooks' |
114 | when :admin_resque; controller.controller_name == 'resque' | 114 | when :admin_resque; controller.controller_name == 'resque' |
115 | when :admin_logs; controller.controller_name == 'logs' | 115 | when :admin_logs; controller.controller_name == 'logs' |
116 | 116 |
app/helpers/gitlab_markdown_helper.rb
@@ -12,53 +12,10 @@ module GitlabMarkdownHelper | @@ -12,53 +12,10 @@ module GitlabMarkdownHelper | ||
12 | "{gfm-extraction-#{md5}}" | 12 | "{gfm-extraction-#{md5}}" |
13 | end | 13 | end |
14 | 14 | ||
15 | - # match 1 2 3 4 5 6 | ||
16 | - text.gsub!(/(\W)?(@([\w\._]+)|[#!$](\d+)|([\h]{6,40}))(\W)?/) do |match| | ||
17 | - prefix = $1 | ||
18 | - reference = $2 | ||
19 | - user_name = $3 | ||
20 | - issue_id = $4 | ||
21 | - merge_request_id = $4 | ||
22 | - snippet_id = $4 | ||
23 | - commit_id = $5 | ||
24 | - suffix = $6 | 15 | + # TODO: add popups with additional information |
25 | 16 | ||
26 | - # TODO: add popups with additional information | ||
27 | - ref_link = case reference | ||
28 | - | ||
29 | - # team member: @foo | ||
30 | - when /^@/ | ||
31 | - user = @project.users.where(name: user_name).first | ||
32 | - member = @project.users_projects.where(user_id: user).first if user | ||
33 | - link_to("@#{user_name}", project_team_member_path(@project, member), html_options.merge(class: "gfm gfm-team_member #{html_options[:class]}")) if member | ||
34 | - | ||
35 | - # issue: #123 | ||
36 | - when /^#/ | ||
37 | - # avoid HTML entities | ||
38 | - unless prefix.try(:end_with?, "&") && suffix.try(:start_with?, ";") | ||
39 | - issue = @project.issues.where(id: issue_id).first | ||
40 | - 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 | ||
41 | - end | ||
42 | - | ||
43 | - # merge request: !123 | ||
44 | - when /^!/ | ||
45 | - merge_request = @project.merge_requests.where(id: merge_request_id).first | ||
46 | - 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 | ||
47 | - | ||
48 | - # snippet: $123 | ||
49 | - when /^\$/ | ||
50 | - snippet = @project.snippets.where(id: snippet_id).first | ||
51 | - 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 | ||
52 | - | ||
53 | - # commit: 123456... | ||
54 | - when /^\h/ | ||
55 | - commit = @project.commit(commit_id) | ||
56 | - 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 | ||
57 | - | ||
58 | - end # case | ||
59 | - | ||
60 | - ref_link.nil? ? match : "#{prefix}#{ref_link}#{suffix}" | ||
61 | - end # gsub | 17 | + parser = Gitlab::Markdown.new(@project, html_options) |
18 | + text = parser.parse(text) | ||
62 | 19 | ||
63 | # Insert pre block extractions | 20 | # Insert pre block extractions |
64 | text.gsub!(/\{gfm-extraction-(\h{32})\}/) do | 21 | text.gsub!(/\{gfm-extraction-(\h{32})\}/) do |
app/views/errors/access_denied.html.haml
1 | -.alert-message.block-message.error | ||
2 | - %h3 Access Denied | ||
3 | - %hr | ||
4 | - %p You are not allowed to access this page. | ||
5 | - %p Read more about project permissions #{link_to "here", help_permissions_path, class: "vlink"} | 1 | +%h1 Access Denied |
2 | +%hr | ||
3 | +%h2 You are not allowed to access this page. | ||
4 | +%p Read more about project permissions #{link_to "here", help_permissions_path, class: "vlink"} |
app/views/errors/git_not_found.html.haml
1 | -.alert-message.block-message.error | ||
2 | - %h3 Git Resource Not found | ||
3 | - %hr | ||
4 | - %p | ||
5 | - Application can't get access to some | ||
6 | - %span.label branch | ||
7 | - or | ||
8 | - %span.label commit | ||
9 | - in your repository. It may have been moved. | 1 | +%h1 404 |
2 | +%hr | ||
3 | +%h2 Git Resource Not found | ||
4 | +%p | ||
5 | + Application can't get access to some branch or commit in your repository. It | ||
6 | + may have been moved. |
app/views/errors/gitolite.html.haml
1 | -.alert-message.block-message.error | ||
2 | - %h3 Gitolite Error | ||
3 | - %h4 Application can't get access to your gitolite system. | 1 | +%h1 Git Error |
2 | +%hr | ||
3 | +%h2 Gitlab was unable to access your Gitolite system. | ||
4 | 4 | ||
5 | -%h4 Tips for Administrator: | ||
6 | - | ||
7 | -%ul | ||
8 | - %li | ||
9 | - %p | ||
10 | - Check git logs in admin area | ||
11 | - %li | ||
12 | - %p | ||
13 | - Check config/gitlab.yml for correct settings. | ||
14 | - %li | ||
15 | - %p | ||
16 | - Diagnostic tool: | 5 | +.git_error_tips |
6 | + %h4 Tips for Administrator: | ||
7 | + %ol | ||
8 | + %li | ||
9 | + %p | ||
10 | + Check git logs in admin area | ||
11 | + %li | ||
12 | + %p | ||
13 | + Check config/gitlab.yml for correct settings. | ||
14 | + %li | ||
15 | + %p | ||
16 | + Diagnostic tool: | ||
17 | + %pre | ||
18 | + bundle exec rake gitlab:app:status RAILS_ENV=production | ||
19 | + %li | ||
20 | + %p | ||
21 | + Permissions: | ||
17 | %pre | 22 | %pre |
18 | - bundle exec rake gitlab:app:status RAILS_ENV=production | ||
19 | - %li | ||
20 | - %p | ||
21 | - Permissions: | ||
22 | - %pre | ||
23 | - = preserve do | ||
24 | - sudo chmod -R 770 /home/git/repositories/ | ||
25 | - sudo chown -R git:git /home/git/repositories/ | ||
26 | - sudo chown gitlab:gitlab /home/git/repositories/**/hooks/post-receive | 23 | + = preserve do |
24 | + sudo chmod -R 770 /home/git/repositories/ | ||
25 | + sudo chown -R git:git /home/git/repositories/ | ||
26 | + sudo chown gitlab:gitlab /home/git/repositories/**/hooks/post-receive | ||
27 | 27 |
app/views/errors/not_found.html.haml
1 | -.alert-message.block-message.error | ||
2 | - %h3 Not found | ||
3 | - %hr | ||
4 | - %p The resource you were looking for doesn't exist. | ||
5 | - %p You may have mistyped the address or it may have been removed. | 1 | +%h1 404 |
2 | +%hr | ||
3 | +%h2 The resource you were looking for doesn't exist. | ||
4 | +%p You may have mistyped the address or the page may have moved. |
app/views/layouts/admin.html.haml
@@ -14,7 +14,7 @@ | @@ -14,7 +14,7 @@ | ||
14 | = link_to "Users", admin_users_path | 14 | = link_to "Users", admin_users_path |
15 | %li{class: tab_class(:admin_logs)} | 15 | %li{class: tab_class(:admin_logs)} |
16 | = link_to "Logs", admin_logs_path | 16 | = link_to "Logs", admin_logs_path |
17 | - %li{class: tab_class(:admin_emails)} | 17 | + %li{class: tab_class(:admin_hooks)} |
18 | = link_to "Hooks", admin_hooks_path | 18 | = link_to "Hooks", admin_hooks_path |
19 | %li{class: tab_class(:admin_resque)} | 19 | %li{class: tab_class(:admin_resque)} |
20 | = link_to "Resque", admin_resque_path | 20 | = link_to "Resque", admin_resque_path |
app/views/layouts/error.html.haml
@@ -0,0 +1,98 @@ | @@ -0,0 +1,98 @@ | ||
1 | +module Gitlab | ||
2 | + # Custom parsing for Gitlab-flavored Markdown | ||
3 | + # | ||
4 | + # Examples | ||
5 | + # | ||
6 | + # >> m = Markdown.new(...) | ||
7 | + # | ||
8 | + # >> m.parse("Hey @david, can you fix this?") | ||
9 | + # => "Hey <a href="/gitlab/team_members/1">@david</a>, can you fix this?" | ||
10 | + # | ||
11 | + # >> m.parse("Commit 35d5f7c closes #1234") | ||
12 | + # => "Commit <a href="/gitlab/commits/35d5f7c">35d5f7c</a> closes <a href="/gitlab/issues/1234">#1234</a>" | ||
13 | + class Markdown | ||
14 | + include Rails.application.routes.url_helpers | ||
15 | + include ActionView::Helpers | ||
16 | + | ||
17 | + REFERENCE_PATTERN = %r{ | ||
18 | + ([^\w&;])? # Prefix (1) | ||
19 | + ( # Reference (2) | ||
20 | + @([\w\._]+) # User name (3) | ||
21 | + |[#!$](\d+) # Issue/MR/Snippet ID (4) | ||
22 | + |([\h]{6,40}) # Commit ID (5) | ||
23 | + ) | ||
24 | + ([^\w&;])? # Suffix (6) | ||
25 | + }x.freeze | ||
26 | + | ||
27 | + attr_reader :html_options | ||
28 | + | ||
29 | + def initialize(project, html_options = {}) | ||
30 | + @project = project | ||
31 | + @html_options = html_options | ||
32 | + end | ||
33 | + | ||
34 | + def parse(text) | ||
35 | + text.gsub(REFERENCE_PATTERN) do |match| | ||
36 | + prefix = $1 || '' | ||
37 | + reference = $2 | ||
38 | + identifier = $3 || $4 || $5 | ||
39 | + suffix = $6 || '' | ||
40 | + | ||
41 | + if ref_link = reference_link(reference, identifier) | ||
42 | + prefix + ref_link + suffix | ||
43 | + else | ||
44 | + match | ||
45 | + end | ||
46 | + end | ||
47 | + end | ||
48 | + | ||
49 | + private | ||
50 | + | ||
51 | + # Private: Dispatches to a dedicated processing method based on reference | ||
52 | + # | ||
53 | + # reference - Object reference ("@1234", "!567", etc.) | ||
54 | + # identifier - Object identifier (Issue ID, SHA hash, etc.) | ||
55 | + # | ||
56 | + # Returns string rendered by the processing method | ||
57 | + def reference_link(reference, identifier) | ||
58 | + case reference | ||
59 | + when /^@/ then reference_user(identifier) | ||
60 | + when /^#/ then reference_issue(identifier) | ||
61 | + when /^!/ then reference_merge_request(identifier) | ||
62 | + when /^\$/ then reference_snippet(identifier) | ||
63 | + when /^\h/ then reference_commit(identifier) | ||
64 | + end | ||
65 | + end | ||
66 | + | ||
67 | + def reference_user(identifier) | ||
68 | + if user = @project.users.where(name: identifier).first | ||
69 | + member = @project.users_projects.where(user_id: user).first | ||
70 | + link_to("@#{user.name}", project_team_member_path(@project, member), html_options.merge(class: "gfm gfm-team_member #{html_options[:class]}")) if member | ||
71 | + end | ||
72 | + end | ||
73 | + | ||
74 | + def reference_issue(identifier) | ||
75 | + if issue = @project.issues.where(id: identifier).first | ||
76 | + link_to("##{issue.id}", project_issue_path(@project, issue), html_options.merge(title: "Issue: #{issue.title}", class: "gfm gfm-issue #{html_options[:class]}")) | ||
77 | + end | ||
78 | + end | ||
79 | + | ||
80 | + def reference_merge_request(identifier) | ||
81 | + if merge_request = @project.merge_requests.where(id: identifier).first | ||
82 | + 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]}")) | ||
83 | + end | ||
84 | + end | ||
85 | + | ||
86 | + def reference_snippet(identifier) | ||
87 | + if snippet = @project.snippets.where(id: identifier).first | ||
88 | + link_to("$#{snippet.id}", project_snippet_path(@project, snippet), html_options.merge(title: "Snippet: #{snippet.title}", class: "gfm gfm-snippet #{html_options[:class]}")) | ||
89 | + end | ||
90 | + end | ||
91 | + | ||
92 | + def reference_commit(identifier) | ||
93 | + if commit = @project.commit(identifier) | ||
94 | + 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]}")) | ||
95 | + end | ||
96 | + end | ||
97 | + end | ||
98 | +end |
public/404.html
@@ -7,7 +7,7 @@ | @@ -7,7 +7,7 @@ | ||
7 | 7 | ||
8 | <body> | 8 | <body> |
9 | <h1>404</h1> | 9 | <h1>404</h1> |
10 | - <div class="alert-message block-message error"> | 10 | + <div> |
11 | <h2>The page you were looking for doesn't exist.</h2> | 11 | <h2>The page you were looking for doesn't exist.</h2> |
12 | <p>You may have mistyped the address or the page may have moved.</p> | 12 | <p>You may have mistyped the address or the page may have moved.</p> |
13 | </div> | 13 | </div> |
public/422.html
@@ -8,7 +8,7 @@ | @@ -8,7 +8,7 @@ | ||
8 | <body> | 8 | <body> |
9 | <!-- This file lives in public/422.html --> | 9 | <!-- This file lives in public/422.html --> |
10 | <h1>422</h1> | 10 | <h1>422</h1> |
11 | - <div class="alert-message block-message error"> | 11 | + <div> |
12 | <h2>The change you wanted was rejected.</h2> | 12 | <h2>The change you wanted was rejected.</h2> |
13 | <p>Maybe you tried to change something you didn't have access to.</p> | 13 | <p>Maybe you tried to change something you didn't have access to.</p> |
14 | </div> | 14 | </div> |
public/500.html
@@ -8,7 +8,7 @@ | @@ -8,7 +8,7 @@ | ||
8 | <body> | 8 | <body> |
9 | <!-- This file lives in public/500.html --> | 9 | <!-- This file lives in public/500.html --> |
10 | <h1>500</h1> | 10 | <h1>500</h1> |
11 | - <div class="alert-message block-message error"> | 11 | + <div> |
12 | <h2>We're sorry, but something went wrong.</h2> | 12 | <h2>We're sorry, but something went wrong.</h2> |
13 | <p>We've been notified about this issue and we'll take a look at it shortly.</p> | 13 | <p>We've been notified about this issue and we'll take a look at it shortly.</p> |
14 | </div> | 14 | </div> |