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> |