jekyll-theme-woforo 0.1.3 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +690 -0
  3. data/{LICENSE → LICENSE.txt} +5 -5
  4. data/README.md +128 -19
  5. data/_includes/analytics-providers/custom.html +3 -0
  6. data/_includes/analytics-providers/google-universal.html +9 -0
  7. data/_includes/analytics-providers/google.html +11 -0
  8. data/_includes/analytics.html +12 -0
  9. data/_includes/archive-single.html +38 -0
  10. data/_includes/author-profile-custom-links.html +7 -0
  11. data/_includes/author-profile.html +241 -0
  12. data/_includes/base_path +5 -0
  13. data/_includes/breadcrumbs.html +39 -0
  14. data/_includes/browser-upgrade.html +3 -0
  15. data/_includes/category-list.html +26 -0
  16. data/_includes/comment.html +22 -0
  17. data/_includes/comments-providers/custom.html +3 -0
  18. data/_includes/comments-providers/discourse.html +13 -0
  19. data/_includes/comments-providers/disqus.html +22 -0
  20. data/_includes/comments-providers/facebook.html +8 -0
  21. data/_includes/comments-providers/google-plus.html +2 -0
  22. data/_includes/comments-providers/scripts.html +18 -0
  23. data/_includes/comments-providers/staticman.html +42 -0
  24. data/_includes/comments.html +80 -0
  25. data/_includes/feature_row +50 -0
  26. data/_includes/figure +12 -0
  27. data/_includes/footer.html +22 -0
  28. data/_includes/footer/custom.html +3 -0
  29. data/_includes/gallery +47 -0
  30. data/_includes/group-by-array +47 -0
  31. data/_includes/head.html +19 -9
  32. data/_includes/head/custom.html +5 -0
  33. data/_includes/masthead.html +21 -0
  34. data/_includes/nav_list +47 -0
  35. data/_includes/page__hero.html +53 -0
  36. data/_includes/page__taxonomy.html +7 -0
  37. data/_includes/paginator.html +68 -0
  38. data/_includes/post_pagination.html +14 -0
  39. data/_includes/read-time.html +15 -0
  40. data/_includes/scripts.html +4 -0
  41. data/_includes/seo.html +145 -0
  42. data/_includes/sidebar.html +23 -0
  43. data/_includes/social-share.html +13 -0
  44. data/_includes/tag-list.html +26 -0
  45. data/_includes/toc +7 -0
  46. data/_layouts/archive-taxonomy.html +15 -0
  47. data/_layouts/archive.html +24 -0
  48. data/_layouts/compress.html +10 -0
  49. data/_layouts/default.html +25 -5
  50. data/_layouts/home.html +11 -0
  51. data/_layouts/single.html +74 -0
  52. data/_layouts/splash.html +20 -0
  53. data/_sass/_animations.scss +21 -0
  54. data/_sass/_archive.scss +238 -0
  55. data/_sass/_base.scss +315 -0
  56. data/_sass/_buttons.scss +153 -0
  57. data/_sass/_footer.scss +80 -0
  58. data/_sass/_forms.scss +391 -0
  59. data/_sass/_masthead.scss +53 -0
  60. data/_sass/_mixins.scss +53 -0
  61. data/_sass/_navigation.scss +544 -0
  62. data/_sass/_notices.scss +99 -0
  63. data/_sass/_page.scss +401 -0
  64. data/_sass/_print.scss +18 -0
  65. data/_sass/_reset.scss +187 -0
  66. data/_sass/_sidebar.scss +231 -0
  67. data/_sass/_syntax.scss +146 -0
  68. data/_sass/_tables.scss +38 -0
  69. data/_sass/_utilities.scss +470 -0
  70. data/_sass/_variables.scss +128 -0
  71. data/_sass/vendor/breakpoint/_breakpoint.scss +114 -0
  72. data/_sass/vendor/breakpoint/_context.scss +95 -0
  73. data/_sass/vendor/breakpoint/_helpers.scss +151 -0
  74. data/_sass/vendor/breakpoint/_legacy-settings.scss +50 -0
  75. data/_sass/vendor/breakpoint/_no-query.scss +15 -0
  76. data/_sass/vendor/breakpoint/_parsers.scss +215 -0
  77. data/_sass/vendor/breakpoint/_respond-to.scss +82 -0
  78. data/_sass/vendor/breakpoint/_settings.scss +71 -0
  79. data/_sass/vendor/breakpoint/parsers/_double.scss +33 -0
  80. data/_sass/vendor/breakpoint/parsers/_query.scss +82 -0
  81. data/_sass/vendor/breakpoint/parsers/_resolution.scss +31 -0
  82. data/_sass/vendor/breakpoint/parsers/_single.scss +26 -0
  83. data/_sass/vendor/breakpoint/parsers/_triple.scss +36 -0
  84. data/_sass/vendor/breakpoint/parsers/double/_default-pair.scss +21 -0
  85. data/_sass/vendor/breakpoint/parsers/double/_default.scss +22 -0
  86. data/_sass/vendor/breakpoint/parsers/double/_double-string.scss +22 -0
  87. data/_sass/vendor/breakpoint/parsers/resolution/_resolution.scss +60 -0
  88. data/_sass/vendor/breakpoint/parsers/single/_default.scss +13 -0
  89. data/_sass/vendor/breakpoint/parsers/triple/_default.scss +18 -0
  90. data/_sass/vendor/font-awesome/_animated.scss +34 -0
  91. data/_sass/vendor/font-awesome/_bordered-pulled.scss +25 -0
  92. data/_sass/vendor/font-awesome/_core.scss +12 -0
  93. data/_sass/vendor/font-awesome/_fixed-width.scss +6 -0
  94. data/_sass/vendor/font-awesome/_font-awesome.scss +18 -0
  95. data/_sass/vendor/font-awesome/_icons.scss +789 -0
  96. data/_sass/vendor/font-awesome/_larger.scss +13 -0
  97. data/_sass/vendor/font-awesome/_list.scss +19 -0
  98. data/_sass/vendor/font-awesome/_mixins.scss +60 -0
  99. data/_sass/vendor/font-awesome/_path.scss +15 -0
  100. data/_sass/vendor/font-awesome/_rotated-flipped.scss +20 -0
  101. data/_sass/vendor/font-awesome/_screen-reader.scss +5 -0
  102. data/_sass/vendor/font-awesome/_stacked.scss +20 -0
  103. data/_sass/vendor/font-awesome/_variables.scss +800 -0
  104. data/_sass/vendor/magnific-popup/_magnific-popup.scss +649 -0
  105. data/_sass/vendor/magnific-popup/_settings.scss +46 -0
  106. data/_sass/vendor/susy/_su.scss +4 -0
  107. data/_sass/vendor/susy/_susy.scss +4 -0
  108. data/_sass/vendor/susy/_susyone.scss +4 -0
  109. data/_sass/vendor/susy/susy/_su.scss +7 -0
  110. data/_sass/vendor/susy/susy/language/_susy.scss +24 -0
  111. data/_sass/vendor/susy/susy/language/_susyone.scss +13 -0
  112. data/_sass/vendor/susy/susy/language/susy/_background.scss +385 -0
  113. data/_sass/vendor/susy/susy/language/susy/_bleed.scss +200 -0
  114. data/_sass/vendor/susy/susy/language/susy/_box-sizing.scss +47 -0
  115. data/_sass/vendor/susy/susy/language/susy/_breakpoint-plugin.scss +185 -0
  116. data/_sass/vendor/susy/susy/language/susy/_container.scss +81 -0
  117. data/_sass/vendor/susy/susy/language/susy/_context.scss +36 -0
  118. data/_sass/vendor/susy/susy/language/susy/_gallery.scss +94 -0
  119. data/_sass/vendor/susy/susy/language/susy/_grids.scss +64 -0
  120. data/_sass/vendor/susy/susy/language/susy/_gutters.scss +154 -0
  121. data/_sass/vendor/susy/susy/language/susy/_isolate.scss +77 -0
  122. data/_sass/vendor/susy/susy/language/susy/_margins.scss +94 -0
  123. data/_sass/vendor/susy/susy/language/susy/_padding.scss +74 -0
  124. data/_sass/vendor/susy/susy/language/susy/_rows.scss +138 -0
  125. data/_sass/vendor/susy/susy/language/susy/_settings.scss +216 -0
  126. data/_sass/vendor/susy/susy/language/susy/_span.scss +163 -0
  127. data/_sass/vendor/susy/susy/language/susy/_validation.scss +16 -0
  128. data/_sass/vendor/susy/susy/language/susyone/_background.scss +18 -0
  129. data/_sass/vendor/susy/susy/language/susyone/_functions.scss +377 -0
  130. data/_sass/vendor/susy/susy/language/susyone/_grid.scss +312 -0
  131. data/_sass/vendor/susy/susy/language/susyone/_isolation.scss +51 -0
  132. data/_sass/vendor/susy/susy/language/susyone/_margin.scss +93 -0
  133. data/_sass/vendor/susy/susy/language/susyone/_media.scss +105 -0
  134. data/_sass/vendor/susy/susy/language/susyone/_padding.scss +92 -0
  135. data/_sass/vendor/susy/susy/language/susyone/_settings.scss +60 -0
  136. data/_sass/vendor/susy/susy/output/_float.scss +9 -0
  137. data/_sass/vendor/susy/susy/output/_shared.scss +15 -0
  138. data/_sass/vendor/susy/susy/output/_support.scss +9 -0
  139. data/_sass/vendor/susy/susy/output/float/_container.scss +16 -0
  140. data/_sass/vendor/susy/susy/output/float/_end.scss +40 -0
  141. data/_sass/vendor/susy/susy/output/float/_isolate.scss +22 -0
  142. data/_sass/vendor/susy/susy/output/float/_span.scss +35 -0
  143. data/_sass/vendor/susy/susy/output/shared/_background.scss +26 -0
  144. data/_sass/vendor/susy/susy/output/shared/_container.scss +21 -0
  145. data/_sass/vendor/susy/susy/output/shared/_direction.scss +42 -0
  146. data/_sass/vendor/susy/susy/output/shared/_inspect.scss +25 -0
  147. data/_sass/vendor/susy/susy/output/shared/_margins.scss +23 -0
  148. data/_sass/vendor/susy/susy/output/shared/_output.scss +14 -0
  149. data/_sass/vendor/susy/susy/output/shared/_padding.scss +23 -0
  150. data/_sass/vendor/susy/susy/output/support/_background.scss +58 -0
  151. data/_sass/vendor/susy/susy/output/support/_box-sizing.scss +19 -0
  152. data/_sass/vendor/susy/susy/output/support/_clearfix.scss +18 -0
  153. data/_sass/vendor/susy/susy/output/support/_prefix.scss +19 -0
  154. data/_sass/vendor/susy/susy/output/support/_rem.scss +22 -0
  155. data/_sass/vendor/susy/susy/output/support/_support.scss +85 -0
  156. data/_sass/vendor/susy/susy/su/_grid.scss +103 -0
  157. data/_sass/vendor/susy/susy/su/_settings.scss +73 -0
  158. data/_sass/vendor/susy/susy/su/_utilities.scss +111 -0
  159. data/_sass/vendor/susy/susy/su/_validation.scss +57 -0
  160. data/assets/css/main.scss +79 -0
  161. data/assets/fonts/FontAwesome.otf +0 -0
  162. data/assets/fonts/fontawesome-webfont.eot +0 -0
  163. data/assets/fonts/fontawesome-webfont.svg +2671 -0
  164. data/assets/fonts/fontawesome-webfont.ttf +0 -0
  165. data/assets/fonts/fontawesome-webfont.woff +0 -0
  166. data/assets/fonts/fontawesome-webfont.woff2 +0 -0
  167. data/assets/js/_main.js +100 -0
  168. data/assets/js/main.min.js +5 -0
  169. data/assets/js/plugins/jquery.fitvids.js +82 -0
  170. data/assets/js/plugins/jquery.greedy-navigation.js +72 -0
  171. data/assets/js/plugins/jquery.magnific-popup.js +2049 -0
  172. data/assets/js/plugins/jquery.smooth-scroll.min.js +8 -0
  173. data/assets/js/plugins/stickyfill.min.js +8 -0
  174. data/assets/js/vendor/jquery/jquery-1.12.4.min.js +5 -0
  175. metadata +243 -16
  176. data/_includes/header.html +0 -0
  177. data/_layouts/page.html +0 -5
  178. data/_layouts/post.html +0 -9
  179. data/_sass/woforo.scss +0 -24
@@ -0,0 +1,36 @@
1
+ // Context Syntax
2
+ // ==============
3
+
4
+ // Nested [function]
5
+ // -----------------
6
+ // Return a subset grid for nested context.
7
+ // - $context : <span>
8
+ @function nested(
9
+ $context
10
+ ) {
11
+ $context : parse-span($context);
12
+ $span : susy-get(span, $context);
13
+ $location : get-location($context);
14
+ $columns : susy-get(columns, $context);
15
+
16
+ @return susy-slice($span, $location, $columns);
17
+ }
18
+
19
+ // Nested [mixin]
20
+ // --------------
21
+ // Use a subset grid for a nested context
22
+ // - $context : <span>
23
+ // - @content : <content>
24
+ @mixin nested(
25
+ $context
26
+ ) {
27
+ $inspect : $context;
28
+ $context : parse-span($context);
29
+ $old : susy-get(columns);
30
+ $susy : map-merge($susy, (columns: nested($context))) !global;
31
+
32
+ @include susy-inspect(nested, $inspect);
33
+ @content;
34
+
35
+ $susy : map-merge($susy, (columns: $old)) !global;
36
+ }
@@ -0,0 +1,94 @@
1
+ // Gallery Syntax
2
+ // ==============
3
+
4
+ // Gallery
5
+ // -------
6
+ // Create an isolated gallery
7
+ // - $span : <span>
8
+ // - [$selector] : child | of-type
9
+ @mixin gallery(
10
+ $span,
11
+ $selector: child
12
+ ) {
13
+ $inspect : $span;
14
+ $span : parse-span($span);
15
+ $span : map-merge($span, (location: 1));
16
+
17
+ $n : susy-get(span, $span);
18
+ $columns : susy-get(columns, $span);
19
+ $context : susy-count($columns);
20
+ $flow : susy-get(flow, $span);
21
+
22
+ $inside : is-inside($span);
23
+ $from : from($flow);
24
+ $line : floor($context / $n);
25
+ $symmetrical : is-symmetrical($columns);
26
+
27
+ $output: (
28
+ width : null,
29
+ float : from,
30
+ margin-before : null,
31
+ margin-after : null,
32
+ padding-before : null,
33
+ padding-after : null,
34
+ flow : $flow,
35
+ );
36
+
37
+ @if $inside {
38
+ $gutters: get-gutters($span);
39
+ $output: map-merge($output, (
40
+ padding-before: map-get($gutters, before),
41
+ padding-after: map-get($gutters, after),
42
+ ));
43
+ }
44
+
45
+ @if $symmetrical {
46
+ $output: map-merge($output, (width: get-span-width($span)));
47
+ }
48
+
49
+ $box : susy-get(box-sizing, $span);
50
+ $global-box : if(susy-get(global-box-sizing) == 'border-box', true, false);
51
+
52
+ @include susy-inspect(gallery, $inspect);
53
+
54
+ // Collective Output
55
+ @if $box == border-box or ($inside and not($box) and not($global-box)) {
56
+ @include output((box-sizing: border-box));
57
+ } @else if $box == content-box {
58
+ @include output((box-sizing: content-box));
59
+ }
60
+
61
+ @include float-span-output($output...);
62
+
63
+ // Individual Loop
64
+ @for $item from 1 through $line {
65
+ $nth: '#{$line}n + #{$item}';
66
+ &:nth-#{$selector}(#{$nth}) {
67
+ // Individual Prep
68
+ $output: (
69
+ width : if($symmetrical, null, get-span-width($span)),
70
+ float : null,
71
+ margin-before : get-isolation($span),
72
+ margin-after : -100%,
73
+ padding-before : null,
74
+ padding-after : null,
75
+ flow : $flow,
76
+ );
77
+
78
+ // Individual Output
79
+ @include float-span-output($output...);
80
+
81
+ @if get-edge($span) == first {
82
+ @include break;
83
+ @include first($span);
84
+ } @else {
85
+ @include nobreak;
86
+ }
87
+
88
+ // Individual Location Increment
89
+ $location: get-location($span) + $n;
90
+ $location: if($location > $context, 1, $location);
91
+ $span: map-merge($span, (location: $location));
92
+ }
93
+ }
94
+ }
@@ -0,0 +1,64 @@
1
+ // Grid Syntax
2
+ // ===========
3
+
4
+
5
+ // Layout
6
+ // ------
7
+ // Set a new layout using a shorthand
8
+ // - $layout: <settings>
9
+ // - $clean: boolean
10
+ @mixin layout(
11
+ $layout,
12
+ $clean: false
13
+ ) {
14
+ $inspect : $layout;
15
+ $susy : _get-layout($layout, $clean) !global;
16
+
17
+ @include susy-inspect(layout, $inspect);
18
+ }
19
+
20
+
21
+ // Use Grid
22
+ // --------
23
+ // Use an arbitrary layout for a section of code
24
+ // - $layout: <settings>
25
+ // - $clean: boolean
26
+ @mixin with-layout(
27
+ $layout,
28
+ $clean: false
29
+ ) {
30
+ $inspect : $layout;
31
+ $old : $susy;
32
+ $susy : _get-layout($layout, $clean) !global;
33
+
34
+ @include susy-inspect(with-layout, $inspect);
35
+
36
+ @content;
37
+
38
+ $susy: $old !global;
39
+ }
40
+
41
+
42
+ // Layout
43
+ // ------
44
+ // Return a parsed layout map based on shorthand syntax
45
+ // - $layout: <settings>
46
+ @function layout(
47
+ $layout: $susy
48
+ ) {
49
+ @return parse-grid($layout);
50
+ }
51
+
52
+
53
+ // Get Layout
54
+ // ----------
55
+ // Return a new layout based on current and given settings
56
+ // - $layout: <settings>
57
+ // - $clean: boolean
58
+ @function _get-layout(
59
+ $layout,
60
+ $clean: false
61
+ ) {
62
+ $layout: layout($layout);
63
+ @return if($clean, $layout, _susy-deep-merge($susy, $layout));
64
+ }
@@ -0,0 +1,154 @@
1
+ // Gutter Syntax
2
+ // =============
3
+
4
+
5
+ // Gutters
6
+ // -------
7
+ // Set gutters on an element.
8
+ // - [$span] : <settings>
9
+ @mixin gutters(
10
+ $span: $susy
11
+ ) {
12
+ $inspect : $span;
13
+ $span : parse-gutters($span);
14
+ $_gutters : get-gutters($span);
15
+
16
+ $_output: (
17
+ before: map-get($_gutters, before),
18
+ after: map-get($_gutters, after),
19
+ flow: susy-get(flow, $span),
20
+ );
21
+
22
+ @include susy-inspect(gutters, $inspect);
23
+
24
+ @if is-inside($span) {
25
+ @include padding-output($_output...);
26
+ } @else {
27
+ @include margin-output($_output...);
28
+ }
29
+ }
30
+
31
+ @mixin gutter(
32
+ $span: $susy
33
+ ) {
34
+ @include gutters($span);
35
+ }
36
+
37
+
38
+ // Gutter
39
+ // ------
40
+ // Return the width of a gutter.
41
+ // - [$span] : <settings>
42
+ @function gutter(
43
+ $span: $susy
44
+ ) {
45
+ $span: parse-gutters($span);
46
+
47
+ $_gutters: get-gutters($span);
48
+ $_gutters: map-get($_gutters, before) or map-get($_gutters, after);
49
+
50
+ @return $_gutters;
51
+ }
52
+
53
+ @function gutters(
54
+ $span: $susy
55
+ ) {
56
+ @return gutter($span);
57
+ }
58
+
59
+
60
+ // Get Gutter Width
61
+ // ----------------
62
+ // Return gutter width.
63
+ // - [$context]: <context>
64
+ @function get-gutter-width(
65
+ $context: $susy
66
+ ) {
67
+ $context : parse-gutters($context);
68
+
69
+ $_gutters : susy-get(gutters, $context);
70
+ $_gutter : susy-get(gutter-override, $context);
71
+
72
+ @if $_gutters and ($_gutters > 0) and not($_gutter) {
73
+ $_column-width: susy-get(column-width, $context);
74
+ $_math: gutter-math($context);
75
+ @if $_math == static {
76
+ $_gutter: $_gutters * valid-column-math($_math, $_column-width);
77
+ } @else {
78
+ $_columns : susy-get(columns, $context);
79
+ $_spread : if(is-split($context), wide, susy-get(spread, $context));
80
+ $_gutter : percentage($_gutters / susy-sum($_columns, $_gutters, $_spread));
81
+ }
82
+ }
83
+
84
+ $_gutter: if($_gutter == 'no-gutters' or $_gutter == 'no-gutter', null, $_gutter);
85
+
86
+ @return $_gutter;
87
+ }
88
+
89
+
90
+ // Get Gutters
91
+ // -----------
92
+ // Return before and after gutter values.
93
+ // - [$context]: <context>
94
+ @function get-gutters(
95
+ $context: $susy
96
+ ) {
97
+ $context : parse-gutters($context);
98
+
99
+ $_gutter-position : susy-get(gutter-position, $context);
100
+ $_gutter : get-gutter-width($context);
101
+
102
+ $_return : (before: null, after: null);
103
+
104
+ @if is-split($context) and $_gutter {
105
+ $_gutter: $_gutter / 2;
106
+ $_return: map-merge($_return, (before: $_gutter, after: $_gutter));
107
+ } @else {
108
+ $_return: map-merge($_return, ($_gutter-position: $_gutter));
109
+ }
110
+
111
+ @return $_return;
112
+ }
113
+
114
+
115
+ // Is Inside
116
+ // ---------
117
+ // Returns true if gutters are inside.
118
+ // $context: <context>
119
+ @function is-inside(
120
+ $context
121
+ ) {
122
+ $_inside: inside inside-static;
123
+ $_gutter-position: susy-get(gutter-position, $context);
124
+
125
+ @return if(index($_inside, $_gutter-position), true, false);
126
+ }
127
+
128
+
129
+ // Is Split
130
+ // --------
131
+ // Returns true if gutters are split.
132
+ // $context: <context>
133
+ @function is-split(
134
+ $context
135
+ ) {
136
+ $_split: split inside inside-static;
137
+ $_gutter-position: susy-get(gutter-position, $context);
138
+
139
+ @return if(index($_split, $_gutter-position), true, false);
140
+ }
141
+
142
+
143
+ // Gutter Math
144
+ // -----------
145
+ // Return the math to use for gutter calculations
146
+ // $context: <context>
147
+ @function gutter-math(
148
+ $context: $susy
149
+ ) {
150
+ $_return : susy-get(math, $context);
151
+ $_return : if(susy-get(gutter-position, $context) == inside-static, static, $_return);
152
+
153
+ @return $_return;
154
+ }
@@ -0,0 +1,77 @@
1
+ // Isolation Syntax
2
+ // ================
3
+
4
+
5
+ // Isolate [Mixin]
6
+ // ---------------
7
+ // Set isolation as an override.
8
+ // - $location: <span>
9
+ @mixin isolate(
10
+ $isolate: 1
11
+ ) {
12
+ $inspect: $isolate;
13
+
14
+ $output: (
15
+ push: isolate($isolate),
16
+ flow: susy-get(flow, $isolate),
17
+ );
18
+
19
+ @include susy-inspect(isolate, $inspect);
20
+ @include isolate-output($output...);
21
+ }
22
+
23
+
24
+ // Isolate [function]
25
+ // ------------------
26
+ // Return an isolation offset width.
27
+ // - $location: <span>
28
+ @function isolate(
29
+ $isolate: 1
30
+ ) {
31
+ $isolate: parse-span($isolate);
32
+ $isolation: susy-get(span, $isolate);
33
+
34
+ @if $isolation and not(get-location($isolate)) {
35
+ $new: (
36
+ span: null,
37
+ location: $isolation,
38
+ );
39
+ $isolate: map-merge($isolate, $new);
40
+ }
41
+
42
+ @return get-isolation($isolate);
43
+ }
44
+
45
+
46
+ // Get Isolation
47
+ // -------------
48
+ // Return the isolation offset width
49
+ // - $input: <map>
50
+ @function get-isolation(
51
+ $input
52
+ ) {
53
+ $location : get-location($input);
54
+ $columns : susy-get(columns, $input);
55
+ $width : null;
56
+
57
+ @if type-of($location) == number and not(unitless($location)) {
58
+ $width: $location;
59
+ } @else if $location {
60
+ $push: $location - 1;
61
+ @if $push > 0 {
62
+ $push: map-merge($input, (
63
+ span: $push,
64
+ location: 1,
65
+ spread: wide,
66
+ ));
67
+ $width: get-span-width($push);
68
+ }
69
+ }
70
+
71
+ @if susy-get(gutter-position, $input) == split
72
+ and susy-get(gutters, $input) > 0 {
73
+ $width: if($width == null, gutters($input), $width + gutters($input));
74
+ }
75
+
76
+ @return $width or 0;
77
+ }
@@ -0,0 +1,94 @@
1
+ // Margin Syntax
2
+ // =============
3
+
4
+ // Pre
5
+ // ---
6
+ // Add spanning-margins before an element.
7
+ // - $span : <span>
8
+ @mixin pre(
9
+ $span
10
+ ) {
11
+ $inspect: $span;
12
+ $span : map-merge((spread: wide), parse-span($span));
13
+ $flow : susy-get(flow, $span);
14
+ $split : if(susy-get(gutter-position, $span) == split, true, false);
15
+ $gutter : gutter($span);
16
+ $span : span($span);
17
+ $width : if($split and $gutter, $span + $gutter, $span);
18
+
19
+ @include susy-inspect(pre, $inspect);
20
+ @include margin-output($width, null, $flow);
21
+ }
22
+
23
+ // Post
24
+ // ----
25
+ // Add spanning-margins after an element.
26
+ // - $span : <span>
27
+ @mixin post(
28
+ $span
29
+ ) {
30
+ $inspect : $span;
31
+ $span : map-merge((spread: wide), parse-span($span));
32
+ $flow : susy-get(flow, $span);
33
+ $split : if(susy-get(gutter-position, $span) == split, true, false);
34
+ $width : if($split, span($span) + gutter($span), span($span));
35
+
36
+ @include susy-inspect(post, $inspect);
37
+ @include margin-output(null, $width, $flow);
38
+ }
39
+
40
+ // Push
41
+ // ----
42
+ // Simple synonymn for pre.
43
+ // - $span : <span>
44
+ @mixin push(
45
+ $span
46
+ ) {
47
+ @include pre($span);
48
+ }
49
+
50
+ // Pull
51
+ // ----
52
+ // Add negative spanning-margins before an element.
53
+ // - $span : <span>
54
+ @mixin pull(
55
+ $span
56
+ ) {
57
+ $inspect : $span;
58
+ $span : map-merge((spread: wide), parse-span($span));
59
+ $flow : susy-get(flow, $span);
60
+ $split : if(susy-get(gutter-position, $span) == split, true, false);
61
+ $width : if($split, 0 - span($span) + gutter($span), 0 - span($span));
62
+
63
+ @include susy-inspect(pull, $inspect);
64
+ @include margin-output($width, null, $flow);
65
+ }
66
+
67
+ // Squish
68
+ // ------
69
+ // Add spanning-margins before and after an element.
70
+ // - $pre : <span>
71
+ // - [$post] : <span>
72
+ @mixin squish(
73
+ $pre,
74
+ $post: false
75
+ ) {
76
+ $inspect : ($pre, $post);
77
+ $pre : map-merge((spread: wide), parse-span($pre));
78
+
79
+ @if $post {
80
+ $post: map-merge((spread: wide), parse-span($post));
81
+ } @else {
82
+ $span: susy-get(span, $pre);
83
+ @if length($span) > 1 {
84
+ $pre: map-merge($pre, (span: nth($span, 1)));
85
+ $post: map-merge($pre, (span: nth($span, 2)));
86
+ } @else {
87
+ $post: $pre;
88
+ }
89
+ }
90
+
91
+ @include susy-inspect(squish, $inspect);
92
+ @include pre($pre);
93
+ @include post($post);
94
+ }