compass-less-plugin 0.3.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/.gitignore +4 -0
- data/Gemfile +4 -0
- data/README.mkdn +81 -0
- data/Rakefile +2 -0
- data/compass-less-plugin.gemspec +22 -0
- data/lib/lessframework.rb +2 -0
- data/stylesheets/lessframework/_grid.scss +28 -0
- data/stylesheets/lessframework/_reset.scss +21 -0
- data/stylesheets/lessframework/_text.scss +66 -0
- data/templates/project/manifest.rb +15 -0
- data/templates/project/styles.sass +68 -0
- metadata +92 -0
data/.gitignore
ADDED
data/Gemfile
ADDED
data/README.mkdn
ADDED
@@ -0,0 +1,81 @@
|
|
1
|
+
Less Framework - Compass Plugin
|
2
|
+
===============================
|
3
|
+
|
4
|
+
This plugin adds Less Framework 3 to [Compass](http://compass-style.org/).
|
5
|
+
|
6
|
+
Less Framework 3 was written by Joni Korpi. For more information, visit the official site at
|
7
|
+
[http:/lessframework.com/](http://lessframework.com/)
|
8
|
+
|
9
|
+
|
10
|
+
Installation
|
11
|
+
============
|
12
|
+
|
13
|
+
gem install compass-less-plugin
|
14
|
+
|
15
|
+
|
16
|
+
Create a Compass Project using Less Framework
|
17
|
+
=============================================
|
18
|
+
|
19
|
+
compass create -r lessframework my_project --using less
|
20
|
+
|
21
|
+
Afterwards, edit the generated `styles.scss` file.
|
22
|
+
|
23
|
+
|
24
|
+
Customizing Typography
|
25
|
+
======================
|
26
|
+
|
27
|
+
Less Framework contains typography settings optimized for line heights of `1.5`
|
28
|
+
and `1.3`. While this plugin defaults to `1.5`, `1.3` may be used by changing the value
|
29
|
+
of the `$less-line-height` variable before importing the `text` module:
|
30
|
+
|
31
|
+
$less-line-height: 1.3;
|
32
|
+
@import "lessframework/text";
|
33
|
+
|
34
|
+
Values other than `1.5` or `1.3` will be ignored, resulting in the default being used.
|
35
|
+
|
36
|
+
|
37
|
+
Creating a Grid
|
38
|
+
===============
|
39
|
+
|
40
|
+
When `styles.scss` is generated, it will be pre-populated with the inline media queries
|
41
|
+
necessary to create a responsive website. If you wish to define grids in a different
|
42
|
+
manner, use the `grid(n)` mixin:
|
43
|
+
|
44
|
+
body {
|
45
|
+
@include grid(8);
|
46
|
+
}
|
47
|
+
|
48
|
+
The above example creates an 8-column grid with 60 px margins.
|
49
|
+
|
50
|
+
The number of columns, `n`, can be:
|
51
|
+
|
52
|
+
* `3` - For all iPhones, iPod Touches, and other 320 px mobile devices
|
53
|
+
* `5` - For 480 px mobile devices, narrow browsers, and landscape iPhones
|
54
|
+
* `8` - For tablets at 768 px, netbooks, and old browsers
|
55
|
+
* `13` - For laptops, desktops, and hdtvs at 1280 px and beyond.
|
56
|
+
|
57
|
+
To prevent Mobile Safari from bumping up font sizes when in landscape mode, use the
|
58
|
+
`mobile-safari` mixin:
|
59
|
+
|
60
|
+
@media only screen and (max-width: 479px) {
|
61
|
+
|
62
|
+
body {
|
63
|
+
@include grid(3);
|
64
|
+
@include mobile-safari;
|
65
|
+
}
|
66
|
+
}
|
67
|
+
|
68
|
+
|
69
|
+
Populating the Grid
|
70
|
+
====================
|
71
|
+
|
72
|
+
To calculate the width of columns within the grid, use the `column(n, [last])` mixin:
|
73
|
+
|
74
|
+
#content {
|
75
|
+
@include column(5); /* Creates a 396 px column with a 24 px gutter on the right. */
|
76
|
+
}
|
77
|
+
|
78
|
+
#sidebar {
|
79
|
+
@include column(3, true); /* Creates a 228 px column without the right gutter. */
|
80
|
+
}
|
81
|
+
|
data/Rakefile
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
|
4
|
+
Gem::Specification.new do |s|
|
5
|
+
s.name = "compass-less-plugin"
|
6
|
+
s.version = "0.3.1"
|
7
|
+
s.platform = Gem::Platform::RUBY
|
8
|
+
s.authors = ["William Wells"]
|
9
|
+
s.email = ["projects@hanwells.me"]
|
10
|
+
s.homepage = "http://github.com/willhw/compass-less-plugin"
|
11
|
+
s.summary = %q{Compass compatible port of Less Framework 3}
|
12
|
+
s.description = %q{Less Framework is a cross-device CSS grid system based on using inline media queries.}
|
13
|
+
|
14
|
+
s.rubyforge_project = "compass-less-plugin"
|
15
|
+
|
16
|
+
s.add_dependency "compass", ">= 0.10"
|
17
|
+
|
18
|
+
s.files = `git ls-files`.split("\n")
|
19
|
+
|
20
|
+
s.has_rdoc = false
|
21
|
+
s.require_paths = ["lib"]
|
22
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
$less-column-width: 60px !default;
|
2
|
+
$less-gutter-width: 24px !default;
|
3
|
+
|
4
|
+
@mixin grid($columns) {
|
5
|
+
@include column($columns, true);
|
6
|
+
|
7
|
+
@if $columns == 13 {
|
8
|
+
padding: 96px 72px 0;
|
9
|
+
} @else if $columns == 5 {
|
10
|
+
padding: 60px 42px 0;
|
11
|
+
} @else if $columns == 3 {
|
12
|
+
padding: 48px 46px 0;
|
13
|
+
} @else {
|
14
|
+
padding: 84px 60px 0;
|
15
|
+
}
|
16
|
+
}
|
17
|
+
|
18
|
+
@mixin column($columns, $last: false) {
|
19
|
+
width: ($less-column-width * $columns) + ($less-gutter-width * ($columns - 1));
|
20
|
+
|
21
|
+
@if $last != true {
|
22
|
+
margin-right: $less-gutter-width;
|
23
|
+
}
|
24
|
+
}
|
25
|
+
|
26
|
+
@mixin mobile-safari {
|
27
|
+
-webkit-text-size-adjust: 100%;
|
28
|
+
}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6,
|
2
|
+
p, blockquote, pre, a, abbr, address, cite, code, del, dfn, em,
|
3
|
+
img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i,
|
4
|
+
dl, dt, dd, ol, ul, li, fieldset, form, label, legend,
|
5
|
+
table, caption, tbody, tfoot, thead, tr, th, td,
|
6
|
+
article, aside, canvas, details, figure, figcaption, hgroup,
|
7
|
+
menu, footer, header, nav, section, summary, time, mark, audio, video {
|
8
|
+
margin: 0;
|
9
|
+
padding: 0;
|
10
|
+
border: 0;
|
11
|
+
}
|
12
|
+
|
13
|
+
article, aside, canvas, figure, figure img, figcaption, hgroup,
|
14
|
+
footer, header, nav, section, audio, video {
|
15
|
+
display: block;
|
16
|
+
}
|
17
|
+
|
18
|
+
a img { border: 0; }
|
19
|
+
|
20
|
+
figure { position: relative; }
|
21
|
+
figure img { width: 100%; }
|
@@ -0,0 +1,66 @@
|
|
1
|
+
$less-line-height: 1.5 !default;
|
2
|
+
|
3
|
+
@mixin font-stack {
|
4
|
+
@if $less-line-height == 1.3 {
|
5
|
+
font-family: Palatino, Constantia, "Palatino Linotype", serif;
|
6
|
+
} @else {
|
7
|
+
font-family: Helvetica, Arial, sans-serif;
|
8
|
+
}
|
9
|
+
}
|
10
|
+
|
11
|
+
@mixin gigantic-font {
|
12
|
+
@if $less-line-height == 1.3 {
|
13
|
+
font-size: 123px;
|
14
|
+
line-height: 132px;
|
15
|
+
} @else {
|
16
|
+
font-size: 110px;
|
17
|
+
line-height: 120px;
|
18
|
+
}
|
19
|
+
|
20
|
+
letter-spacing: -2px;
|
21
|
+
}
|
22
|
+
|
23
|
+
@mixin huge-font {
|
24
|
+
@if $less-line-height == 1.3 {
|
25
|
+
font-size: 76px;
|
26
|
+
line-height: 84px;
|
27
|
+
letter-spacing: -2px;
|
28
|
+
} @else {
|
29
|
+
font-size: 68px;
|
30
|
+
line-height: 72px;
|
31
|
+
letter-spacing: -1px;
|
32
|
+
}
|
33
|
+
}
|
34
|
+
|
35
|
+
@mixin large-font {
|
36
|
+
@if $less-line-height == 1.3 {
|
37
|
+
font-size: 46px;
|
38
|
+
letter-spacing: -1px;
|
39
|
+
} @else {
|
40
|
+
font-size: 42px;
|
41
|
+
}
|
42
|
+
line-height: 48px;
|
43
|
+
}
|
44
|
+
|
45
|
+
@mixin big-font {
|
46
|
+
@if $less-line-height == 1.3 {
|
47
|
+
font-size: 29px;
|
48
|
+
} @else {
|
49
|
+
font-size: 26px;
|
50
|
+
}
|
51
|
+
line-height: 36px;
|
52
|
+
}
|
53
|
+
|
54
|
+
@mixin normal-font {
|
55
|
+
@if $less-line-height == 1.3 {
|
56
|
+
font-size: 18px;
|
57
|
+
} @else {
|
58
|
+
font-size: 16px;
|
59
|
+
}
|
60
|
+
line-height: 24px;
|
61
|
+
}
|
62
|
+
|
63
|
+
@mixin small-font {
|
64
|
+
font-size: 13px;
|
65
|
+
line-height: 18px;
|
66
|
+
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
stylesheet "styles.sass", :media => "all"
|
2
|
+
|
3
|
+
description "Less Framework"
|
4
|
+
|
5
|
+
help %Q{
|
6
|
+
Please see the Less Framework website for documentation:
|
7
|
+
|
8
|
+
http://lessframework.com/
|
9
|
+
}
|
10
|
+
|
11
|
+
welcome_message %Q{
|
12
|
+
Please see the Less Framework website for documentation:
|
13
|
+
|
14
|
+
http://lessframework.com/
|
15
|
+
}
|
@@ -0,0 +1,68 @@
|
|
1
|
+
/* Less Framework 3
|
2
|
+
* by Joni Korpi
|
3
|
+
* http://lessframework.com */
|
4
|
+
|
5
|
+
@import lessframework/reset
|
6
|
+
@import lessframework/grid
|
7
|
+
@import lessframework/text
|
8
|
+
|
9
|
+
h1
|
10
|
+
@include huge-font
|
11
|
+
|
12
|
+
h2
|
13
|
+
@include large-font
|
14
|
+
|
15
|
+
h3
|
16
|
+
@include big-font
|
17
|
+
|
18
|
+
::selection
|
19
|
+
background: rgb(255,255,0)
|
20
|
+
|
21
|
+
::-moz-selection
|
22
|
+
background: rgb(255,255,0)
|
23
|
+
|
24
|
+
img::selection
|
25
|
+
background: transparent
|
26
|
+
|
27
|
+
img::-moz-selection
|
28
|
+
background: transparent
|
29
|
+
|
30
|
+
|
31
|
+
/* Default 8-column layout
|
32
|
+
For tablets at 768 px, netbooks, and old browsers. */
|
33
|
+
|
34
|
+
body
|
35
|
+
@include grid(8)
|
36
|
+
@include font-stack
|
37
|
+
@include normal-font
|
38
|
+
background: rgb(232,232,232)
|
39
|
+
-webkit-tap-highlight-color: rgb(255,255,0)
|
40
|
+
|
41
|
+
|
42
|
+
/* 13-column layout
|
43
|
+
For laptops, desktops, and hdtvs at 1280 px and beyond. */
|
44
|
+
|
45
|
+
@media only screen and (min-width: 1212px)
|
46
|
+
|
47
|
+
body
|
48
|
+
@include grid(13)
|
49
|
+
|
50
|
+
|
51
|
+
/* 5-column layout
|
52
|
+
For 480 px mobiles, narrow browsers, and landscape iPhones. */
|
53
|
+
|
54
|
+
@media only screen and (max-width: 767px) and (min-width: 480px)
|
55
|
+
|
56
|
+
body
|
57
|
+
@include grid(5)
|
58
|
+
@include mobile-safari
|
59
|
+
|
60
|
+
|
61
|
+
/* 3-column layout
|
62
|
+
For all iPhones, iPod Touches, and other 320 px mobiles. */
|
63
|
+
|
64
|
+
@media only screen and (max-width: 479px)
|
65
|
+
|
66
|
+
body
|
67
|
+
@include grid(3)
|
68
|
+
@include mobile-safari
|
metadata
ADDED
@@ -0,0 +1,92 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: compass-less-plugin
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 17
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 3
|
9
|
+
- 1
|
10
|
+
version: 0.3.1
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- William Wells
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2011-01-14 00:00:00 -06:00
|
19
|
+
default_executable:
|
20
|
+
dependencies:
|
21
|
+
- !ruby/object:Gem::Dependency
|
22
|
+
name: compass
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
hash: 31
|
30
|
+
segments:
|
31
|
+
- 0
|
32
|
+
- 10
|
33
|
+
version: "0.10"
|
34
|
+
type: :runtime
|
35
|
+
version_requirements: *id001
|
36
|
+
description: Less Framework is a cross-device CSS grid system based on using inline media queries.
|
37
|
+
email:
|
38
|
+
- projects@hanwells.me
|
39
|
+
executables: []
|
40
|
+
|
41
|
+
extensions: []
|
42
|
+
|
43
|
+
extra_rdoc_files: []
|
44
|
+
|
45
|
+
files:
|
46
|
+
- .gitignore
|
47
|
+
- Gemfile
|
48
|
+
- README.mkdn
|
49
|
+
- Rakefile
|
50
|
+
- compass-less-plugin.gemspec
|
51
|
+
- lib/lessframework.rb
|
52
|
+
- stylesheets/lessframework/_grid.scss
|
53
|
+
- stylesheets/lessframework/_reset.scss
|
54
|
+
- stylesheets/lessframework/_text.scss
|
55
|
+
- templates/project/manifest.rb
|
56
|
+
- templates/project/styles.sass
|
57
|
+
has_rdoc: true
|
58
|
+
homepage: http://github.com/willhw/compass-less-plugin
|
59
|
+
licenses: []
|
60
|
+
|
61
|
+
post_install_message:
|
62
|
+
rdoc_options: []
|
63
|
+
|
64
|
+
require_paths:
|
65
|
+
- lib
|
66
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
67
|
+
none: false
|
68
|
+
requirements:
|
69
|
+
- - ">="
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
hash: 3
|
72
|
+
segments:
|
73
|
+
- 0
|
74
|
+
version: "0"
|
75
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
76
|
+
none: false
|
77
|
+
requirements:
|
78
|
+
- - ">="
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
hash: 3
|
81
|
+
segments:
|
82
|
+
- 0
|
83
|
+
version: "0"
|
84
|
+
requirements: []
|
85
|
+
|
86
|
+
rubyforge_project: compass-less-plugin
|
87
|
+
rubygems_version: 1.3.7
|
88
|
+
signing_key:
|
89
|
+
specification_version: 3
|
90
|
+
summary: Compass compatible port of Less Framework 3
|
91
|
+
test_files: []
|
92
|
+
|