easy_cms 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +12 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +5 -0
  5. data/CODE_OF_CONDUCT.md +74 -0
  6. data/Gemfile +4 -0
  7. data/LICENSE.txt +21 -0
  8. data/README.md +31 -0
  9. data/Rakefile +6 -0
  10. data/bin/console +14 -0
  11. data/bin/setup +8 -0
  12. data/easy_cms.gemspec +36 -0
  13. data/lib/easy_cms.rb +5 -0
  14. data/lib/easy_cms/version.rb +3 -0
  15. data/lib/generators/easy_cms/model/model_generator.rb +71 -0
  16. data/lib/generators/easy_cms/model/templates/controllers/model_controller.erb +55 -0
  17. data/lib/generators/easy_cms/model/templates/layouts/_form.html.erb +26 -0
  18. data/lib/generators/easy_cms/model/templates/layouts/edit.html.erb +13 -0
  19. data/lib/generators/easy_cms/model/templates/layouts/index.html.erb +37 -0
  20. data/lib/generators/easy_cms/model/templates/layouts/item_navegation.html.erb +19 -0
  21. data/lib/generators/easy_cms/model/templates/layouts/new.html.erb +13 -0
  22. data/lib/generators/easy_cms/model/templates/layouts/show.html.erb +22 -0
  23. data/lib/generators/easy_cms/namespace/namespace_generator.rb +45 -0
  24. data/lib/generators/easy_cms/namespace/templates/assets/base_javascript.erb +3 -0
  25. data/lib/generators/easy_cms/namespace/templates/assets/base_scss.erb +1 -0
  26. data/lib/generators/easy_cms/namespace/templates/controllers/base_controller.erb +5 -0
  27. data/lib/generators/easy_cms/namespace/templates/layouts/layout.html.erb +71 -0
  28. data/lib/generators/resource_helpers.rb +31 -0
  29. data/vendor/assets/javascripts/.keep +0 -0
  30. data/vendor/assets/javascripts/easy_cms/base.js +351 -0
  31. data/vendor/assets/javascripts/easy_cms/bootstrap-notify.js +404 -0
  32. data/vendor/assets/javascripts/easy_cms/bootstrap.min.js +7 -0
  33. data/vendor/assets/javascripts/easy_cms/chartist.min.js +9 -0
  34. data/vendor/assets/javascripts/easy_cms/demo.js +183 -0
  35. data/vendor/assets/javascripts/easy_cms/jquery-3.1.0.min.js +4 -0
  36. data/vendor/assets/javascripts/easy_cms/material.min.js +1 -0
  37. data/vendor/assets/stylesheets/.keep +0 -0
  38. data/vendor/assets/stylesheets/easy_cms/bootstrap.min.css +5 -0
  39. data/vendor/assets/stylesheets/easy_cms/demo.css +64 -0
  40. data/vendor/assets/stylesheets/easy_cms/easy_cms.css +5065 -0
  41. data/vendor/assets/stylesheets/easy_cms/easy_cms_sass.scss +51 -0
  42. data/vendor/assets/stylesheets/easy_cms/md/_alerts.scss +57 -0
  43. data/vendor/assets/stylesheets/easy_cms/md/_buttons.scss +259 -0
  44. data/vendor/assets/stylesheets/easy_cms/md/_cards.scss +337 -0
  45. data/vendor/assets/stylesheets/easy_cms/md/_chartist.scss +254 -0
  46. data/vendor/assets/stylesheets/easy_cms/md/_checkboxes.scss +193 -0
  47. data/vendor/assets/stylesheets/easy_cms/md/_colors.scss +325 -0
  48. data/vendor/assets/stylesheets/easy_cms/md/_dialogs.scss +99 -0
  49. data/vendor/assets/stylesheets/easy_cms/md/_dropdown.scss +67 -0
  50. data/vendor/assets/stylesheets/easy_cms/md/_footers.scss +44 -0
  51. data/vendor/assets/stylesheets/easy_cms/md/_forms.scss +58 -0
  52. data/vendor/assets/stylesheets/easy_cms/md/_inputs-size.scss +223 -0
  53. data/vendor/assets/stylesheets/easy_cms/md/_inputs.scss +394 -0
  54. data/vendor/assets/stylesheets/easy_cms/md/_misc.scss +115 -0
  55. data/vendor/assets/stylesheets/easy_cms/md/_mixins.scss +422 -0
  56. data/vendor/assets/stylesheets/easy_cms/md/_navbars.scss +329 -0
  57. data/vendor/assets/stylesheets/easy_cms/md/_pills.scss +117 -0
  58. data/vendor/assets/stylesheets/easy_cms/md/_popups.scss +77 -0
  59. data/vendor/assets/stylesheets/easy_cms/md/_radios.scss +114 -0
  60. data/vendor/assets/stylesheets/easy_cms/md/_responsive.scss +453 -0
  61. data/vendor/assets/stylesheets/easy_cms/md/_ripples.scss +40 -0
  62. data/vendor/assets/stylesheets/easy_cms/md/_shadows.scss +138 -0
  63. data/vendor/assets/stylesheets/easy_cms/md/_sidebar-and-main-panel.scss +260 -0
  64. data/vendor/assets/stylesheets/easy_cms/md/_tables.scss +45 -0
  65. data/vendor/assets/stylesheets/easy_cms/md/_tabs.scss +53 -0
  66. data/vendor/assets/stylesheets/easy_cms/md/_togglebutton.scss +87 -0
  67. data/vendor/assets/stylesheets/easy_cms/md/_typography.scss +75 -0
  68. data/vendor/assets/stylesheets/easy_cms/md/_variables.scss +1127 -0
  69. data/vendor/assets/stylesheets/easy_cms/md/mixins/_chartist.scss +89 -0
  70. data/vendor/assets/stylesheets/easy_cms/md/mixins/_transparency.scss +20 -0
  71. data/vendor/assets/stylesheets/easy_cms/md/mixins/_vendor-prefixes.scss +185 -0
  72. data/vendor/assets/stylesheets/easy_cms/md/plugins/_animate.scss +227 -0
  73. data/vendor/assets/stylesheets/easy_cms/md/plugins/_plugin-nouislider.scss +161 -0
  74. metadata +174 -0
@@ -0,0 +1,40 @@
1
+ .withripple {
2
+ position: relative;
3
+ }
4
+ .ripple-container {
5
+ position: absolute;
6
+ top: 0;
7
+ left: 0;
8
+ z-index: 1;
9
+ width: 100%;
10
+ height: 100%;
11
+ overflow: hidden;
12
+ border-radius: inherit;
13
+ pointer-events: none;
14
+
15
+ .disabled &{
16
+ display: none;
17
+ }
18
+ }
19
+ .ripple {
20
+ position: absolute;
21
+ width: 20px;
22
+ height: 20px;
23
+ margin-left: -10px;
24
+ margin-top: -10px;
25
+ border-radius: 100%;
26
+ background-color: #000; // fallback color
27
+ background-color: rgba(0,0,0,0.05);
28
+ transform: scale(1);
29
+ transform-origin: 50%;
30
+ opacity: 0;
31
+ pointer-events: none;
32
+ }
33
+ .ripple.ripple-on {
34
+ transition: opacity 0.15s ease-in 0s, transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s;
35
+ opacity: 0.1;
36
+ }
37
+ .ripple.ripple-out {
38
+ transition: opacity 0.1s linear 0s !important;
39
+ opacity: 0;
40
+ }
@@ -0,0 +1,138 @@
1
+ // This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten.
2
+
3
+ @mixin shadow-z-1(){
4
+ box-shadow:
5
+ 0 1px 6px 0 rgba(0, 0, 0, 0.12),
6
+ 0 1px 6px 0 rgba(0, 0, 0, 0.12);
7
+ }
8
+
9
+ @mixin shadow-z-1-hover(){
10
+ box-shadow:
11
+ 0 5px 11px 0 rgba(0, 0, 0, 0.18),
12
+ 0 4px 15px 0 rgba(0, 0, 0, 0.15);
13
+ }
14
+
15
+ @mixin shadow-z-2(){
16
+ box-shadow:
17
+ 0 8px 17px 0 rgba(0, 0, 0, 0.2),
18
+ 0 6px 20px 0 rgba(0, 0, 0, 0.19);
19
+ }
20
+
21
+ @mixin shadow-z-3(){
22
+ box-shadow:
23
+ 0 12px 15px 0 rgba(0, 0, 0, 0.24),
24
+ 0 17px 50px 0 rgba(0, 0, 0, 0.19);
25
+ }
26
+
27
+ @mixin shadow-z-4(){
28
+ box-shadow:
29
+ 0 16px 28px 0 rgba(0, 0, 0, 0.22),
30
+ 0 25px 55px 0 rgba(0, 0, 0, 0.21);
31
+ }
32
+
33
+ @mixin shadow-z-5(){
34
+ box-shadow:
35
+ 0 27px 24px 0 rgba(0, 0, 0, 0.2),
36
+ 0 40px 77px 0 rgba(0, 0, 0, 0.22);
37
+ }
38
+
39
+
40
+ /* Shadows (from mdl http://www.getmdl.io/) */
41
+
42
+ // Focus shadow mixin.
43
+ @mixin big-shadow(){
44
+ box-shadow: 0 0 8px rgba(0, 0, 0,.18),
45
+ 0 8px 16px rgba(0, 0, 0,.36);
46
+ }
47
+
48
+ @mixin button-shadow-color($color){
49
+ box-shadow: 0 14px 26px -12px rgba($color, $mdb-shadow-key-penumbra-opacity * 3),
50
+ 0 4px 23px 0px rgba(0,0,0, $mdb-shadow-ambient-shadow-opacity),
51
+ 0 8px 10px -5px rgba($color, $mdb-shadow-key-umbra-opacity);
52
+ }
53
+
54
+ @mixin shadow-2dp(){
55
+ box-shadow: 0 2px 2px 0 rgba(0, 0, 0, $mdb-shadow-key-penumbra-opacity),
56
+ 0 3px 1px -2px rgba(0, 0, 0, $mdb-shadow-key-umbra-opacity),
57
+ 0 1px 5px 0 rgba(0, 0, 0, $mdb-shadow-ambient-shadow-opacity);
58
+ }
59
+ @mixin shadow-2dp-color($color){
60
+ box-shadow: 0 2px 2px 0 rgba($color, $mdb-shadow-key-penumbra-opacity),
61
+ 0 3px 1px -2px rgba($color, $mdb-shadow-key-umbra-opacity),
62
+ 0 1px 5px 0 rgba($color, $mdb-shadow-ambient-shadow-opacity);
63
+ }
64
+
65
+ @mixin shadow-3dp(){
66
+ box-shadow: 0 3px 4px 0 rgba(0, 0, 0, $mdb-shadow-key-penumbra-opacity),
67
+ 0 3px 3px -2px rgba(0, 0, 0, $mdb-shadow-key-umbra-opacity),
68
+ 0 1px 8px 0 rgba(0, 0, 0, $mdb-shadow-ambient-shadow-opacity);
69
+ }
70
+ @mixin shadow-4dp(){
71
+ box-shadow: 0 4px 5px 0 rgba(0, 0, 0, $mdb-shadow-key-penumbra-opacity),
72
+ 0 1px 10px 0 rgba(0, 0, 0, $mdb-shadow-ambient-shadow-opacity),
73
+ 0 2px 4px -1px rgba(0, 0, 0, $mdb-shadow-key-umbra-opacity);
74
+ }
75
+ @mixin shadow-4dp-color($color){
76
+ box-shadow: 0 4px 5px 0 rgba($color, $mdb-shadow-key-penumbra-opacity),
77
+ 0 1px 10px 0 rgba($color, $mdb-shadow-ambient-shadow-opacity),
78
+ 0 2px 4px -1px rgba($color, $mdb-shadow-key-umbra-opacity);
79
+ }
80
+ @mixin shadow-6dp(){
81
+ box-shadow: 0 6px 10px 0 rgba(0, 0, 0, $mdb-shadow-key-penumbra-opacity),
82
+ 0 1px 18px 0 rgba(0, 0, 0, $mdb-shadow-ambient-shadow-opacity),
83
+ 0 3px 5px -1px rgba(0, 0, 0, $mdb-shadow-key-umbra-opacity);
84
+ }
85
+ @mixin shadow-8dp(){
86
+ box-shadow: 0 8px 10px 1px rgba(0, 0, 0, $mdb-shadow-key-penumbra-opacity),
87
+ 0 3px 14px 2px rgba(0, 0, 0, $mdb-shadow-ambient-shadow-opacity),
88
+ 0 5px 5px -3px rgba(0, 0, 0, $mdb-shadow-key-umbra-opacity);
89
+ }
90
+ @mixin shadow-8dp-color($color){
91
+ box-shadow: 0 8px 10px 1px rgba($color, $mdb-shadow-key-penumbra-opacity),
92
+ 0 3px 14px 2px rgba(0, 0, 0, $mdb-shadow-ambient-shadow-opacity),
93
+ 0 5px 5px -3px rgba($color, $mdb-shadow-key-umbra-opacity);
94
+ }
95
+
96
+ @mixin shadow-16dp(){
97
+ box-shadow: 0 16px 24px 2px rgba(0, 0, 0, $mdb-shadow-key-penumbra-opacity),
98
+ 0 6px 30px 5px rgba(0, 0, 0, $mdb-shadow-ambient-shadow-opacity),
99
+ 0 8px 10px -5px rgba(0, 0, 0, $mdb-shadow-key-umbra-opacity);
100
+ }
101
+
102
+ @mixin shadow-16dp-color($color){
103
+ box-shadow: 0 16px 24px 2px rgba($color, $mdb-shadow-key-penumbra-opacity),
104
+ 0 6px 30px 5px rgba(0, 0, 0, $mdb-shadow-ambient-shadow-opacity),
105
+ 0 8px 10px -5px rgba($color, $mdb-shadow-key-umbra-opacity);
106
+ }
107
+
108
+ @mixin shadow-24dp(){
109
+ box-shadow: 0 9px 46px 8px rgba(0, 0, 0, $mdb-shadow-key-penumbra-opacity),
110
+ 0 11px 15px -7px rgba(0, 0, 0, $mdb-shadow-ambient-shadow-opacity),
111
+ 0 24px 38px 3px rgba(0, 0, 0, $mdb-shadow-key-umbra-opacity);
112
+ }
113
+
114
+ @mixin shadow-big(){
115
+ box-shadow: 0 10px 30px -12px rgba(0, 0, 0, $mdb-shadow-key-penumbra-opacity * 3),
116
+ 0 4px 25px 0px rgba(0, 0, 0, $mdb-shadow-ambient-shadow-opacity),
117
+ 0 8px 10px -5px rgba(0, 0, 0, $mdb-shadow-key-umbra-opacity);
118
+ }
119
+
120
+ @mixin shadow-big-navbar(){
121
+ box-shadow: 0 10px 20px -12px rgba(0, 0, 0, $mdb-shadow-key-penumbra-opacity * 3),
122
+ 0 3px 20px 0px rgba(0, 0, 0, $mdb-shadow-ambient-shadow-opacity),
123
+ 0 8px 10px -5px rgba(0, 0, 0, $mdb-shadow-key-umbra-opacity);
124
+ }
125
+
126
+ @mixin shadow-big-color($color){
127
+ box-shadow: 0 12px 20px -10px rgba($color, $mdb-shadow-key-penumbra-opacity * 2),
128
+ 0 4px 20px 0px rgba(0,0,0, $mdb-shadow-ambient-shadow-opacity),
129
+ 0 7px 8px -5px rgba($color, $mdb-shadow-key-umbra-opacity);
130
+
131
+ }
132
+
133
+ // shadow backup for Sketch/Photoshop
134
+ // @mixin shadow-big-color($color){
135
+ // box-shadow: 0 16px 38px -12px rgba($color, $mdb-shadow-key-penumbra-opacity * 4),
136
+ // 0 4px 25px 0px rgba($color, $mdb-shadow-ambient-shadow-opacity),
137
+ // 0 8px 10px -5px rgba($color, $mdb-shadow-key-umbra-opacity);
138
+ // }
@@ -0,0 +1,260 @@
1
+ .wrapper{
2
+ position: relative;
3
+ top: 0;
4
+ height: 100vh;
5
+ }
6
+
7
+ .sidebar,
8
+ .off-canvas-sidebar{
9
+ position: absolute;
10
+ top: 0;
11
+ bottom: 0;
12
+ left: 0;
13
+ z-index: 1;
14
+ @include shadow-big();
15
+
16
+
17
+ .sidebar-wrapper{
18
+ position: relative;
19
+ height: calc(100vh - 75px);
20
+ overflow: auto;
21
+ width: 260px;
22
+ z-index: 4;
23
+ //background-color: $white-color;
24
+ }
25
+
26
+ .logo-tim{
27
+ border-radius: 50%;
28
+ border: 1px solid #333;
29
+ display: block;
30
+ height: 61px;
31
+ width: 61px;
32
+ float: left;
33
+ overflow: hidden;
34
+
35
+ img{
36
+ width: 60px;
37
+ height: 60px;
38
+ }
39
+ }
40
+
41
+
42
+
43
+ .nav{
44
+ margin-top: 20px;
45
+
46
+ li{
47
+ > a{
48
+ margin: 10px 15px;
49
+ border-radius: $border-radius-base;
50
+ color: $black-color;
51
+ @extend .animation-transition-general;
52
+ }
53
+
54
+ &:hover > a{
55
+ background: rgba(200, 200, 200, 0.2);
56
+ color: $black-color;
57
+ }
58
+
59
+ &.active > a{
60
+ color: #FFFFFF;
61
+
62
+ i{
63
+ color: #FFFFFF;
64
+ }
65
+ }
66
+ }
67
+
68
+ p{
69
+ margin: 0;
70
+ line-height: 30px;
71
+ font-size: 14px;
72
+ // font-weight: 600;
73
+ // text-transform: uppercase;
74
+ }
75
+
76
+ i{
77
+ font-size: 24px;
78
+ float: left;
79
+ margin-right: 15px;
80
+ line-height: 30px;
81
+ width: 30px;
82
+ text-align: center;
83
+ color: #a9afbb;
84
+ }
85
+ }
86
+
87
+ .sidebar-background{
88
+ position: absolute;
89
+ z-index: 1;
90
+ height: 100%;
91
+ width: 100%;
92
+ display: block;
93
+ top: 0;
94
+ left: 0;
95
+ background-size: cover;
96
+ background-position: center center;
97
+
98
+ &:after{
99
+ position: absolute;
100
+ z-index: 3;
101
+ width: 100%;
102
+ height: 100%;
103
+ content: "";
104
+ display: block;
105
+ background: #FFFFFF;
106
+ opacity: .93;
107
+ }
108
+ }
109
+
110
+ .logo{
111
+ position: relative;
112
+ padding: $padding-base $padding-base;
113
+ z-index: 4;
114
+
115
+ &:after{
116
+ content: '';
117
+ position: absolute;
118
+ bottom: 0;
119
+ right: 10%;
120
+ height: 1px;
121
+ width: 80%;
122
+ background-color: rgba(180,180,180, .3);
123
+
124
+ }
125
+
126
+ p{
127
+ float: left;
128
+ font-size: 20px;
129
+ margin: 10px 10px;
130
+ color: $white-color;
131
+ line-height: 20px;
132
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
133
+ }
134
+
135
+ .simple-text{
136
+ text-transform: uppercase;
137
+ padding: $padding-small-vertical $padding-zero;
138
+ display: block;
139
+ font-size: $font-size-large;
140
+ color: $black-color;
141
+ text-align: center;
142
+ font-weight: $font-weight-default;
143
+ line-height: 30px;
144
+ }
145
+ }
146
+
147
+ .logo-tim{
148
+ border-radius: 50%;
149
+ border: 1px solid #333;
150
+ display: block;
151
+ height: 61px;
152
+ width: 61px;
153
+ float: left;
154
+ overflow: hidden;
155
+
156
+ img{
157
+ width: 60px;
158
+ height: 60px;
159
+ }
160
+ }
161
+
162
+ &:after,
163
+ &:before{
164
+ display: block;
165
+ content: "";
166
+ position: absolute;
167
+ width: 100%;
168
+ height: 100%;
169
+ top: 0;
170
+ left: 0;
171
+ z-index: 2;
172
+ }
173
+
174
+ &:before{
175
+ opacity: .33;
176
+ // background: #000000;
177
+ }
178
+
179
+ &:after{
180
+ // @include set-background-color-button($font-background-light-grey, $background-lighter-grey);
181
+ z-index: 3;
182
+ opacity: 1;
183
+ }
184
+
185
+ &[data-image]:after,
186
+ &.has-image:after{
187
+ opacity: .77;
188
+ }
189
+
190
+ &[data-color="blue"]{
191
+ @include set-background-color-button($brand-info);
192
+ }
193
+ &[data-color="green"]{
194
+ @include set-background-color-button($brand-success);
195
+ }
196
+ &[data-color="orange"]{
197
+ @include set-background-color-button($brand-warning);
198
+ }
199
+ &[data-color="red"]{
200
+ @include set-background-color-button($brand-danger);
201
+ }
202
+ &[data-color="purple"]{
203
+ @include set-background-color-button($brand-primary);
204
+ }
205
+ }
206
+
207
+ .off-canvas-sidebar{
208
+ .nav {
209
+ > li > a,
210
+ > li > a:hover{
211
+ color: $white-color;
212
+ }
213
+
214
+ > li > a:focus{
215
+ background: rgba(200, 200, 200, 0.2);
216
+ }
217
+ }
218
+ }
219
+
220
+
221
+ .main-panel{
222
+ //background: rgba(203,203,210,.15);
223
+ position: relative;
224
+ z-index: 2;
225
+ float: right;
226
+ overflow: auto;
227
+ width: $sidebar-width;
228
+ min-height: 100%;
229
+ @include transform-translate-x(0px);
230
+ @include transition (0.33s, cubic-bezier(0.685, 0.0473, 0.346, 1));
231
+
232
+ > .content{
233
+ margin-top: 70px;
234
+ padding: 30px 15px;
235
+ min-height: calc(100% - 123px);
236
+ }
237
+
238
+ > .footer{
239
+ border-top: 1px solid #e7e7e7;
240
+ }
241
+
242
+ > .navbar{
243
+ margin-bottom: 0;
244
+ }
245
+ }
246
+
247
+ .main-panel{
248
+ max-height: 100%;
249
+ height: 100%;
250
+ }
251
+ .sidebar,
252
+ .main-panel{
253
+ -webkit-transition-property: top,bottom;
254
+ transition-property: top,bottom;
255
+ -webkit-transition-duration: .2s,.2s;
256
+ transition-duration: .2s,.2s;
257
+ -webkit-transition-timing-function: linear,linear;
258
+ transition-timing-function: linear,linear;
259
+ -webkit-overflow-scrolling: touch;
260
+ }
@@ -0,0 +1,45 @@
1
+ .table{
2
+ > thead > tr > th{
3
+ border-bottom-width: 1px;
4
+ font-size: $font-size-h6;
5
+ font-weight: $font-weight-light;
6
+ }
7
+
8
+ .radio,
9
+ .checkbox{
10
+ margin-top: 0;
11
+ margin-bottom: 0;
12
+ margin-left: 10px;
13
+ padding: 0;
14
+ width: 15px;
15
+
16
+ .icons{
17
+ position: relative;
18
+ }
19
+ }
20
+ > thead > tr > th,
21
+ > tbody > tr > th,
22
+ > tfoot > tr > th,
23
+ > thead > tr > td,
24
+ > tbody > tr > td,
25
+ > tfoot > tr > td{
26
+ padding: 12px 8px;
27
+ vertical-align: middle;
28
+ }
29
+
30
+ > thead > tr > th{
31
+ padding-bottom: 4px;
32
+ }
33
+
34
+ .td-actions{
35
+ display: flex;
36
+
37
+ .btn{
38
+ margin: 0px;
39
+ padding: 5px;
40
+ }
41
+ }
42
+ > tbody > tr{
43
+ position: relative;
44
+ }
45
+ }