middleman 2.0.6 → 2.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. data/CHANGELOG +5 -0
  2. data/lib/middleman.rb +17 -11
  3. data/lib/middleman/base.rb +5 -0
  4. data/lib/middleman/core_extensions/sprockets.rb +14 -9
  5. data/lib/middleman/guard.rb +0 -1
  6. data/lib/middleman/templates/default/source/layout.erb +2 -2
  7. data/lib/middleman/templates/html5/source/404.html +33 -27
  8. data/lib/middleman/templates/html5/source/README.md +388 -0
  9. data/lib/middleman/templates/html5/source/apple-touch-icon-114x114-precomposed.png +0 -0
  10. data/lib/middleman/templates/html5/source/apple-touch-icon-57x57-precomposed.png +0 -0
  11. data/lib/middleman/templates/html5/source/apple-touch-icon-72x72-precomposed.png +0 -0
  12. data/lib/middleman/templates/html5/source/apple-touch-icon-precomposed.png +0 -0
  13. data/lib/middleman/templates/html5/source/apple-touch-icon.png +0 -0
  14. data/lib/middleman/templates/html5/source/crossdomain.xml +8 -8
  15. data/lib/middleman/templates/html5/source/css/style.css +192 -160
  16. data/lib/middleman/templates/html5/source/favicon.ico +0 -0
  17. data/lib/middleman/templates/html5/source/humans.txt +27 -27
  18. data/lib/middleman/templates/html5/source/img/.gitignore +0 -0
  19. data/lib/middleman/templates/html5/source/index.html +37 -38
  20. data/lib/middleman/templates/html5/source/js/libs/{jquery-1.5.1.js → jquery-1.6.2.js} +1850 -1185
  21. data/lib/middleman/templates/html5/source/js/libs/jquery-1.6.2.min.js +18 -0
  22. data/lib/middleman/templates/html5/source/js/libs/modernizr-2.0.6.min.js +4 -0
  23. data/lib/middleman/templates/html5/source/js/mylibs/.gitignore +0 -0
  24. data/lib/middleman/templates/html5/source/js/plugins.js +8 -3
  25. data/lib/middleman/templates/html5/source/js/script.js +1 -19
  26. data/lib/middleman/templates/html5/source/robots.txt +0 -0
  27. data/lib/middleman/templates/html5/source/test/index.html +17 -17
  28. data/lib/middleman/templates/html5/source/test/tests.js +3 -6
  29. data/lib/middleman/version.rb +1 -1
  30. data/middleman.gemspec +24 -21
  31. metadata +11 -14
  32. data/lib/middleman/templates/html5/source/css/handheld.css +0 -8
  33. data/lib/middleman/templates/html5/source/js/libs/dd_belatedpng.js +0 -13
  34. data/lib/middleman/templates/html5/source/js/libs/jquery-1.5.1.min.js +0 -16
  35. data/lib/middleman/templates/html5/source/js/libs/modernizr-1.7.min.js +0 -2
data/CHANGELOG CHANGED
@@ -1,3 +1,8 @@
1
+ 2.0.7
2
+ =====
3
+ - Updated HTML5 Boilerplate to v2
4
+ - Make Rails 3.1 javascript gems available to Sprockets
5
+
1
6
  2.0.6
2
7
  =====
3
8
  - Pulled out livereload feature into its own extension, still installed by default.
@@ -149,23 +149,15 @@ module Middleman
149
149
 
150
150
  # guard-livereload
151
151
  autoload :LiveReload, "middleman/features/live_reload"
152
-
153
- # Automatically resize images for mobile devises
154
- # autoload :TinySrc, "middleman/features/tiny_src"
155
152
 
156
153
  # Automatically convert filename.html files into filename/index.html
157
154
  autoload :DirectoryIndexes, "middleman/features/directory_indexes"
158
155
  end
159
156
 
160
- EXTENSION_FILE = "middleman_init.rb"
157
+ EXTENSION_FILE = File.join("lib", "middleman_init.rb")
161
158
  def self.load_extensions_in_path
162
- # If newer Rubygems
163
- extensions = if Gem::Specification.respond_to? :select
164
- ::Gem::Specification.select do |spec|
165
- spec.contains_requirable_file?(EXTENSION_FILE)
166
- end
167
- else
168
- ::Gem::GemPathSearcher.new.find_all(EXTENSION_FILE)
159
+ extensions = rubygems_latest_specs.select do |spec|
160
+ spec_has_file?(spec, EXTENSION_FILE)
169
161
  end
170
162
 
171
163
  extensions.each do |spec|
@@ -174,6 +166,20 @@ module Middleman
174
166
  end
175
167
  end
176
168
 
169
+ def self.rubygems_latest_specs
170
+ # If newer Rubygems
171
+ if Gem::Specification.respond_to? :latest_specs
172
+ Gem::Specification.latest_specs
173
+ else
174
+ Gem.source_index.latest_specs
175
+ end
176
+ end
177
+
178
+ def self.spec_has_file?(spec, path)
179
+ full_path = File.join(spec.full_gem_path, path)
180
+ File.exists?(full_path)
181
+ end
182
+
177
183
  def self.server(&block)
178
184
  sandbox = Class.new(Sinatra::Base)
179
185
  sandbox.register Base
@@ -1,6 +1,11 @@
1
1
  module Middleman::Base
2
2
  class << self
3
3
  def registered(app)
4
+ # Explicitly require json support
5
+ require "i18n"
6
+ require "active_support"
7
+ require "active_support/json"
8
+
4
9
  app.extend ClassMethods
5
10
  app.send :include, InstanceMethods
6
11
 
@@ -1,13 +1,25 @@
1
+ require 'pathname'
2
+ require 'rbconfig'
1
3
  require "sprockets"
2
-
4
+
3
5
  module Middleman::CoreExtensions::Sprockets
4
6
  class << self
5
7
  def registered(app)
6
8
  app.set :js_compressor, false
7
9
 
8
10
  app.after_configuration do
11
+ js_env = Middleman::CoreExtensions::Sprockets::JavascriptEnvironment.new(app)
12
+
13
+ js_dir = File.join("vendor", "assets", "javascripts")
14
+ gems_with_js = ::Middleman.rubygems_latest_specs.select do |spec|
15
+ ::Middleman.spec_has_file?(spec, js_dir)
16
+ end.each do |spec|
17
+ js_env.append_path File.join(spec.full_gem_path, js_dir)
18
+ end
19
+
20
+ # add paths to js_env (vendor/assets/javascripts)
9
21
  app.map "/#{app.js_dir}" do
10
- run Middleman::CoreExtensions::Sprockets::JavascriptEnvironment.new(app)
22
+ run js_env
11
23
  end
12
24
 
13
25
  # app.map "/#{app.css_dir}" do
@@ -38,13 +50,6 @@ module Middleman::CoreExtensions::Sprockets
38
50
 
39
51
  # configure search paths
40
52
  append_path app.js_dir
41
-
42
- # jQuery for Sprockets
43
- # begin
44
- # require "jquery-rails"
45
- # jquery-rails / vendor / assets / javascripts
46
- # rescue LoadError
47
- # end
48
53
  end
49
54
 
50
55
  def javascript_exception_response(exception)
@@ -32,7 +32,6 @@ module Middleman
32
32
  guardfile_contents << result unless result.nil?
33
33
  end
34
34
 
35
- $stderr.puts guardfile_contents
36
35
  ::Guard.start({ :guardfile_contents => guardfile_contents })
37
36
  end
38
37
  end
@@ -11,9 +11,9 @@
11
11
 
12
12
  <body class="<%= page_classes %>">
13
13
 
14
- <section id="main" role="main">
14
+ <div id="main" role="main">
15
15
  <%= yield %>
16
- </section>
16
+ </div>
17
17
 
18
18
  </body>
19
19
  </html>
@@ -1,32 +1,38 @@
1
1
  <!doctype html>
2
- <title>Page Not Found</title>
3
- <style>
4
- body { text-align: center;}
5
- h1 { font-size: 50px; text-align: center }
6
- span[frown] { transform: rotate(90deg); display:inline-block; color: #bbb; }
7
- body { font: 20px Constantia, "Hoefler Text", "Adobe Caslon Pro", Baskerville, Georgia, Times, serif; color: #999; text-shadow: 2px 2px 2px rgba(200, 200, 200, 0.5); }
8
- ::-moz-selection{ background:#FF5E99; color:#fff; }
9
- ::selection { background:#FF5E99; color:#fff; }
10
- article {display:block; text-align: left; width: 500px; margin: 0 auto; }
11
-
12
- a { color: rgb(36, 109, 56); text-decoration:none; }
13
- a:hover { color: rgb(96, 73, 141) ; text-shadow: 2px 2px 2px rgba(36, 109, 56, 0.5); }
14
- </style>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>Page Not Found :(</title>
6
+ <style>
7
+ body { text-align: center;}
8
+ h1 { font-size: 50px; text-align: center }
9
+ span[frown] { transform: rotate(90deg); display:inline-block; color: #bbb; }
10
+ body { font: 20px Constantia, 'Hoefler Text', "Adobe Caslon Pro", Baskerville, Georgia, Times, serif; color: #999; text-shadow: 2px 2px 2px rgba(200, 200, 200, 0.5); }
11
+ ::-moz-selection{ background:#FF5E99; color:#fff; }
12
+ ::selection { background:#FF5E99; color:#fff; }
13
+ article {display:block; text-align: left; width: 500px; margin: 0 auto; }
14
+
15
+ a { color: rgb(36, 109, 56); text-decoration:none; }
16
+ a:hover { color: rgb(96, 73, 141) ; text-shadow: 2px 2px 2px rgba(36, 109, 56, 0.5); }
17
+ </style>
18
+ </head>
19
+ <body>
20
+ <article>
21
+ <h1>Not found <span frown>:(</span></h1>
22
+ <div>
23
+ <p>Sorry, but the page you were trying to view does not exist.</p>
24
+ <p>It looks like this was the result of either:</p>
25
+ <ul>
26
+ <li>a mistyped address</li>
27
+ <li>an out-of-date link</li>
28
+ </ul>
29
+ </div>
15
30
 
16
- <article>
17
- <h1>Not found <span frown>:(</span></h1>
18
- <div>
19
- <p>Sorry, but the page you were trying to view does not exist.</p>
20
- <p>It looks like this was the result of either:</p>
21
- <ul>
22
- <li>a mistyped address</li>
23
- <li>an out-of-date link</li>
24
- </ul>
25
- </div>
26
-
27
31
  <script>
28
- var GOOG_FIXURL_LANG = (navigator.language || "").slice(0,2),
29
- GOOG_FIXURL_SITE = location.host;
32
+ var GOOG_FIXURL_LANG = (navigator.language || '').slice(0,2),
33
+ GOOG_FIXURL_SITE = location.host;
30
34
  </script>
31
35
  <script src="http://linkhelp.clients.google.com/tbproxy/lh/wm/fixurl.js"></script>
32
- </article>
36
+ </article>
37
+ </body>
38
+ </html>
@@ -0,0 +1,388 @@
1
+ # HTML5 Boilerplate [http://html5boilerplate.com](http://html5boilerplate.com)
2
+
3
+ ## Changelog:
4
+
5
+ ### v.2.0 : August 10th, 2011
6
+
7
+ ### v2.0 HIGHLIGHTS
8
+
9
+ #### NORMALIZE.CSS
10
+
11
+ We are now using [normalize.css](http://github.com/necolas/normalize.css/) developed by Nicolas Gallagher along with Jonathan Neal instead of the traditional CSS Reset stylesheet.
12
+
13
+ normalize.css retains useful browser defaults and includes several common fixes to improve cross-browser (desktop and mobile) styling consistency.
14
+
15
+ Lots of research has gone into normalize, verifying what are the default user agent styles provided by each browser. We can very specifically change only the ones we need to instead of the bulldozer approach.
16
+
17
+ ##### Why this is great news:
18
+
19
+ * Who likes being so damn redundant and declaring: em, i { font-style: italic; }
20
+ * By using normalization instead of a reset + building up default styles, we use less styles and save bytes
21
+ * Less noise in your dev tools: when debugging, you don't have to trawl through every reset selector to reach the actual style that is causing the issue.
22
+ * More details here: http://necolas.github.com/normalize.css/
23
+
24
+
25
+ #### PROMPT CHROME FRAME FOR IE6
26
+ * With the latest release of Chrome frame which does not require admin access to be installed, we felt it was a good time to prompt IE 6 users to install Chrome Frame. (Using protocol-relative url and exact version for higher expires headers)
27
+
28
+
29
+ ####BUILD SCRIPT++: Faster, @import inlining, appcache generation
30
+ * If 15 seconds was too long to wait before, you'll be happy with the changes. Via a new "intermediate" folder, we cut down build time by 80% or more.
31
+ * If you use <code>@import</code>s in your CSS to author in multiple files, the build script will inline all these together. This way, you have a maintainable authoring experience, and still a highly performant production version.
32
+ * Making an app that works offline is a badge of honor. Now with a flick of a config switch, the H5BP build script can autogenerate your cache manifest file with all the right info and wire it up. It'll also keep the manifest revved as you deploy new changes.
33
+
34
+ ##### ADDING RESPOND.JS
35
+ * Add respond.js as a shift to a responsive approach. Updated it to improved, comment-free version which would enable IEs to also apply styles using media queries.
36
+
37
+
38
+ #### PNGFIX & HANDHELD REMOVED
39
+ * Remove handheld.css as we do not think it was useful among the diverse feature phones
40
+ * We feel tools like imagealpha and pngquant are more useful than using stopgap fixes like belatedpng.
41
+
42
+ ### detailed 2.0 changelog
43
+
44
+ #### .HTACCESS
45
+ * Disable directory browsing by default
46
+ * removed trailing slash redirects in htaccess. More: https://github.com/paulirish/html5-boilerplate/wiki/Proper-usage-of-trailing-slash-redirects #493 #515
47
+ * Updating TTF mimetype to fix Google Chrome warning
48
+ * Improved support for all versions of Apache, incl workaround for bug in mod_filter: Fixes #441. Fixes #499. Fixes #535. Closes #549. (the grouping ticket) Ref #576
49
+ * Use substring matching in gzip filter_module and re-enable gzip for some common MIME-types
50
+ * mod_deflate trigger rules modifications
51
+ * Add gzip support for XHTML, RSS, Atom
52
+ * Move font & SVG compression from FilesMatch to FilterProvider / AddOutputFilterByType
53
+ * Added m4a (Need it for IE9) and m4v (HandBrake default) MIME types.
54
+ * moved ETag removal configs closer
55
+ * added Header unset ETag In some servers setting "FileETag None" alone, is not enough. Removing header and setting it to None fixes the issue.
56
+ * Add `Options +FollowSymlinks` when `RewriteEngine` is used. Fixes #489.
57
+ * Some more security for PHP: turn off error display and turn on error logging
58
+ * Allow Blackberry to read vCards
59
+
60
+
61
+ #### BUILD SCRIPT
62
+ * CSSLint, JSLint, JSHint tools are now optionally available in the build script
63
+ * New features in build script:
64
+ * Added a files.bypass property which when set, will not compress the listed JavaScript files, but just silently passes it on to the publish folder without any change.
65
+ * Added a images.bypass with a list of image files or folders within the img directory that you do not want to be optimized. Fixes #564
66
+ * Build script is compatible with php files now. it appears. fixes #392.
67
+ * Build script now generates appcache manifest. see #652
68
+ * Test for ant version to head off problems with ant < 1.8.2
69
+ * removes concatenated css files from index.html when they are linked to with link tag. Fixes #452
70
+ * Added DOCTYPE so Eclipse and other IDE's do not complain about the lack of schema. http://stackoverflow.com/questions/363768/disable-dtd-warning-for-ant-scripts-in-eclipse
71
+ * Updated Windows optipng and jpegtran paths to include ${basedir}
72
+ * Minification affects all .css and .js files in /css and /js dirs, not just the ones explicitly included in concatenation.
73
+ * Build script: compress all images in subfolders, too.
74
+ * Added gae.js_dir and gae.css_dir so that App Engine projects can have the correct directory names swapped in their templates.
75
+ * added a second replace token statement so that "/css/style.css" gets swapped too.
76
+ * change *.png and *.jpg to **/*.png and **/*.jpg so that optimize commands reach subdirectories.
77
+ * Improved build script compatibility with Netbeans IDE. default.properties: added IDE generated files/folders to exclude from build script .gitignore: Filename case correction for Windows generated Thumb.db Fix #374
78
+ * Adding properties to project.properties so that Google App Engine builds don't have "static" prepended when swapping for minified versions.
79
+ * console.log messages are no longer commented out. use log() instead
80
+
81
+ * Much faster build process
82
+
83
+ Intermediate stages are stored in a new intermediate folder, and only
84
+ files that should be published are copied into the publish folder.
85
+
86
+ Files are not deleted at the beginning of every build, and files that
87
+ have already been processed will not be reprocessed unless the source
88
+ has changed.
89
+
90
+ * Files are revved by SHA, not incrementally at each build
91
+
92
+ Versioned files are referenced by a SHA-1 hash of the content rather
93
+ than a build number. This means that changing your HTML and rebuilding
94
+ will not cause your users to redownload the same CSS and JavaScript, and
95
+ a reverted change may cause users to use a copy that was previously
96
+ downloaded. It may be better to use only part of the hash so the HTTP
97
+ request is shorter.
98
+
99
+ * copy files last This slightly simplifies copying because we don't have to exclude PNG, JPEG, or HTML files from the copy stage. it comes preminified, and we don't need to minify it again This also updates the HTML so that the script is not missing if the unminified scripts are unavailable on the server. This commit requires a change to existing HTML files :/
100
+ * change the source htaccess rather than updating it
101
+ * update yuicompressor to 2.4.5. fixes media query minification issue.
102
+ * update htmlcompressor to 1.1 which uses the new yuicompressor for CSS.
103
+ * try not to re-optimize the same images every time
104
+ * Lots of bug fixes for edge cases and improved techniques..
105
+
106
+
107
+
108
+ #### INDEX.HTML
109
+ * Use minified jQuery by default. / jQuery updated to 1.6.2
110
+ * Add respond.js as part of shift to 'mobile first' approach.
111
+ * Updated to Modernizr 2.0 Complete, Production minified.
112
+ * Prompt IE 6 users to install Chrome Frame, update chromeframe install to 1.0.3. Move chromeframe to bottom of page after the other scripts. also reference exact version for higher expires headers. Use protocol-relative url for chrome frame URL Fixes #495
113
+ * Removing touch icon link tags and retaining only the comment.
114
+ * Encourage people to send the X-UA-Compatible HTTP header instead of leaving it in the HTML, to avoid edge case issues. Fixes #378.
115
+ * Remove the cache-busting query parameters from the HTML.
116
+ * Simplify the conditional comment containing code for IE 9+ and modern browsers
117
+ * Simpler escape for `</script>`. See http://mathiasbynens.be/notes/etago for more information.
118
+ * Encourage people to use a custom Modernizr build containing only the features they need for that particular project.
119
+ * Added maximum touch-icon support as per http://mathiasbynens.be/notes/touch-icons#sizes
120
+ * Add a link to optional <meta> tags that could be added to the <head> element: https://github.com/paulirish/html5-boilerplate/issues/482
121
+ * Standardize the use of single and double quotes as per http://h5bp.com/d/The-markup★quotes
122
+ * Added Site Speed tracking for Google Analytics
123
+ * Using Modernizr.load/yepnope for loading Google Analytics. Fixes #542
124
+ * Google Analytics now retrieved with <code>Modernizr.load()</code> for byte brevity and optimal speed
125
+
126
+ #### STYLE.CSS
127
+ * Major: Now using css normalization instead of css reset + building up default styles. Fixes #412, #500, #534. Closes #456. Links #566
128
+ * Add `'oldie'` class to conditional `<html>` classnames. Fix #522
129
+ * Add `img { max-width: 100%; }` to print styles to prevent images from getting cut off.
130
+ * Update clearfix to use 'micro' clearfix http://nicolasgallagher.com/micro-clearfix-hack/
131
+ * Add placeholder CSS MQs for mobile-first approach
132
+ * Tweaking our hot pink ::selection. It is now #fe57a1, which is Festal (adj): pertaining to or befitting a feast, festival, holiday, or gala occasion.
133
+ * Use black for links when printing, refs #147
134
+ * added vertical-align: middle to fix borders on image containers. Fixes #440
135
+ * Add `<svg>` overflow fix for IE9. Group `<img>` and `<svg>` rules in an 'embedded content' section of CSS file. Add {cursor:pointer} to <label> element.
136
+ * Switch to outline:0 for accesible focus treatment. Avoids Opera bug when combined with transitions. Also saves bytes.
137
+ * Set `{overflow:auto}` for `<button>` and `<input>` in `<table>` in IE6/7. Avoids numerous layout and whitespace issues that result from setting {overflow:visible} to fix the odd inner spacing of those form elements.
138
+ * Add `{resize: vertical}` to `<textarea>`. Only allow vertical resizing
139
+
140
+
141
+ #### MISC
142
+
143
+ * gitignore additions: textmate project folder, older CVS folders, sass_cache.
144
+ * Update HTML elements demo: reduce repetition, remove deprecated elements, add certain HTML5 elements, add more comprehensive collection of HTML5 input types, include different form markup styles, add form elements box-sizing test
145
+ * Add .gitattributes to help with consistent line endings
146
+ * Changed curly quotes to straight quotes in crossdomain.xml
147
+
148
+
149
+ #### Significant commits:
150
+
151
+ * 26a391c60d0356e2e0dcf1929381583622e1be9c Revert "Added native iOS inertia scrolling"
152
+ * ddaf66a515c09f835603f95fe723d7da691324e6 Major: Now using css normalization instead of css reset + building up default styles
153
+ * e5e057e53815ed55f4ecfaef3057bf2940c7c0b2 Change our conditional comments around the HTML tag to use a single .oldie class.
154
+ * 7f53f98ec734e6b655d7a50fd245277d388fac1e Revert "Change our conditional comments around the HTML tag to use a single .oldie class."
155
+ * 648026d780dc6b9ecad8d37d61a92b69be5fd654 Tweaking our hot pink ::selection based on a suggestion from David Murdoch and research from Adam Diehm.
156
+ * 0e1c7ba929caddec63971cccfb7de7c0d343e060 Use minified jQuery by default.
157
+ * a0ac99a4d96453e68ff4e650fca3055767ec26aa optimize build process
158
+ * bb22ca66a8619808a87c1b5438845ed44baa4d3e Remove the cache-busting query parameters from the HTML.
159
+
160
+
161
+ #### CONTRIBUTORS
162
+ [alrra](https://github.com/alrra) [Adeel Ejaz](http://adeelejaz.com/) [David Murdoch](http://www.vervestudios.co/) [Jonathan Fielding](https://github.com/jonathan-fielding) [Robert Ros](https://github.com/rros) [Rob Larsen](http://htmlcssjavascript.com/) [William Meleyal](http://meleyal.com/) [Bruno De Barros](http://terraduo.com/) [Mike Almond](http://mikealmond.com/) [Frank](https://github.com/thatcoolguy) [Joey Baker](http://byjoeybaker.com/) [Ben Word](http://benword.com/) [Mike Botsko](http://www.botsko.net/) [Carlos Rosquillas](https://github.com/disusered) [Todd H. Gardner](https://github.com/toddhgardner) [rdeknijf](https://github.com/rdeknijf) [John Attebury](https://github.com/johnattebury) [Calvin Rien](https://github.com/darktable) [Ryan Seddon](https://github.com/ryanseddon) [Dayle Rees](http://www.daylerees.com/) [Ryan Smith-Roberts](https://lab.net/) [Brian Blakely](https://github.com/brianblakely) [Steve Heffernan](http://www.steveheffernan.com) [Barney Carroll](http://barneycarroll.com/) [Osman Gormus](https://github.com/gormus) [Jason Tokoph](http://www.mozes.com/) [See Guo Lin](http://see.guol.in/) [Jeremey Hustman](http://www.ukontrol.com/) [James Williams](http://jameswilliams.be/blog) [John-Scott Atlakson](https://github.com/jsma) [stereobooster](https://github.com/stereobooster) [walker](http://walkerhamilton.com/) [François Robichet](http://www.francois.robichet.com/) [leobetosouza](http://leobetosouza.com/) [Matthew Donoughe](http://static.dyndns.org/~mdonoughe/) [Patrick Hall](http://lotsofwords.org/) [Andy Dawson](http://www.ad7six.com/) [Daniel Filho](http://danielfilho.info/blog/) [Clément](https://github.com/clemos) [Joe Morgan](https://github.com/JoeMorgan) [Han Lin Yap](http://www.zencodez.net/) [Gregg Gajic](https://github.com/gg) [Michael Cetrulo](http://www.linkedin.com/in/web2samus) [Robert Doucette](https://github.com/robbyrice) [lexadecimal.com](http://lexadecimal.com/) [Adam Diehm](http://twitter.com/atdiehm)
163
+
164
+
165
+ ### v.1.0 : March 21st, 2011
166
+
167
+ #### Build Script
168
+ <ul>
169
+ <li>Files linked via <code>@import</code> will be inlined into the files they are imported to using Corey Hart's CSS Compressor.</li>
170
+ <li>Environments are definable.</li>
171
+ <li>htaccess Expires headers are upgraded to 1year, as the filenames are revved</li>
172
+ <li>Massive rewrite so you can define which HTML, CSS, and JS files to operate on in your configurable project.properties files. This allows you to let the build script operate on unique folder architectures (including non-H5BP projects).</li>
173
+ <li>Added a source directory option in the build config, so your source files can be in a different directory from the final generated files. (Useful for other CMSes/frameworks like Django.) </li>
174
+ </ul>
175
+
176
+ #### index.html
177
+ <ul>
178
+ <li>We use a <a href="http://paulirish.com/2010/the-protocol-relative-url/">protocol-relative URL</a> for the jQuery include, to prevent the mixed content warning.</li>
179
+ <li>The order of <code>&lt;meta></code> tags, <code>&lt;title></code>, and <code>charset</code> has been <a href="https://github.com/paulirish/html5-boilerplate/wiki/The-markup">documented more extensively now</a>. TL;DR: You are <a href="https://github.com/paulirish/html5-boilerplate/commit/4b67ea5cabb8c2b75faf2e255344cdffdf190464">safe to use the boilerplate's order of tags</a>.</li>
180
+ <li>We've shortened up the Google Analytics snippet.</li>
181
+ <li>Added an ARIA <code>role</code> attribute to <code>div#main</code>. This assumes your main content goes within that container.</li>
182
+ <li>IE9 doesn't get its own conditional class! Yay!</li>
183
+ </ul>
184
+
185
+ #### style.css
186
+ <ul>
187
+ <li>Added <code>.focusable</code> helper class, which extends <code>.visuallyhidden</code> to allow the element to be focusable when navigated to via the keyboard.</li>
188
+ <li>Anchor links are no longer reset. Basically our reset is effectively merged with Eric Meyer's recent CSS reset update, and the HTML5 Doctor reset.</li>
189
+ <li>An unordered list within a <code>&lt;nav></code> element will no longer have a margin.</li>
190
+ <li>All helper classes are now after primary styles to ensure correct overrides and not be burdened with resets. </li>
191
+ <li><code>.visuallyhidden</code> is no longer camelCase for consistency with other classname formats.</li>
192
+ <li>Updated the specificity of <code>.visuallyhidden</code> to make sure it overrides all other declarations. </li>
193
+ <li>Removed reset on <code>&lt;img></code> elements within table cells as they look ugly alongside multiline texts. Browsers default to baseline alignment for images, which works better than top alignment.</li>
194
+ <li>Increased margin-left on <code>&lt;ol></code>, to allow for 2-digit list numbers.</li>
195
+ <li>Added a print reset on IE's proprietary filters.</li>
196
+ <li>Print styles no longer prints hash links or JavaScript links.</li>
197
+ <li>Updated <code>&lt;sub></code>/<code>&lt;sup></code> CSS so that they're not impacted by <code>line-height</code>, so now you can do sub/superscripts without worrying.</li>
198
+ </ul>
199
+
200
+ #### Project
201
+ <ul>
202
+ <li>Added a <a href="http://humanstxt.org">humans.txt</a> so you can clarify authorship and tools used.</li>
203
+ <li>Removed YUI profiling. You probably weren't using it anyway.</li>
204
+ <li>Removed QUnit's unit tests. There is no need to ship with them, really.</li>
205
+ </ul>
206
+
207
+ #### Webserver Configs
208
+ #### .htaccess
209
+ <ul>
210
+ <li>.htaccess is far more documented now. Take a read through it!</li>
211
+ <li><a href="https://github.com/paulirish/html5-boilerplate/commit/37b5fec090d00f38de64b591bcddcb205aadf8ee">Changed mimetype of <code>.ico</code> files to <code>image/x-icon</code></a>.</li>
212
+ <li>HTML Manifest files now use <code>.appcache</code> extension instead of <code>.manifest</code>, as per <a href="http://html5.org/r/5812">http://html5.org/r/5812</a>.</li>
213
+ <li>Force deflate for accept-encoding headers mangled by turtle tappers, courtesy of <a href="http://developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping/">Yahoo!'s research</a></li>
214
+ <li>We nerfed some of the directives in case you're on a server without <code>mod_headers</code>. (Which is totally crazy, man!)</li>
215
+ <li>Block access to <code>.git</code> and <code>.svn</code> folders.</li>
216
+ <li>Eradicating Chrome's console warning on WOFF font downloads.</li>
217
+ <li>More optimizations available if you set the <code>.htaccess</code> details up in your <code>httpd.conf</code></li>
218
+ <li><code>.htaccess</code> now caches <code>.htc</code> files</li>
219
+
220
+ <li>Moved all server configurations (except Apache's <code>.htaccess</code>) over to <a href ="https://github.com/paulirish/html5-boilerplate-server-configs">the new html5-boilerplate-server-configs repo</a>. Head over there if you're not using Apache. </li>
221
+
222
+ <li>Updated <code>.htaccess</code> and <code>mime.types</code> for <code>ogg</code> formats.</li>
223
+ <li>Fixed regression where EOT fonts had been excluded from DEFLATE compression</li>
224
+ <li>Apache version independence: Use <code>mod_filter</code> for compression, with fallback to AddOutputFilterByType directive for legacy versions</li>
225
+ <li>Added plugin/extension mime types for Safari, Chrome, Firefox</li>
226
+ </ul>
227
+ #### nginx
228
+ <ul>
229
+ <li>Cleaned up cache expires directives.</li>
230
+ <li>Now includes SVG and font formats for gzipping.</li>
231
+ <li>expires header bug fixed.</li>
232
+ </ul>
233
+ #### IIS
234
+ <ul>
235
+ <li>Added Flash video mime types to IIS server</li>
236
+ <li>Fixed some mimetype weirdness that was preventing proper caching</li>
237
+ </ul>
238
+
239
+ <ul>
240
+ <li>Also Google App Engine, Lighttpd, and NodeJS <a href="https://github.com/paulirish/html5-boilerplate-server-configs">configurations were added</a></li>
241
+ </ul>
242
+
243
+ <p>Basically a lot of great updates were made for 1.0. <a href="https://github.com/paulirish/html5-boilerplate/compare/v0.9.5...v1.0">Here are all 220 commits since last release.</a>. You may ask though, <a href="http://html5boilerplate.com/docs/#FAQs★do-i-need-to-upgrade-my-sites-to-a-new-version">do I need to upgrade existing sites</a>? Short answer: nah, you're good.</p>
244
+
245
+ #### Contributors
246
+ [Mickael Daniel](http://blog.mklog.fr/), Dave Kirk, [Jonathan Verrecchia](http://www.html5-css3.fr/), [nlogax](https://github.com/nlogax), [Rob Larsen](http://htmlcssjavascript.com/),
247
+ [David Murdoch](http://www.vervestudios.co/), [AD7six](http://www.ad7six.com/),
248
+ [Mathias Bynens](http://mathiasbynens.be/), [Michael van Laar](http://www.michael-van-laar.de/), [Mike West](http://mikewest.org/), [Mikko Tikkanen](http://www.mintusability.com/), [Velir](http://velir.com/), [Stephen Gariepy](http://garowetz.ca/)
249
+
250
+ ##### Boilerplate
251
+ [Adam J. McIntyre](http://www.amodernfable.com/), [Adeel Ejaz](http://adeelejaz.com/), akolesnikov, [Alex Dunae](http://dialect.ca/), [Andrew Le](http://andrewdle.com/), [ashnur](https://github.com/ashnur), [Ben Truyman](http://bentruyman.com/), [Bruno Aguirre](http://brunoaguirre.com/), [Chris Hager](http://metachris.org/), [Corey Ward](http://blog.coreyward.net/), [Craig Barnes](https://github.com/craigbarnes), crappish, [Daniel Schildt](http://autiomaa.org/), [Dave DeSandro](https://github.com/daveatnclud), [Dustin Whittle](http://dustinwhittle.com/), grigio, [Irakli Nadareishvili](http://freshblurbs.com/), [Jaime Bueza](http://jaime.bueza.com/), [Jake Ingman](https://github.com/jingman), [James A. Rosen](http://jamesarosen.com/), [Jeremy Balch](https://github.com/balchjd), [joe bartlett](http://twitter.com/jdbartlett), [Joe Sak](http://www.joesak.com/), [John Bacon](https://github.com/johnbacon)
252
+ [Jonathan Fielding](https://github.com/jonathan-fielding), [Jonathan Neal](http://iecss.com/), [kblomqvist](https://github.com/kblomqvist), [Kenneth Nordahl](http://nordahl.me/), [Maarten Verbaarschot](https://github.com/mverbaar), [Manuel Strehl](http://www.manuel-strehl.de/), [Marcel Turi](http://marcel.turi.co/), [Martin Hintzmann](https://github.com/Hintzmann), [mikealmond](https://github.com/mikealmond)
253
+ [mikkotikkanen](http://www.mintusability.com/), [Nic Pottier](https://github.com/nicpottier), [Paul Neave](http://www.neave.com/), [Peter Beverloo](http://peter.sh/), [Rick Waldron](http://weblog.bocoup.com/), [Rob Flaherty](http://www.ravelrumba.com/), [S Anand](http://www.s-anand.net/), [Sam Sherlock](http://samsherlock.com/), [Michael Cetrulo](http://www.linkedin.com/in/web2samus), [simshaun](https://github.com/simshaun), [Sirupsen](http://sirupsen.com/), [Stephen Gariepy](http://garowetz.ca/), [timemachine3030 ](https://github.com/timemachine3030), [Vinay](http://www.artminister.com/), [Weston Ruter](http://weston.ruter.net/), [WraithKenny](http://unfocus.com/), [Yann Mainier](http://yann.mainier.com/), [Michael van Laar](http://www.michael-van-laar.de/), [Massimo Lombardo](http://unwiredbrain.com/), [Ivan Nikolić ](http://twitter.com/niksy), [Kaelig](http://kaelig.fr/), [Richard Bradshaw](http://bradshawenterprises.com/), [SammyK](http://sammyk.me/), [alrra](https://github.com/alrra), [Rizky Syazuli](http://id.linkedin.com/in/rizky), [iszak](https://github.com/Iszak), [aaron peters](https://github.com/aaronpeters), [Swaroop C H](http://www.swaroopch.com/), [Mike Połtyn](http://mike.poltyn.com/), Marco d'Itri, Mike Lamb , [BIG Folio](http://bigfolio.com/), Philip von Bargen, Meander, Daniel Harttman, rse, timwillison, ken nordahl, [Erik Dahlström](http://my.opera.com/macdev_ed), christopherjacob, [Chew Choon Keat](http://blog.choonkeat.com/), benalman, stoyan, Markus, [Vladimir Carrer](http://www.vcarrer.com/), [aristidesfl](https://github.com/aristidesfl), [Trevor Norris](http://blog.trevorjnorris.com/) [Miloš Gavrilović](http://www.arvag.net/)
254
+
255
+
256
+
257
+ #####Configs
258
+ [Dusan Hlavaty](http://sk.linkedin.com/in/dusanhlavaty), [Sean Caetano Martin](http://www.xonecas.com/), [yaph](http://www.ramiro.org/), [michaud](https://github.com/michaud), Paul Sarena, [Graham Weldon](http://grahamweldon.com/), [Ron. Adams](http://visual-assault.org/)
259
+
260
+ #####Translators
261
+ [alrra](http://twitter.com/alrra), [Anton Kovalyov](http://self.kovalyov.net/), [Milos Gavrilovic](http://www.arvag.net/), [jorge-vitrubio](https://github.com/jorge-vitrubio), Julian Wachholz, [laviperchik](https://github.com/laviperchik), [lenzcom](https://github.com/lenzcom), [Mathias Bynens](http://mathiasbynens.be/), [Mickael Daniel](http://blog.mklog.fr/), [Mike West](http://mikewest.org/), [Niels Bom](http://www.nielsbom.com/), Ricardo Tomasi, [skill83 ](https://github.com/skill83), [Sean Caetano Martin](http://www.xonecas.com/), [Yuya Saito](http://css.studiomohawk.com/), [Zee-Julien](https://github.com/Zee-Julien)
262
+
263
+
264
+ ### v.0.9.5 : October 25th, 2010
265
+
266
+ Major changes:
267
+
268
+ <ul>
269
+ <li>Removed <code>-webkit-font-smoothing: antialiased;</code> it makes monospace too thin.</li>
270
+ <li>IE conditional classes have moved from the <code>&lt;body&gt;</code> tag to the <code>&lt;html&gt;</code> tag ( #44 ).</li>
271
+ <li>Dropped <code>text-rendering: <a href="http://www.aestheticallyloyal.com/public/optimize-legibility/">optimizeLegibility</a></code> as it breaks small-caps, looks odd on Linux machines, and goes invisible on WebOS.</li>
272
+ <li>Added a IE6 call for the minified <code>dd_belatedpng</code>.</li>
273
+ <li>Revised viewport declaration to allow user scaling and clear Webkit console errors ( #37 ).</li>
274
+ <li>Updated Modernizr to 1.6 </li>
275
+ <li>Added <code>web.config</code> file for Microsoft IIS</li>
276
+ <li>Beta release of the <a href="http://github.com/paulirish/html5-boilerplate/wiki/Build-script">Build Script</a> (this is HUGE)</li>
277
+ <li>New project scaffolding <a href="http://github.com/paulirish/html5-boilerplate/wiki/makep.sh">bash script</a>.</li>
278
+ </ul>
279
+
280
+ #### General
281
+ * Updated Modernizr to 1.6 (smaller and faster)
282
+ * Added web.config file for Microsoft IIS. Now forcing latest IE version and ChromeFrame, if installed.
283
+ * Added <code>favicon</code> and <code>default icon</code> for iOS.
284
+ * Updated <code>crossdomain.xml</code> wording for better security guidelines ( #124 ).
285
+ * Expires value for <code>nginx.conf</code> corrected.
286
+ * License clarified.
287
+
288
+ #### style.css
289
+ * Removed <code>-webkit-font-smoothing: antialiased</code> as it made monospace too thin.
290
+ * Updated fonts normalization to YUI 3.2.0 PR1.
291
+ * Table Header set explicitly for IE6, and table row now has <code>page-break: avoid</code> in print CSS.
292
+ * <code>text-shadow:none !important</code> set for all text in print CSS.
293
+ * Removed scrollbar from <code>&lt;textarea></code>s in IE.
294
+ * Fixed <code>&lt;textarea></code> stylings and form field treatment for validity. Added default <code>background-color</code>.
295
+ * New robust clearfix solution without IE 5.5 hack ( #45 #126 ).
296
+ * Margins for form-elements explicitly set to <code>0</code> as webkit adds 2px space around form elements' chrome.
297
+ * Dropped <code>text-rendering: optimizeLegibility</code> as it breaks <code>small-caps</code> and looks odd on Linux machines.
298
+ * Lists now have a left margin of <code>1.8em</code>. Default <code>list-style-type</code> for ordered list is <code>decimal</code>.
299
+ * Image Replacement now works with right-to-left text ( #68 ).
300
+ * Removed "Star Hack" for checkboxes in favor of <code>.ie7</code> selector.
301
+
302
+ #### index.html
303
+ * IE conditional classes have moved from the <code>&lt;body></code> tag to the <code>&lt;html></code> tag ( #44 ).
304
+ * Added a IE6 call for the minified <code>dd_belatedpng</code>.
305
+ * Google Analytics script will now work with SSL in IE6.
306
+ * Added protocol independent absolute path for cdn jquery, with improved fallback-to-local code to protect against edge case IE bug.
307
+ * Commented out handheld CSS ( #73 ).
308
+ * Mobile viewport and textsize styles adjusted per group feedback ( #37 ).
309
+
310
+ #### .htaccess
311
+ * More files are served via gzip like <code>.htc</code> ( #55 ).
312
+ * Added Expires header for content types image/gif and video/webm.
313
+ * Fixed favicon display in IE6 ( #113 ).
314
+ * Corrected mimetypes for fonts.
315
+ * Removed caching for files of type json/xml.
316
+ * Better use of <code>ifmodule</code> for more stability in different Apache environments.
317
+
318
+ [View full diff and commit history](http://github.com/paulirish/html5-boilerplate/compare/v0.9.1...v0.9.5)
319
+
320
+
321
+ #### Contributors
322
+ Shi Chuan, Rob Larsen, Ivan Nikolić, Mikko Tikkanen, Velir, Paul Neave, Weston Ruter, Jeffrey Barke, Robert Meissner, SirFunk, Philip von Bargen, Kroc Camen, Rick Waldron, Andreas Madsen, Marco d'Itri, Adeelejaz, James Rosen, Dave DeSandro, Ken Newman, Daniel Lenz, Swaroop C H, Yann Mainier, Joe Sak, Irakli, Rob Flaherty, Jeff Starr, Mike Lamb, Holek, Aaron Peters, Kaelig, Meander, Charlie Ussery, Ciney, Région Wallonne, Sirupsen, and Paul Hayes.
323
+
324
+
325
+
326
+ ### v.0.9.1 : August 13th, 2010
327
+ * HTML5 Boilerplate is now in the Public Domain
328
+ * Nginx configuration added
329
+ * Font stacks (sans-serif and monospace) simplified
330
+ * Very accessible <code>a:focus</code> styles.
331
+ * Corrected IE=edge,chromeframe enabling (As a result, the base HTML [does not validate](http://bit.ly/cGSSgr))
332
+ * ServerSideIncludes disabled by default.
333
+ * Apache config bugfixes
334
+ * Conditional body tag class combined
335
+ * dd_belatedPNG updated to 0.0.8. Redundant BackgroundImageCache fix removed.
336
+
337
+ [View full diff and commit history](http://github.com/paulirish/html5-boilerplate/compare/v0.9...v0.9.1)
338
+
339
+ ##### Thanks:
340
+
341
+ voodootikigod, garowetz, fearphage, christopherjacob, mathias bynens, daniel harttman, rse, chris dary, erik dahlstrom, timwillison, kenneth nordahl, riddle, elcuervo, andreas kuckartz, 3rdEden, riley willis, majic3
342
+
343
+ ### v0.9 : August 10th, 2010 - Initial release
344
+
345
+
346
+ ## License:
347
+
348
+ Major components:
349
+
350
+ * Modernizr: MIT/BSD license
351
+ * jQuery: MIT/GPL license
352
+ * DD_belatedPNG: MIT license
353
+ * YUI Profiling: BSD license
354
+ * HTML5Doctor CSS reset: Public Domain
355
+ * CSS Reset Reloaded: Public Domain
356
+
357
+ Everything else:
358
+
359
+ * [The Unlicense](http://unlicense.org) (aka: public domain)
360
+
361
+
362
+ ## Summary:
363
+
364
+ This is a set of files that a front-end developer can use to get started on a website, with following included:
365
+
366
+ 1. Cross-browser compatible (IE6? Yeah, we got that.)
367
+ 2. HTML5 ready. Use the new tags with certainty.
368
+ 3. Optimal caching and compression rules for Grade-A performance
369
+ 4. Best practice site configuration defaults
370
+ 5. Think there's too much? The HTML5 Boilerplate is delete-key friendly. :)
371
+ 6. Mobile browser optimizations
372
+ 7. Progressive enhancement graceful degredation ........ yeah yeah we got that
373
+ 8. IE-specific classes for maximum cross-browser control
374
+ 9. Want to write unit tests but lazy? A full, hooked up test suite is waiting for you.
375
+ 10. Javascript profiling…in IE6 and IE7? Sure, no problem.
376
+ 11. Console.log nerfing so you won't break anyone by mistake.
377
+ 12. Never go wrong with your doctype or markup!
378
+ 13. An optimal print stylesheet, performance optimized
379
+ 14. iOS, Android, Opera Mobile-adaptable markup and CSS skeleton.
380
+ 15. IE6 pngfix baked in.
381
+ 16. jQuery, waiting for you
382
+
383
+ ## Releases
384
+
385
+ There are two releases: a documented release (which is exactly what you see here), and a "stripped" release (with most of the descriptive comments stripped out).
386
+
387
+ Watch the [current tickets](http://github.com/paulirish/html5-boilerplate/issues) to view the areas of active development.
388
+