maglove 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (103) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +6 -0
  3. data/Gemfile +3 -0
  4. data/Gemfile.lock +137 -0
  5. data/README.md +26 -0
  6. data/bin/maglove +21 -0
  7. data/data/maglove/scaffold/base/base.coffee +1 -0
  8. data/data/maglove/scaffold/base/base.less +26 -0
  9. data/data/maglove/scaffold/base/images/base/loading-bars.svg +17 -0
  10. data/data/maglove/scaffold/base/less/base/animations.less +301 -0
  11. data/data/maglove/scaffold/base/less/base/blockquotes.less +23 -0
  12. data/data/maglove/scaffold/base/less/base/buttons.less +76 -0
  13. data/data/maglove/scaffold/base/less/base/code.less +19 -0
  14. data/data/maglove/scaffold/base/less/base/forms.less +115 -0
  15. data/data/maglove/scaffold/base/less/base/global.less +142 -0
  16. data/data/maglove/scaffold/base/less/base/grid-minimal.less +146 -0
  17. data/data/maglove/scaffold/base/less/base/grid-non-responsive.less +63 -0
  18. data/data/maglove/scaffold/base/less/base/grid.less +267 -0
  19. data/data/maglove/scaffold/base/less/base/helpers.less +146 -0
  20. data/data/maglove/scaffold/base/less/base/images.less +8 -0
  21. data/data/maglove/scaffold/base/less/base/lists.less +23 -0
  22. data/data/maglove/scaffold/base/less/base/mixins.less +107 -0
  23. data/data/maglove/scaffold/base/less/base/print.less +35 -0
  24. data/data/maglove/scaffold/base/less/base/resets.less +27 -0
  25. data/data/maglove/scaffold/base/less/base/tables.less +29 -0
  26. data/data/maglove/scaffold/base/less/core/alignments.less +17 -0
  27. data/data/maglove/scaffold/base/less/core/cleanup.less +8 -0
  28. data/data/maglove/scaffold/base/less/core/editor.less +23 -0
  29. data/data/maglove/scaffold/base/less/core/typography.less +74 -0
  30. data/data/maglove/scaffold/base/less/vendor/flex-video.less +22 -0
  31. data/data/maglove/scaffold/base/less/vendor/font-awesome/animated.less +34 -0
  32. data/data/maglove/scaffold/base/less/vendor/font-awesome/bordered-pulled.less +16 -0
  33. data/data/maglove/scaffold/base/less/vendor/font-awesome/core.less +13 -0
  34. data/data/maglove/scaffold/base/less/vendor/font-awesome/fixed-width.less +6 -0
  35. data/data/maglove/scaffold/base/less/vendor/font-awesome/font-awesome.less +17 -0
  36. data/data/maglove/scaffold/base/less/vendor/font-awesome/icons.less +596 -0
  37. data/data/maglove/scaffold/base/less/vendor/font-awesome/larger.less +13 -0
  38. data/data/maglove/scaffold/base/less/vendor/font-awesome/list.less +19 -0
  39. data/data/maglove/scaffold/base/less/vendor/font-awesome/mixins.less +27 -0
  40. data/data/maglove/scaffold/base/less/vendor/font-awesome/rotated-flipped.less +20 -0
  41. data/data/maglove/scaffold/base/less/vendor/font-awesome/stacked.less +20 -0
  42. data/data/maglove/scaffold/base/less/vendor/font-awesome/variables.less +606 -0
  43. data/data/maglove/scaffold/base/less/vendor/font-awesome.less +16 -0
  44. data/data/maglove/scaffold/base/less/vendor/image-loader.less +15 -0
  45. data/data/maglove/scaffold/base/less/vendor/magnific-popup.less +363 -0
  46. data/data/maglove/scaffold/base/less/widgets/banner.less +3 -0
  47. data/data/maglove/scaffold/base/less/widgets/button.less +26 -0
  48. data/data/maglove/scaffold/base/less/widgets/callout.less +3 -0
  49. data/data/maglove/scaffold/base/less/widgets/columns.less +25 -0
  50. data/data/maglove/scaffold/base/less/widgets/container.less +114 -0
  51. data/data/maglove/scaffold/base/less/widgets/feedback.less +11 -0
  52. data/data/maglove/scaffold/base/less/widgets/heading.less +8 -0
  53. data/data/maglove/scaffold/base/less/widgets/horizontal_rule.less +113 -0
  54. data/data/maglove/scaffold/base/less/widgets/image.less +85 -0
  55. data/data/maglove/scaffold/base/less/widgets/paragraph.less +3 -0
  56. data/data/maglove/scaffold/base/variables.less +75 -0
  57. data/data/maglove/scaffold/base/vendor/jquery.js +4 -0
  58. data/data/maglove/scaffold/theme/images/logo.png +0 -0
  59. data/data/maglove/scaffold/theme/images/pattern/symphony.png +0 -0
  60. data/data/maglove/scaffold/theme/less/base/variables.less +25 -0
  61. data/data/maglove/scaffold/theme/templates/article-01.haml +41 -0
  62. data/data/maglove/scaffold/theme/templates/cover.haml +27 -0
  63. data/data/maglove/scaffold/theme/templates/toc.haml +34 -0
  64. data/data/maglove/scaffold/theme/templates/toc.yml +12 -0
  65. data/data/maglove/scaffold/theme/theme.coffee +1 -0
  66. data/data/maglove/scaffold/theme/theme.less +4 -0
  67. data/data/maglove/sdk.coffee +22 -0
  68. data/data/maglove/sdk.haml +18 -0
  69. data/data/maglove/sdk.less +60 -0
  70. data/data/maglove/thumbnail.haml +11 -0
  71. data/data/maglove/thumbnail.js +160 -0
  72. data/data/maglove/vendor.js +4 -0
  73. data/lib/ext/commander/command.rb +32 -0
  74. data/lib/ext/commander/methods.rb +8 -0
  75. data/lib/maglove/application.rb +46 -0
  76. data/lib/maglove/asset/base_theme.rb +17 -0
  77. data/lib/maglove/asset/theme.rb +83 -0
  78. data/lib/maglove/command/compile.rb +40 -0
  79. data/lib/maglove/command/compress.rb +36 -0
  80. data/lib/maglove/command/copy.rb +35 -0
  81. data/lib/maglove/command/core.rb +23 -0
  82. data/lib/maglove/command/font.rb +80 -0
  83. data/lib/maglove/command/server.rb +16 -0
  84. data/lib/maglove/command/sync.rb +17 -0
  85. data/lib/maglove/command/theme.rb +132 -0
  86. data/lib/maglove/command/util.rb +45 -0
  87. data/lib/maglove/helper/asset_helper.rb +24 -0
  88. data/lib/maglove/helper/command_helper.rb +67 -0
  89. data/lib/maglove/helper/log_helper.rb +42 -0
  90. data/lib/maglove/helper/theme_helper.rb +101 -0
  91. data/lib/maglove/phantom_script.rb +45 -0
  92. data/lib/maglove/server.rb +80 -0
  93. data/lib/maglove/template/tumblr.rb +81 -0
  94. data/lib/maglove/tilt/coffee_template.rb +47 -0
  95. data/lib/maglove/tilt/haml_template.rb +20 -0
  96. data/lib/maglove/tilt/js_template.rb +38 -0
  97. data/lib/maglove/tilt/less_template.rb +18 -0
  98. data/lib/maglove/tilt/twig_template.rb +49 -0
  99. data/lib/maglove/tilt/yaml_template.rb +19 -0
  100. data/lib/maglove/version.rb +3 -0
  101. data/lib/maglove.rb +46 -0
  102. data/maglove.gemspec +39 -0
  103. metadata +427 -0
@@ -0,0 +1,115 @@
1
+ // ==========================================================================
2
+ // Base – Forms
3
+ // ==========================================================================
4
+
5
+ // Form, Fieldset and Legend
6
+ fieldset,
7
+ legend {
8
+ border: 0;
9
+ margin: 0;
10
+ padding: 0;
11
+ }
12
+ legend {
13
+ .font-size(@base-font-size + 2);
14
+ .line-height(@base-line-height + 2);
15
+ font-weight: @font-bold;
16
+ }
17
+ .form {
18
+ padding-top: 1em;
19
+ padding-bottom: 1em;
20
+ }
21
+
22
+ // All Form Elements
23
+ label,
24
+ button,
25
+ input,
26
+ optgroup,
27
+ select,
28
+ textarea {
29
+ color: inherit;
30
+ font: inherit;
31
+ margin: 0;
32
+ }
33
+
34
+ // Inputs
35
+ input { line-height: normal; }
36
+ .input { width: 100%; }
37
+ input[type="text"],
38
+ input[type="email"],
39
+ input[type="tel"] {
40
+ height: 36px;
41
+ padding: 0 .4em;
42
+ }
43
+ input[type="checkbox"],
44
+ input[type="radio"] {
45
+ box-sizing: border-box;
46
+ padding: 0;
47
+ }
48
+ input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; }
49
+ input[type="search"] {
50
+ -webkit-appearance: textfield;
51
+ -moz-box-sizing: content-box;
52
+ -webkit-box-sizing: content-box;
53
+ box-sizing: content-box;
54
+ }
55
+ input[type="search"]::-webkit-search-cancel-button,
56
+ input[type="search"]::-webkit-search-decoration {
57
+ -webkit-appearance: none;
58
+ }
59
+
60
+ // Text Area
61
+ textarea { overflow: auto; }
62
+
63
+ // Select Boxes
64
+ select { text-transform: none; }
65
+ optgroup { font-weight: @font-bold; }
66
+
67
+ // Buttons
68
+ button {
69
+ overflow: visible;
70
+ text-transform: none;
71
+ }
72
+ button, html input[type="button"],
73
+ input[type="reset"],
74
+ input[type="submit"] {
75
+ -webkit-appearance: button;
76
+ cursor: pointer;
77
+ }
78
+ button[disabled], html input[disabled] { cursor: default; }
79
+ button::-moz-focus-inner,
80
+ input::-moz-focus-inner {
81
+ border: 0;
82
+ padding: 0;
83
+ }
84
+
85
+ .select {
86
+ border: 1px solid #ccc;
87
+ overflow: hidden;
88
+ height: 36px;
89
+ line-height: 32px;
90
+ padding: 0 .4em;
91
+ position: relative;
92
+ display: block;
93
+ &:before {
94
+ content: "";
95
+ border: 6px solid transparent;
96
+ border-top-color: #676767;
97
+ top: 50%;
98
+ right: 10px;
99
+ margin-top: -3px;
100
+ pointer-events: none;
101
+ position: absolute;
102
+ }
103
+ select {
104
+ -webkit-appearance: none;
105
+ -moz-appearance: none;
106
+ width: 120%;
107
+ height: 36px;
108
+ padding: 0;
109
+ line-height: normal;
110
+ border: 0;
111
+ background: transparent;
112
+ display: block;
113
+ &:focus { outline: 0; }
114
+ }
115
+ }
@@ -0,0 +1,142 @@
1
+ // ==========================================================================
2
+ // Base – Global
3
+ // ==========================================================================
4
+
5
+
6
+
7
+ // Body
8
+ body {
9
+ font-family: @base-font-family;
10
+ .font-size(@base-font-size);
11
+ .line-height(@base-line-height);
12
+ color: @base-font-color;
13
+ font-weight: @base-font-weight;
14
+ background: @base-background-color;
15
+ }
16
+
17
+ // Paragraph
18
+ p, div.paragraph { margin: 0 0 1em 0; }
19
+
20
+ // Links
21
+ a {
22
+ color: @base-link-color;
23
+ background: transparent;
24
+ text-decoration: underline;
25
+ &:active,
26
+ &:hover {
27
+ outline: 0;
28
+ text-decoration: none;
29
+ }
30
+ }
31
+
32
+ // Headings
33
+ h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
34
+ font-family: @heading-font-family;
35
+ margin: 0;
36
+ }
37
+ h1, .h1 {
38
+ .font-size(@h1-font-size);
39
+ .line-height(@h1-line-height);
40
+ margin-top: .7em;
41
+ margin-bottom: .5em;
42
+ color: @h1-color;
43
+ font-weight: @h1-font-weight;
44
+ }
45
+ h2, .h2 {
46
+ .font-size(@h2-font-size);
47
+ .line-height(@h2-line-height);
48
+ margin-top: 1.4em;
49
+ margin-bottom: .2em;
50
+ color: @h2-color;
51
+ font-weight: @h2-font-weight;
52
+ }
53
+ h3, .h3 {
54
+ .font-size(@h3-font-size);
55
+ .line-height(@h3-line-height);
56
+ margin-top: 1em;
57
+ margin-bottom: .2em;
58
+ color: @h3-color;
59
+ font-weight: @h3-font-weight;
60
+ }
61
+ h4, .h4 {
62
+ .font-size(@h4-font-size);
63
+ .line-height(@h4-line-height);
64
+ margin-top: 1em;
65
+ margin-bottom: .2em;
66
+ color: @h4-color;
67
+ font-weight: @h4-font-weight;
68
+ }
69
+ h5, .h5 {
70
+ .font-size(@h5-font-size);
71
+ .line-height(@h5-line-height);
72
+ margin-top: 1em;
73
+ margin-bottom: .1em;
74
+ color: @h5-color;
75
+ font-weight: @h5-font-weight;
76
+ }
77
+ h6, .h6 {
78
+ .font-size(@h6-font-size);
79
+ .line-height(@h6-line-height);
80
+ margin-top: 1em;
81
+ margin-bottom: .1em;
82
+ color: @h6-color;
83
+ font-weight: @h6-font-weight;
84
+ }
85
+
86
+ // Bold and Italics
87
+ b,
88
+ strong,
89
+ .strong {
90
+ font-weight: @font-bold;
91
+ }
92
+ em,
93
+ .em {
94
+ font-style: italic;
95
+ }
96
+
97
+ // Abbreviation
98
+ abbr[title], .abbr[title] { border-bottom: 1px dotted; }
99
+
100
+ // Definition
101
+ dfn { font-style: italic; }
102
+
103
+ // Small
104
+ small, .small { font-size: 80%; }
105
+
106
+ // Mark
107
+ mark,
108
+ .mark {
109
+ background: #ff0;
110
+ color: #000;
111
+ }
112
+
113
+ // Sub and Sup
114
+ sub,
115
+ .sub,
116
+ sup,
117
+ .sup {
118
+ font-size: 75%;
119
+ line-height: 0;
120
+ position: relative;
121
+ vertical-align: baseline;
122
+ }
123
+ sup, .sup { top: -0.5em; }
124
+ sub, .sub { bottom: -0.25em; }
125
+
126
+ // Del
127
+ del, .del { text-decoration: line-through; }
128
+
129
+ // Images
130
+ figure { margin: 1em 40px; }
131
+
132
+ // Horizontal Rules
133
+ hr,
134
+ .hr {
135
+ -moz-box-sizing: content-box;
136
+ box-sizing: content-box;
137
+ height: 1px;
138
+ background: #eee;
139
+ border: 0;
140
+ margin-top: 1em;
141
+ margin-bottom: 1em;
142
+ }
@@ -0,0 +1,146 @@
1
+ // ==========================================================================
2
+ // Base – Mobile-First Minimal Grid
3
+ // ==========================================================================
4
+
5
+ // Micro Clearfix - http://nicolasgallagher.com/micro-clearfix-hack/
6
+ .clear:before, .clear:after { content: " "; display: table; } .clear:after { clear: both; }
7
+ .row:before, .row:after { content: ""; display: table; } .row:after { clear: both; }
8
+
9
+ .row {
10
+ position: relative;
11
+ margin-left: -15px;
12
+ margin-right: -15px;
13
+ }
14
+
15
+ // Mobile Container
16
+ .container {
17
+ padding-left: 15px;
18
+ padding-right: 15px;
19
+ margin-left: auto;
20
+ margin-right: auto;
21
+ }
22
+ .container-full {
23
+ padding-left: 0;
24
+ padding-right: 0;
25
+ margin-left: auto;
26
+ margin-right: auto;
27
+ }
28
+ // Tablet Container
29
+ @media only screen and (min-width: @tablet-breakpoint) {
30
+ .container, .container-full {
31
+ width: @tablet-container;
32
+ }
33
+ .tablet-container {
34
+ width: @tablet-container;
35
+ padding-left: 15px;
36
+ padding-right: 15px;
37
+ margin-left: auto;
38
+ margin-right: auto;
39
+ }
40
+ .tablet-container-full {
41
+ width: @tablet-container;
42
+ margin-left: auto;
43
+ margin-right: auto;
44
+ padding-left: 0;
45
+ padding-right: 0;
46
+ }
47
+ }
48
+ // Desktop Container
49
+ @media only screen and (min-width: @desktop-breakpoint) {
50
+ .container, .container-full {
51
+ width: @desktop-container;
52
+ }
53
+ .desktop-container {
54
+ width: @desktop-container;
55
+ padding-left: 15px;
56
+ padding-right: 15px;
57
+ margin-left: auto;
58
+ margin-right: auto;
59
+ }
60
+ .desktop-container-full {
61
+ width: @desktop-container;
62
+ margin-left: auto;
63
+ margin-right: auto;
64
+ padding-left: 0;
65
+ padding-right: 0;
66
+ }
67
+ }
68
+ // HD Container
69
+ @media only screen and (min-width: @hd-breakpoint) {
70
+ .container, .container-full {
71
+ width: @hd-container;
72
+ }
73
+ .hd-container {
74
+ width: @hd-container;
75
+ padding-left: 15px;
76
+ padding-right: 15px;
77
+ margin-left: auto;
78
+ margin-right: auto;
79
+ }
80
+ .hd-container-full {
81
+ width: @hd-container;
82
+ margin-left: auto;
83
+ margin-right: auto;
84
+ padding-left: 0;
85
+ padding-right: 0;
86
+ }
87
+ }
88
+
89
+ // Mobile-first Grid Columns - Global Rules
90
+ .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col-1-4, .col-1-3, .col-1-2 {
91
+ padding-left: 15px;
92
+ padding-right: 15px;
93
+ position: relative;
94
+ float: left;
95
+ }
96
+
97
+ // Grid
98
+ .generate-grid (12);
99
+ .generate-grid (@index) when (@index > 0) {
100
+ .generate-grid (@index - 1);
101
+ .col-@{index} {
102
+ width: @index / 12 * 100%;
103
+ }
104
+ }
105
+ .col-1-4 { width: 3 / 12 * 100%; }
106
+ .col-1-3 { width: 4 / 12 * 100%; }
107
+ .col-1-2 { width: 6 / 12 * 100%; }
108
+
109
+ // Mobile Helpers
110
+ .hide-mobile { display: none; }
111
+ .show-mobile { display: block; }
112
+ .show-mobile-inline-block { display: inline-block; }
113
+ .show-mobile-inline { display: inline; }
114
+
115
+ // Tablet Grid
116
+ @media only screen and (min-width: @tablet-breakpoint) {
117
+
118
+ // Tablet Helpers
119
+ .hide-tablet { display: none; }
120
+ .show-tablet { display: block; }
121
+ .show-tablet-inline-block { display: inline-block; }
122
+ .show-tablet-inline { display: inline; }
123
+ .tablet-no-padding { padding: 0; }
124
+ }
125
+
126
+ // Desktop Grid
127
+ @media only screen and (min-width: @desktop-breakpoint) {
128
+
129
+ // Desktop Helpers
130
+ .hide-desktop { display: none; }
131
+ .show-desktop { display: block; }
132
+ .show-desktop-inline-block { display: inline-block; }
133
+ .show-desktop-inline { display: inline; }
134
+ .desktop-no-padding { padding: 0; }
135
+ }
136
+
137
+ // HD Grid
138
+ @media only screen and (min-width: @hd-breakpoint) {
139
+
140
+ // HD Helpers
141
+ .hide-hd { display: none; }
142
+ .show-hd { display: block; }
143
+ .show-hd-inline-block { display: inline-block; }
144
+ .show-hd-inline { display: inline; }
145
+ .hd-no-padding { padding: 0; }
146
+ }
@@ -0,0 +1,63 @@
1
+ // ==========================================================================
2
+ // Base – Non-Responsive Grid
3
+ // ==========================================================================
4
+
5
+ // Micro Clearfix - http://nicolasgallagher.com/micro-clearfix-hack/
6
+ .clear:before, .clear:after { content: " "; display: table; } .clear:after { clear: both; }
7
+ .row:before, .row:after { content: ""; display: table; } .row:after { clear: both; }
8
+
9
+ .row {
10
+ position: relative;
11
+ margin-left: -15px;
12
+ margin-right: -15px;
13
+ }
14
+
15
+ // Mobile Container
16
+ .container {
17
+ padding-left: 15px;
18
+ padding-right: 15px;
19
+ margin-left: auto;
20
+ margin-right: auto;
21
+ width: @desktop-container;
22
+ }
23
+ .container-full {
24
+ padding-left: 0;
25
+ padding-right: 0;
26
+ margin-left: auto;
27
+ margin-right: auto;
28
+ }
29
+
30
+ // Grid Columns - Global Rules
31
+ .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12 {
32
+ padding-left: 15px;
33
+ padding-right: 15px;
34
+ position: relative;
35
+ float: left;
36
+ }
37
+
38
+ // Grid
39
+ .generate-grid (12);
40
+ .generate-grid (@index) when (@index > 0) {
41
+ .generate-grid (@index - 1);
42
+ .col-@{index} {
43
+ width: @index / 12 * 100%;
44
+ }
45
+ }
46
+
47
+ // Push Offsets
48
+ .generate-push-offsets (11);
49
+ .generate-push-offsets (@index) when (@index > 0) {
50
+ .generate-push-offsets (@index - 1);
51
+ .push-@{index} {
52
+ left: @index / 12 * 100%;
53
+ }
54
+ }
55
+
56
+ // Pull Offsets
57
+ .generate-pull-offsets (11);
58
+ .generate-pull-offsets (@index) when (@index > 0) {
59
+ .generate-pull-offsets (@index - 1);
60
+ .pull-@{index} {
61
+ left: -@index / 12 * 100%;
62
+ }
63
+ }