cupboard 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (130) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +10 -0
  3. data/.rspec +2 -0
  4. data/.ruby-version +1 -0
  5. data/.travis.yml +4 -0
  6. data/CODE_OF_CONDUCT.md +13 -0
  7. data/Dockerfile +19 -0
  8. data/Gemfile +6 -0
  9. data/LICENSE.txt +21 -0
  10. data/README.md +44 -0
  11. data/Rakefile +6 -0
  12. data/app/assets/images/category-cover.png +0 -0
  13. data/app/assets/images/category-default.jpg +0 -0
  14. data/app/assets/images/default-avatar.png +0 -0
  15. data/app/assets/images/favicon.ico +0 -0
  16. data/app/assets/images/icook-logo.png +0 -0
  17. data/app/assets/images/icook-logo.svg +26 -0
  18. data/app/assets/images/logo-2x.png +0 -0
  19. data/app/assets/images/no-result.png +0 -0
  20. data/app/assets/images/recipe-default.png +0 -0
  21. data/app/assets/images/section_bg.jpg +0 -0
  22. data/app/assets/images/setting-pr.jpg +0 -0
  23. data/app/assets/images/step-placeholder.jpg +0 -0
  24. data/app/assets/images/vip-icon.svg +1 -0
  25. data/app/assets/pages/atomic.md +56 -0
  26. data/app/assets/pages/index.md +101 -0
  27. data/app/assets/stylesheets/_base.scss +4 -0
  28. data/app/assets/stylesheets/_basic.scss +22 -0
  29. data/app/assets/stylesheets/_components.scss +95 -0
  30. data/app/assets/stylesheets/_forms.scss +159 -0
  31. data/app/assets/stylesheets/_global.scss +40 -0
  32. data/app/assets/stylesheets/_images.scss +125 -0
  33. data/app/assets/stylesheets/_layouts.scss +4 -0
  34. data/app/assets/stylesheets/_lists.scss +203 -0
  35. data/app/assets/stylesheets/_mixins.scss +6 -0
  36. data/app/assets/stylesheets/_tables.scss +244 -0
  37. data/app/assets/stylesheets/_typography.scss +292 -0
  38. data/app/assets/stylesheets/_variables.scss +1 -0
  39. data/app/assets/stylesheets/_widgets.scss +50 -0
  40. data/app/assets/stylesheets/base/_badge.scss +89 -0
  41. data/app/assets/stylesheets/base/_buttons.scss +217 -0
  42. data/app/assets/stylesheets/components/_accordion.scss +69 -0
  43. data/app/assets/stylesheets/components/_breadcrumbs.scss +46 -0
  44. data/app/assets/stylesheets/components/_cards.scss +12 -0
  45. data/app/assets/stylesheets/components/_grid.scss +45 -0
  46. data/app/assets/stylesheets/components/_navigations.scss +12 -0
  47. data/app/assets/stylesheets/components/_pagination.scss +166 -0
  48. data/app/assets/stylesheets/components/_search-form.scss +56 -0
  49. data/app/assets/stylesheets/components/_sorting-cards.scss +76 -0
  50. data/app/assets/stylesheets/components/_text.scss +166 -0
  51. data/app/assets/stylesheets/components/alerts/_alert-global.scss +137 -0
  52. data/app/assets/stylesheets/components/alerts/_alert-market.scss +129 -0
  53. data/app/assets/stylesheets/components/cards/_dish-card.scss +244 -0
  54. data/app/assets/stylesheets/components/cards/_list-card.scss +168 -0
  55. data/app/assets/stylesheets/components/cards/_photo-card.scss +244 -0
  56. data/app/assets/stylesheets/components/cards/_product-card.scss +104 -0
  57. data/app/assets/stylesheets/components/cards/_recipe-card.scss +96 -0
  58. data/app/assets/stylesheets/components/cards/_video-card.scss +206 -0
  59. data/app/assets/stylesheets/components/comments/_comment-form.scss +222 -0
  60. data/app/assets/stylesheets/components/medias/_blog-feeds.scss +28 -0
  61. data/app/assets/stylesheets/components/medias/_brand-cover.scss +127 -0
  62. data/app/assets/stylesheets/components/medias/_brand-product.scss +35 -0
  63. data/app/assets/stylesheets/components/medias/_business-kitchen.scss +66 -0
  64. data/app/assets/stylesheets/components/medias/_categories-cover.scss +79 -0
  65. data/app/assets/stylesheets/components/medias/_hot-categories.scss +36 -0
  66. data/app/assets/stylesheets/components/medias/_popular-categories.scss +89 -0
  67. data/app/assets/stylesheets/components/medias/_popular-recipes.scss +38 -0
  68. data/app/assets/stylesheets/components/medias/_pr-lists.scss +53 -0
  69. data/app/assets/stylesheets/components/medias/_recipe-reference.scss +45 -0
  70. data/app/assets/stylesheets/components/medias/_user-recipes.scss +46 -0
  71. data/app/assets/stylesheets/components/navigations/_blog-nav.scss +120 -0
  72. data/app/assets/stylesheets/components/navigations/_brand-tabs-nav.scss +187 -0
  73. data/app/assets/stylesheets/components/navigations/_categories-nav-responsive.scss +131 -0
  74. data/app/assets/stylesheets/components/navigations/_categories-nav.scss +307 -0
  75. data/app/assets/stylesheets/components/navigations/_recipe-nav.scss +112 -0
  76. data/app/assets/stylesheets/components/navigations/_tv-nav.scss +283 -0
  77. data/app/assets/stylesheets/components/recipes/_ingredients.scss +223 -0
  78. data/app/assets/stylesheets/components/recipes/_notes.scss +60 -0
  79. data/app/assets/stylesheets/components/recipes/_steps.scss +153 -0
  80. data/app/assets/stylesheets/components/single_comment/_single-comment.scss +251 -0
  81. data/app/assets/stylesheets/layouts/_footer-nav.scss +151 -0
  82. data/app/assets/stylesheets/layouts/_footer.scss +48 -0
  83. data/app/assets/stylesheets/layouts/_footers.scss +12 -0
  84. data/app/assets/stylesheets/layouts/_global-navbar.scss +261 -0
  85. data/app/assets/stylesheets/layouts/_headers.scss +11 -0
  86. data/app/assets/stylesheets/layouts/_sub-header-market.scss +138 -0
  87. data/app/assets/stylesheets/mixins/_mixin-alert.scss +27 -0
  88. data/app/assets/stylesheets/mixins/_mixin-animation.scss +10 -0
  89. data/app/assets/stylesheets/mixins/_mixin-badge.scss +21 -0
  90. data/app/assets/stylesheets/mixins/_mixin-buttons.scss +21 -0
  91. data/app/assets/stylesheets/mixins/_mixin-icons.scss +32 -0
  92. data/app/assets/stylesheets/mixins/_mixin-type.scss +7 -0
  93. data/app/assets/stylesheets/variables/_color-palette.scss +222 -0
  94. data/app/assets/stylesheets/widgets/_brand-sidebar-widgets.scss +11 -0
  95. data/app/assets/stylesheets/widgets/_recipe-mark.scss +55 -0
  96. data/app/assets/stylesheets/widgets/_sidebar-widgets.scss +11 -0
  97. data/app/assets/stylesheets/widgets/_tv-sidebar-widgets.scss +11 -0
  98. data/app/assets/stylesheets/widgets/_user-sidebar-widgets.scss +11 -0
  99. data/app/assets/stylesheets/widgets/_widgets.scss +11 -0
  100. data/app/assets/stylesheets/widgets/brands/_pr-ingredients.scss +154 -0
  101. data/app/assets/stylesheets/widgets/brands/_pr-latest.scss +62 -0
  102. data/app/assets/stylesheets/widgets/brands/_pr-popular-recipe-lists.scss +51 -0
  103. data/app/assets/stylesheets/widgets/brands/_pr-recent.scss +59 -0
  104. data/app/assets/stylesheets/widgets/brands/_pr-video.scss +34 -0
  105. data/app/assets/stylesheets/widgets/features/_feature-events.scss +119 -0
  106. data/app/assets/stylesheets/widgets/features/_feature-slides.scss +144 -0
  107. data/app/assets/stylesheets/widgets/feeds/_blog-feeds.scss +144 -0
  108. data/app/assets/stylesheets/widgets/feeds/_tv-feeds.scss +143 -0
  109. data/app/assets/stylesheets/widgets/modal/_modal-reset.scss +40 -0
  110. data/app/assets/stylesheets/widgets/modal/_recipe-list-modal.scss +111 -0
  111. data/app/assets/stylesheets/widgets/sidebar-widgets/_business-kitchen.scss +134 -0
  112. data/app/assets/stylesheets/widgets/sidebar-widgets/_icook-video.scss +109 -0
  113. data/app/assets/stylesheets/widgets/sidebar-widgets/_popular-recipe-lists.scss +232 -0
  114. data/app/assets/stylesheets/widgets/sidebar-widgets/_popular-recipes.scss +105 -0
  115. data/app/assets/stylesheets/widgets/sidebar-widgets/_popular-search.scss +317 -0
  116. data/app/assets/stylesheets/widgets/sidebar-widgets/_recipes-collect.scss +45 -0
  117. data/app/assets/stylesheets/widgets/sidebar-widgets/_sidebar-widget.scss +62 -0
  118. data/app/assets/stylesheets/widgets/tv/_tv-more-recipes.scss +93 -0
  119. data/app/assets/stylesheets/widgets/tv/_tv-popular-tags.scss +78 -0
  120. data/app/assets/stylesheets/widgets/users/_fav-list.scss +197 -0
  121. data/app/assets/stylesheets/widgets/users/_user-stats.scss +330 -0
  122. data/bin/console +14 -0
  123. data/bin/setup +7 -0
  124. data/config/initializers/assets.rb +5 -0
  125. data/cupboard.gemspec +40 -0
  126. data/example/.gitignore +19 -0
  127. data/lib/cupboard.rb +12 -0
  128. data/lib/cupboard/engine.rb +6 -0
  129. data/lib/cupboard/version.rb +3 -0
  130. metadata +298 -0
@@ -0,0 +1 @@
1
+ @import "variables/color-palette";
@@ -0,0 +1,50 @@
1
+ //
2
+ // Widgets
3
+ //
4
+ // --------------------------------
5
+ // global
6
+ // --------------------------------
7
+ // - features
8
+ @import "widgets/features/feature-slides";
9
+ @import "widgets/features/feature-events";
10
+ @import "widgets/feeds/blog-feeds";
11
+ @import "widgets/feeds/tv-feeds";
12
+ // - sidebar widgets
13
+ @import "widgets/sidebar-widgets/business-kitchen";
14
+ @import "widgets/sidebar-widgets/sidebar-widget";
15
+ @import "widgets/sidebar-widgets/popular-search";
16
+ @import "widgets/sidebar-widgets/recipes-collect";
17
+ @import "widgets/sidebar-widgets/popular-recipes";
18
+ @import "widgets/sidebar-widgets/popular-recipe-lists";
19
+ @import "widgets/sidebar-widgets/icook-video";
20
+
21
+ // --------------------------------
22
+ // users
23
+ // --------------------------------
24
+ @import "widgets/users/user-stats";
25
+ @import "widgets/users/fav-list";
26
+
27
+ // --------------------------------
28
+ // brands
29
+ // --------------------------------
30
+ // @import "widgets/pr-ingredients";
31
+ @import "widgets/brands/pr-recent";
32
+ @import "widgets/brands/pr-latest";
33
+ @import "widgets/brands/pr-popular-recipe-lists";
34
+ @import "widgets/brands/pr-ingredients";
35
+ @import "widgets/brands/pr-video";
36
+
37
+ // --------------------------------
38
+ // TV
39
+ // --------------------------------
40
+ // @import "widgets/recipe-mark";
41
+ @import "widgets/tv/tv-popular-tags";
42
+ @import "widgets/tv/tv-more-recipes";
43
+
44
+ // --------------------------------
45
+ // Modal
46
+ // --------------------------------
47
+ // # recipe list modal
48
+ @import "widgets/modal/modal-reset";
49
+ @import "widgets/modal/recipe-list-modal";
50
+
@@ -0,0 +1,89 @@
1
+ // --------------------------------
2
+ // Badges
3
+ // --------------------------------
4
+
5
+ /*doc
6
+ ---
7
+ title: Badge
8
+ name: 02_badge
9
+ category: UI components
10
+ ---
11
+
12
+ <div><p>simply add <code>.badge-</code> class as below</p></div>
13
+
14
+ <div class="row">
15
+ <div class="col-xs-12 col-md-3">
16
+ <p>brand</p>
17
+ <span class="badge-brand">愛料理</span>
18
+ </div>
19
+ <div class="col-xs-12 col-md-3">
20
+ <p>pr</p>
21
+ <span class="badge-pr">食譜料理募集中</span>
22
+ </div>
23
+ <div class="col-xs-12 col-md-3">
24
+ <p>new</p>
25
+ <span class="badge-new">炒飯食譜募集活動</span>
26
+ </div>
27
+ <div class="col-xs-12 col-md-3">
28
+ <p>support</p>
29
+ <span class="badge-support">愛料理市集</span>
30
+ </div>
31
+ </div>
32
+ <br/>
33
+ <div>
34
+ <p>vip</p>
35
+ <div>愛料理<span class="badge-vip"></span></div>
36
+ </div>
37
+
38
+ ```html_example
39
+ <div class="badge-brand">愛料理</div>
40
+ <div class="badge-pr">食譜料理募集中</div>
41
+ <div class="badge-new">炒飯食譜募集活動</div>
42
+ <div class="badge-support">愛料理市集</div>
43
+ <div>愛料理<span class="badge-vip"></span></div>
44
+ ```
45
+
46
+ */
47
+
48
+ $badge-brand-bg: #ac8b86 !default;
49
+ $badge-new-bg: $orange !default;
50
+ $badge-pr-bg: #aa8f83 !default;
51
+ $badge-support-bg: #999 !default;
52
+ $badge-vip-bg: $orange !default;
53
+
54
+ @each $type, $content, $color in
55
+ (brand, "品牌", $badge-brand-bg),
56
+ (new, "NEW", $badge-new-bg),
57
+ (pr, "PR", $badge-pr-bg),
58
+ (support, "贊助", $badge-support-bg) {
59
+ .badge-#{$type} {
60
+ @include badge($content, $color);
61
+ }
62
+ }
63
+
64
+ .badge-support::after {
65
+ border-radius: 10px;
66
+ font-size: 10px;
67
+ padding: 3px 7px;
68
+ }
69
+
70
+ .badge-vip {
71
+ background-color: $badge-vip-bg;
72
+ border-radius: 15px;
73
+ color: $white;
74
+ display: inline-block;
75
+ height: 17px;
76
+ margin-left: 5px;
77
+ padding: 0 8px;
78
+ width: 33px;
79
+
80
+ &::after {
81
+ background-image: image-url("vip-icon.svg");
82
+ background-repeat: no-repeat;
83
+ content: "";
84
+ display: inline-block;
85
+ height: 10px;
86
+ padding: 0 8px;
87
+ width: 18px;
88
+ }
89
+ }
@@ -0,0 +1,217 @@
1
+ // --------------------------------
2
+ // Buttons
3
+ // --------------------------------
4
+
5
+ /*doc
6
+ ---
7
+ title: Buttons
8
+ name: 5_Buttons
9
+ category: Design elements
10
+ ---
11
+
12
+ basic buttons, fram buttons, card Buttons
13
+ use these class on tags such as `<a>`, `<button>` or `<input>`, and don't forget to incude the class `.btn`.
14
+
15
+ ### Basic buttons
16
+
17
+ <div class="ic-buttons"></div>
18
+
19
+ ```html_example
20
+ <a class="btn btn-standard" href="#">寫食譜</a>
21
+ <a class="btn btn-pealbush" href="#">已訂閱</a>
22
+ <a class="btn btn-red" href="#">我要購買</a>
23
+ <a class="btn btn-orangered" href="#">繼續閱讀</a>
24
+ <a class="btn btn-green" href="#">儲存更新</a>
25
+ <a class="btn btn-blue" href="#">訂閱</a>
26
+
27
+ ```
28
+
29
+ <hr/>
30
+
31
+ ### Frame buttons
32
+
33
+ use in brands/products
34
+
35
+ ```html_example
36
+ <a class="btn btn-frame" href="#">看詳細介紹</a>
37
+ ```
38
+
39
+ <hr/>
40
+
41
+ ### Card Buttons
42
+
43
+ use in recipes cards and recipes/show
44
+
45
+ <div class="ic-buttons card-buttons"></div>
46
+
47
+ ```html_example
48
+ <a class="btn btn-card" href="#">收藏</a>
49
+ <a class="btn btn-card list" href="#">清單</a>
50
+ <a class="btn btn-card following-recipe" href="#">已收</a>
51
+ <a class="btn btn-card list href="#">清單</a>
52
+ ```
53
+
54
+
55
+ */
56
+
57
+ .btn {
58
+ &.orders {
59
+ @include icon("\f00b");
60
+
61
+ color: #888;
62
+ font-size: 15px;
63
+
64
+ &:hover {
65
+ color: #333;
66
+ }
67
+ }
68
+ }
69
+
70
+ .btn-standard {
71
+ @include btn(14px, $darkgray, $palegray);
72
+ border: 1px solid $linegray1;
73
+
74
+ &.new-recipe {
75
+ @include icon("\f040");
76
+ padding: 5px 12px;
77
+ }
78
+ }
79
+
80
+ .btn-pealbush {
81
+ @include btn(14px, $darkgray, $pearlbush);
82
+ }
83
+
84
+ .btn-red {
85
+ @include btn(14px, #fff, $darkred);
86
+ }
87
+
88
+ .btn-orangered {
89
+ @include btn(14px, #fff, $orangered);
90
+ }
91
+
92
+ .btn-green {
93
+ @include btn(14px, #fff, $grassgreen);
94
+ }
95
+
96
+ .btn-blue {
97
+ @include btn(14px, #fff, $softblue);
98
+ }
99
+
100
+ .btn-frame {
101
+ @include btn(14px, $lightgray, #fff);
102
+ border: 1px solid $lightgray;
103
+
104
+ &:hover {
105
+ color: $redbrown;
106
+ }
107
+ }
108
+
109
+ // in recipe card
110
+ .btn-card {
111
+ @include btn(14px, #fff, rgba(86, 78, 74, .8));
112
+
113
+ border-radius: 13px;
114
+ border: 2px solid #fff;
115
+ width: 104px;
116
+
117
+ &:hover {
118
+ background-color: rgba(86, 78, 74, .7);
119
+ }
120
+
121
+ &.favorite {
122
+ @include icon("\f08a");
123
+ }
124
+
125
+ &.list {
126
+ @include icon("\f0c9");
127
+
128
+ background-color: #fff;
129
+ color: $darkbrown;
130
+ margin-left: 4px;
131
+ position: relative;
132
+
133
+ &:after {
134
+ bottom: 0;
135
+ border: 1px solid $darkbrown;
136
+ border-radius: 12px;
137
+ content: "";
138
+ display: block;
139
+ left: 0;
140
+ position: absolute;
141
+ right: 0;
142
+ top: 0;
143
+ }
144
+ }
145
+
146
+ &.favorite,
147
+ &.list {
148
+ padding: 4px 6px;
149
+
150
+ span {
151
+ margin-left: -4px;
152
+ }
153
+ }
154
+
155
+ &.following-recipe {
156
+ background-color: $orangered;
157
+
158
+ &:before {
159
+ color: #fff;
160
+ content: "\f004";
161
+ }
162
+
163
+ & + .list {
164
+ color: $orangered;
165
+
166
+ &:after {
167
+ border-color: $orangered;
168
+ }
169
+ }
170
+ }
171
+ }
172
+
173
+ // in dish card
174
+ .btn-like {
175
+ @include icon("\f004");
176
+
177
+ border-radius: 50%;
178
+ background-color: rgba(86, 78, 74, .85);
179
+ border: 3px solid #fff;
180
+ color: #fff;
181
+ font-size: 20px;
182
+ height: 42px;
183
+ padding: 0;
184
+ width: 42px;
185
+ z-index: 2;
186
+
187
+ &:before {
188
+ height: 20px;
189
+ line-height: 1.4;
190
+ margin-right: 0;
191
+ vertical-align: middle;
192
+ width: 20px;
193
+ }
194
+
195
+ &:hover,
196
+ &.btn-liking-dish {
197
+ background-color: #f06354;
198
+ color: #fff;
199
+ }
200
+ }
201
+
202
+ // override bootstrap
203
+ .btn:active {
204
+ box-shadow: none;
205
+ }
206
+
207
+ .btn-red,
208
+ .btn-orangered,
209
+ .btn-green,
210
+ .btn-blue,
211
+ .btn-card:not(.list) {
212
+ &:hover,
213
+ &:focus {
214
+ color: #fff;
215
+ }
216
+ }
217
+
@@ -0,0 +1,69 @@
1
+ .product-qna {
2
+ padding-bottom: 0;
3
+
4
+ h4 {
5
+ margin-bottom: 0;
6
+ }
7
+
8
+ .panel-group {
9
+ margin-bottom: 0;
10
+
11
+ .panel + .panel {
12
+ margin-top: 0;
13
+ }
14
+ }
15
+
16
+ .panel {
17
+ box-shadow: none;
18
+ border-radius: 0;
19
+ border-width: 0 0 1px;
20
+ border-color: #ddd;
21
+
22
+ &:last-child {
23
+ border-bottom: 0;
24
+ }
25
+ }
26
+
27
+ .panel-body {
28
+ border: 0 !important;
29
+ padding: 0 20px 20px 24px;;
30
+
31
+ p {
32
+ color: #888;
33
+ font-size: 15px;
34
+ margin-bottom: 0;
35
+ }
36
+ }
37
+
38
+ .panel-heading {
39
+ border-radius: 0;
40
+ padding: 0;
41
+
42
+ a {
43
+ @include icon("\f059");
44
+ @include icon-b("\f0d8");
45
+
46
+ color: #564e4a;
47
+ display: block;
48
+ font-size: 16px;
49
+ padding: 20px 20px 20px 24px;
50
+ position: relative;
51
+
52
+ &:before {
53
+ left: 0;
54
+ position: absolute;
55
+ top: 23px;
56
+ }
57
+
58
+ &:after {
59
+ margin-left: 0;
60
+ position: absolute;
61
+ right: 0;
62
+ }
63
+
64
+ &.collapsed:after {
65
+ content: "\f0d7";
66
+ }
67
+ }
68
+ }
69
+ }
@@ -0,0 +1,46 @@
1
+ // --------------------------------
2
+ // Navigation - breadcrumb
3
+ // --------------------------------
4
+
5
+ /*doc
6
+ ---
7
+ title: Breadcrumb
8
+ name: 06_breadcrumb
9
+ category: UI components
10
+ ---
11
+
12
+ ```html_example
13
+ <div>
14
+ <ol class="breadcrumb">
15
+ <li><a href="#">逛食譜</a></li>
16
+ <li><a href="#">每日菜色</a></li>
17
+ <li><a href="#">麵食</a></li>
18
+ <li class="active">餛飩抄手</li>
19
+ </ol>
20
+ </div>
21
+ ```
22
+
23
+ */
24
+
25
+ $breadcrumb-link: $ic-brown !default;
26
+ $breadcrumb-link-active: #999 !default;
27
+
28
+ .breadcrumb {
29
+ background-color: transparent; // override bootstrap
30
+ border-radius: 0;
31
+ margin-bottom: 0;
32
+ padding-left: 0;
33
+ padding-top: 0;
34
+
35
+ & > li + li {
36
+ @include icon("\f105");
37
+ }
38
+
39
+ a {
40
+ color: $breadcrumb-link;
41
+ }
42
+
43
+ .active {
44
+ color: $breadcrumb-link-active;
45
+ }
46
+ }