condo_grids 1.0.1

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.
data/docs/index.html ADDED
@@ -0,0 +1,170 @@
1
+ <!doctype html><html lang="en"><head><meta charset="utf-8"><title>Condo - v1.0.1</title><link rel="stylesheet" href="assets/css/main.css"><link href="http://fonts.googleapis.com/css?family=Open+Sans:400,500,700" rel="stylesheet" type="text/css"><meta name="viewport" content="width=device-width"><meta content="IE=edge, chrome=1" http-equiv="X-UA-Compatible"><!-- Open Graph tags --><meta property="og:title" content="Condo - SassDoc"><meta property="og:type" content="website"><meta property="og:description" content="<p>A tiny, Sass grid library.</p>
2
+ "><!-- Thanks to Sass-lang.com for the icons --><link href="assets/images/favicon.png" rel="shortcut icon"></head><body><aside class="sidebar" role="nav"><div class="sidebar__header"><h1 class="sidebar__title"><a href="https://github.com/kyleshevlin/Condo#readme">Condo - v1.0.1</a></h1></div><div class="sidebar__body"><button type="button" class="btn-toggle js-btn-toggle" data-alt="Open all">Close all</button><p class="sidebar__item sidebar__item--heading" data-slug="undefined"><a href="#undefined">General</a></p><div><p class="sidebar__item sidebar__item--sub-heading" data-slug="undefined-function"><a href="#undefined-function">functions</a></p><ul class="list-unstyled"><li class="sidebar__item sassdoc__item" data-group="undefined" data-name="gutter-width" data-type="function"><a href="#undefined-function-gutter-width">gutter-width</a></li><li class="sidebar__item sassdoc__item" data-group="undefined" data-name="gutters" data-type="function"><a href="#undefined-function-gutters">gutters</a></li><li class="sidebar__item sassdoc__item" data-group="undefined" data-name="layout" data-type="function"><a href="#undefined-function-layout">layout</a></li><li class="sidebar__item sassdoc__item" data-group="undefined" data-name="raw-column-width" data-type="function"><a href="#undefined-function-raw-column-width">raw-column-width</a></li><li class="sidebar__item sassdoc__item" data-group="undefined" data-name="span-math" data-type="function"><a href="#undefined-function-span-math">span-math</a></li><li class="sidebar__item sassdoc__item" data-group="undefined" data-name="span" data-type="function"><a href="#undefined-function-span">span</a></li></ul><p class="sidebar__item sidebar__item--sub-heading" data-slug="undefined-mixin"><a href="#undefined-mixin">mixins</a></p><ul class="list-unstyled"><li class="sidebar__item sassdoc__item" data-group="undefined" data-name="container" data-type="mixin"><a href="#undefined-mixin-container">container</a></li><li class="sidebar__item sassdoc__item" data-group="undefined" data-name="last" data-type="mixin"><a href="#undefined-mixin-last">last</a></li><li class="sidebar__item sassdoc__item" data-group="undefined" data-name="push" data-type="mixin"><a href="#undefined-mixin-push">push</a></li><li class="sidebar__item sassdoc__item" data-group="undefined" data-name="span" data-type="mixin"><a href="#undefined-mixin-span">span</a></li><li class="sidebar__item sassdoc__item" data-group="undefined" data-name="unlast" data-type="mixin"><a href="#undefined-mixin-unlast">unlast</a></li><li class="sidebar__item sassdoc__item" data-group="undefined" data-name="unpush" data-type="mixin"><a href="#undefined-mixin-unpush">unpush</a></li><li class="sidebar__item sassdoc__item" data-group="undefined" data-name="with-layout" data-type="mixin"><a href="#undefined-mixin-with-layout">with-layout</a></li></ul><p class="sidebar__item sidebar__item--sub-heading" data-slug="undefined-variable"><a href="#undefined-variable">variables</a></p><ul class="list-unstyled"><li class="sidebar__item sassdoc__item" data-group="undefined" data-name="condo-defaults" data-type="variable"><a href="#undefined-variable-condo-defaults">condo-defaults</a></li></ul></div></div></aside><article class="main" role="main"><header class="header" role="banner"><div class="container"><div class="sassdoc__searchbar searchbar"><label for="js-search-input" class="visually-hidden">Search</label><div class="searchbar__form" id="js-search"><input name="search" type="search" class="searchbar__field" autocomplete="off" autofocus id="js-search-input" placeholder="Search"><ul class="searchbar__suggestions" id="js-search-suggestions"></ul></div></div></div></header><section class="main__section"><h1 class="main__heading" id="undefined"><div class="container">General</div></h1><section class="main__sub-section" id="undefined-function"><h2 class="main__heading--secondary"><div class="container">functions</div></h2><section class="main__item container item" id="undefined-function-gutter-width"><h3 class="item__heading"><span class="item__access">[private]</span> <a class="item__name" href="#function-gutter-width">gutter-width</a></h3><div class="item__code-wrapper"><pre class="item__code item__code--togglable language-scss" data-current-state="collapsed" data-expanded="@function gutter-width($gutters, $gutter-ratio) {
3
+ @if $gutters == 0 {
4
+ @return 0;
5
+ } @else {
6
+ @return 100 / $gutters * $gutter-ratio * 1%;
7
+ }
8
+ }" data-collapsed="@function gutter-width($gutters, $gutter-ratio) { ... }"><code>@function gutter-width($gutters, $gutter-ratio) { ... }</code></pre></div><h3 class="item__sub-heading">Description</h3><div class="item__description"><p>Return the gutter width for the current settings</p></div><h3 class="item__sub-heading">Parameters</h3><table class="item__parameters"><thead><tr><th scope="col"><span class="visually-hidden">parameter</span>Name</th><th scope="col"><span class="visually-hidden">parameter</span>Description</th><th scope="col"><span class="visually-hidden">parameter</span>Type</th><th scope="col"><span class="visually-hidden">parameter</span>Default value</th></tr></thead><tbody><tr class="item__parameter"><th scope="row" data-label="name"><code>$gutters</code></th><td data-label="desc"><p>Number of gutters in grid, equivalent to number of columns generally</p></td><td data-label="type"><code>Integer</code></td><td data-label="default">&mdash;<span class="visually-hidden">none</span></td></tr><tr class="item__parameter"><th scope="row" data-label="name"><code>$gutter-ratio</code></th><td data-label="desc"><p>Floating number representing the width of a gutter compared to the width of a column</p></td><td data-label="type"><code>Float</code></td><td data-label="default">&mdash;<span class="visually-hidden">none</span></td></tr></tbody></table><h3 class="item__sub-heading">Returns</h3><div class="item__description item__description--inline"><code>Percentage</code> &mdash;<p>Width equivalent with gutters requested</p></div><h3 class="item__sub-heading">Used by</h3><ul class="list-unstyled"><li><span class="item__cross-type">[function]</span> <a href="#undefined-function-gutters"><code>gutters</code></a></li><li><span class="item__cross-type">[function]</span> <a href="#undefined-function-span-math"><code>span-math</code></a></li><li><span class="item__cross-type">[function]</span> <a href="#undefined-function-span"><code>span</code></a></li><li><span class="item__cross-type">[mixin]</span> <a href="#undefined-mixin-span"><code>span</code></a></li></ul></section><section class="main__item container item" id="undefined-function-gutters"><h3 class="item__heading"><a class="item__name" href="#function-gutters">gutters</a></h3><div class="item__code-wrapper"><pre class="item__code item__code--togglable language-scss" data-current-state="collapsed" data-expanded="@function gutters($gutters: 1) {
9
+ $layout: layout();
10
+ $gutter-ratio: map-get($layout, gutters);
11
+ $gutter-width: gutter-width(map-get($columns), $gutter-ratio);
12
+
13
+ @return $gutter-width * $gutters;
14
+ }" data-collapsed="@function gutters($gutters: 1) { ... }"><code>@function gutters($gutters: 1) { ... }</code></pre></div><h3 class="item__sub-heading">Description</h3><div class="item__description"><p>Use when a width equivalent to a gutter or multiple gutters is needed</p></div><h3 class="item__sub-heading">Parameters</h3><table class="item__parameters"><thead><tr><th scope="col"><span class="visually-hidden">parameter</span>Name</th><th scope="col"><span class="visually-hidden">parameter</span>Description</th><th scope="col"><span class="visually-hidden">parameter</span>Type</th><th scope="col"><span class="visually-hidden">parameter</span>Default value</th></tr></thead><tbody><tr class="item__parameter"><th scope="row" data-label="name"><code>$gutters</code></th><td data-label="desc"><p>Number of gutter widths to return</p></td><td data-label="type"><code>Integer</code></td><td data-label="default"><code>1</code></td></tr></tbody></table><h3 class="item__sub-heading">Returns</h3><div class="item__description item__description--inline"><code>Percentage</code> &mdash;<p>Width equivalent to number of gutters requested</p></div><h3 class="item__sub-heading">Requires</h3><ul class="list-unstyled"><li class="item__description item__description--inline"><span class="item__cross-type">[function]</span> <a href="#undefined-function-layout"><code>layout</code></a></li><li class="item__description item__description--inline"><span class="item__cross-type">[function]</span> <a href="#undefined-function-gutter-width"><code>gutter-width</code></a></li></ul></section><section class="main__item container item" id="undefined-function-layout"><h3 class="item__heading"><a class="item__name" href="#function-layout">layout</a></h3><div class="item__code-wrapper"><pre class="item__code item__code--togglable language-scss" data-current-state="collapsed" data-expanded="@function layout($map: $condo) {
15
+ @return map-merge($condo-defaults, $map);
16
+ }" data-collapsed="@function layout($map: $condo) { ... }"><code>@function layout($map: $condo) { ... }</code></pre></div><h3 class="item__sub-heading">Description</h3><div class="item__description"><p>Sets up the current layout, ensuring all $condo keys are mapped and have values</p></div><h3 class="item__sub-heading">Parameters</h3><table class="item__parameters"><thead><tr><th scope="col"><span class="visually-hidden">parameter</span>Name</th><th scope="col"><span class="visually-hidden">parameter</span>Description</th><th scope="col"><span class="visually-hidden">parameter</span>Type</th><th scope="col"><span class="visually-hidden">parameter</span>Default value</th></tr></thead><tbody><tr class="item__parameter"><th scope="row" data-label="name"><code>$map</code></th><td data-label="desc"><p>Map to be merged into $condo-defaults</p></td><td data-label="type"><code>Map</code></td><td data-label="default"><code>$condo</code></td></tr></tbody></table><h3 class="item__sub-heading">Returns</h3><div class="item__description item__description--inline"><code>Map</code> &mdash;<p>Result of merging the supplied $map with $condo-defaults</p></div><h3 class="item__sub-heading">Requires</h3><ul class="list-unstyled"><li class="item__description item__description--inline"><span class="item__cross-type">[variable]</span> <a href="#undefined-variable-condo-defaults"><code>condo-defaults</code></a></li></ul><h3 class="item__sub-heading">Used by</h3><ul class="list-unstyled"><li><span class="item__cross-type">[function]</span> <a href="#undefined-function-gutters"><code>gutters</code></a></li><li><span class="item__cross-type">[function]</span> <a href="#undefined-function-raw-column-width"><code>raw-column-width</code></a></li><li><span class="item__cross-type">[function]</span> <a href="#undefined-function-span-math"><code>span-math</code></a></li><li><span class="item__cross-type">[function]</span> <a href="#undefined-function-span"><code>span</code></a></li><li><span class="item__cross-type">[mixin]</span> <a href="#undefined-mixin-container"><code>container</code></a></li><li><span class="item__cross-type">[mixin]</span> <a href="#undefined-mixin-last"><code>last</code></a></li><li><span class="item__cross-type">[mixin]</span> <a href="#undefined-mixin-push"><code>push</code></a></li><li><span class="item__cross-type">[mixin]</span> <a href="#undefined-mixin-span"><code>span</code></a></li><li><span class="item__cross-type">[mixin]</span> <a href="#undefined-mixin-unlast"><code>unlast</code></a></li><li><span class="item__cross-type">[mixin]</span> <a href="#undefined-mixin-unpush"><code>unpush</code></a></li><li><span class="item__cross-type">[mixin]</span> <a href="#undefined-mixin-with-layout"><code>with-layout</code></a></li></ul></section><section class="main__item container item" id="undefined-function-raw-column-width"><h3 class="item__heading"><span class="item__access">[private]</span> <a class="item__name" href="#function-raw-column-width">raw-column-width</a></h3><div class="item__code-wrapper"><pre class="item__code item__code--togglable language-scss" data-current-state="collapsed" data-expanded="@function raw-column-width($columns, $gutter-width) {
17
+ $layout: layout();
18
+ $gutter-position: map-get($layout, gutter-position);
19
+
20
+ @if $gutter-position == &#39;split&#39; {
21
+ @return 100% / $columns;
22
+ } @else {
23
+ @return (100% + $gutter-width) / $columns;
24
+ }
25
+ }" data-collapsed="@function raw-column-width($columns, $gutter-width) { ... }"><code>@function raw-column-width($columns, $gutter-width) { ... }</code></pre></div><h3 class="item__sub-heading">Description</h3><div class="item__description"><p>Return a column width measured as if there were no gutters</p></div><h3 class="item__sub-heading">Parameters</h3><table class="item__parameters"><thead><tr><th scope="col"><span class="visually-hidden">parameter</span>Name</th><th scope="col"><span class="visually-hidden">parameter</span>Description</th><th scope="col"><span class="visually-hidden">parameter</span>Type</th><th scope="col"><span class="visually-hidden">parameter</span>Default value</th></tr></thead><tbody><tr class="item__parameter"><th scope="row" data-label="name"><code>$columns</code></th><td data-label="desc"><p>Number of columns in grid</p></td><td data-label="type"><code>Integer</code></td><td data-label="default">&mdash;<span class="visually-hidden">none</span></td></tr><tr class="item__parameter"><th scope="row" data-label="name"><code>$gutter-width</code></th><td data-label="desc"><p>Width of one gutter</p></td><td data-label="type"><code>Percentage</code></td><td data-label="default">&mdash;<span class="visually-hidden">none</span></td></tr></tbody></table><h3 class="item__sub-heading">Returns</h3><div class="item__description item__description--inline"><code>Percentage</code> &mdash;<p>Width equivalent with columns requested</p></div><h3 class="item__sub-heading">Requires</h3><ul class="list-unstyled"><li class="item__description item__description--inline"><span class="item__cross-type">[function]</span> <a href="#undefined-function-layout"><code>layout</code></a></li></ul><h3 class="item__sub-heading">Used by</h3><ul class="list-unstyled"><li><span class="item__cross-type">[function]</span> <a href="#undefined-function-span-math"><code>span-math</code></a></li><li><span class="item__cross-type">[function]</span> <a href="#undefined-function-span"><code>span</code></a></li></ul></section><section class="main__item container item" id="undefined-function-span-math"><h3 class="item__heading"><span class="item__access">[private]</span> <a class="item__name" href="#function-span-math">span-math</a></h3><div class="item__code-wrapper"><pre class="item__code item__code--togglable language-scss" data-current-state="collapsed" data-expanded="@function span-math($spans) {
26
+ $layout: layout();
27
+ $columns: map-get($layout, columns);
28
+ $gutters: $columns;
29
+ $gutter-position: map-get($layout, gutter-position);
30
+ $gutter-ratio: map-get($layout, gutters);
31
+ $gutter-width: gutter-width($gutters, $gutter-ratio);
32
+ $raw-column-width: raw-column-width($columns, $gutter-width);
33
+ $column-width: $raw-column-width - $gutter-width;
34
+ $width: null;
35
+ $margin-before: null;
36
+ $margin-after: null;
37
+
38
+ $width: ($raw-column-width * ($spans - 1)) + $column-width;
39
+ $margin-after: $gutter-width;
40
+
41
+ @if $gutter-position == &#39;split&#39; {
42
+ $margin-before: $gutter-width / 2;
43
+ $margin-after: $margin-before;
44
+ }
45
+
46
+ @return (
47
+ width: $width,
48
+ margin-before: $margin-before,
49
+ margin-after: $margin-after
50
+ );
51
+ }" data-collapsed="@function span-math($spans) { ... }"><code>@function span-math($spans) { ... }</code></pre></div><h3 class="item__sub-heading">Description</h3><div class="item__description"><p>Return the width and margins given the current settings</p></div><h3 class="item__sub-heading">Parameters</h3><table class="item__parameters"><thead><tr><th scope="col"><span class="visually-hidden">parameter</span>Name</th><th scope="col"><span class="visually-hidden">parameter</span>Description</th><th scope="col"><span class="visually-hidden">parameter</span>Type</th><th scope="col"><span class="visually-hidden">parameter</span>Default value</th></tr></thead><tbody><tr class="item__parameter"><th scope="row" data-label="name"><code>$spans</code></th><td data-label="desc"><p>Number of column widths to return</p></td><td data-label="type"><code>Integer</code></td><td data-label="default">&mdash;<span class="visually-hidden">none</span></td></tr></tbody></table><h3 class="item__sub-heading">Returns</h3><div class="item__description item__description--inline"><code>Map</code> &mdash;<p>Map with width and margin values</p></div><h3 class="item__sub-heading">Requires</h3><ul class="list-unstyled"><li class="item__description item__description--inline"><span class="item__cross-type">[function]</span> <a href="#undefined-function-layout"><code>layout</code></a></li><li class="item__description item__description--inline"><span class="item__cross-type">[function]</span> <a href="#undefined-function-gutter-width"><code>gutter-width</code></a></li><li class="item__description item__description--inline"><span class="item__cross-type">[function]</span> <a href="#undefined-function-raw-column-width"><code>raw-column-width</code></a></li></ul><h3 class="item__sub-heading">Used by</h3><ul class="list-unstyled"><li><span class="item__cross-type">[mixin]</span> <a href="#undefined-mixin-push"><code>push</code></a></li><li><span class="item__cross-type">[mixin]</span> <a href="#undefined-mixin-span"><code>span</code></a></li><li><span class="item__cross-type">[mixin]</span> <a href="#undefined-mixin-unlast"><code>unlast</code></a></li><li><span class="item__cross-type">[mixin]</span> <a href="#undefined-mixin-unpush"><code>unpush</code></a></li></ul></section><section class="main__item container item" id="undefined-function-span"><h3 class="item__heading"><a class="item__name" href="#function-span">span</a></h3><div class="item__code-wrapper"><pre class="item__code item__code--togglable language-scss" data-current-state="collapsed" data-expanded="@function span($spans: 1, $keyword: null) {
52
+ $layout: layout();
53
+ $columns: map-get($layout, columns);
54
+ $gutters: $columns;
55
+ $gutter-position: map-get($layout, gutter-position);
56
+ $gutter-ratio: map-get($layout, gutters);
57
+ $gutter-width: gutter-width($gutters, $gutter-ratio);
58
+ $raw-column-width: raw-column-width($columns, $gutter-width);
59
+ $column-width: $raw-column-width - $gutter-width;
60
+ $width: ($raw-column-width * ($spans - 1)) + $column-width;
61
+
62
+ @if $keyword == wide {
63
+ $width: $width + $gutter-width;
64
+ } @else if $keyword == wider {
65
+ $width: $width + ($gutter-width * 2);
66
+ }
67
+
68
+ @return $width;
69
+ }" data-collapsed="@function span($spans: 1, $keyword: null) { ... }"><code>@function span($spans: 1, $keyword: null) { ... }</code></pre></div><h3 class="item__sub-heading">Description</h3><div class="item__description"><p>Use when a width equivalent to the spans and keywords provided is needed</p></div><h3 class="item__sub-heading">Parameters</h3><table class="item__parameters"><thead><tr><th scope="col"><span class="visually-hidden">parameter</span>Name</th><th scope="col"><span class="visually-hidden">parameter</span>Description</th><th scope="col"><span class="visually-hidden">parameter</span>Type</th><th scope="col"><span class="visually-hidden">parameter</span>Default value</th></tr></thead><tbody><tr class="item__parameter"><th scope="row" data-label="name"><code>$spans</code></th><td data-label="desc"><p>Number of column widths to return</p></td><td data-label="type"><code>Integer</code></td><td data-label="default"><code>1</code></td></tr><tr class="item__parameter"><th scope="row" data-label="name"><code>$keyword</code></th><td data-label="desc"><p>Options: wide, wider; Increases width by 1 or 2 gutter-widths respectively</p></td><td data-label="type"><code>String</code></td><td data-label="default"><code>null</code></td></tr></tbody></table><h3 class="item__sub-heading">Returns</h3><div class="item__description item__description--inline"><code>Percentage</code> &mdash;<p>Width equivalent to number of columns requested</p></div><h3 class="item__sub-heading">Requires</h3><ul class="list-unstyled"><li class="item__description item__description--inline"><span class="item__cross-type">[function]</span> <a href="#undefined-function-layout"><code>layout</code></a></li><li class="item__description item__description--inline"><span class="item__cross-type">[function]</span> <a href="#undefined-function-gutter-width"><code>gutter-width</code></a></li><li class="item__description item__description--inline"><span class="item__cross-type">[function]</span> <a href="#undefined-function-raw-column-width"><code>raw-column-width</code></a></li></ul></section></section><section class="main__sub-section" id="undefined-mixin"><h2 class="main__heading--secondary"><div class="container">mixins</div></h2><section class="main__item container item" id="undefined-mixin-container"><h3 class="item__heading"><a class="item__name" href="#mixin-container">container</a></h3><div class="item__code-wrapper"><pre class="item__code item__code--togglable language-scss" data-current-state="collapsed" data-expanded="@mixin container($max-width, $position: null) {
70
+ $layout: layout();
71
+ $container-position: map-get($layout, container-position);
72
+
73
+ @if $position {
74
+ $container-position: $position;
75
+ }
76
+
77
+ max-width: $max-width;
78
+
79
+ @if $container-position == center {
80
+ margin-left: auto;
81
+ margin-right: auto;
82
+ } @else if $container-position == left {
83
+ margin-left: 0;
84
+ margin-right: auto;
85
+ } @else if $container-position == right {
86
+ margin-left: auto;
87
+ margin-right: 0;
88
+ }
89
+
90
+ // Clearfix
91
+ &amp;::after {
92
+ clear: both;
93
+ content: &quot;&quot;;
94
+ display: table;
95
+ }
96
+ }" data-collapsed="@mixin container($max-width, $position: null) { ... }"><code>@mixin container($max-width, $position: null) { ... }</code></pre></div><h3 class="item__sub-heading">Description</h3><div class="item__description"><p>Set the max-width and margins for a container</p></div><h3 class="item__sub-heading">Parameters</h3><table class="item__parameters"><thead><tr><th scope="col"><span class="visually-hidden">parameter</span>Name</th><th scope="col"><span class="visually-hidden">parameter</span>Description</th><th scope="col"><span class="visually-hidden">parameter</span>Type</th><th scope="col"><span class="visually-hidden">parameter</span>Default value</th></tr></thead><tbody><tr class="item__parameter"><th scope="row" data-label="name"><code>$max-width</code></th><td data-label="desc"><p>Any valid width value</p></td><td data-label="type"><code>Number</code></td><td data-label="default">&mdash;<span class="visually-hidden">none</span></td></tr><tr class="item__parameter"><th scope="row" data-label="name"><code>$position</code></th><td data-label="desc"><p>Options: left, center, right; will set margins accordingly.</p></td><td data-label="type"><code>String</code></td><td data-label="default"><code>null</code></td></tr></tbody></table><h3 class="item__sub-heading">Output</h3><div class="item__description"><p>Sets a max-width, margin-left and margin-right to auto if container position is center, and clearfixes the container so you don&#39;t have to</p></div><h3 class="item__sub-heading">Requires</h3><ul class="list-unstyled"><li class="item__description item__description--inline"><span class="item__cross-type">[function]</span> <a href="#undefined-function-layout"><code>layout</code></a></li></ul></section><section class="main__item container item" id="undefined-mixin-last"><h3 class="item__heading"><a class="item__name" href="#mixin-last">last</a></h3><div class="item__code-wrapper"><pre class="item__code item__code--togglable language-scss" data-current-state="collapsed" data-expanded="@mixin last() {
97
+ $layout: layout();
98
+ $gutter-position: map-get($layout, gutter-position);
99
+
100
+ @if $gutter-position != &#39;split&#39; {
101
+ float: right;
102
+ margin-right: 0;
103
+ }
104
+ }" data-collapsed="@mixin last() { ... }"><code>@mixin last() { ... }</code></pre></div><h3 class="item__sub-heading">Description</h3><div class="item__description"><p>Use to set float to right and remove right margin.</p></div><h3 class="item__sub-heading">Parameters</h3><p>None.</p><h3 class="item__sub-heading">Output</h3><div class="item__description"><p>Sets opposite float and removes margin right</p></div><h3 class="item__sub-heading">Requires</h3><ul class="list-unstyled"><li class="item__description item__description--inline"><span class="item__cross-type">[function]</span> <a href="#undefined-function-layout"><code>layout</code></a></li></ul></section><section class="main__item container item" id="undefined-mixin-push"><h3 class="item__heading"><a class="item__name" href="#mixin-push">push</a></h3><div class="item__code-wrapper"><pre class="item__code item__code--togglable language-scss" data-current-state="collapsed" data-expanded="@mixin push($columns) {
105
+ $layout: layout();
106
+ $gutter-position: map-get($layout, gutter-position);
107
+ $map: span-math($columns);
108
+ $width: map-get($map, width);
109
+ $margin-before: map-get($map, margin-before);
110
+ $margin-after: map-get($map, margin-after);
111
+
112
+ @if $gutter-position == &#39;split&#39; {
113
+ margin-left: ($margin-before * 2) + $width + $margin-after;
114
+ } @else {
115
+ margin-left: $width + $margin-after;
116
+ }
117
+ }" data-collapsed="@mixin push($columns) { ... }"><code>@mixin push($columns) { ... }</code></pre></div><h3 class="item__sub-heading">Description</h3><div class="item__description"><p>Increase margin-left in order to &quot;push&quot; block over a supplied number of spans.</p></div><h3 class="item__sub-heading">Parameters</h3><table class="item__parameters"><thead><tr><th scope="col"><span class="visually-hidden">parameter</span>Name</th><th scope="col"><span class="visually-hidden">parameter</span>Description</th><th scope="col"><span class="visually-hidden">parameter</span>Type</th><th scope="col"><span class="visually-hidden">parameter</span>Default value</th></tr></thead><tbody><tr class="item__parameter"><th scope="row" data-label="name"><code>$columns</code></th><td data-label="desc"><p>Number of columns to push block over</p></td><td data-label="type"><code>Integer</code></td><td data-label="default">&mdash;<span class="visually-hidden">none</span></td></tr></tbody></table><h3 class="item__sub-heading">Output</h3><div class="item__description"><p>Sets margin-left so such a size as to &quot;push&quot; it the width of the columns specified</p></div><h3 class="item__sub-heading">Requires</h3><ul class="list-unstyled"><li class="item__description item__description--inline"><span class="item__cross-type">[function]</span> <a href="#undefined-function-layout"><code>layout</code></a></li><li class="item__description item__description--inline"><span class="item__cross-type">[function]</span> <a href="#undefined-function-span-math"><code>span-math</code></a></li></ul></section><section class="main__item container item" id="undefined-mixin-span"><h3 class="item__heading"><a class="item__name" href="#mixin-span">span</a></h3><div class="item__code-wrapper"><pre class="item__code item__code--togglable language-scss" data-current-state="collapsed" data-expanded="@mixin span($spans, $keyword: null) {
118
+ $layout: layout();
119
+ $gutter-position: map-get($layout, gutter-position);
120
+ $span-map: span-math($spans);
121
+ $width: map-get($span-map, width);
122
+ $gutter-width: gutter-width(map-get($layout, columns), map-get($layout, gutters));
123
+
124
+ @if $keyword == wide {
125
+ $width: $width + $gutter-width;
126
+ } @else if $keyword == wider {
127
+ $width: $width + ($gutter-width * 2);
128
+ }
129
+
130
+ float: left;
131
+ width: $width;
132
+
133
+ @if $gutter-position == &#39;split&#39; {
134
+ margin-left: map-get($span-map, margin-before);
135
+ margin-right: map-get($span-map, margin-after);
136
+ } @else {
137
+ margin-right: map-get($span-map, margin-after);
138
+ }
139
+ }" data-collapsed="@mixin span($spans, $keyword: null) { ... }"><code>@mixin span($spans, $keyword: null) { ... }</code></pre></div><h3 class="item__sub-heading">Description</h3><div class="item__description"><p>Set the float, width and margins for a block</p></div><h3 class="item__sub-heading">Parameters</h3><table class="item__parameters"><thead><tr><th scope="col"><span class="visually-hidden">parameter</span>Name</th><th scope="col"><span class="visually-hidden">parameter</span>Description</th><th scope="col"><span class="visually-hidden">parameter</span>Type</th><th scope="col"><span class="visually-hidden">parameter</span>Default value</th></tr></thead><tbody><tr class="item__parameter"><th scope="row" data-label="name"><code>$spans</code></th><td data-label="desc"><p>Number of columns width should span</p></td><td data-label="type"><code>Integer</code></td><td data-label="default">&mdash;<span class="visually-hidden">none</span></td></tr><tr class="item__parameter"><th scope="row" data-label="name"><code>$keyword</code></th><td data-label="desc"><p>Options are: wide, wider; Will add the width of one or two gutters respectively.</p></td><td data-label="type"><code>String</code></td><td data-label="default"><code>null</code></td></tr></tbody></table><h3 class="item__sub-heading">Output</h3><div class="item__description"><p>Sets float, width, and appropriate margins</p></div><h3 class="item__sub-heading">Requires</h3><ul class="list-unstyled"><li class="item__description item__description--inline"><span class="item__cross-type">[function]</span> <a href="#undefined-function-layout"><code>layout</code></a></li><li class="item__description item__description--inline"><span class="item__cross-type">[function]</span> <a href="#undefined-function-span-math"><code>span-math</code></a></li><li class="item__description item__description--inline"><span class="item__cross-type">[function]</span> <a href="#undefined-function-gutter-width"><code>gutter-width</code></a></li></ul></section><section class="main__item container item" id="undefined-mixin-unlast"><h3 class="item__heading"><a class="item__name" href="#mixin-unlast">unlast</a></h3><div class="item__code-wrapper"><pre class="item__code item__code--togglable language-scss" data-current-state="collapsed" data-expanded="@mixin unlast() {
140
+ $layout: layout();
141
+ $map: span-math(map-get($layout, columns));
142
+ $margin-after: map-get($map, margin-after);
143
+
144
+ float: left;
145
+ margin-right: $margin-after;
146
+ }" data-collapsed="@mixin unlast() { ... }"><code>@mixin unlast() { ... }</code></pre></div><h3 class="item__sub-heading">Description</h3><div class="item__description"><p>Use to reset settings after using the last mixin.</p></div><h3 class="item__sub-heading">Parameters</h3><p>None.</p><h3 class="item__sub-heading">Output</h3><div class="item__description"><p>Resets both float and margin-right to non-last position values</p></div><h3 class="item__sub-heading">Requires</h3><ul class="list-unstyled"><li class="item__description item__description--inline"><span class="item__cross-type">[function]</span> <a href="#undefined-function-layout"><code>layout</code></a></li><li class="item__description item__description--inline"><span class="item__cross-type">[function]</span> <a href="#undefined-function-span-math"><code>span-math</code></a></li></ul></section><section class="main__item container item" id="undefined-mixin-unpush"><h3 class="item__heading"><a class="item__name" href="#mixin-unpush">unpush</a></h3><div class="item__code-wrapper"><pre class="item__code item__code--togglable language-scss" data-current-state="collapsed" data-expanded="@mixin unpush() {
147
+ $layout: layout();
148
+ $map: span-math(map-get($layout, columns));
149
+ $margin-before: map-get($map, margin-before);
150
+
151
+ @if $margin-before {
152
+ margin-left: $margin-before;
153
+ } @else {
154
+ margin-left: 0;
155
+ }
156
+ }" data-collapsed="@mixin unpush() { ... }"><code>@mixin unpush() { ... }</code></pre></div><h3 class="item__sub-heading">Description</h3><div class="item__description"><p>Use to reset settings after using the push mixin</p></div><h3 class="item__sub-heading">Parameters</h3><p>None.</p><h3 class="item__sub-heading">Output</h3><div class="item__description"><p>Resets margin-left on item</p></div><h3 class="item__sub-heading">Requires</h3><ul class="list-unstyled"><li class="item__description item__description--inline"><span class="item__cross-type">[function]</span> <a href="#undefined-function-layout"><code>layout</code></a></li><li class="item__description item__description--inline"><span class="item__cross-type">[function]</span> <a href="#undefined-function-span-math"><code>span-math</code></a></li></ul></section><section class="main__item container item" id="undefined-mixin-with-layout"><h3 class="item__heading"><a class="item__name" href="#mixin-with-layout">with-layout</a></h3><div class="item__code-wrapper"><pre class="item__code item__code--togglable language-scss" data-current-state="collapsed" data-expanded="@mixin with-layout($map) {
157
+ $layout: layout();
158
+ $old: $layout;
159
+ $condo: map-merge($old, $map) !global;
160
+
161
+ @content;
162
+
163
+ $condo: $old !global;
164
+ }" data-collapsed="@mixin with-layout($map) { ... }"><code>@mixin with-layout($map) { ... }</code></pre></div><h3 class="item__sub-heading">Description</h3><div class="item__description"><p>Temporarily use a different settings map</p></div><h3 class="item__sub-heading">Parameters</h3><table class="item__parameters"><thead><tr><th scope="col"><span class="visually-hidden">parameter</span>Name</th><th scope="col"><span class="visually-hidden">parameter</span>Description</th><th scope="col"><span class="visually-hidden">parameter</span>Type</th><th scope="col"><span class="visually-hidden">parameter</span>Default value</th></tr></thead><tbody><tr class="item__parameter"><th scope="row" data-label="name"><code>$map</code></th><td data-label="desc"><p>A map consisting of some or all $condo settings.</p></td><td data-label="type"><code>Map</code></td><td data-label="default">&mdash;<span class="visually-hidden">none</span></td></tr></tbody></table><h3 class="item__sub-heading">Content</h3><p>This mixin allows extra content to be passed (through the <code>@content</code> directive). Role: [Merges the $map with the $condo settings and uses this new map to do all Condo math within this content block. Restores the $condo settings after the block.]</p><h3 class="item__sub-heading">Requires</h3><ul class="list-unstyled"><li class="item__description item__description--inline"><span class="item__cross-type">[function]</span> <a href="#undefined-function-layout"><code>layout</code></a></li></ul></section></section><section class="main__sub-section" id="undefined-variable"><h2 class="main__heading--secondary"><div class="container">variables</div></h2><section class="main__item container item" id="undefined-variable-condo-defaults"><h3 class="item__heading"><a class="item__name" href="#variable-condo-defaults">condo-defaults</a></h3><div class="item__code-wrapper"><pre class="item__code language-scss"><code>$condo-defaults: (
165
+ container: auto,
166
+ container-position: center,
167
+ columns: 4,
168
+ gutters: .25,
169
+ gutter-position: after
170
+ );</code></pre></div><h3 class="item__sub-heading">Description</h3><div class="item__description"><p>Default $condo settings</p></div><h3 class="item__sub-heading">Map structure</h3><table class="item__parameters"><thead><tr><th scope="col"><span class="visually-hidden">key</span>Name</th><th scope="col"><span class="visually-hidden">key</span>Description</th><th scope="col"><span class="visually-hidden">key</span>Type</th><th scope="col"><span class="visually-hidden">key</span>Value</th></tr></thead><tbody><tr class="item__parameter"><th scope="row" data-label="name"><code>$condo-defaults</code></th><td data-label="desc">&mdash;<span class="visually-hidden">none</span></td><td data-label="type"><code>Map</code></td><td data-label="default">&mdash;<span class="visually-hidden">none</span></td></tr><tr class="item__parameter"><th scope="row" data-label="name"><code>$condo-defaults.container</code></th><td data-label="desc"><p>Can be any valid width value</p></td><td data-label="type"><code>String</code></td><td data-label="default"><code>auto</code></td></tr><tr class="item__parameter"><th scope="row" data-label="name"><code>$condo-defaults.container-position</code></th><td data-label="desc"><p>Options: left, center, right; Determines the position of the container.</p></td><td data-label="type"><code>String</code></td><td data-label="default"><code>center</code></td></tr><tr class="item__parameter"><th scope="row" data-label="name"><code>$condo-defaults.columns</code></th><td data-label="desc"><p>Number of columns to used for grid settings</p></td><td data-label="type"><code>Number</code></td><td data-label="default"><code>4</code></td></tr><tr class="item__parameter"><th scope="row" data-label="name"><code>$condo-defaults.gutters</code></th><td data-label="desc"><p>Percentage of a column that the width of a gutter will be</p></td><td data-label="type"><code>Float</code></td><td data-label="default"><code>.25</code></td></tr><tr class="item__parameter"><th scope="row" data-label="name"><code>$condo-defaults.gutter-position</code></th><td data-label="desc"><p>Options: after, split; Determines width and position of gutters.</p></td><td data-label="type"><code>String</code></td><td data-label="default"><code>after</code></td></tr></tbody></table><h3 class="item__sub-heading">Used by</h3><ul class="list-unstyled"><li><span class="item__cross-type">[function]</span> <a href="#undefined-function-layout"><code>layout</code></a></li></ul></section></section></section><footer class="footer" role="contentinfo"><div class="container"><div class="footer__project-info project-info"><!-- Name and URL --><a class="project-info__name" href="https://github.com/kyleshevlin/Condo#readme">Condo</a><!-- Version --> <span class="project-info__version">- v1.0.1</span><!-- License --> <span class="project-info__license">, under MIT</span></div><a class="footer__watermark" href="http://sassdoc.com"><img src="assets/images/logo_light_inline.svg" alt="SassDoc Logo"></a></div></footer></article><script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><script>window.jQuery || document.write('<script src="assets/js/vendor/jquery.min.js"><\/script>')</script><script src="assets/js/main.min.js"></script></body></html>
@@ -0,0 +1,81 @@
1
+ require 'condo/version'
2
+ require 'fileutils'
3
+ require 'thor'
4
+ require 'pathname'
5
+
6
+ module Condo
7
+ class Generator < Thor
8
+ map ["-v", "--version"] => :version
9
+
10
+ desc "install", "Install Condo into your project"
11
+ method_options :path => :string, :force => :boolean
12
+ def install
13
+ if condo_files_already_exist? && !options[:force]
14
+ puts "Condo files already installed, doing nothing."
15
+ else
16
+ install_files
17
+ puts "Condo files installed to #{install_path}/"
18
+ end
19
+ end
20
+
21
+ desc "update", "Update Condo"
22
+ method_options :path => :string
23
+ def update
24
+ if condo_files_already_exist?
25
+ remove_condo_directory
26
+ install_files
27
+ puts "Condo files updated."
28
+ else
29
+ puts "No existing condo installation. Doing nothing."
30
+ end
31
+ end
32
+
33
+ desc "version", "Show Condo version"
34
+ def version
35
+ say "Condo #{Condo::VERSION}"
36
+ end
37
+
38
+ private
39
+
40
+ def condo_files_already_exist?
41
+ install_path.exist?
42
+ end
43
+
44
+ def install_path
45
+ @install_path ||= if options[:path]
46
+ Pathname.new(File.join(options[:path], "condo"))
47
+ else
48
+ Pathname.new("condo")
49
+ end
50
+ end
51
+
52
+ def install_files
53
+ make_install_directory
54
+ copy_in_scss_files
55
+ end
56
+
57
+ def remove_condo_directory
58
+ FileUtils.rm_rf("condo")
59
+ end
60
+
61
+ def make_install_directory
62
+ FileUtils.mkdir_p(install_path)
63
+ end
64
+
65
+ def copy_in_scss_files
66
+ FileUtils.cp_r(all_stylesheets, install_path)
67
+ end
68
+
69
+ def all_stylesheets
70
+ Dir["#{stylesheets_directory}/*"]
71
+ end
72
+
73
+ def stylesheets_directory
74
+ File.join(top_level_directory, "core")
75
+ end
76
+
77
+ def top_level_directory
78
+ File.dirname(File.dirname(File.dirname(__FILE__)))
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,3 @@
1
+ module Condo
2
+ VERSION = "1.0.1"
3
+ end
@@ -0,0 +1,8 @@
1
+ require "condo/generator"
2
+
3
+ condo_path = File.expand_path('../../core', __FILE__)
4
+
5
+ ENV["SASS_PATH"] = [
6
+ ENV["SASS_PATH"],
7
+ condo_path
8
+ ].compact.join(File::PATH_SEPARATOR)
data/package.json ADDED
@@ -0,0 +1,23 @@
1
+ {
2
+ "title": "Condo",
3
+ "name": "condo",
4
+ "version": "1.0.1",
5
+ "description": "A tiny, Sass grid library.",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+ssh://git@github.com/kyleshevlin/condo.git"
9
+ },
10
+ "keywords": [
11
+ "micro",
12
+ "tiny",
13
+ "grids",
14
+ "Sass",
15
+ "SCSS"
16
+ ],
17
+ "author": "Kyle Shevlin",
18
+ "license": "MIT",
19
+ "bugs": {
20
+ "url": "https://github.com/kyleshevlin/condo/issues"
21
+ },
22
+ "homepage": "https://github.com/kyleshevlin/condo#readme"
23
+ }
metadata ADDED
@@ -0,0 +1,103 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: condo_grids
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Kyle Shevlin
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2016-04-07 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.11'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.11'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ description: Condo is a tiny, lightweight Sass grid library with no bells or whistles.
42
+ Enough to get the job done. Nothing more. Nothing less.
43
+ email:
44
+ - kyle.a.shevlin@gmail.com
45
+ executables: []
46
+ extensions: []
47
+ extra_rdoc_files: []
48
+ files:
49
+ - ".gitignore"
50
+ - Gemfile
51
+ - LICENSE.txt
52
+ - README.md
53
+ - Rakefile
54
+ - bin/console
55
+ - bin/setup
56
+ - condo_grids.gemspec
57
+ - core/_condo.scss
58
+ - core/condo/_functions.scss
59
+ - core/condo/_mixins.scss
60
+ - core/condo/_variables.scss
61
+ - docs/assets/css/main.css
62
+ - docs/assets/images/favicon.png
63
+ - docs/assets/images/logo_full_compact.svg
64
+ - docs/assets/images/logo_full_inline.svg
65
+ - docs/assets/images/logo_light_compact.svg
66
+ - docs/assets/images/logo_light_inline.svg
67
+ - docs/assets/js/main.js
68
+ - docs/assets/js/main.min.js
69
+ - docs/assets/js/search.js
70
+ - docs/assets/js/sidebar.js
71
+ - docs/assets/js/vendor/fuse.min.js
72
+ - docs/assets/js/vendor/jquery.min.js
73
+ - docs/assets/js/vendor/prism.min.js
74
+ - docs/index.html
75
+ - lib/condo/generator.rb
76
+ - lib/condo/version.rb
77
+ - lib/condo_grids.rb
78
+ - package.json
79
+ homepage: https://github.com/kyleshevlin/condo
80
+ licenses:
81
+ - MIT
82
+ metadata: {}
83
+ post_install_message:
84
+ rdoc_options: []
85
+ require_paths:
86
+ - lib
87
+ required_ruby_version: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - ">="
90
+ - !ruby/object:Gem::Version
91
+ version: '0'
92
+ required_rubygems_version: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ requirements: []
98
+ rubyforge_project:
99
+ rubygems_version: 2.4.8
100
+ signing_key:
101
+ specification_version: 4
102
+ summary: A tiny Sass grid library.
103
+ test_files: []