Commit 9826db17e756c71eed5abdf75e3b5d2d105dff1a
Exists in
master
and in
4 other branches
Merge pull request #2311 from gitlabhq/refactor_scss
Better organization of styles
Showing
11 changed files
with
154 additions
and
244 deletions
Show diff stats
app/assets/stylesheets/application.css
| ... | ... | @@ -1,10 +0,0 @@ |
| 1 | -/* | |
| 2 | - * This is a manifest file that'll automatically include all the stylesheets available in this directory | |
| 3 | - * and any sub-directories. You're free to add application-wide styles to this file and they'll appear at | |
| 4 | - * the top of the compiled file, but it's generally better to create a new file per style scope. | |
| 5 | - *= require jquery.ui.gitlab | |
| 6 | - *= require jquery.atwho | |
| 7 | - *= require chosen | |
| 8 | - *= require_self | |
| 9 | - *= require main | |
| 10 | -*/ |
| ... | ... | @@ -0,0 +1,47 @@ |
| 1 | +/* | |
| 2 | + * This is a manifest file that'll automatically include all the stylesheets available in this directory | |
| 3 | + * and any sub-directories. You're free to add application-wide styles to this file and they'll appear at | |
| 4 | + * the top of the compiled file, but it's generally better to create a new file per style scope. | |
| 5 | + *= require jquery.ui.gitlab | |
| 6 | + *= require jquery.atwho | |
| 7 | + *= require chosen | |
| 8 | + *= require_self | |
| 9 | +*/ | |
| 10 | + | |
| 11 | +/** | |
| 12 | + * GitLab bootstrap: | |
| 13 | + */ | |
| 14 | +@import "gitlab_bootstrap.scss"; | |
| 15 | + | |
| 16 | +@import "common.scss"; | |
| 17 | +@import "ref_select.scss"; | |
| 18 | + | |
| 19 | +@import "sections/header.scss"; | |
| 20 | +@import "sections/nav.scss"; | |
| 21 | +@import "sections/commits.scss"; | |
| 22 | +@import "sections/issues.scss"; | |
| 23 | +@import "sections/projects.scss"; | |
| 24 | +@import "sections/snippets.scss"; | |
| 25 | +@import "sections/votes.scss"; | |
| 26 | +@import "sections/merge_requests.scss"; | |
| 27 | +@import "sections/graph.scss"; | |
| 28 | +@import "sections/events.scss"; | |
| 29 | +@import "sections/themes.scss"; | |
| 30 | +@import "sections/tree.scss"; | |
| 31 | +@import "sections/notes.scss"; | |
| 32 | +@import "sections/profile.scss"; | |
| 33 | +@import "sections/login.scss"; | |
| 34 | +@import "sections/editor.scss"; | |
| 35 | + | |
| 36 | +@import "highlight/white.scss"; | |
| 37 | +@import "highlight/dark.scss"; | |
| 38 | + | |
| 39 | +/** | |
| 40 | + * UI themes: | |
| 41 | + */ | |
| 42 | +@import "themes/ui_basic.scss"; | |
| 43 | +@import "themes/ui_mars.scss"; | |
| 44 | +@import "themes/ui_modern.scss"; | |
| 45 | +@import "themes/ui_gray.scss"; | |
| 46 | +@import "themes/ui_color.scss"; | |
| 47 | + | ... | ... |
app/assets/stylesheets/fonts.scss
| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | +/** Override bootstrap variables **/ | |
| 2 | +$baseFontSize: 13px !default; | |
| 3 | +$baseLineHeight: 18px !default; | |
| 4 | + | |
| 5 | +// BOOTSTRAP | |
| 6 | +@import "bootstrap"; | |
| 7 | +@import "bootstrap/responsive-utilities"; | |
| 8 | +@import "bootstrap/responsive-1200px-min"; | |
| 9 | + | |
| 10 | +@import "font-awesome"; | |
| 11 | + | |
| 12 | +/** | |
| 13 | + * GitLab bootstrap. | |
| 14 | + * Overrides some styles of twitter bootstrap. | |
| 15 | + * Also give some common classes for GitLab app | |
| 16 | + */ | |
| 17 | +@import "gitlab_bootstrap/variables.scss"; | |
| 18 | +@import "gitlab_bootstrap/fonts.scss"; | |
| 19 | +@import "gitlab_bootstrap/mixins.scss"; | |
| 20 | +@import "gitlab_bootstrap/common.scss"; | |
| 21 | +@import "gitlab_bootstrap/typography.scss"; | |
| 22 | +@import "gitlab_bootstrap/buttons.scss"; | |
| 23 | +@import "gitlab_bootstrap/blocks.scss"; | |
| 24 | +@import "gitlab_bootstrap/files.scss"; | |
| 25 | +@import "gitlab_bootstrap/tables.scss"; | |
| 26 | +@import "gitlab_bootstrap/lists.scss"; | ... | ... |
| ... | ... | @@ -0,0 +1,69 @@ |
| 1 | +/** | |
| 2 | + * Generic mixins | |
| 3 | + */ | |
| 4 | + @mixin box-shadow($shadow) { | |
| 5 | + -webkit-box-shadow: $shadow; | |
| 6 | + -moz-box-shadow: $shadow; | |
| 7 | + -ms-box-shadow: $shadow; | |
| 8 | + -o-box-shadow: $shadow; | |
| 9 | + box-shadow: $shadow; | |
| 10 | +} | |
| 11 | + | |
| 12 | +@mixin border-radius($radius) { | |
| 13 | + -webkit-border-radius: $radius; | |
| 14 | + -moz-border-radius: $radius; | |
| 15 | + -ms-border-radius: $radius; | |
| 16 | + -o-border-radius: $radius; | |
| 17 | + border-radius: $radius; | |
| 18 | +} | |
| 19 | + | |
| 20 | +@mixin linear-gradient($from, $to) { | |
| 21 | + background-image: -webkit-gradient(linear, 0 0, 0 100%, from($from), to($to)); | |
| 22 | + background-image: -webkit-linear-gradient($from, $to); | |
| 23 | + background-image: -moz-linear-gradient($from, $to); | |
| 24 | + background-image: -o-linear-gradient($from, $to); | |
| 25 | +} | |
| 26 | + | |
| 27 | +/** | |
| 28 | + * Prefilled mixins | |
| 29 | + * Mixins with fixed values | |
| 30 | + */ | |
| 31 | +@mixin bg-light-gray-gradient { | |
| 32 | + background: #f1f1f1; | |
| 33 | + background-image: -webkit-gradient(linear, 0 0, 0 30, color-stop(0.066, #f5f5f5), to(#e1e1e1)); | |
| 34 | + background-image: -webkit-linear-gradient(#f5f5f5 6.6%, #e1e1e1); | |
| 35 | + background-image: -moz-linear-gradient(#f5f5f5 6.6%, #e1e1e1); | |
| 36 | + background-image: -o-linear-gradient(#f5f5f5 6.6%, #e1e1e1); | |
| 37 | +} | |
| 38 | + | |
| 39 | +@mixin bg-gray-gradient { | |
| 40 | + background: #eee; | |
| 41 | + background-image: -webkit-gradient(linear, 0 0, 0 30, color-stop(0.066, #eee), to(#dfdfdf)); | |
| 42 | + background-image: -webkit-linear-gradient(#eee 6.6%, #dfdfdf); | |
| 43 | + background-image: -moz-linear-gradient(#eee 6.6%, #dfdfdf); | |
| 44 | + background-image: -o-linear-gradient(#eee 6.6%, #dfdfdf); | |
| 45 | +} | |
| 46 | + | |
| 47 | +@mixin bg-dark-gray-gradient { | |
| 48 | + background: #eee; | |
| 49 | + background-image: -webkit-linear-gradient(#e9e9e9, #d7d7d7); | |
| 50 | + background-image: -moz-linear-gradient(#e9e9e9, #d7d7d7); | |
| 51 | + background-image: -o-linear-gradient(#e9e9e9, #d7d7d7); | |
| 52 | +} | |
| 53 | + | |
| 54 | +@mixin shade { | |
| 55 | + @include box-shadow(0 0 3px #ddd); | |
| 56 | +} | |
| 57 | + | |
| 58 | +@mixin solid-shade { | |
| 59 | + @include box-shadow(0 0 0 3px #f1f1f1); | |
| 60 | +} | |
| 61 | + | |
| 62 | +@mixin header-font { | |
| 63 | + color: $style_color; | |
| 64 | + text-shadow: 0 1px 1px #FFF; | |
| 65 | + font-family: 'Korolev', sans-serif; | |
| 66 | + font-size: 28px; | |
| 67 | + line-height: 48px; | |
| 68 | + font-weight: normal; | |
| 69 | +} | ... | ... |
app/assets/stylesheets/main.scss
| ... | ... | @@ -1,141 +0,0 @@ |
| 1 | -/** Override bootstrap variables **/ | |
| 2 | -$baseFontSize: 13px !default; | |
| 3 | -$baseLineHeight: 18px !default; | |
| 4 | - | |
| 5 | -// BOOTSTRAP | |
| 6 | -@import "bootstrap"; | |
| 7 | -@import "bootstrap/responsive-utilities"; | |
| 8 | -@import "bootstrap/responsive-1200px-min"; | |
| 9 | - | |
| 10 | -// FONT AWESOME | |
| 11 | -@import "font-awesome"; | |
| 12 | - | |
| 13 | -/** | |
| 14 | - * Variables | |
| 15 | - * Contains colors | |
| 16 | - */ | |
| 17 | -@import "variables.scss"; | |
| 18 | - | |
| 19 | -/** | |
| 20 | - * Custom fonts | |
| 21 | - * Contains @font-face font Korolev and default $monotype | |
| 22 | - */ | |
| 23 | -@import "fonts.scss"; | |
| 24 | - | |
| 25 | -/** | |
| 26 | - * General mixins. | |
| 27 | - * Contains rounded borders, gradients and shades | |
| 28 | - */ | |
| 29 | -@import "mixins.scss"; | |
| 30 | - | |
| 31 | -/** | |
| 32 | - * Header of application. | |
| 33 | - * Contain application logo, search panel, profile icon | |
| 34 | - */ | |
| 35 | -@import "sections/header.scss"; | |
| 36 | - | |
| 37 | -/** | |
| 38 | - * Navigation menu of application. | |
| 39 | - * Panel with links to pages depends on project, profile or admin area | |
| 40 | - */ | |
| 41 | -@import "sections/nav.scss"; | |
| 42 | - | |
| 43 | -/** | |
| 44 | - * This file represent some UI that can be changed | |
| 45 | - * during web app restyle or theme select. | |
| 46 | - * | |
| 47 | - * Next items should be placed there | |
| 48 | - * - link, button colors | |
| 49 | - * - header restyles | |
| 50 | - * - main menu restyles | |
| 51 | - * | |
| 52 | - */ | |
| 53 | -@import "themes/ui_basic.scss"; | |
| 54 | - | |
| 55 | -/** | |
| 56 | - * UI themes: | |
| 57 | - */ | |
| 58 | -@import "themes/ui_mars.scss"; | |
| 59 | -@import "themes/ui_modern.scss"; | |
| 60 | -@import "themes/ui_gray.scss"; | |
| 61 | -@import "themes/ui_color.scss"; | |
| 62 | - | |
| 63 | -/** | |
| 64 | - * GitLab bootstrap. | |
| 65 | - * Overrides some styles of twitter bootstrap. | |
| 66 | - * Also give some common classes for GitLab app | |
| 67 | - */ | |
| 68 | -@import "gitlab_bootstrap/common.scss"; | |
| 69 | -@import "gitlab_bootstrap/typography.scss"; | |
| 70 | -@import "gitlab_bootstrap/buttons.scss"; | |
| 71 | -@import "gitlab_bootstrap/blocks.scss"; | |
| 72 | -@import "gitlab_bootstrap/files.scss"; | |
| 73 | -@import "gitlab_bootstrap/tables.scss"; | |
| 74 | -@import "gitlab_bootstrap/lists.scss"; | |
| 75 | - | |
| 76 | - | |
| 77 | -/** | |
| 78 | - * Most of application styles placed here. | |
| 79 | - * This file represent common UI that should not be changed between themes | |
| 80 | - * or project restyling like form width or user avatar class or commit title | |
| 81 | - * | |
| 82 | - * TODO: clean it | |
| 83 | - */ | |
| 84 | -@import "common.scss"; | |
| 85 | - | |
| 86 | -/** | |
| 87 | - * Styles related to specific part of app | |
| 88 | - */ | |
| 89 | -@import "sections/commits.scss"; | |
| 90 | -@import "sections/issues.scss"; | |
| 91 | -@import "sections/projects.scss"; | |
| 92 | -@import "sections/snippets.scss"; | |
| 93 | -@import "sections/votes.scss"; | |
| 94 | -@import "sections/merge_requests.scss"; | |
| 95 | -@import "sections/graph.scss"; | |
| 96 | -@import "sections/events.scss"; | |
| 97 | -@import "sections/themes.scss"; | |
| 98 | - | |
| 99 | -/** | |
| 100 | - * This scss file redefine chozen selectbox styles for | |
| 101 | - * project Branch/Tag select element | |
| 102 | - */ | |
| 103 | -@import "ref_select.scss"; | |
| 104 | - | |
| 105 | -/** | |
| 106 | - * Code (files list) styles. Browsing project files there | |
| 107 | - */ | |
| 108 | -@import "sections/tree.scss"; | |
| 109 | - | |
| 110 | -/** | |
| 111 | - * This file represent notes(comments) styles | |
| 112 | - */ | |
| 113 | -@import "sections/notes.scss"; | |
| 114 | - | |
| 115 | -/** | |
| 116 | - * This file represent profile styles | |
| 117 | - */ | |
| 118 | -@import "sections/profile.scss"; | |
| 119 | - | |
| 120 | -/** | |
| 121 | - * Devise styles | |
| 122 | - */ | |
| 123 | -@import "sections/login.scss"; | |
| 124 | - | |
| 125 | -/** | |
| 126 | - * CODE HIGHTLIGHT BASE | |
| 127 | - * | |
| 128 | - */ | |
| 129 | -@import "highlight/white.scss"; | |
| 130 | - | |
| 131 | -/** | |
| 132 | - * CODE HIGHTLIGHT DARK schema | |
| 133 | - * | |
| 134 | - */ | |
| 135 | -@import "highlight/dark.scss"; | |
| 136 | - | |
| 137 | -/** | |
| 138 | - * File Editor styles | |
| 139 | - * | |
| 140 | - */ | |
| 141 | -@import "sections/editor.scss"; |
app/assets/stylesheets/mixins.scss
| ... | ... | @@ -1,69 +0,0 @@ |
| 1 | -/** | |
| 2 | - * Generic mixins | |
| 3 | - */ | |
| 4 | - @mixin box-shadow($shadow) { | |
| 5 | - -webkit-box-shadow: $shadow; | |
| 6 | - -moz-box-shadow: $shadow; | |
| 7 | - -ms-box-shadow: $shadow; | |
| 8 | - -o-box-shadow: $shadow; | |
| 9 | - box-shadow: $shadow; | |
| 10 | -} | |
| 11 | - | |
| 12 | -@mixin border-radius($radius) { | |
| 13 | - -webkit-border-radius: $radius; | |
| 14 | - -moz-border-radius: $radius; | |
| 15 | - -ms-border-radius: $radius; | |
| 16 | - -o-border-radius: $radius; | |
| 17 | - border-radius: $radius; | |
| 18 | -} | |
| 19 | - | |
| 20 | -@mixin linear-gradient($from, $to) { | |
| 21 | - background-image: -webkit-gradient(linear, 0 0, 0 100%, from($from), to($to)); | |
| 22 | - background-image: -webkit-linear-gradient($from, $to); | |
| 23 | - background-image: -moz-linear-gradient($from, $to); | |
| 24 | - background-image: -o-linear-gradient($from, $to); | |
| 25 | -} | |
| 26 | - | |
| 27 | -/** | |
| 28 | - * Prefilled mixins | |
| 29 | - * Mixins with fixed values | |
| 30 | - */ | |
| 31 | -@mixin bg-light-gray-gradient { | |
| 32 | - background: #f1f1f1; | |
| 33 | - background-image: -webkit-gradient(linear, 0 0, 0 30, color-stop(0.066, #f5f5f5), to(#e1e1e1)); | |
| 34 | - background-image: -webkit-linear-gradient(#f5f5f5 6.6%, #e1e1e1); | |
| 35 | - background-image: -moz-linear-gradient(#f5f5f5 6.6%, #e1e1e1); | |
| 36 | - background-image: -o-linear-gradient(#f5f5f5 6.6%, #e1e1e1); | |
| 37 | -} | |
| 38 | - | |
| 39 | -@mixin bg-gray-gradient { | |
| 40 | - background: #eee; | |
| 41 | - background-image: -webkit-gradient(linear, 0 0, 0 30, color-stop(0.066, #eee), to(#dfdfdf)); | |
| 42 | - background-image: -webkit-linear-gradient(#eee 6.6%, #dfdfdf); | |
| 43 | - background-image: -moz-linear-gradient(#eee 6.6%, #dfdfdf); | |
| 44 | - background-image: -o-linear-gradient(#eee 6.6%, #dfdfdf); | |
| 45 | -} | |
| 46 | - | |
| 47 | -@mixin bg-dark-gray-gradient { | |
| 48 | - background: #eee; | |
| 49 | - background-image: -webkit-linear-gradient(#e9e9e9, #d7d7d7); | |
| 50 | - background-image: -moz-linear-gradient(#e9e9e9, #d7d7d7); | |
| 51 | - background-image: -o-linear-gradient(#e9e9e9, #d7d7d7); | |
| 52 | -} | |
| 53 | - | |
| 54 | -@mixin shade { | |
| 55 | - @include box-shadow(0 0 3px #ddd); | |
| 56 | -} | |
| 57 | - | |
| 58 | -@mixin solid-shade { | |
| 59 | - @include box-shadow(0 0 0 3px #f1f1f1); | |
| 60 | -} | |
| 61 | - | |
| 62 | -@mixin header-font { | |
| 63 | - color: $style_color; | |
| 64 | - text-shadow: 0 1px 1px #FFF; | |
| 65 | - font-family: 'Korolev', sans-serif; | |
| 66 | - font-size: 28px; | |
| 67 | - line-height: 48px; | |
| 68 | - font-weight: normal; | |
| 69 | -} |
app/assets/stylesheets/themes/ui_basic.scss