* Fixed a serious class ordering issue which appeared during the PHP to Ruby porting of the generator.

* Added the push and pull classes which 960.gs recently added.
This commit is contained in:
2009-07-16 19:53:36 -07:00
parent c66bb910e8
commit 2ed9a7bd35
5 changed files with 3811 additions and 2111 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -21,6 +21,7 @@ grids.each do |grid_name, value|
# global
key = "\tdisplay: inline;\n"
key << "\tfloat: left;\n"
key << "\tposition: relative;\n"
key << "\tmargin-left: " + margin.to_s + "px;\n"
key << "\tmargin-right: " + margin.to_s + "px;\n"
for i in 1..cells
@@ -29,16 +30,6 @@ grids.each do |grid_name, value|
classes[key].push(val)
end
# alpha / omega
key = "\tmargin-left: 0;\n"
val = ".alpha"
classes[key] = [] if !classes.has_key?(key)
classes[key].push(val)
key = "\tmargin-right: 0;\n"
val = ".omega"
classes[key] = [] if !classes.has_key?(key)
classes[key].push(val)
# grid_*
for i in 1..cells
key = "\twidth: " + ((cell_size * i) - (margin * 2)).to_s + "px;\n"
@@ -63,54 +54,98 @@ grids.each do |grid_name, value|
classes[key].push(val)
end
# push_*
for i in 1..(cells-1)
key = "\tleft: " + ((cell_size) * i).to_s + "px;\n"
val = ".container_" + cells.to_s + " .push_" + i.to_s
classes[key] = [] if !classes.has_key?(key)
classes[key].push(val)
end
# clear
key = "\tclear: both;\n"
key << "\tdisplay: block;\n"
key << "\toverflow: hidden;\n"
key << "\tvisibility: hidden;\n"
key << "\twidth: 0;\n"
key << "\theight: 0;\n"
val = ".clear"
# pull_*
for i in 1..(cells-1)
key = "\tleft: -" + ((cell_size) * i).to_s + "px;\n"
val = ".container_" + cells.to_s + " .pull_" + i.to_s
classes[key] = [] if !classes.has_key?(key)
classes[key].push(val)
end
# clearfix
key = "\tclear: both;\n"
key << "\tcontent: '.';\n"
key << "\tdisplay: block;\n"
key << "\tvisibility: hidden;\n"
key << "\theight: 0;\n"
val = ".clearfix:after"
classes[key] = [] if !classes.has_key?(key)
classes[key].push(val)
end
key = "\tdisplay: inline-block;\n"
val = ".clearfix"
classes[key] = [] if !classes.has_key?(key)
classes[key].push(val)
key = "\theight: 1%;\n"
val = "* html .clearfix"
classes[key] = [] if !classes.has_key?(key)
classes[key].push(val)
key = "\tdisplay: block;\n"
val = ".clearfix"
classes[key] = [] if !classes.has_key?(key)
classes[key].push(val)
# generate output
output = ""
classes.sort
output = <<-HTML
classes.sort{|a,b| a[0]<=>b[0]}.each do |key, value|
/*
760 Grid System ~ For Facebook Applications.
-- Based on the 960 Grid System ~ http://960.gs/
Licensed under MIT.
*/
/* `Grid >> Children (Alpha ~ First, Omega ~ Last)
----------------------------------------------------------------------------------------------------*/
.alpha {
margin-left: 0;
}
.omega {
margin-right: 0;
}
/* `Containers & Grids
----------------------------------------------------------------------------------------------------*/
HTML
classes.sort{|a,b| a[1]<=>b[1]}.each do |key, value|
output << value.uniq.join(",\n") + " {\n"
output << key
output << "}\n"
output << "\n"
end
output << <<-HTML
/* `Clear Floated Elements
----------------------------------------------------------------------------------------------------*/
/* http://sonspring.com/journal/clearing-floats */
.clear {
clear: both;
display: block;
overflow: hidden;
visibility: hidden;
width: 0;
height: 0;
}
/* http://perishablepress.com/press/2008/02/05/lessons-learned-concerning-the-clearfix-css-hack */
.clearfix:after {
clear: both;
content: ' ';
display: block;
font-size: 0;
line-height: 0;
visibility: hidden;
width: 0;
height: 0;
}
.clearfix {
display: inline-block;
}
* html .clearfix {
height: 1%;
}
.clearfix {
display: block;
}
HTML
puts output