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,38 @@
1
+ @import "compass/typography/text/ellipsis";
2
+ // -------------------------------
3
+ //
4
+ // Media blocks - popular recipes
5
+ //
6
+ // -------------------------------
7
+ //
8
+ .popular-recipes {
9
+ & > div {
10
+ border-bottom: 0;
11
+ float: left;
12
+ margin-bottom: 15px;
13
+ margin-right: 3.58%;
14
+ padding-bottom: 0;
15
+ padding-top: 0;
16
+ width: 48.1%;
17
+ }
18
+
19
+ a {
20
+ color: #5c4544;
21
+ display: block;
22
+
23
+ &:hover {
24
+ color: #ac8c85;
25
+ }
26
+ }
27
+
28
+ img {
29
+ background-color: #eeede8;
30
+ max-height: 122px;
31
+ margin-bottom: 10px;
32
+ width: 100%;
33
+ }
34
+
35
+ span {
36
+ @include ellipsis;
37
+ }
38
+ }
@@ -0,0 +1,53 @@
1
+ //
2
+ // Media blocks - pr lists
3
+ //
4
+ // --------------------------
5
+ // # brands - sidebar widget
6
+ .pr-lists {
7
+ .cover {
8
+ height: 100px;
9
+ overflow: hidden;
10
+ }
11
+
12
+ .pr-list-item {
13
+ border-bottom: 0;
14
+ margin-bottom: 10px;
15
+ padding: 0;
16
+ position: relative;
17
+
18
+ &:last-child {
19
+ margin-bottom: 0;
20
+ }
21
+
22
+ span {
23
+ bottom: 3px;
24
+ color: #5c4545;
25
+ position: absolute;
26
+ right: 8px;
27
+ z-index: 3;
28
+ }
29
+ }
30
+
31
+ a {
32
+ display: block;
33
+
34
+ &:hover span {
35
+ text-decoration: underline;
36
+ }
37
+ }
38
+
39
+ img {
40
+ width: 100%;
41
+ }
42
+
43
+ .mask {
44
+ bottom: 0;
45
+ background-color: #fff;
46
+ filter: alpha(opacity=70) /0; //ie8
47
+ height: 30px;
48
+ opacity: 0.7;
49
+ position: absolute;
50
+ width: 100%;
51
+ z-index: 2;
52
+ }
53
+ }
@@ -0,0 +1,45 @@
1
+ @import "compass/typography/text/ellipsis";
2
+ // --------------------------------
3
+ //
4
+ // Media blocks - recipe reference
5
+ //
6
+ // --------------------------------
7
+ // # tv - sidebar widget
8
+ .recipe-reference {
9
+ margin-top: 0;
10
+
11
+ .reference {
12
+ background: #fff;
13
+
14
+ a {
15
+ display: block;
16
+ position: relative;
17
+
18
+ &:hover > div {
19
+ text-decoration: underline;
20
+ }
21
+ }
22
+
23
+ img {
24
+ width: 100%;
25
+ }
26
+
27
+ div {
28
+ @include ellipsis;
29
+
30
+ bottom: 0;
31
+ color: #5c4545;
32
+ font-size: 14px;
33
+ padding: 5px 10px;
34
+ position: absolute;
35
+ width: 100%;
36
+ z-index: 2;
37
+ }
38
+
39
+ .mask {
40
+ background-color: #efede8;
41
+ orecipety: 0.8;
42
+ z-index: 0;
43
+ }
44
+ }
45
+ }
@@ -0,0 +1,46 @@
1
+ //
2
+ // Media blocks - user recipes
3
+ //
4
+ // --------------------------
5
+ // # rcipes/show - user widget
6
+ .user-recipes {
7
+ .media {
8
+ margin-top: 10px;
9
+
10
+ & + .media {
11
+ border-top: 1px solid #ebe5e1;
12
+ padding-top: 10px;
13
+ }
14
+
15
+ a {
16
+ color: #564e4a;
17
+
18
+ &:hover span {
19
+ text-decoration: underline;
20
+ }
21
+ }
22
+
23
+ .img {
24
+ float: left;
25
+ height: 52px;
26
+ margin-right: 10px;
27
+ overflow: hidden;
28
+ padding-right: 0;
29
+ width: 70px;
30
+ }
31
+
32
+ img {
33
+ width: 100%;
34
+ }
35
+
36
+ .media-body {
37
+ line-height: 3.75em;
38
+
39
+ span {
40
+ display: inline-block;
41
+ line-height: 1.4;
42
+ vertical-align: middle;
43
+ }
44
+ }
45
+ }
46
+ }
@@ -0,0 +1,120 @@
1
+ // --------------------------------
2
+ // Navigation - blog
3
+ // --------------------------------
4
+
5
+ /*doc
6
+ ---
7
+ parent: 08_navigations
8
+ title: Blog navigation
9
+ name: blog_navigation
10
+ ---
11
+
12
+ ```html_example
13
+ <div class="blog-nav">
14
+ <ul class="nav-links clearfix">
15
+ <li><a href="#">生活</a></li>
16
+ <li><a href="#">健康</a></li>
17
+ <li><a href="#">美麗</a></li>
18
+ <li><a href="#">食材</a></li>
19
+ <li><a href="#">料理</a></li>
20
+ <li><a href="#">專訪</a></li>
21
+ <li><a href="#">活動</a></li>
22
+ <li><a href="#">公告</a></li>
23
+ </ul>
24
+ </div>
25
+ ```
26
+
27
+ */
28
+
29
+ $blog-nav-border: #ccc !default;
30
+ $blog-nav-link: $ic-brown !default;
31
+ $blog-nav-link-hover: #ac8c85 !default;
32
+
33
+ .blog-nav {
34
+ ul {
35
+ margin-bottom: 0;
36
+ padding-left: 0;
37
+ }
38
+
39
+ li {
40
+ display: inline;
41
+ float: left;
42
+ margin-right: 30px;
43
+
44
+ &:last-child {
45
+ margin-right: 0;
46
+ }
47
+
48
+ a {
49
+ @include icon("\f0da");
50
+
51
+ color: $blog-nav-link;
52
+ font-size: 16px;
53
+ text-decoration: none;
54
+
55
+ &::before,
56
+ &:hover {
57
+ color: $blog-nav-link-hover;
58
+ }
59
+
60
+ &::before {
61
+ margin-right: 0;
62
+ width: 8px;
63
+ }
64
+ }
65
+ }
66
+ }
67
+
68
+ @media only screen and (max-width: 991px) {
69
+ .blog-nav .nav-links {
70
+ background-color: $white;
71
+ float: none;
72
+ padding: 4px 15px;
73
+
74
+ li {
75
+ margin-right: 0;
76
+ }
77
+
78
+ a {
79
+ display: block;
80
+ font-size: 18px;
81
+ padding: 10px;
82
+ text-align: center;
83
+
84
+ &::before {
85
+ display: none;
86
+ }
87
+ }
88
+ }
89
+ }
90
+
91
+ @media only screen and (min-width: 641px) and (max-width: 991px) {
92
+ .blog-nav {
93
+ li a {
94
+ &:first-child {
95
+ padding-left: 0;
96
+ }
97
+ }
98
+ }
99
+ }
100
+
101
+ @media only screen and (min-width: 768px) and (max-width: 991px) {
102
+ .blog-nav .nav-links {
103
+ padding: 4px 0;
104
+ }
105
+ }
106
+
107
+ @media only screen and (max-width: 640px) {
108
+ .blog-nav .nav-links {
109
+ li {
110
+ width: 25%;
111
+
112
+ &:nth-child(1),
113
+ &:nth-child(2),
114
+ &:nth-child(3),
115
+ &:nth-child(4) {
116
+ border-bottom: 1px solid $blog-nav-border;
117
+ }
118
+ }
119
+ }
120
+ }
@@ -0,0 +1,187 @@
1
+ // --------------------------------
2
+ // Navigation - brand tabs
3
+ // --------------------------------
4
+
5
+ /*doc
6
+ ---
7
+ parent: 08_navigations
8
+ title: Brand navigation
9
+ name: brand_navigation
10
+ ---
11
+
12
+ <div><p>brands tabs</p></div>
13
+ <div>
14
+ <ul class="brand-tabs">
15
+ <li class="brand-tab active">
16
+ <a href="#"><span>食譜</span></a>
17
+ </li>
18
+ <li class="brand-tab">
19
+ <a href="#"><span>收藏</span></a>
20
+ </li>
21
+ <li class="brand-tab">
22
+ <a href="#"><span>料理</span></a>
23
+ </li>
24
+ <li class="brand-tab">
25
+ <a href="#"><span>商品</span></a>
26
+ </li>
27
+ <li class="brand-tab">
28
+ <a href="#"><span>專欄</span></a>
29
+ </li>
30
+ <li id="brand-campaigns">
31
+ <a href="#"><span>活動</span></a>
32
+ </li>
33
+ <li class="brand-tab">
34
+ <a href="#"><span>草稿</span></a>
35
+ </li>
36
+ </ul>
37
+ </div>
38
+ ```html_example
39
+ <div>
40
+ <ul class="brand-tabs">
41
+ <li class="brand-tab active">
42
+ <a href="#"><span>食譜</span></a>
43
+ </li>
44
+ <li class="brand-tab">
45
+ <a href="#"><span>收藏</span></a>
46
+ </li>
47
+ <li class="brand-tab">
48
+ <a href="#"><span>料理</span></a>
49
+ </li>
50
+ </ul>
51
+ </div>
52
+ ```
53
+
54
+ */
55
+
56
+ $brand-tab-border: #ebe5e1 !default;
57
+ $brand-tab-hover-border: $ic-brown !default;
58
+ $brand-tab-link: $ic-brown !default;
59
+ $brand-tab-link-active: #aa0000 !default;
60
+ $brand-tab-link-bg: $white !default;
61
+
62
+ .brand-tabs {
63
+ background-color: $white;
64
+ border: 1px solid $brand-tab-border;
65
+ display: inline-block;
66
+ margin-bottom: 2px;
67
+ margin-left: 0;
68
+ padding-left: 0;
69
+ width: 100%;
70
+
71
+ li {
72
+ float: left;
73
+ line-height: 52px;
74
+ list-style-type: none;
75
+
76
+ &:first-child a {
77
+ margin-left: 15px;
78
+ }
79
+
80
+ &:hover a {
81
+ border-bottom: 3px solid $brand-tab-hover-border;
82
+ text-decoration: none;
83
+ }
84
+
85
+ &.active a {
86
+ border-bottom: 3px solid $brand-tab-link-active;
87
+ color: $brand-tab-link-active;
88
+ }
89
+ }
90
+
91
+ a {
92
+ background-color: $brand-tab-link-bg;
93
+ color: $brand-tab-link;
94
+ margin-left: 10px;
95
+ margin-right: 10px;
96
+ padding-bottom: 15px;
97
+ padding-top: 18px;
98
+ }
99
+ }
100
+
101
+ // brand tabs responsive
102
+ @media only screen and (max-width: 767px) {
103
+ .brand-tabs {
104
+ height: auto;
105
+ min-height: 52px;
106
+ margin-bottom: -5px;
107
+
108
+ a {
109
+ display: block;
110
+ line-height: 47px;
111
+ padding: 0 12px;
112
+ }
113
+
114
+ li {
115
+ height: 50px;
116
+ margin-left: 1.4%;
117
+ margin-right: 1.4%;
118
+ text-align: center;
119
+
120
+ &:hover {
121
+ border-bottom: 3px solid #564e4a;
122
+ }
123
+
124
+ &:hover a {
125
+ border-bottom: 0;
126
+ }
127
+
128
+ &:first-child {
129
+ margin-left: 0;
130
+ }
131
+
132
+ &:last-child {
133
+ margin-right: 0;
134
+ }
135
+
136
+ &.active {
137
+ border-bottom: 3px solid #aa0000;
138
+
139
+ a {
140
+ border-bottom: 0;
141
+ }
142
+ }
143
+ }
144
+ }
145
+ }
146
+
147
+ @media only screen and (max-width: 640px) {
148
+ .brand-tabs {
149
+ li {
150
+ margin-left: 1.3%;
151
+ }
152
+
153
+ a {
154
+ padding: 0 3px;
155
+ }
156
+ }
157
+ }
158
+
159
+ @media only screen and (min-width: 321px) and (max-width: 479px) {
160
+ .brand-tabs {
161
+ li {
162
+ margin-left: 1%;
163
+ margin-right: 1%;
164
+ }
165
+ }
166
+ }
167
+
168
+ @media only screen and (max-width: 320px) {
169
+ .brand-tabs {
170
+ height: auto;
171
+ min-height: 52px;
172
+
173
+ li {
174
+ margin-left: 1.4%;
175
+ margin-right: 1%;
176
+
177
+ &:first-child {
178
+ margin-left: 1.4%;
179
+
180
+ a {
181
+ margin-left: 10px;
182
+ }
183
+ }
184
+ }
185
+ }
186
+ }
187
+