arcabouco 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README.md +4 -0
- data/Rakefile +28 -0
- data/bin/arcabouco +24 -0
- data/lib/arcabouco/application.rb +17 -0
- data/lib/arcabouco/base.rb +20 -0
- data/lib/arcabouco/cmd.rb +53 -0
- data/lib/arcabouco/compass.rb +13 -0
- data/lib/arcabouco/server.rb +114 -0
- data/lib/arcabouco/version.rb +3 -0
- data/lib/arcabouco.rb +7 -0
- data/lib/assets/css/adaptative-mixins.sass +50 -0
- data/lib/assets/css/app.css +8 -0
- data/lib/assets/css/arcabouco-entry.sass +9 -0
- data/lib/assets/css/base.css +0 -0
- data/lib/assets/css/core.sass +13 -0
- data/lib/assets/css/mixins.sass +28 -0
- data/lib/assets/css/no-js.sass +16 -0
- data/lib/assets/css/reset.sass +199 -0
- data/lib/assets/js/app.js +7 -0
- data/lib/assets/js/config.js.coffee +0 -0
- data/lib/assets/js/core/boot.js.coffee +2 -0
- data/lib/assets/js/core/capabilities.js +211 -0
- data/lib/assets/js/core/debug.js.coffee +3 -0
- data/lib/assets/js/core/environment.js.coffee +14 -0
- data/lib/assets/js/templates.js +0 -0
- data/lib/assets/js/usecode.js +0 -0
- data/lib/assets/js/vendor/async.js +701 -0
- data/lib/assets/js/vendor/backbone.js +1608 -0
- data/lib/assets/js/vendor/handlebars.js +2746 -0
- data/lib/assets/js/vendor/jquery.js +9267 -0
- data/lib/assets/js/vendor/tasks.js.coffee +17 -0
- data/lib/assets/js/vendor/underscore.js +1343 -0
- data/lib/assets/js/vendor.js +7 -0
- data/lib/templates/index.haml +38 -0
- data/lib/templates/manifest.erb +13 -0
- metadata +331 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: c4df75f821808c5663d31e05c98aad88e02a6239
|
4
|
+
data.tar.gz: 56dde7619e5ccfb22ef0569f20358e8bd7fe9f20
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: ed26a9f6523304eacd9bcdbbc91d9486a3f5c7d845043d8580f4b42fdb342cc722004fee669984a6b2cb34cde4adcc317371622fc8d0bbf4c652c04344e7d79c
|
7
|
+
data.tar.gz: b049c7abb99db89e56bc8aa7fc9e900bd80b718b80c0007acadc3264aee74e2e7bead3a3decca7968945ac0e6686362026619a572eb6006f3910d92a1869e5b0
|
data/README.md
ADDED
data/Rakefile
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
#!/usr/bin/env rake
|
2
|
+
begin
|
3
|
+
require 'bundler/setup'
|
4
|
+
rescue LoadError
|
5
|
+
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
6
|
+
end
|
7
|
+
|
8
|
+
#APP_RAKEFILE = File.expand_path("../sandbox/Rakefile", __FILE__)
|
9
|
+
#load 'rails/tasks/engine.rake'
|
10
|
+
#
|
11
|
+
|
12
|
+
|
13
|
+
Bundler::GemHelper.install_tasks
|
14
|
+
|
15
|
+
require "rake/testtask"
|
16
|
+
|
17
|
+
# desc "Testing"
|
18
|
+
#
|
19
|
+
# task :test do
|
20
|
+
# 1
|
21
|
+
# end
|
22
|
+
|
23
|
+
Rake::TestTask.new() do |t|
|
24
|
+
t.libs << "test"
|
25
|
+
t.pattern = "test/**/*_test.rb"
|
26
|
+
end
|
27
|
+
|
28
|
+
task :default => :test
|
data/bin/arcabouco
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
lib = File.dirname(__FILE__) + '/../lib'
|
4
|
+
|
5
|
+
require 'rubygems'
|
6
|
+
require 'bundler'
|
7
|
+
begin
|
8
|
+
Bundler.setup(:default, :development)
|
9
|
+
rescue Bundler::BundlerError => e
|
10
|
+
$stderr.puts e.message
|
11
|
+
$stderr.puts "Run `bundle install` to install missing gems"
|
12
|
+
exit e.status_code
|
13
|
+
end
|
14
|
+
Bundler.require
|
15
|
+
|
16
|
+
if File.file?(lib + '/arcabouco/version.rb')
|
17
|
+
$LOAD_PATH << lib
|
18
|
+
else
|
19
|
+
gem 'arcabouco'
|
20
|
+
end
|
21
|
+
|
22
|
+
require 'arcabouco'
|
23
|
+
|
24
|
+
Arcabouco::Command.run
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Arcabouco
|
2
|
+
class Application
|
3
|
+
def initialize
|
4
|
+
configure_root_directory
|
5
|
+
puts "Configured root #{Arcabouco.root}"
|
6
|
+
puts "Configured gem root #{Arcabouco.gem_root}"
|
7
|
+
end
|
8
|
+
|
9
|
+
private
|
10
|
+
|
11
|
+
def configure_root_directory
|
12
|
+
Arcabouco.gem_root = File.expand_path("../..",__FILE__)
|
13
|
+
Dir.chdir "."
|
14
|
+
Arcabouco.root = File.expand_path Dir.getwd
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
require 'slop'
|
2
|
+
|
3
|
+
module Arcabouco
|
4
|
+
|
5
|
+
class Command
|
6
|
+
def self.run(args = ARGV)
|
7
|
+
new.run(args)
|
8
|
+
end
|
9
|
+
|
10
|
+
def initialize
|
11
|
+
end
|
12
|
+
|
13
|
+
def run(args = ARGV)
|
14
|
+
opts = Slop.parse do
|
15
|
+
banner 'Usage: arcabouco [options]'
|
16
|
+
|
17
|
+
on 's', 'server', 'Run as server'
|
18
|
+
on 'b', 'build', 'Build'
|
19
|
+
end
|
20
|
+
Arcabouco::Application.new
|
21
|
+
if opts.server?
|
22
|
+
run_server
|
23
|
+
elsif opts.build?
|
24
|
+
run_build
|
25
|
+
else
|
26
|
+
puts opts
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
private
|
31
|
+
|
32
|
+
def help
|
33
|
+
program = File.basename($0)
|
34
|
+
[
|
35
|
+
"#{program}:",
|
36
|
+
"documentation",
|
37
|
+
"goes here"
|
38
|
+
].join("\n")
|
39
|
+
end
|
40
|
+
|
41
|
+
def run_server
|
42
|
+
Arcabouco::Server.new.run
|
43
|
+
end
|
44
|
+
|
45
|
+
def run_build
|
46
|
+
server = Arcabouco::Server.new
|
47
|
+
server.build()
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
53
|
+
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'compass'
|
2
|
+
|
3
|
+
|
4
|
+
Compass.configuration do |compass|
|
5
|
+
compass.sprite_load_path = [ 'app/sprites' ]
|
6
|
+
compass.images_dir = 'app/media'
|
7
|
+
compass.css_dir = 'app/css'
|
8
|
+
compass.sass_dir = 'app/css'
|
9
|
+
compass.javascripts_dir = 'app/js'
|
10
|
+
compass.relative_assets = true
|
11
|
+
compass.http_generated_images_path = '/app.assets/media'
|
12
|
+
end
|
13
|
+
|
@@ -0,0 +1,114 @@
|
|
1
|
+
require 'sinatra'
|
2
|
+
require 'sinatra/base'
|
3
|
+
require 'rack/test'
|
4
|
+
require 'sprockets'
|
5
|
+
require 'compass'
|
6
|
+
require 'sprockets-sass'
|
7
|
+
require 'handlebars_assets'
|
8
|
+
require 'pathname'
|
9
|
+
|
10
|
+
Encoding.default_external = Encoding::UTF_8
|
11
|
+
Encoding.default_internal = Encoding::UTF_8
|
12
|
+
HandlebarsAssets::Config.template_namespace = 'JST'
|
13
|
+
|
14
|
+
module Arcabouco
|
15
|
+
|
16
|
+
class WebServer < Sinatra::Base
|
17
|
+
attr_accessor :base_dir
|
18
|
+
|
19
|
+
set :views, Proc.new { Arcabouco.root + '/app' }
|
20
|
+
|
21
|
+
def initialize()
|
22
|
+
self.base_dir = Arcabouco.root
|
23
|
+
super
|
24
|
+
end
|
25
|
+
|
26
|
+
def relative_to
|
27
|
+
"../" + Pathname.new(File.expand_path('../templates', File.dirname(__FILE__))).relative_path_from(Pathname.new(Arcabouco.root)).to_s
|
28
|
+
end
|
29
|
+
|
30
|
+
get '/manifest.appcache' do
|
31
|
+
erb :"#{relative_to}/manifest", :locals => { :assets => $environment }
|
32
|
+
end
|
33
|
+
|
34
|
+
get '/*' do
|
35
|
+
haml :"#{relative_to}/index", locals: { :assets => $environment }, layout: false
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
class Server
|
40
|
+
attr_accessor :root
|
41
|
+
attr_accessor :rack
|
42
|
+
attr_accessor :env
|
43
|
+
|
44
|
+
def initialize
|
45
|
+
self.root = Arcabouco.root
|
46
|
+
setup_env
|
47
|
+
setup_rack
|
48
|
+
end
|
49
|
+
|
50
|
+
def setup_env
|
51
|
+
self.env = Sprockets::Environment.new
|
52
|
+
self.env.append_path 'app/media'
|
53
|
+
self.env.append_path 'app/js'
|
54
|
+
self.env.append_path 'app/css'
|
55
|
+
self.env.append_path HandlebarsAssets.path
|
56
|
+
self.env.append_path File.join(Arcabouco.gem_root,'assets','css')
|
57
|
+
self.env.append_path File.join(Arcabouco.gem_root,'assets','js')
|
58
|
+
end
|
59
|
+
|
60
|
+
def get_env
|
61
|
+
self.env
|
62
|
+
end
|
63
|
+
|
64
|
+
def get_rack
|
65
|
+
self.rack
|
66
|
+
end
|
67
|
+
|
68
|
+
def setup_rack
|
69
|
+
app = Arcabouco::WebServer.new
|
70
|
+
|
71
|
+
# app_css.write_to( Arcabouco.root + "/public/app-#{app_css.digest}.min.css" )
|
72
|
+
$environment = self.get_env()
|
73
|
+
self.rack = Rack::Builder.new do
|
74
|
+
map '/app.assets' do
|
75
|
+
run $environment
|
76
|
+
end
|
77
|
+
run app
|
78
|
+
end
|
79
|
+
self.rack
|
80
|
+
end
|
81
|
+
|
82
|
+
def compile_view(path,output)
|
83
|
+
browser = Rack::Test::Session.new(Rack::MockSession.new(rack))
|
84
|
+
response = browser.get path, {}
|
85
|
+
File.open(Arcabouco.root + "/public/" + output, 'w+') do |f|
|
86
|
+
f.puts response.body
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
def prepare_env_for_build
|
91
|
+
self.env.js_compressor = :uglify
|
92
|
+
self.env.css_compressor = :sass
|
93
|
+
end
|
94
|
+
|
95
|
+
def build
|
96
|
+
FileUtils.mkpath Arcabouco.root + "/public"
|
97
|
+
FileUtils.mkpath Arcabouco.root + "/public/app.assets"
|
98
|
+
|
99
|
+
prepare_env_for_build
|
100
|
+
|
101
|
+
manifest = Sprockets::Manifest.new(env, Arcabouco.root + "/public/app.assets/manifest.json")
|
102
|
+
manifest.compile(%w(app.css app.js vendor.js vendor.css *.png))
|
103
|
+
|
104
|
+
compile_view "/", "index.html"
|
105
|
+
compile_view "/manifest.appcache", "manifest.appcache"
|
106
|
+
end
|
107
|
+
|
108
|
+
def run
|
109
|
+
thin = Rack::Handler.get('thin')
|
110
|
+
thin.run self.rack
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
end
|
data/lib/arcabouco.rb
ADDED
@@ -0,0 +1,50 @@
|
|
1
|
+
@mixin for-hd()
|
2
|
+
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 3/2), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5)
|
3
|
+
@content
|
4
|
+
|
5
|
+
@mixin for-ios-hd()
|
6
|
+
@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2)
|
7
|
+
@content
|
8
|
+
|
9
|
+
@mixin for-no-js()
|
10
|
+
.no-js body
|
11
|
+
@content
|
12
|
+
|
13
|
+
@mixin for-screen()
|
14
|
+
@media only screen
|
15
|
+
@content
|
16
|
+
|
17
|
+
@mixin for-print()
|
18
|
+
@media only print
|
19
|
+
@content
|
20
|
+
|
21
|
+
@mixin for-mobile-portrait()
|
22
|
+
@media only screen and ( max-width: 479px)
|
23
|
+
@content
|
24
|
+
.mq-mp
|
25
|
+
@content
|
26
|
+
|
27
|
+
@mixin for-mobile-landscape()
|
28
|
+
@media only screen and (max-width: 767px) and (min-width: 480px)
|
29
|
+
@content
|
30
|
+
.mp-ml
|
31
|
+
@content
|
32
|
+
|
33
|
+
@mixin for-tablets()
|
34
|
+
@media only screen and (max-width: 1024px) and (min-width: 768px)
|
35
|
+
@content
|
36
|
+
.mp-tb
|
37
|
+
@content
|
38
|
+
|
39
|
+
@mixin for-large-screens( $start-width: 768px )
|
40
|
+
@media only screen and (min-width: $start-width)
|
41
|
+
@content
|
42
|
+
.mq-ls
|
43
|
+
@content
|
44
|
+
|
45
|
+
@mixin for-small-screens( $max-width: 767px )
|
46
|
+
@media only screen and (max-width: $max-width )
|
47
|
+
@content
|
48
|
+
.mq-sm
|
49
|
+
@content
|
50
|
+
|
@@ -0,0 +1,8 @@
|
|
1
|
+
/*
|
2
|
+
* Adding a UTF-8 Character to Fix áé
|
3
|
+
* This is a manifest file that'll automatically include all the stylesheets available in this directory
|
4
|
+
* and any sub-directories. You're free to add application-wide styles to this file and they'll appear at
|
5
|
+
* the top of the compiled file, but it's generally better to create a new file per style scope.
|
6
|
+
*= require_self
|
7
|
+
*= require arcabouco-entry.sass
|
8
|
+
*/
|
File without changes
|
@@ -0,0 +1,13 @@
|
|
1
|
+
@charset "UTF-8"
|
2
|
+
|
3
|
+
@import "compass/css3/background-size"
|
4
|
+
@import "compass/css3/images"
|
5
|
+
@import "compass/utilities/sprites"
|
6
|
+
@import "compass/css3"
|
7
|
+
|
8
|
+
// @import "variables"
|
9
|
+
// @import "iux/variables"
|
10
|
+
|
11
|
+
@import "mixins"
|
12
|
+
@import "adaptative-mixins"
|
13
|
+
// @import "sprite-mixins"
|
@@ -0,0 +1,28 @@
|
|
1
|
+
@mixin box-mode
|
2
|
+
box-sizing: border-box
|
3
|
+
-ms-box-sizing: border-box
|
4
|
+
-moz-box-sizing: border-box
|
5
|
+
-webkit-box-sizing: border-box
|
6
|
+
|
7
|
+
@mixin block( $size:1 )
|
8
|
+
width: #{($size * $baseBlockSize)}
|
9
|
+
|
10
|
+
@mixin text-overflow()
|
11
|
+
overflow: hidden
|
12
|
+
text-overflow: ellipsis
|
13
|
+
white-space: nowrap
|
14
|
+
|
15
|
+
@mixin transition( $transition )
|
16
|
+
-webkit-transition: $transition
|
17
|
+
-moz-transition: $transition
|
18
|
+
-ms-transition: $transition
|
19
|
+
-o-transition: $transition
|
20
|
+
transition: $transition
|
21
|
+
|
22
|
+
@mixin user-select( $select )
|
23
|
+
-webkit-user-select: $select
|
24
|
+
-moz-user-select: $select
|
25
|
+
-ms-user-select: $select
|
26
|
+
-o-user-select: $select
|
27
|
+
user-select: $select
|
28
|
+
|
@@ -0,0 +1,199 @@
|
|
1
|
+
@import "compass/css3"
|
2
|
+
// HTML5 Reset :: style.css
|
3
|
+
// ----------------------------------------------------------
|
4
|
+
// We have learned much from/been inspired by/taken code where offered from:
|
5
|
+
//
|
6
|
+
// Eric Meyer :: http://ericmeyer.com
|
7
|
+
// HTML5 Doctor :: http://html5doctor.com
|
8
|
+
// and the HTML5 Boilerplate :: http://html5boilerplate.com
|
9
|
+
|
10
|
+
// Let's default this puppy out
|
11
|
+
// -------------------------------------------------------------------------------
|
12
|
+
|
13
|
+
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, figure, footer, header, hgroup, menu, nav, section, menu, time, mark, audio, video
|
14
|
+
margin: 0
|
15
|
+
padding: 0
|
16
|
+
border: 0
|
17
|
+
outline: 0
|
18
|
+
font-size: 100%
|
19
|
+
vertical-align: baseline
|
20
|
+
background: transparent
|
21
|
+
-webkit-text-size-adjust: 100%
|
22
|
+
-ms-text-size-adjust: 100%
|
23
|
+
|
24
|
+
html
|
25
|
+
font-family: "Arial"
|
26
|
+
height: 100%
|
27
|
+
width: 100%
|
28
|
+
position: relative
|
29
|
+
@include box-sizing( border-box )
|
30
|
+
|
31
|
+
audio,canvas,video
|
32
|
+
display: inline-block
|
33
|
+
*display: inline
|
34
|
+
*zoom: 1
|
35
|
+
|
36
|
+
article, aside, figure, footer, header, hgroup, nav, section, details, figcaption
|
37
|
+
display: block
|
38
|
+
|
39
|
+
// force a vertical scrollbar to prevent a jumpy page
|
40
|
+
// html.desktop
|
41
|
+
// overflow-y: scroll
|
42
|
+
|
43
|
+
html.mobile
|
44
|
+
overflow-y: auto
|
45
|
+
|
46
|
+
// we use a lot of ULs that aren't bulleted. don't forget to restore the bullets within content. */
|
47
|
+
ul
|
48
|
+
list-style: none
|
49
|
+
|
50
|
+
blockquote, q
|
51
|
+
quotes: none
|
52
|
+
|
53
|
+
blockquote:before, blockquote:after, q:before, q:after
|
54
|
+
content: ''
|
55
|
+
content: none
|
56
|
+
|
57
|
+
a
|
58
|
+
margin: 0
|
59
|
+
padding: 0
|
60
|
+
font-size: 100%
|
61
|
+
vertical-align: baseline
|
62
|
+
background: transparent
|
63
|
+
|
64
|
+
del
|
65
|
+
text-decoration: line-through
|
66
|
+
|
67
|
+
abbr[title], dfn[title]
|
68
|
+
border-bottom: 1px dotted #000
|
69
|
+
cursor: help
|
70
|
+
|
71
|
+
// tables still need cellspacing="0" in the markup
|
72
|
+
table
|
73
|
+
border-collapse: collapse
|
74
|
+
border-spacing: 0
|
75
|
+
th
|
76
|
+
font-weight: bold
|
77
|
+
vertical-align: bottom
|
78
|
+
td
|
79
|
+
font-weight: normal
|
80
|
+
vertical-align: top
|
81
|
+
|
82
|
+
hr
|
83
|
+
display: block
|
84
|
+
height: 1px
|
85
|
+
border: 0
|
86
|
+
border-top: 1px solid #ccc
|
87
|
+
margin: 1em 0
|
88
|
+
padding: 0
|
89
|
+
|
90
|
+
input, select
|
91
|
+
vertical-align: middle
|
92
|
+
|
93
|
+
pre
|
94
|
+
white-space: pre
|
95
|
+
white-space: pre-wrap
|
96
|
+
white-space: pre-line
|
97
|
+
|
98
|
+
input[type="radio"]
|
99
|
+
vertical-align: text-bottom
|
100
|
+
input[type="checkbox"]
|
101
|
+
vertical-align: bottom
|
102
|
+
*vertical-align: baseline
|
103
|
+
.ie6 input
|
104
|
+
vertical-align: text-bottom
|
105
|
+
|
106
|
+
select, input, textarea
|
107
|
+
font: 99% sans-serif
|
108
|
+
|
109
|
+
table
|
110
|
+
font-size: inherit
|
111
|
+
font: 100%
|
112
|
+
|
113
|
+
// Accessible focus treatment
|
114
|
+
// people.opera.com/patrickl/experiments/keyboard/test
|
115
|
+
a:hover, a:active
|
116
|
+
outline: none
|
117
|
+
|
118
|
+
small
|
119
|
+
font-size: 85%
|
120
|
+
|
121
|
+
strong, th
|
122
|
+
font-weight: bold
|
123
|
+
|
124
|
+
td, td img
|
125
|
+
vertical-align: top
|
126
|
+
|
127
|
+
// Make sure sup and sub don't screw with your line-heights
|
128
|
+
// gist.github.com/413930
|
129
|
+
sub, sup
|
130
|
+
font-size: 75%
|
131
|
+
line-height: 0
|
132
|
+
position: relative
|
133
|
+
sup
|
134
|
+
top: -0.5em
|
135
|
+
sub
|
136
|
+
bottom: -0.25em
|
137
|
+
|
138
|
+
// standardize any monospaced elements
|
139
|
+
pre, code, kbd, samp
|
140
|
+
font-family: monospace, sans-serif
|
141
|
+
|
142
|
+
// hand cursor on clickable elements
|
143
|
+
.clickable,label, input[type=button], input[type=submit], button
|
144
|
+
cursor: pointer
|
145
|
+
|
146
|
+
// Webkit browsers add a 2px margin outside the chrome of form elements
|
147
|
+
button, input, select, textarea
|
148
|
+
margin: 0
|
149
|
+
font-size: 100%
|
150
|
+
vertical-align: middle
|
151
|
+
|
152
|
+
// make buttons play nice in IE
|
153
|
+
button
|
154
|
+
width: auto
|
155
|
+
*overflow: visible
|
156
|
+
line-height: normal
|
157
|
+
|
158
|
+
button::-moz-focus-inner,input::-moz-focus-inner
|
159
|
+
padding: 0px
|
160
|
+
margin: 0px
|
161
|
+
|
162
|
+
button, input[type="button"],input[type="reset"],input[type="submit"]
|
163
|
+
cursor: pointer
|
164
|
+
-webkit-appearance: button
|
165
|
+
|
166
|
+
input[type="search"]
|
167
|
+
-webkit-box-sizing: content-box
|
168
|
+
-moz-box-sizing: content-box
|
169
|
+
box-sizing: content-box
|
170
|
+
-webkit-appearance: textfield
|
171
|
+
|
172
|
+
input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button
|
173
|
+
-webkit-appearance: none
|
174
|
+
|
175
|
+
textarea
|
176
|
+
overflow: auto
|
177
|
+
vertical-align: top
|
178
|
+
|
179
|
+
// scale images in IE7 more attractively
|
180
|
+
.ie7 img
|
181
|
+
-ms-interpolation-mode: bicubic
|
182
|
+
// prevent BG image flicker upon hover
|
183
|
+
.ie6 html
|
184
|
+
filter: expression(document.execCommand("BackgroundImageCache", false, true))
|
185
|
+
|
186
|
+
// let's clear some floats
|
187
|
+
.auto-clear:before, .auto-clear:after
|
188
|
+
content: "\0020"
|
189
|
+
display: block
|
190
|
+
height: 0
|
191
|
+
overflow: hidden
|
192
|
+
.auto-clear:after
|
193
|
+
clear: both
|
194
|
+
margin-bottom: 20px
|
195
|
+
.auto-clear
|
196
|
+
zoom: 1
|
197
|
+
|
198
|
+
.clear
|
199
|
+
clear: both
|
File without changes
|