psique 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (89) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +14 -0
  3. data/Gemfile +5 -0
  4. data/LICENSE +22 -0
  5. data/README.md +2 -0
  6. data/Rakefile +34 -0
  7. data/assets/fonts/psique/roboto-bold.eot +0 -0
  8. data/assets/fonts/psique/roboto-bold.svg +593 -0
  9. data/assets/fonts/psique/roboto-bold.ttf +0 -0
  10. data/assets/fonts/psique/roboto-bold.woff +0 -0
  11. data/assets/fonts/psique/roboto-regular.eot +0 -0
  12. data/assets/fonts/psique/roboto-regular.svg +621 -0
  13. data/assets/fonts/psique/roboto-regular.ttf +0 -0
  14. data/assets/fonts/psique/roboto-regular.woff +0 -0
  15. data/assets/fonts/psique/sourcesanspro-bold.eot +0 -0
  16. data/assets/fonts/psique/sourcesanspro-bold.svg +954 -0
  17. data/assets/fonts/psique/sourcesanspro-bold.ttf +0 -0
  18. data/assets/fonts/psique/sourcesanspro-bold.woff +0 -0
  19. data/assets/fonts/psique/sourcesanspro-regular.eot +0 -0
  20. data/assets/fonts/psique/sourcesanspro-regular.svg +977 -0
  21. data/assets/fonts/psique/sourcesanspro-regular.ttf +0 -0
  22. data/assets/fonts/psique/sourcesanspro-regular.woff +0 -0
  23. data/assets/images/psique/.keep +0 -0
  24. data/assets/javascripts/psique.js.coffee +2 -0
  25. data/assets/javascripts/psique/panels.js.coffee +7 -0
  26. data/assets/stylesheets/psique.scss +19 -0
  27. data/assets/stylesheets/psique/_buttons.scss +222 -0
  28. data/assets/stylesheets/psique/_forms.scss +92 -0
  29. data/assets/stylesheets/psique/_grid.scss +20 -0
  30. data/assets/stylesheets/psique/_lists.scss +160 -0
  31. data/assets/stylesheets/psique/_mixins.scss +69 -0
  32. data/assets/stylesheets/psique/_panels.scss +148 -0
  33. data/assets/stylesheets/psique/_settings.scss +127 -0
  34. data/assets/stylesheets/psique/_summaries.scss +188 -0
  35. data/assets/stylesheets/psique/_typography.scss +70 -0
  36. data/doc/assets/_footer.html +7 -0
  37. data/doc/assets/_header.html +66 -0
  38. data/doc/assets/brick.png +0 -0
  39. data/doc/assets/css/doc.css +132 -0
  40. data/doc/assets/css/github.css +61 -0
  41. data/doc/assets/css/screen.css +16 -0
  42. data/doc/assets/script/components.js +89 -0
  43. data/doc/public/styleguide/brick.png +0 -0
  44. data/doc/public/styleguide/components.html +593 -0
  45. data/doc/public/styleguide/core.html +105 -0
  46. data/doc/public/styleguide/css/doc.css +132 -0
  47. data/doc/public/styleguide/css/github.css +61 -0
  48. data/doc/public/styleguide/css/screen.css +16 -0
  49. data/doc/public/styleguide/index.html +105 -0
  50. data/doc/public/styleguide/script/components.js +89 -0
  51. data/hologram_config.yml +28 -0
  52. data/lib/psique.rb +8 -0
  53. data/lib/psique/engine.rb +17 -0
  54. data/lib/psique/version.rb +3 -0
  55. data/psique.gemspec +33 -0
  56. data/test/dummy/README.rdoc +3 -0
  57. data/test/dummy/Rakefile +6 -0
  58. data/test/dummy/app/assets/images/.keep +0 -0
  59. data/test/dummy/app/assets/javascripts/application.js +2 -0
  60. data/test/dummy/app/assets/stylesheets/application.css.scss +1 -0
  61. data/test/dummy/app/controllers/application_controller.rb +5 -0
  62. data/test/dummy/app/controllers/styleguide_controller.rb +4 -0
  63. data/test/dummy/app/views/layouts/application.html.haml +15 -0
  64. data/test/dummy/app/views/styleguide/index.html.haml +17 -0
  65. data/test/dummy/bin/bundle +3 -0
  66. data/test/dummy/bin/rails +4 -0
  67. data/test/dummy/bin/rake +4 -0
  68. data/test/dummy/config.ru +4 -0
  69. data/test/dummy/config/application.rb +10 -0
  70. data/test/dummy/config/boot.rb +5 -0
  71. data/test/dummy/config/database.yml +25 -0
  72. data/test/dummy/config/environment.rb +5 -0
  73. data/test/dummy/config/environments/development.rb +37 -0
  74. data/test/dummy/config/environments/production.rb +78 -0
  75. data/test/dummy/config/environments/test.rb +39 -0
  76. data/test/dummy/config/initializers/assets.rb +8 -0
  77. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  78. data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
  79. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  80. data/test/dummy/config/initializers/inflections.rb +16 -0
  81. data/test/dummy/config/initializers/mime_types.rb +4 -0
  82. data/test/dummy/config/initializers/session_store.rb +3 -0
  83. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  84. data/test/dummy/config/locales/en.yml +23 -0
  85. data/test/dummy/config/routes.rb +3 -0
  86. data/test/dummy/config/secrets.yml +22 -0
  87. data/test/psique_test.rb +7 -0
  88. data/test/test_helper.rb +15 -0
  89. metadata +1185 -0
@@ -0,0 +1,69 @@
1
+ // Generate the grid for a particular size
2
+ @mixin make-cols($size) {
3
+
4
+ @for $i from 1 through susy-get(columns) {
5
+ .col-#{$size}-#{$i} {
6
+ @include span($i);
7
+ @include trailer(susy-get(gutters));
8
+
9
+ > .row {
10
+ margin: 0 (- gutter()) (- gutter());
11
+ }
12
+ }
13
+ }
14
+ }
15
+
16
+ // Generate bottom arrow to header panels
17
+ @mixin arrow($size, $color, $offset) {
18
+ position: relative;
19
+
20
+ &:after {
21
+ @include output-rhythm(border-width, $size);
22
+ @include output-rhythm(bottom, -1.8 * $size);
23
+ @include translateX(-$offset);
24
+ border: {
25
+ color: transparent;
26
+ style: solid;
27
+ top-color: $color;
28
+ }
29
+ content: '';
30
+ height: 0;
31
+ left: $offset;
32
+ pointer-events: none;
33
+ position: absolute;
34
+ visibility: visible;
35
+ width: 0;
36
+ }
37
+ }
38
+
39
+ // Generate panel
40
+ @mixin panel($header-bg-color, $header-text-color, $content-bg-color: transparent, $content-border-color: transparent, $padding: .4rem) {
41
+ @include trailer(1);
42
+
43
+ .panel-header {
44
+ @include output-rhythm(padding, $padding);
45
+ background-color: $header-bg-color;
46
+ color: $header-text-color;
47
+ font-size: 1.2em;
48
+ font-weight: bold;
49
+
50
+ &.arrow {
51
+ @include arrow(rhythm(.4), $header-bg-color, 20%);
52
+ }
53
+
54
+ &.border-bottom {
55
+ @include output-rhythm(border-bottom, rhythm(.4));
56
+ border-bottom: {
57
+ color: adjust-color($header-bg-color, $hue: -2, $saturation: 48%, $lightness: -38%);
58
+ style: solid;
59
+ }
60
+ }
61
+ }
62
+
63
+ .panel-content {
64
+ @include output-rhythm(padding, $padding);
65
+ background-color: $content-bg-color;
66
+ border: 1px solid $content-border-color;
67
+ border-top: 0;
68
+ }
69
+ }
@@ -0,0 +1,148 @@
1
+ /*doc
2
+ ---
3
+ title: Panels
4
+ name: panel
5
+ category: Components
6
+ ---
7
+
8
+ Example usage of basic panels.
9
+
10
+ ```haml_example
11
+ %aside.panel
12
+ %header.panel-header
13
+ Panel title
14
+ %section.panel-content
15
+ Panel content
16
+ ```
17
+
18
+ Panel with header decorations. You can use the classes `arrow` and `border-bottom`.
19
+
20
+ ```haml_example
21
+ %aside.panel
22
+ %header.panel-header.arrow
23
+ Panel title
24
+ %section.panel-content
25
+ Panel content
26
+
27
+ %aside.panel
28
+ %header.panel-header.border-bottom
29
+ Panel title
30
+ %section.panel-content
31
+ Panel content
32
+ ```
33
+
34
+ Panel colors.
35
+
36
+ ```haml_example
37
+ %aside.panel.red
38
+ %header.panel-header
39
+ Panel title
40
+ %section.panel-content
41
+ Panel content
42
+
43
+ %aside.panel.green
44
+ %header.panel-header
45
+ Panel title
46
+ %section.panel-content
47
+ Panel content
48
+
49
+ %aside.panel.pink
50
+ %header.panel-header
51
+ Panel title
52
+ %section.panel-content
53
+ Panel content
54
+
55
+ %aside.panel.orange
56
+ %header.panel-header
57
+ Panel title
58
+ %section.panel-content
59
+ Panel content
60
+ ```
61
+
62
+ Panel with tabs.
63
+
64
+ ```haml_example
65
+ %aside.panel
66
+ %ul.tablist{role: 'tablist'}
67
+ %li.tab.active{'aria-controls' => 'panel1', :role => 'tab', :tabindex => '0'} First tab
68
+ %li.tab{'aria-controls' => 'panel2', :role => 'tab', :tabindex => '0'} Second tab
69
+ %li.tab{'aria-controls' => 'panel3', :role => 'tab', :tabindex => '0'} Third tab
70
+ %section.panel-content
71
+ #panel1.tabpanel.active{role: 'tabpanel'}
72
+ First panel
73
+ #panel2.tabpanel{role: 'tabpanel'}
74
+ Second panel
75
+ #panel3.tabpanel{role: 'tabpanel'}
76
+ Third panel
77
+ ```
78
+ */
79
+
80
+ .panel {
81
+ @include panel(map-get($panel-colors, 'light-blue'), $black, $content-border-color: #ccc);
82
+
83
+ @each $panel-type, $panel-color in map-remove($panel-colors, 'light-blue') {
84
+ &.#{$panel-type} { @include panel($panel-color, $white, #f4f4f6); }
85
+ }
86
+ }
87
+
88
+ .tablist {
89
+ border-bottom: {
90
+ color: $primary-color;
91
+ style: solid;
92
+ width: 4px; }
93
+ display: table;
94
+ margin: 0;
95
+ padding: 0;
96
+ position: relative;
97
+ width: 100%;
98
+
99
+ &.narrow {
100
+ @include display-flex;
101
+
102
+ > .tab {
103
+ display: inline-block;
104
+ padding-left: 2em;
105
+ padding-right: 2em;
106
+ }
107
+ }
108
+ }
109
+
110
+ .tab {
111
+ @include reset-focus;
112
+ background-color: $azul-ceruleo;
113
+ border-left: 1px solid $white;
114
+ cursor: pointer;
115
+ display: table-cell;
116
+ font-weight: bold;
117
+ margin: 0;
118
+ padding: .4rem 0;
119
+ text-align: center;
120
+
121
+ &:first-child { border-left: 0; }
122
+ &.active {
123
+ @include arrow(rhythm(.4), $well-read, 50%);
124
+ background-color: $well-read;
125
+ color: $white;
126
+ cursor: auto;
127
+ }
128
+
129
+ a { @include unstyled-link; }
130
+ }
131
+
132
+ .tabpanel {
133
+ display: none;
134
+ &.active { display: block; }
135
+ }
136
+
137
+ .tab-menu {
138
+ bottom: 5px;
139
+ display: inline-block;
140
+ position: absolute;
141
+ right: 0;
142
+
143
+ > * {
144
+ @include delimited-list(' |');
145
+ margin: 0;
146
+ padding: 0;
147
+ }
148
+ }
@@ -0,0 +1,127 @@
1
+ // Media queries screens and layouts
2
+ // -------------------------------------------------
3
+
4
+ $screen-desktop: 1000px !default;
5
+ $screen-mobile: 768px !default;
6
+ $layout-desktop: $screen-desktop static !default;
7
+
8
+
9
+ // Susy grid global defaults
10
+ // -------------------------------------------------
11
+
12
+ $susy: (
13
+ flow: ltr,
14
+ math: fluid,
15
+ output: isolation,
16
+ gutter-position: split,
17
+ container: auto,
18
+ container-position: center,
19
+ columns: 12,
20
+ gutters: .25,
21
+ column-width: false,
22
+ global-box-sizing: content-box,
23
+ last-flow: to,
24
+ debug: (
25
+ image: hide,
26
+ color: rgba(#66f, .25),
27
+ output: background,
28
+ toggle: top right,
29
+ ),
30
+ use-custom: (
31
+ background-image: true,
32
+ background-options: false,
33
+ box-sizing: true,
34
+ clearfix: false,
35
+ rem: true,
36
+ )
37
+ );
38
+
39
+
40
+ // Compass Vertical Rhythm Settings
41
+ // -------------------------------------------------
42
+
43
+ $round-to-nearest-half-line: true;
44
+ $rhythm-unit: 'rem';
45
+
46
+
47
+ // Colors
48
+ // -------------------------------------------------
49
+
50
+ $astronaut: #034665 !default;
51
+ $black: #000 !default;
52
+ $casper: #afc6d4 !default;
53
+ $hollywood-cerise: #c000a6 !default;
54
+ $trinidad: #e85900 !default;
55
+ $verdun-green: #426e00 !default;
56
+ $well-read: #ab3132 !default;
57
+ $white: #fff !default;
58
+
59
+ $aux-grey: #d5d5d5;
60
+ $azul-capota: #21689d;
61
+ $azul-ceruleo: #a2baca;
62
+
63
+ $highlight-color: #00bd00;
64
+ $primary-color: $azul-capota;
65
+
66
+
67
+ // Typography
68
+ // -------------------------------------------------
69
+
70
+ $font-size-h1: 36px;
71
+ $font-size-h2: 30px;
72
+ $font-size-h3: 18px;
73
+ $font-size-h4: 14px;
74
+ $font-size-h5: 12px;
75
+ $font-size-h6: 10px;
76
+
77
+ $texts-font-family: 'Source Sans Pro' !default;
78
+ $headings-font-family: 'Roboto' !default;
79
+ $headings-font-weight: bold;
80
+
81
+
82
+ // Panels
83
+ // -------------------------------------------------
84
+
85
+ $panel-colors: (
86
+ 'red': $well-read,
87
+ 'green': #00bd00,
88
+ 'pink': $hollywood-cerise,
89
+ 'orange': $trinidad,
90
+ 'light-blue': $casper
91
+ );
92
+
93
+
94
+ // Forms
95
+ // -------------------------------------------------
96
+
97
+ $input-border-radius: 4px;
98
+
99
+
100
+ /*Rankia Colores*/
101
+ /*Principales*/
102
+ $capota:#21689D;
103
+ $capota-light:lighten(#21689D,20);
104
+ $capota-dark:darken(#21689D,10);
105
+
106
+ $navyblue:#019875;
107
+ $navyblue-light:lighten(#019875,15);
108
+ $navyblue-dark:darken(#019875,10);
109
+
110
+ $ceruleo:#A2BACA;
111
+ $ceruleo-light:lighten(#A2BACA,15);
112
+ $ceruleo-dark:darken(#A2BACA,10);
113
+
114
+ /*Greyscale*/
115
+ $lightgrey:#F4F4F4;
116
+ $midgrey:#888888;
117
+ $darkgrey:#1E1E1E;
118
+ $auxgrey:#D5D5D5;
119
+
120
+ /*Section colors*/
121
+ $darkorange:#FA640F;
122
+ $darkorange-light:lighten(#FA640F,15);
123
+ $darkorange-dark:darken(#FA640F,8);
124
+
125
+ $darkmagenta:#AA2098;
126
+ $seagreen:#188960;
127
+ $granate:#951E25;
@@ -0,0 +1,188 @@
1
+ /*doc
2
+ ---
3
+ title: Summaries
4
+ name: summary
5
+ category: Components
6
+ ---
7
+
8
+ A summary is a representative of a complete news extract, to place it in some
9
+ prominent and visible place in the website. The different formats summary,
10
+ allow give more importance to some elements or others, according to their
11
+ position on the page.
12
+
13
+ ```haml_example
14
+ %article.summary.featured
15
+ .summary-left
16
+ %img{:src => "http://www.fillmurray.com/400/305/"}
17
+ .summary-right
18
+ %header.summary-header
19
+ %h2.summary-title
20
+ %a{href: '#'} Lorem ipsum dolor sit amet consectetur adipisicing
21
+ .summary-meta
22
+ .author john doe
23
+ .comments
24
+ %i.fa.fa-comment 7
25
+ %section.summary-content
26
+ %p
27
+ %a.topic{href: '#'} officia consectetur.
28
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco.
29
+ ```
30
+ ```haml_example
31
+ %article.summary.medium
32
+ .summary-left
33
+ %img{:src => "http://www.fillmurray.com/g/400/300/"}
34
+ .summary-right
35
+ %header.summary-header
36
+ %h3.summary-title
37
+ %a{href: '#'} Lorem ipsum dolor sit amet consectetur adipisicing
38
+ %span.author john doe
39
+
40
+ %section.summary-content
41
+ %p
42
+ %a.topic{href: '#'} officia consectetur.
43
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco.
44
+ ```
45
+ ```haml_example
46
+ %article.summary.new
47
+ %header.summary-header
48
+ %h3.summary-title
49
+ %a{href: '#'} Lorem ipsum dolor sit amet consectetur adipisicing
50
+ %section.summary-content
51
+ .thumbnail
52
+ %img{:src => "http://www.fillmurray.com/g/375/250/"}
53
+ .summary-meta
54
+ .author john doe
55
+ .comments
56
+ %i.fa.fa-comment 7
57
+ %p
58
+ %a.topic{href: '#'} officia consectetur.
59
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco.
60
+ ```
61
+ ```haml_example
62
+ %article.summary.default
63
+ %header.summary-header
64
+ %h2.summary-title
65
+ %a{href: '#'} Lorem ipsum dolor sit amet consectetur adipisicing
66
+ .summary-meta
67
+ .author john doe
68
+ .comments
69
+ %i.fa.fa-comment 7
70
+ %section.summary-content
71
+ .thumbnail
72
+ %img{:src => "http://www.fillmurray.com/g/800/250/"}
73
+ %p
74
+ %a.topic{href: '#'} officia consectetur.
75
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco.
76
+ ```
77
+ ```haml_example
78
+ %article.summary.small
79
+ .summary-left
80
+ %img{:src => "http://www.fillmurray.com/g/400/150/"}
81
+ .summary-right
82
+ %header.summary-header
83
+ %h4.category reprehenderit
84
+ %h4.summary-title
85
+ %a{href: '#'} Lorem ipsum dolor sit amet consectetur adipisicing
86
+ %section.summary-content
87
+ %p
88
+ %a.topic{href: '#'} officia consectetur.
89
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco.
90
+ ```
91
+ */
92
+
93
+
94
+ %summary {
95
+ @extend .row;
96
+ padding: .2em;
97
+
98
+ .summary-title {
99
+ color: $primary-color;
100
+ font-weight: bold;
101
+ margin-bottom: 0;
102
+
103
+ a { color: $primary-color; }
104
+ }
105
+
106
+ .author {
107
+ color: #666;
108
+ display: inline-block;
109
+ font-size: 11px !important;
110
+ font-weight: normal;
111
+ text-transform: uppercase;
112
+ white-space: nowrap;
113
+ }
114
+
115
+ .comments {
116
+ color: $primary-color;
117
+ display: inline-block;
118
+ margin-left: 1em;
119
+ font-size: 14px;
120
+ }
121
+
122
+ .summary-content {
123
+ p {
124
+ color: #323131;
125
+ font-size: 13px;
126
+ line-height: 1.2em;
127
+ margin: 0;
128
+ }
129
+ }
130
+
131
+ .category {
132
+ color: $primary-color;
133
+ font-size: 12px;
134
+ font-weight: bold;
135
+ margin-bottom: 0;
136
+ text-transform: uppercase;
137
+ }
138
+
139
+ .topic {
140
+ color: $primary-color;
141
+ font-size: 12px;
142
+ text-transform: uppercase;
143
+ }
144
+
145
+ .thumbnail {
146
+ margin-bottom: .5em;
147
+ }
148
+
149
+ img {
150
+ max-width: 100%;
151
+ width: 100%;
152
+ }
153
+ }
154
+
155
+ .summary {
156
+ @extend %summary;
157
+
158
+ &.small {
159
+ .summary-left { @extend .col-sm-3; }
160
+ .summary-right { @extend .col-sm-9; }
161
+ }
162
+
163
+ &.medium {
164
+ .summary-left { @extend .col-sm-5; }
165
+ .summary-right { @extend .col-sm-7; }
166
+ }
167
+
168
+ &.new {
169
+ .summary-header { @extend .col-sm-12; }
170
+ .summary-content {
171
+ .thumbnail { @extend .col-sm-5; }
172
+ p { @extend .col-sm-7;}
173
+ }
174
+ .summary-meta { @extend .col-sm-7; }
175
+ }
176
+
177
+ &.default {
178
+ .summary-header { @extend .col-sm-12; }
179
+ .summary-content { @extend .col-sm-12; }
180
+ }
181
+
182
+ &.featured {
183
+ .summary-left { @extend .col-sm-5; }
184
+ .summary-right { @extend .col-sm-7; }
185
+ .summary-meta { margin: .25em 0; }
186
+ background-color: #F4F3F5;
187
+ }
188
+ }