compass-lucid-grid 0.1.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.
- data/README.md +1 -0
- data/lib/lucid.rb +3 -0
- data/stylesheets/_lucid.scss +32 -0
- data/stylesheets/lucid/_internal.scss +62 -0
- data/stylesheets/lucid/_public.scss +67 -0
- data/templates/project/_grid.scss +52 -0
- data/templates/project/manifest.rb +49 -0
- metadata +62 -0
data/README.md
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
#Yay!
|
data/lib/lucid.rb
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
//============================================================================//
|
2
|
+
//
|
3
|
+
// THE LUCID GRID | SETUP
|
4
|
+
// plugin by Yifei Zhang [http://yifei.co]
|
5
|
+
//
|
6
|
+
//============================================================================//
|
7
|
+
|
8
|
+
// Grid configuration
|
9
|
+
$grid-width: 960px !default;
|
10
|
+
$grid-columns: 12 !default;
|
11
|
+
$grid-gutter: 15px !default;
|
12
|
+
$grid-outer-gutter: 30px !default;
|
13
|
+
|
14
|
+
// @extend hook class names
|
15
|
+
$grid-hook-container: ".lucid-grid" !default;
|
16
|
+
$grid-hook-row: ".lucid-row" !default;
|
17
|
+
$grid-hook-column: ".lucid-column" !default;
|
18
|
+
$grid-hook-gutterless: ".lucid-gutterless" !default;
|
19
|
+
|
20
|
+
// Use "pie-clearfix" clearfix or "overflow" clearfix?
|
21
|
+
$grid-clearfix: "pie-clearfix" !default;
|
22
|
+
|
23
|
+
// Center rows by default?
|
24
|
+
$grid-centering: true !default;
|
25
|
+
|
26
|
+
//
|
27
|
+
// Imports
|
28
|
+
//
|
29
|
+
|
30
|
+
@import 'lucid/internal';
|
31
|
+
@import 'lucid/public';
|
32
|
+
|
@@ -0,0 +1,62 @@
|
|
1
|
+
//============================================================================//
|
2
|
+
//
|
3
|
+
// THE LUCID GRID | INTERNAL MIXINS
|
4
|
+
// plugin by Yifei Zhang [http://yifei.co]
|
5
|
+
//
|
6
|
+
//============================================================================//
|
7
|
+
|
8
|
+
// Calculate the base grid "unit"
|
9
|
+
$grid-inner-width: $grid-width - (2 * ($grid-outer-gutter - $grid-gutter));
|
10
|
+
$gu: $grid-inner-width / $grid-columns;
|
11
|
+
|
12
|
+
// Grid Container
|
13
|
+
// Applies the grid width and centering
|
14
|
+
@mixin _grid-container($width: $grid-width, $centered: $grid-centering);
|
15
|
+
@if $centered == true {
|
16
|
+
margin-left: auto;
|
17
|
+
margin-right: auto;
|
18
|
+
}
|
19
|
+
|
20
|
+
width: $width;
|
21
|
+
}
|
22
|
+
|
23
|
+
// Grid Rows
|
24
|
+
// Centered to create outer gutter appearance
|
25
|
+
// Applies clearfix (to contain floats)
|
26
|
+
@mixin _grid-row($clearfix) {
|
27
|
+
margin-left: auto;
|
28
|
+
margin-right: auto;
|
29
|
+
|
30
|
+
@if $clearfix == overflow {
|
31
|
+
@include clearfix;
|
32
|
+
} @else {
|
33
|
+
@include pie-clearfix;
|
34
|
+
}
|
35
|
+
}
|
36
|
+
|
37
|
+
// Styles shared by all grid elements
|
38
|
+
// Optionally include gutter
|
39
|
+
@mixin _grid-element($gutter) {
|
40
|
+
display: inline;
|
41
|
+
float: left;
|
42
|
+
|
43
|
+
@if $gutter > 0 {
|
44
|
+
margin-left: $grid-gutter;
|
45
|
+
margin-right: $grid-gutter;
|
46
|
+
}
|
47
|
+
}
|
48
|
+
|
49
|
+
// Individual styles for each grid element
|
50
|
+
@mixin _grid-element-style($columns, $offset, $gutter, $adjustment) {
|
51
|
+
|
52
|
+
// Shift element left or right with +/- $offset
|
53
|
+
@if $offset > 0 {
|
54
|
+
margin-left: ($offset * $gu) + $gutter;
|
55
|
+
} @else if $offset < 0 {
|
56
|
+
margin-left: ($offset * $gu) - $gutter;
|
57
|
+
}
|
58
|
+
|
59
|
+
// Adjust element width
|
60
|
+
width: ($columns * $gu) - $adjustment - ($gutter * 2);
|
61
|
+
}
|
62
|
+
|
@@ -0,0 +1,67 @@
|
|
1
|
+
//============================================================================//
|
2
|
+
//
|
3
|
+
// THE LUCID GRID | PUBLIC MIXINS
|
4
|
+
// plugin by Yifei Zhang [http://yifei.co]
|
5
|
+
//
|
6
|
+
//============================================================================//
|
7
|
+
|
8
|
+
// Generate @extend hooks
|
9
|
+
@mixin grid-hooks {
|
10
|
+
#{$grid-hook-container} { @include _grid-container; }
|
11
|
+
#{$grid-hook-row} { @include _grid-row($grid-clearfix); }
|
12
|
+
#{$grid-hook-column} { @include _grid-element($grid-gutter); }
|
13
|
+
#{$grid-hook-gutterless} { @include _grid-element(0); }
|
14
|
+
}
|
15
|
+
|
16
|
+
//
|
17
|
+
// Grid Mixins
|
18
|
+
//
|
19
|
+
|
20
|
+
// Container
|
21
|
+
@mixin grid {
|
22
|
+
@extend #{$grid-hook-container};
|
23
|
+
}
|
24
|
+
|
25
|
+
// Row
|
26
|
+
@mixin row {
|
27
|
+
@extend #{$grid-hook-row};
|
28
|
+
}
|
29
|
+
|
30
|
+
// Element (with gutters)
|
31
|
+
@mixin col($columns, $offset: 0, $width-adjustment: 0) {
|
32
|
+
@extend #{$grid-hook-column};
|
33
|
+
@include _grid-element-style($columns, $offset, $grid-gutter, $width-adjustment);
|
34
|
+
}
|
35
|
+
|
36
|
+
// Element (without gutters)
|
37
|
+
@mixin col-gutterless($columns, $offset: 0, $width-adjustment: 0) {
|
38
|
+
@extend #{$grid-hook-gutterless};
|
39
|
+
@include _grid-element-style($columns, $offset, 0, $width-adjustment);
|
40
|
+
}
|
41
|
+
|
42
|
+
//
|
43
|
+
// Experimental Media Query Adjustments
|
44
|
+
//
|
45
|
+
|
46
|
+
@mixin grid-adjustment($columns) {
|
47
|
+
$width: $columns * $gu;
|
48
|
+
|
49
|
+
#{$grid-hook-container} { @include _grid-container($width, false); }
|
50
|
+
}
|
51
|
+
|
52
|
+
//
|
53
|
+
// Generate Non-semantic Classes
|
54
|
+
//
|
55
|
+
|
56
|
+
@mixin grid-classes($gutterless: false, $prefix: 'g', $gutterless-prefix: 'gl') {
|
57
|
+
@for $i from 1 through $grid-columns {
|
58
|
+
.#{$prefix}#{$i} { @include col($i); }
|
59
|
+
}
|
60
|
+
|
61
|
+
@if $gutterless != false {
|
62
|
+
@for $i from 1 through $grid-columns {
|
63
|
+
.#{$gutterless-prefix}#{$i} { @include col-gutterless($i); }
|
64
|
+
}
|
65
|
+
}
|
66
|
+
}
|
67
|
+
|
@@ -0,0 +1,52 @@
|
|
1
|
+
//============================================================================//
|
2
|
+
//
|
3
|
+
// THE LUCID GRID | QUICKSTART
|
4
|
+
// plugin by Yifei Zhang [http://yifei.co]
|
5
|
+
//
|
6
|
+
// @import this into your project or paste into your base/bootstrap file
|
7
|
+
//
|
8
|
+
//============================================================================//
|
9
|
+
|
10
|
+
//
|
11
|
+
// Configuration and Initialization
|
12
|
+
//
|
13
|
+
// Already have Compass @imported? Go ahead and remove `clearfix`.
|
14
|
+
//
|
15
|
+
// Configuration $variables should be defined before Lucid is @imported.
|
16
|
+
// View the full list of options and defaults at [http://yifei.co/lucid]
|
17
|
+
//
|
18
|
+
|
19
|
+
@import "compass/utilities/general/clearfix";
|
20
|
+
@import 'lucid';
|
21
|
+
|
22
|
+
//
|
23
|
+
// @Extend Hooks (Required)
|
24
|
+
//
|
25
|
+
// Lucid uses SASS's @extend (internally!) in order to produce leaner compiled
|
26
|
+
// stylesheets*. The `grid-hooks` mixin generates four base classes that are
|
27
|
+
// reused by Lucid's other mixins through @extend.
|
28
|
+
//
|
29
|
+
// * @include misused leads to fat, repetative stylesheets. Lucid knows better.
|
30
|
+
//
|
31
|
+
|
32
|
+
@include grid-hooks;
|
33
|
+
|
34
|
+
//============================================================================//
|
35
|
+
//
|
36
|
+
// BASIC USAGE
|
37
|
+
// For the full docs, visit [http://yifei.co/lucid]
|
38
|
+
//
|
39
|
+
// @include grid; // setup a new grid container
|
40
|
+
// @include row; // setup a new grid row
|
41
|
+
//
|
42
|
+
// @include col(3); // grid element that spans 3 columns
|
43
|
+
// @include col(3, 2); // shifted 2 columns to right
|
44
|
+
// @include col(3, 2, 20px); // subtract 20px from `width` to adjust for borders/padding
|
45
|
+
// @include col-gutterless(5, 2); // "gutterless" element, identical usage to `col()`
|
46
|
+
//
|
47
|
+
// @include grid-classes; // generate .g* classes to use in markup
|
48
|
+
// @include grid-classes(true); // generate .g* and .gl* (gutterless) classes
|
49
|
+
//
|
50
|
+
// @include grid-adjustment($n); // reduce container to $n columns (width)
|
51
|
+
//
|
52
|
+
//============================================================================//
|
@@ -0,0 +1,49 @@
|
|
1
|
+
description "A Compass/SASS grid for people who love semantics."
|
2
|
+
|
3
|
+
discover :all
|
4
|
+
|
5
|
+
help %Q{
|
6
|
+
THE LUCID GRID | HELP
|
7
|
+
|
8
|
+
SETUP
|
9
|
+
|
10
|
+
@import 'lucid'
|
11
|
+
@include grid-hooks; // generate @extend hooks
|
12
|
+
|
13
|
+
|
14
|
+
BASIC USAGE
|
15
|
+
|
16
|
+
@include grid; // setup a new grid container
|
17
|
+
@include row; // setup a new grid row
|
18
|
+
|
19
|
+
@include col(3); // grid element that spans 3 columns
|
20
|
+
@include col(3, 2); // shifted 2 columns to right
|
21
|
+
@include col(3, 2, 20px); // subtract 20px from `width` to adjust for borders/padding
|
22
|
+
@include col-gutterless(5, 2); // "gutterless" element, identical usage to `col()`
|
23
|
+
|
24
|
+
@include grid-classes; // generate .g* classes to use in markup
|
25
|
+
@include grid-classes(true); // generate .g* and .gl* (gutterless) classes
|
26
|
+
|
27
|
+
@include grid-adjustment($n); // reduce container to $n columns (width)
|
28
|
+
|
29
|
+
***
|
30
|
+
|
31
|
+
For the full docs, visit [http://yifei.co/lucid]
|
32
|
+
To view the source, visit [https://github.com/ezYZ/lucid]
|
33
|
+
|
34
|
+
}
|
35
|
+
|
36
|
+
welcome_message %Q{
|
37
|
+
THE LUCID GRID
|
38
|
+
plugin by Yifei Zhang
|
39
|
+
|
40
|
+
Congrats! Your project templating life is about to become a lot saner.
|
41
|
+
|
42
|
+
For examples and documentation, visit:
|
43
|
+
http://yifei.co/lucid
|
44
|
+
|
45
|
+
Contribute on GitHub:
|
46
|
+
https://github.com/ezYZ/lucid
|
47
|
+
|
48
|
+
***
|
49
|
+
}
|
metadata
ADDED
@@ -0,0 +1,62 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: compass-lucid-grid
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Yifei Zhang
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2011-05-21 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: compass
|
16
|
+
requirement: &85923390 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0.11'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *85923390
|
25
|
+
description: A Compass/SASS grid for people who love semantics.
|
26
|
+
email: yz@yifei.co
|
27
|
+
executables: []
|
28
|
+
extensions: []
|
29
|
+
extra_rdoc_files: []
|
30
|
+
files:
|
31
|
+
- README.md
|
32
|
+
- lib/lucid.rb
|
33
|
+
- stylesheets/lucid/_internal.scss
|
34
|
+
- stylesheets/lucid/_public.scss
|
35
|
+
- stylesheets/_lucid.scss
|
36
|
+
- templates/project/manifest.rb
|
37
|
+
- templates/project/_grid.scss
|
38
|
+
homepage: http://yifei.co/lucid/
|
39
|
+
licenses: []
|
40
|
+
post_install_message:
|
41
|
+
rdoc_options: []
|
42
|
+
require_paths:
|
43
|
+
- lib
|
44
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
45
|
+
none: false
|
46
|
+
requirements:
|
47
|
+
- - ! '>='
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '0'
|
50
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
51
|
+
none: false
|
52
|
+
requirements:
|
53
|
+
- - ! '>='
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '0'
|
56
|
+
requirements: []
|
57
|
+
rubyforge_project:
|
58
|
+
rubygems_version: 1.8.3
|
59
|
+
signing_key:
|
60
|
+
specification_version: 3
|
61
|
+
summary: A Compass/SASS grid for people who love semantics.
|
62
|
+
test_files: []
|