Skip to content
Browse files

Adopt H5BP.

  • Loading branch information...
1 parent 63ddf70 commit 8784c529668c2ae3543269bfe08ae5e19f401c71 @nathanhammond nathanhammond committed Nov 8, 2013
View
157 public/404.html
@@ -0,0 +1,157 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Page Not Found :(</title>
+ <style>
+ ::-moz-selection {
+ background: #b3d4fc;
+ text-shadow: none;
+ }
+
+ ::selection {
+ background: #b3d4fc;
+ text-shadow: none;
+ }
+
+ html {
+ padding: 30px 10px;
+ font-size: 20px;
+ line-height: 1.4;
+ color: #737373;
+ background: #f0f0f0;
+ -webkit-text-size-adjust: 100%;
+ -ms-text-size-adjust: 100%;
+ }
+
+ html,
+ input {
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ }
+
+ body {
+ max-width: 500px;
+ _width: 500px;
+ padding: 30px 20px 50px;
+ border: 1px solid #b3b3b3;
+ border-radius: 4px;
+ margin: 0 auto;
+ box-shadow: 0 1px 10px #a7a7a7, inset 0 1px 0 #fff;
+ background: #fcfcfc;
+ }
+
+ h1 {
+ margin: 0 10px;
+ font-size: 50px;
+ text-align: center;
+ }
+
+ h1 span {
+ color: #bbb;
+ }
+
+ h3 {
+ margin: 1.5em 0 0.5em;
+ }
+
+ p {
+ margin: 1em 0;
+ }
+
+ ul {
+ padding: 0 0 0 40px;
+ margin: 1em 0;
+ }
+
+ .container {
+ max-width: 380px;
+ _width: 380px;
+ margin: 0 auto;
+ }
+
+ /* google search */
+
+ #goog-fixurl ul {
+ list-style: none;
+ padding: 0;
+ margin: 0;
+ }
+
+ #goog-fixurl form {
+ margin: 0;
+ }
+
+ #goog-wm-qt,
+ #goog-wm-sb {
+ border: 1px solid #bbb;
+ font-size: 16px;
+ line-height: normal;
+ vertical-align: top;
+ color: #444;
+ border-radius: 2px;
+ }
+
+ #goog-wm-qt {
+ width: 220px;
+ height: 20px;
+ padding: 5px;
+ margin: 5px 10px 0 0;
+ box-shadow: inset 0 1px 1px #ccc;
+ }
+
+ #goog-wm-sb {
+ display: inline-block;
+ height: 32px;
+ padding: 0 10px;
+ margin: 5px 0 0;
+ white-space: nowrap;
+ cursor: pointer;
+ background-color: #f5f5f5;
+ background-image: -webkit-linear-gradient(rgba(255,255,255,0), #f1f1f1);
+ background-image: -moz-linear-gradient(rgba(255,255,255,0), #f1f1f1);
+ background-image: -ms-linear-gradient(rgba(255,255,255,0), #f1f1f1);
+ background-image: -o-linear-gradient(rgba(255,255,255,0), #f1f1f1);
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ *overflow: visible;
+ *display: inline;
+ *zoom: 1;
+ }
+
+ #goog-wm-sb:hover,
+ #goog-wm-sb:focus {
+ border-color: #aaa;
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
+ background-color: #f8f8f8;
+ }
+
+ #goog-wm-qt:hover,
+ #goog-wm-qt:focus {
+ border-color: #105cb6;
+ outline: 0;
+ color: #222;
+ }
+
+ input::-moz-focus-inner {
+ padding: 0;
+ border: 0;
+ }
+ </style>
+ </head>
+ <body>
+ <div class="container">
+ <h1>Not found <span>:(</span></h1>
+ <p>Sorry, but the page you were trying to view does not exist.</p>
+ <p>It looks like this was the result of either:</p>
+ <ul>
+ <li>a mistyped address</li>
+ <li>an out-of-date link</li>
+ </ul>
+ <script>
+ var GOOG_FIXURL_LANG = (navigator.language || '').slice(0,2),GOOG_FIXURL_SITE = location.host;
+ </script>
+ <script src="//linkhelp.clients.google.com/tbproxy/lh/wm/fixurl.js"></script>
+ </div>
+ </body>
+</html>
View
133 public/CHANGELOG.md
@@ -0,0 +1,133 @@
+### HEAD
+
+### 4.3.0 (September 10, 2013)
+
+* Use one apple-touch-icon instead of six ([#1367](https://github.com/h5bp/html5-boilerplate/issues/1367)).
+* Move font-related declarations from `body` to `html` ([#1411](https://github.com/h5bp/html5-boilerplate/issues/1411)).
+* Update to Apache Server Configs 1.1.0.
+* Add `initial-scale=1` to the viewport `meta` ([#1398](https://github.com/h5bp/html5-boilerplate/pull/1398)).
+* Vertical centering for audio-, canvas- and video-tags ([#1326](https://github.com/h5bp/html5-boilerplate/issues/1326)).
+* Remove Google Chrome Frame related code ([#1379](https://github.com/h5bp/html5-boilerplate/pull/1379), [#1396](https://github.com/h5bp/html5-boilerplate/pull/1396)).
+* Update to Google Universal Analytics ([#1347](https://github.com/h5bp/html5-boilerplate/issues/1347)).
+* Update to jQuery 1.10.2.
+* Update to Normalize.css 1.1.3.
+
+### 4.2.0 (April 8, 2013)
+
+* Remove Google Analytics protocol check ([#1319](https://github.com/h5bp/html5-boilerplate/pull/1319)).
+* Update to Normalize.css 1.1.1.
+* Update Apache configurations to include the latest changes in the canonical
+ [`.htaccess`](https://github.com/h5bp/server-configs-apache) file.
+* Use a protocol relative URL for the 404 template script.
+* Update to jQuery 1.9.1.
+
+### 4.1.0 (January 21, 2013)
+
+* Update to Normalize.css 1.1.0.
+* Update to jQuery 1.9.0.
+
+### 4.0.3 (January 12, 2013)
+
+* Use 32x32 favicon.ico ([#1286](https://github.com/h5bp/html5-boilerplate/pull/1286)).
+* Remove named function expression in plugins.js ([#1280](https://github.com/h5bp/html5-boilerplate/pull/1280)).
+* Adjust CSS image-replacement code ([#1239](https://github.com/h5bp/html5-boilerplate/issues/1239)).
+* Update HiDPI example media query ([#1127](https://github.com/h5bp/html5-boilerplate/issues/1127)).
+
+### 4.0.2 (December 9, 2012)
+
+* Update placeholder icons.
+* Update to Normalize.css 1.0.2.
+* Update to jQuery 1.8.3.
+
+### 4.0.1 (October 20, 2012)
+
+* Further improvements to `console` method stubbing ([#1206](https://github.com/h5bp/html5-boilerplate/issues/1206), [#1229](https://github.com/h5bp/html5-boilerplate/pull/1229)).
+* Update to jQuery 1.8.2.
+* Update to Modernizr 2.6.2.
+* Minor additions to the documentation.
+
+### 4.0.0 (August 28, 2012)
+
+* Improve the Apache compression configuration ([#1012](https://github.com/h5bp/html5-boilerplate/issues/1012), [#1173](https://github.com/h5bp/html5-boilerplate/issues/1173)).
+* Add a HiDPI example media query ([#1127](https://github.com/h5bp/html5-boilerplate/issues/1127)).
+* Add bundled docs ([#1154](https://github.com/h5bp/html5-boilerplate/issues/1154)).
+* Add MIT license ([#1139](https://github.com/h5bp/html5-boilerplate/issues/1139)).
+* Update to Normalize.css 1.0.1.
+* Separate Normalize.css from the rest of the CSS ([#1160](https://github.com/h5bp/html5-boilerplate/issues/1160)).
+* Improve `console.log` protection ([#1107](https://github.com/h5bp/html5-boilerplate/issues/1107)).
+* Replace hot pink text selection color with a neutral color.
+* Change image replacement technique ([#1149](https://github.com/h5bp/html5-boilerplate/issues/1149)).
+* Code format and consistency changes ([#1112](https://github.com/h5bp/html5-boilerplate/issues/1112)).
+* Rename CSS file and rename JS files and subdirectories.
+* Update to jQuery 1.8 ([#1161](https://github.com/h5bp/html5-boilerplate/issues/1161)).
+* Update to Modernizr 2.6.1 ([#1086](https://github.com/h5bp/html5-boilerplate/issues/1086)).
+* Remove uncompressed jQuery ([#1153](https://github.com/h5bp/html5-boilerplate/issues/1153)).
+* Remove superfluous inline comments ([#1150](https://github.com/h5bp/html5-boilerplate/issues/1150)).
+
+### 3.0.2 (February 19, 2012)
+
+* Update to Modernizr 2.5.3.
+
+### 3.0.1 (February 08, 2012).
+
+* Update to Modernizr 2.5.2 (includes html5shiv 3.3).
+
+### 3.0.0 (February 06, 2012)
+
+* Improvements to `.htaccess`.
+* Improve 404 design.
+* Simplify JS folder structure.
+* Change `html` IE class names changed to target ranges rather than specific versions of IE.
+* Update CSS to include latest normalize.css changes and better typographic defaults ([#825](https://github.com/h5bp/html5-boilerplate/issues/825)).
+* Update to Modernizr 2.5 (includes yepnope 1.5 and html5shiv 3.2).
+* Update to jQuery 1.7.1.
+* Revert to async snippet for the Google Analytics script.
+* Remove the ant build script ([#826](https://github.com/h5bp/html5-boilerplate/issues/826)).
+* Remove Respond.js ([#816](https://github.com/h5bp/html5-boilerplate/issues/816)).
+* Remove the `demo/` directory ([#808](https://github.com/h5bp/html5-boilerplate/issues/808)).
+* Remove the `test/` directory ([#808](https://github.com/h5bp/html5-boilerplate/issues/808)).
+* Remove Google Chrome Frame script for IE6 users; replace with links to Chrome Frame and options for alternative browsers.
+* Remove `initial-scale=1` from the viewport `meta` ([#824](https://github.com/h5bp/html5-boilerplate/issues/824)).
+* Remove `defer` from all scripts to avoid legacy IE bugs.
+* Remove explicit Site Speed tracking for Google Analytics. It's now enabled by default.
+
+### 2.0.0 (August 10, 2011)
+
+* Change starting CSS to be based on normalize.css instead of reset.css ([#500](https://github.com/h5bp/html5-boilerplate/issues/500)).
+* Add Respond.js media query polyfill.
+* Add Google Chrome Frame script prompt for IE6 users.
+* Simplify the `html` conditional comments for modern browsers and add an `oldie` class.
+* Update clearfix to use "micro clearfix".
+* Add placeholder CSS MQs for mobile-first approach.
+* Add `textarea { resize: vertical; }` to only allow vertical resizing.
+* Add `img { max-width: 100%; }` to the print styles; prevents images being truncated.
+* Add Site Speed tracking for Google Analytics.
+* Update to jQuery 1.6.2 (and use minified by default).
+* Update to Modernizr 2.0 Complete, Production minified (includes yepnope, html5shiv, and Respond.js).
+* Use `Modernizr.load()` to load the Google Analytics script.
+* Much faster build process.
+* Add build script options for CSSLint, JSLint, JSHint tools.
+* Build script now compresses all images in subfolders.
+* Build script now versions files by SHA hash.
+* Many `.htaccess` improvements including: disable directory browsing, improved support for all versions of Apache, more robust and extensive HTTP compression rules.
+* Remove `handheld.css` as it has very poor device support.
+* Remove touch-icon `link` elements from the HTML and include improved touch-icon support.
+* Remove the cache-busting query paramaters from files references in the HTML.
+* Remove IE6 PNGFix.
+
+### 1.0.0 (March 21, 2011)
+
+* Rewrite build script to make it more customizable and flexible.
+* Add a humans.txt.
+* Numerous `.htaccess` improvements (including inline documentation).
+* Move the alternative server configurations to the H5BP server configs repo.
+* Use a protocol-relative url to reference jQuery and prevent mixed content warnings.
+* Optimize the Google Analytics snippet.
+* Use Eric Meyer's recent CSS reset update and the HTML5 Doctor reset.
+* More robust `sub`/`sup` CSS styles.
+* Add keyboard `.focusable` helper class that extends `.visuallyhidden`.
+* Print styles no longer print hash or JavaScript links.
+* Add a print reset for IE's proprietary filters.
+* Remove IE9-specific conditional class on the `html` element.
+* Remove margins from lists within `nav` elements.
+* Remove YUI profiling.
View
154 public/CONTRIBUTING.md
@@ -0,0 +1,154 @@
+# Contributing to HTML5 Boilerplate
+
+♥ [HTML5 Boilerplate](http://html5boilerplate.com) and want to get involved?
+Thanks! There are plenty of ways you can help!
+
+Please take a moment to review this document in order to make the contribution
+process easy and effective for everyone involved.
+
+Following these guidelines helps to communicate that you respect the time of
+the developers managing and developing this open source project. In return,
+they should reciprocate that respect in addressing your issue or assessing
+patches and features.
+
+
+## Using the issue tracker
+
+The [issue tracker](https://github.com/h5bp/html5-boilerplate/issues) is
+the preferred channel for [bug reports](#bugs), [features requests](#features)
+and [submitting pull requests](#pull-requests), but please respect the following
+restrictions:
+
+* Please **do not** use the issue tracker for personal support requests (use
+ [Stack Overflow](http://stackoverflow.com/questions/tagged/html5boilerplate)
+ or IRC).
+
+* Please **do not** derail or troll issues. Keep the discussion on topic and
+ respect the opinions of others.
+
+* Please **do not** open issues or pull requests regarding the code in
+ [`.htaccess`](https://github.com/h5bp/server-configs-apache),
+ [`jQuery`](https://github.com/jquery/jquery/),
+ [`Modernizr`](https://github.com/Modernizr/Modernizr) or
+ [`Normalize.css`](https://github.com/necolas/normalize.css) (open them in
+ their respective repositories).
+
+
+<a name="bugs"></a>
+## Bug reports
+
+A bug is a _demonstrable problem_ that is caused by the code in the repository.
+Good bug reports are extremely helpful - thank you!
+
+Guidelines for bug reports:
+
+1. **Use the GitHub issue search** &mdash; check if the issue has already been
+ reported.
+
+2. **Check if the issue has been fixed** &mdash; try to reproduce it using the
+ latest `master` or development branch in the repository.
+
+3. **Isolate the problem** &mdash; ideally create a [reduced test
+ case](http://css-tricks.com/6263-reduced-test-cases/) and a live example.
+
+A good bug report shouldn't leave others needing to chase you up for more
+information. Please try to be as detailed as possible in your report. What is
+your environment? What steps will reproduce the issue? What browser(s) and OS
+experience the problem? What would you expect to be the outcome? All these
+details will help people to fix any potential bugs.
+
+Example:
+
+> Short and descriptive example bug report title
+>
+> A summary of the issue and the browser/OS environment in which it occurs. If
+> suitable, include the steps required to reproduce the bug.
+>
+> 1. This is the first step
+> 2. This is the second step
+> 3. Further steps, etc.
+>
+> `<url>` - a link to the reduced test case
+>
+> Any other information you want to share that is relevant to the issue being
+> reported. This might include the lines of code that you have identified as
+> causing the bug, and potential solutions (and your opinions on their
+> merits).
+
+
+<a name="features"></a>
+## Feature requests
+
+Feature requests are welcome. But take a moment to find out whether your idea
+fits with the scope and aims of the project. It's up to *you* to make a strong
+case to convince the project's developers of the merits of this feature. Please
+provide as much detail and context as possible.
+
+
+<a name="pull-requests"></a>
+## Pull requests
+
+Good pull requests - patches, improvements, new features - are a fantastic
+help. They should remain focused in scope and avoid containing unrelated
+commits.
+
+**Please ask first** before embarking on any significant pull request (e.g.
+implementing features, refactoring code, porting to a different language),
+otherwise you risk spending a lot of time working on something that the
+project's developers might not want to merge into the project.
+
+Please adhere to the coding conventions used throughout a project (indentation,
+accurate comments, etc.) and any other requirements (such as test coverage).
+
+Adhering to the following this process is the best way to get your work
+included in the project:
+
+1. [Fork](http://help.github.com/fork-a-repo/) the project, clone your fork,
+ and configure the remotes:
+
+ ```bash
+ # Clone your fork of the repo into the current directory
+ git clone https://github.com/<your-username>/html5-boilerplate.git
+ # Navigate to the newly cloned directory
+ cd html5-boilerplate
+ # Assign the original repo to a remote called "upstream"
+ git remote add upstream https://github.com/h5bp/html5-boilerplate.git
+ ```
+
+2. If you cloned a while ago, get the latest changes from upstream:
+
+ ```bash
+ git checkout master
+ git pull upstream master
+ ```
+
+3. Create a new topic branch (off the main project development branch) to
+ contain your feature, change, or fix:
+
+ ```bash
+ git checkout -b <topic-branch-name>
+ ```
+
+4. Commit your changes in logical chunks. Please adhere to these [git commit
+ message guidelines](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)
+ or your code is unlikely be merged into the main project. Use Git's
+ [interactive rebase](https://help.github.com/articles/interactive-rebase)
+ feature to tidy up your commits before making them public.
+
+5. Locally merge (or rebase) the upstream development branch into your topic branch:
+
+ ```bash
+ git pull [--rebase] upstream master
+ ```
+
+6. Push your topic branch up to your fork:
+
+ ```bash
+ git push origin <topic-branch-name>
+ ```
+
+7. [Open a Pull Request](https://help.github.com/articles/using-pull-requests/)
+ with a clear title and description.
+
+**IMPORTANT**: By submitting a patch, you agree to allow the project owners to
+license your work under the the terms of the [MIT License](LICENSE.md).
View
19 public/LICENSE.md
@@ -0,0 +1,19 @@
+Copyright (c) HTML5 Boilerplate
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
View
61 public/README.md
@@ -0,0 +1,61 @@
+# [HTML5 Boilerplate](http://html5boilerplate.com)
+
+HTML5 Boilerplate is a professional front-end template for building fast,
+robust, and adaptable web apps or sites.
+
+This project is the product of many years of iterative development and combined
+community knowledge. It does not impose a specific development philosophy or
+framework, so you're free to architect your code in the way that you want.
+
+* Source: [https://github.com/h5bp/html5-boilerplate](https://github.com/h5bp/html5-boilerplate)
+* Homepage: [http://html5boilerplate.com](http://html5boilerplate.com)
+* Twitter: [@h5bp](http://twitter.com/h5bp)
+
+
+## Quick start
+
+Choose one of the following options:
+
+1. Download the latest stable release from
+ [html5boilerplate.com](http://html5boilerplate.com/) or a custom build from
+ [Initializr](http://www.initializr.com).
+2. Clone the git repo — `git clone
+ https://github.com/h5bp/html5-boilerplate.git` - and checkout the tagged
+ release you'd like to use.
+
+
+## Features
+
+* HTML5 ready. Use the new elements with confidence.
+* Cross-browser compatible (Chrome, Opera, Safari, Firefox 3.6+, IE6+).
+* Designed with progressive enhancement in mind.
+* Includes [Normalize.css](http://necolas.github.com/normalize.css/) for CSS
+ normalizations and common bug fixes.
+* The latest [jQuery](http://jquery.com/) via CDN, with a local fallback.
+* The latest [Modernizr](http://modernizr.com/) build for feature detection.
+* IE-specific classes for easier cross-browser control.
+* Placeholder CSS Media Queries.
+* Useful CSS helpers.
+* Default print CSS, performance optimized.
+* Protection against any stray `console.log` causing JavaScript errors in
+ IE6/7.
+* An optimized Google Analytics snippet.
+* Apache server caching, compression, and other configuration defaults for
+ Grade-A performance.
+* Cross-domain Ajax and Flash.
+* "Delete-key friendly." Easy to strip out parts you don't need.
+* Extensive inline and accompanying documentation.
+
+
+## Documentation
+
+Take a look at the [documentation table of contents](doc/TOC.md). This
+documentation is bundled with the project, which makes it readily available for
+offline reading and provides a useful starting point for any documentation you
+want to write about your project.
+
+
+## Contributing
+
+Anyone and everyone is welcome to [contribute](CONTRIBUTING.md). Hundreds of
+developers have helped make the HTML5 Boilerplate what it is today.
View
BIN public/apple-touch-icon-precomposed.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
15 public/crossdomain.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
+<cross-domain-policy>
+ <!-- Read this: www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html -->
+
+ <!-- Most restrictive policy: -->
+ <site-control permitted-cross-domain-policies="none"/>
+
+ <!-- Least restrictive policy: -->
+ <!--
+ <site-control permitted-cross-domain-policies="all"/>
+ <allow-access-from domain="*" to-ports="*" secure="false"/>
+ <allow-http-request-headers-from domain="*" headers="*" secure="false"/>
+ -->
+</cross-domain-policy>
View
304 public/css/main.css
@@ -0,0 +1,304 @@
+/*! HTML5 Boilerplate v4.3.0 | MIT License | http://h5bp.com/ */
+
+/*
+ * What follows is the result of much research on cross-browser styling.
+ * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
+ * Kroc Camen, and the H5BP dev community and team.
+ */
+
+/* ==========================================================================
+ Base styles: opinionated defaults
+ ========================================================================== */
+
+html,
+button,
+input,
+select,
+textarea {
+ color: #222;
+}
+
+html {
+ font-size: 1em;
+ line-height: 1.4;
+}
+
+/*
+ * Remove text-shadow in selection highlight: h5bp.com/i
+ * These selection rule sets have to be separate.
+ * Customize the background color to match your design.
+ */
+
+::-moz-selection {
+ background: #b3d4fc;
+ text-shadow: none;
+}
+
+::selection {
+ background: #b3d4fc;
+ text-shadow: none;
+}
+
+/*
+ * A better looking default horizontal rule
+ */
+
+hr {
+ display: block;
+ height: 1px;
+ border: 0;
+ border-top: 1px solid #ccc;
+ margin: 1em 0;
+ padding: 0;
+}
+
+/*
+ * Remove the gap between images, videos, audio and canvas and the bottom of
+ * their containers: h5bp.com/i/440
+ */
+
+audio,
+canvas,
+img,
+video {
+ vertical-align: middle;
+}
+
+/*
+ * Remove default fieldset styles.
+ */
+
+fieldset {
+ border: 0;
+ margin: 0;
+ padding: 0;
+}
+
+/*
+ * Allow only vertical resizing of textareas.
+ */
+
+textarea {
+ resize: vertical;
+}
+
+/* ==========================================================================
+ Browse Happy prompt
+ ========================================================================== */
+
+.browsehappy {
+ margin: 0.2em 0;
+ background: #ccc;
+ color: #000;
+ padding: 0.2em 0;
+}
+
+/* ==========================================================================
+ Author's custom styles
+ ========================================================================== */
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/* ==========================================================================
+ Helper classes
+ ========================================================================== */
+
+/*
+ * Image replacement
+ */
+
+.ir {
+ background-color: transparent;
+ border: 0;
+ overflow: hidden;
+ /* IE 6/7 fallback */
+ *text-indent: -9999px;
+}
+
+.ir:before {
+ content: "";
+ display: block;
+ width: 0;
+ height: 150%;
+}
+
+/*
+ * Hide from both screenreaders and browsers: h5bp.com/u
+ */
+
+.hidden {
+ display: none !important;
+ visibility: hidden;
+}
+
+/*
+ * Hide only visually, but have it available for screenreaders: h5bp.com/v
+ */
+
+.visuallyhidden {
+ border: 0;
+ clip: rect(0 0 0 0);
+ height: 1px;
+ margin: -1px;
+ overflow: hidden;
+ padding: 0;
+ position: absolute;
+ width: 1px;
+}
+
+/*
+ * Extends the .visuallyhidden class to allow the element to be focusable
+ * when navigated to via the keyboard: h5bp.com/p
+ */
+
+.visuallyhidden.focusable:active,
+.visuallyhidden.focusable:focus {
+ clip: auto;
+ height: auto;
+ margin: 0;
+ overflow: visible;
+ position: static;
+ width: auto;
+}
+
+/*
+ * Hide visually and from screenreaders, but maintain layout
+ */
+
+.invisible {
+ visibility: hidden;
+}
+
+/*
+ * Clearfix: contain floats
+ *
+ * For modern browsers
+ * 1. The space content is one way to avoid an Opera bug when the
+ * `contenteditable` attribute is included anywhere else in the document.
+ * Otherwise it causes space to appear at the top and bottom of elements
+ * that receive the `clearfix` class.
+ * 2. The use of `table` rather than `block` is only necessary if using
+ * `:before` to contain the top-margins of child elements.
+ */
+
+.clearfix:before,
+.clearfix:after {
+ content: " "; /* 1 */
+ display: table; /* 2 */
+}
+
+.clearfix:after {
+ clear: both;
+}
+
+/*
+ * For IE 6/7 only
+ * Include this rule to trigger hasLayout and contain floats.
+ */
+
+.clearfix {
+ *zoom: 1;
+}
+
+/* ==========================================================================
+ EXAMPLE Media Queries for Responsive Design.
+ These examples override the primary ('mobile first') styles.
+ Modify as content requires.
+ ========================================================================== */
+
+@media only screen and (min-width: 35em) {
+ /* Style adjustments for viewports that meet the condition */
+}
+
+@media print,
+ (-o-min-device-pixel-ratio: 5/4),
+ (-webkit-min-device-pixel-ratio: 1.25),
+ (min-resolution: 120dpi) {
+ /* Style adjustments for high resolution devices */
+}
+
+/* ==========================================================================
+ Print styles.
+ Inlined to avoid required HTTP connection: h5bp.com/r
+ ========================================================================== */
+
+@media print {
+ * {
+ background: transparent !important;
+ color: #000 !important; /* Black prints faster: h5bp.com/s */
+ box-shadow: none !important;
+ text-shadow: none !important;
+ }
+
+ a,
+ a:visited {
+ text-decoration: underline;
+ }
+
+ a[href]:after {
+ content: " (" attr(href) ")";
+ }
+
+ abbr[title]:after {
+ content: " (" attr(title) ")";
+ }
+
+ /*
+ * Don't show links for images, or javascript/internal links
+ */
+
+ .ir a:after,
+ a[href^="javascript:"]:after,
+ a[href^="#"]:after {
+ content: "";
+ }
+
+ pre,
+ blockquote {
+ border: 1px solid #999;
+ page-break-inside: avoid;
+ }
+
+ thead {
+ display: table-header-group; /* h5bp.com/t */
+ }
+
+ tr,
+ img {
+ page-break-inside: avoid;
+ }
+
+ img {
+ max-width: 100% !important;
+ }
+
+ @page {
+ margin: 0.5cm;
+ }
+
+ p,
+ h2,
+ h3 {
+ orphans: 3;
+ widows: 3;
+ }
+
+ h2,
+ h3 {
+ page-break-after: avoid;
+ }
+}
View
527 public/css/normalize.css
@@ -0,0 +1,527 @@
+/*! normalize.css v1.1.3 | MIT License | git.io/normalize */
+
+/* ==========================================================================
+ HTML5 display definitions
+ ========================================================================== */
+
+/**
+ * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3.
+ */
+
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+nav,
+section,
+summary {
+ display: block;
+}
+
+/**
+ * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
+ */
+
+audio,
+canvas,
+video {
+ display: inline-block;
+ *display: inline;
+ *zoom: 1;
+}
+
+/**
+ * Prevent modern browsers from displaying `audio` without controls.
+ * Remove excess height in iOS 5 devices.
+ */
+
+audio:not([controls]) {
+ display: none;
+ height: 0;
+}
+
+/**
+ * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.
+ * Known issue: no IE 6 support.
+ */
+
+[hidden] {
+ display: none;
+}
+
+/* ==========================================================================
+ Base
+ ========================================================================== */
+
+/**
+ * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
+ * `em` units.
+ * 2. Prevent iOS text size adjust after orientation change, without disabling
+ * user zoom.
+ */
+
+html {
+ font-size: 100%; /* 1 */
+ -ms-text-size-adjust: 100%; /* 2 */
+ -webkit-text-size-adjust: 100%; /* 2 */
+}
+
+/**
+ * Address `font-family` inconsistency between `textarea` and other form
+ * elements.
+ */
+
+html,
+button,
+input,
+select,
+textarea {
+ font-family: sans-serif;
+}
+
+/**
+ * Address margins handled incorrectly in IE 6/7.
+ */
+
+body {
+ margin: 0;
+}
+
+/* ==========================================================================
+ Links
+ ========================================================================== */
+
+/**
+ * Address `outline` inconsistency between Chrome and other browsers.
+ */
+
+a:focus {
+ outline: thin dotted;
+}
+
+/**
+ * Improve readability when focused and also mouse hovered in all browsers.
+ */
+
+a:active,
+a:hover {
+ outline: 0;
+}
+
+/* ==========================================================================
+ Typography
+ ========================================================================== */
+
+/**
+ * Address font sizes and margins set differently in IE 6/7.
+ * Address font sizes within `section` and `article` in Firefox 4+, Safari 5,
+ * and Chrome.
+ */
+
+h1 {
+ font-size: 2em;
+ margin: 0.67em 0;
+}
+
+h2 {
+ font-size: 1.5em;
+ margin: 0.83em 0;
+}
+
+h3 {
+ font-size: 1.17em;
+ margin: 1em 0;
+}
+
+h4 {
+ font-size: 1em;
+ margin: 1.33em 0;
+}
+
+h5 {
+ font-size: 0.83em;
+ margin: 1.67em 0;
+}
+
+h6 {
+ font-size: 0.67em;
+ margin: 2.33em 0;
+}
+
+/**
+ * Address styling not present in IE 7/8/9, Safari 5, and Chrome.
+ */
+
+abbr[title] {
+ border-bottom: 1px dotted;
+}
+
+/**
+ * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome.
+ */
+
+b,
+strong {
+ font-weight: bold;
+}
+
+blockquote {
+ margin: 1em 40px;
+}
+
+/**
+ * Address styling not present in Safari 5 and Chrome.
+ */
+
+dfn {
+ font-style: italic;
+}
+
+/**
+ * Address differences between Firefox and other browsers.
+ * Known issue: no IE 6/7 normalization.
+ */
+
+hr {
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ height: 0;
+}
+
+/**
+ * Address styling not present in IE 6/7/8/9.
+ */
+
+mark {
+ background: #ff0;
+ color: #000;
+}
+
+/**
+ * Address margins set differently in IE 6/7.
+ */
+
+p,
+pre {
+ margin: 1em 0;
+}
+
+/**
+ * Correct font family set oddly in IE 6, Safari 4/5, and Chrome.
+ */
+
+code,
+kbd,
+pre,
+samp {
+ font-family: monospace, serif;
+ _font-family: 'courier new', monospace;
+ font-size: 1em;
+}
+
+/**
+ * Improve readability of pre-formatted text in all browsers.
+ */
+
+pre {
+ white-space: pre;
+ white-space: pre-wrap;
+ word-wrap: break-word;
+}
+
+/**
+ * Address CSS quotes not supported in IE 6/7.
+ */
+
+q {
+ quotes: none;
+}
+
+/**
+ * Address `quotes` property not supported in Safari 4.
+ */
+
+q:before,
+q:after {
+ content: '';
+ content: none;
+}
+
+/**
+ * Address inconsistent and variable font size in all browsers.
+ */
+
+small {
+ font-size: 80%;
+}
+
+/**
+ * Prevent `sub` and `sup` affecting `line-height` in all browsers.
+ */
+
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline;
+}
+
+sup {
+ top: -0.5em;
+}
+
+sub {
+ bottom: -0.25em;
+}
+
+/* ==========================================================================
+ Lists
+ ========================================================================== */
+
+/**
+ * Address margins set differently in IE 6/7.
+ */
+
+dl,
+menu,
+ol,
+ul {
+ margin: 1em 0;
+}
+
+dd {
+ margin: 0 0 0 40px;
+}
+
+/**
+ * Address paddings set differently in IE 6/7.
+ */
+
+menu,
+ol,
+ul {
+ padding: 0 0 0 40px;
+}
+
+/**
+ * Correct list images handled incorrectly in IE 7.
+ */
+
+nav ul,
+nav ol {
+ list-style: none;
+ list-style-image: none;
+}
+
+/* ==========================================================================
+ Embedded content
+ ========================================================================== */
+
+/**
+ * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.
+ * 2. Improve image quality when scaled in IE 7.
+ */
+
+img {
+ border: 0; /* 1 */
+ -ms-interpolation-mode: bicubic; /* 2 */
+}
+
+/**
+ * Correct overflow displayed oddly in IE 9.
+ */
+
+svg:not(:root) {
+ overflow: hidden;
+}
+
+/* ==========================================================================
+ Figures
+ ========================================================================== */
+
+/**
+ * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11.
+ */
+
+figure {
+ margin: 0;
+}
+
+/* ==========================================================================
+ Forms
+ ========================================================================== */
+
+/**
+ * Correct margin displayed oddly in IE 6/7.
+ */
+
+form {
+ margin: 0;
+}
+
+/**
+ * Define consistent border, margin, and padding.
+ */
+
+fieldset {
+ border: 1px solid #c0c0c0;
+ margin: 0 2px;
+ padding: 0.35em 0.625em 0.75em;
+}
+
+/**
+ * 1. Correct color not being inherited in IE 6/7/8/9.
+ * 2. Correct text not wrapping in Firefox 3.
+ * 3. Correct alignment displayed oddly in IE 6/7.
+ */
+
+legend {
+ border: 0; /* 1 */
+ padding: 0;
+ white-space: normal; /* 2 */
+ *margin-left: -7px; /* 3 */
+}
+
+/**
+ * 1. Correct font size not being inherited in all browsers.
+ * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,
+ * and Chrome.
+ * 3. Improve appearance and consistency in all browsers.
+ */
+
+button,
+input,
+select,
+textarea {
+ font-size: 100%; /* 1 */
+ margin: 0; /* 2 */
+ vertical-align: baseline; /* 3 */
+ *vertical-align: middle; /* 3 */
+}
+
+/**
+ * Address Firefox 3+ setting `line-height` on `input` using `!important` in
+ * the UA stylesheet.
+ */
+
+button,
+input {
+ line-height: normal;
+}
+
+/**
+ * Address inconsistent `text-transform` inheritance for `button` and `select`.
+ * All other form control elements do not inherit `text-transform` values.
+ * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.
+ * Correct `select` style inheritance in Firefox 4+ and Opera.
+ */
+
+button,
+select {
+ text-transform: none;
+}
+
+/**
+ * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+ * and `video` controls.
+ * 2. Correct inability to style clickable `input` types in iOS.
+ * 3. Improve usability and consistency of cursor style between image-type
+ * `input` and others.
+ * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
+ * Known issue: inner spacing remains in IE 6.
+ */
+
+button,
+html input[type="button"], /* 1 */
+input[type="reset"],
+input[type="submit"] {
+ -webkit-appearance: button; /* 2 */
+ cursor: pointer; /* 3 */
+ *overflow: visible; /* 4 */
+}
+
+/**
+ * Re-set default cursor for disabled elements.
+ */
+
+button[disabled],
+html input[disabled] {
+ cursor: default;
+}
+
+/**
+ * 1. Address box sizing set to content-box in IE 8/9.
+ * 2. Remove excess padding in IE 8/9.
+ * 3. Remove excess padding in IE 7.
+ * Known issue: excess padding remains in IE 6.
+ */
+
+input[type="checkbox"],
+input[type="radio"] {
+ box-sizing: border-box; /* 1 */
+ padding: 0; /* 2 */
+ *height: 13px; /* 3 */
+ *width: 13px; /* 3 */
+}
+
+/**
+ * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
+ * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
+ * (include `-moz` to future-proof).
+ */
+
+input[type="search"] {
+ -webkit-appearance: textfield; /* 1 */
+ -moz-box-sizing: content-box;
+ -webkit-box-sizing: content-box; /* 2 */
+ box-sizing: content-box;
+}
+
+/**
+ * Remove inner padding and search cancel button in Safari 5 and Chrome
+ * on OS X.
+ */
+
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+
+/**
+ * Remove inner padding and border in Firefox 3+.
+ */
+
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+ border: 0;
+ padding: 0;
+}
+
+/**
+ * 1. Remove default vertical scrollbar in IE 6/7/8/9.
+ * 2. Improve readability and alignment in all browsers.
+ */
+
+textarea {
+ overflow: auto; /* 1 */
+ vertical-align: top; /* 2 */
+}
+
+/* ==========================================================================
+ Tables
+ ========================================================================== */
+
+/**
+ * Remove most spacing between table cells.
+ */
+
+table {
+ border-collapse: collapse;
+ border-spacing: 0;
+}
View
37 public/doc/TOC.md
@@ -0,0 +1,37 @@
+[HTML5 Boilerplate homepage](http://html5boilerplate.com)
+
+# HTML5 Boilerplate documentation:
+
+## Getting started
+
+* [Usage](usage.md) — Overview of the project contents.
+* [FAQ](faq.md) — Frequently asked questions, along with their answers.
+
+## The core of HTML5 Boilerplate
+
+* [HTML](html.md) — A guide to the default HTML.
+* [CSS](css.md) — A guide to the default CSS.
+* [JavaScript](js.md) — A guide to the default JavaScript.
+* [.htaccess](https://github.com/h5bp/server-configs-apache/tree/master/doc)
+ — All about the Apache web server configs (also see our [alternative server
+ configs](https://github.com/h5bp/server-configs/blob/master/README.md)).
+* [crossdomain.xml](crossdomain.md) — An introduction to making use of
+ crossdomain requests.
+* [Everything else](misc.md).
+
+## Development
+
+* [Extending and customizing HTML5 Boilerplate](extend.md) — Going further with
+ the boilerplate.
+
+## Related projects
+
+HTML5 Boilerplate has several related projects to help improve the performance
+of your site/app in various production environments.
+
+* [Server configs](https://github.com/h5bp/server-configs) — Configs for
+ different servers.
+* [Node build script](https://github.com/h5bp/node-build-script) — A
+ feature-rich [grunt](https://github.com/gruntjs/grunt) plugin.
+* [Ant build script](https://github.com/h5bp/ant-build-script) — The original
+ HTML5 Boilerplate build script.
View
17 public/doc/crossdomain.md
@@ -0,0 +1,17 @@
+[HTML5 Boilerplate homepage](http://html5boilerplate.com) | [Documentation
+table of contents](TOC.md)
+
+# crossdomain.xml
+
+A cross-domain policy file is an XML document that grants a web client—such as
+Adobe Flash Player, Adobe Reader, etc., permission to handle data across
+multiple domains. When a client hosts content from a particular source domain
+and that content makes requests directed towards a domain other than its own,
+the remote domain would need to host a cross-domain policy file that grants
+access to the source domain, allowing the client to continue with the
+transaction. Policy files grant read access to data, permit a client to include
+custom headers in cross-domain requests, and are also used with sockets to
+grant permissions for socket-based connections.
+
+For full details, check out Adobe's article about the [cross-domain policy file
+specification](http://www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html).
View
136 public/doc/css.md
@@ -0,0 +1,136 @@
+[HTML5 Boilerplate homepage](http://html5boilerplate.com) | [Documentation
+table of contents](TOC.md)
+
+# The CSS
+
+The HTML5 Boilerplate starting CSS includes:
+
+* [Normalize.css](https://github.com/necolas/normalize.css).
+* Useful HTML5 Boilerplate defaults.
+* Common helpers.
+* Placeholder media queries.
+* Print styles.
+
+This starting CSS does not rely on the presence of conditional classnames,
+conditional style sheets, or Modernizr. It is ready to use whatever your
+development preferences happen to be.
+
+
+## Normalize.css
+
+Normalize.css is a modern, HTML5-ready alternative to CSS resets. It contains
+extensive inline documentation. Please refer to the [Normalize.css
+project](http://necolas.github.com/normalize.css/) for more information.
+
+
+## HTML5 Boilerplate defaults
+
+This project includes a handful of base styles that build upon Normalize.css.
+These include:
+
+* Basic typography settings to provide improved text readability by default.
+* Protection against unwanted `text-shadow` during text highlighting.
+* Tweaks to default image alignment, fieldsets, and textareas.
+* A pretty Chrome Frame prompt.
+
+You are free to modify or add to these base styles as your project requires.
+
+
+## Common helpers
+
+#### `.ir`
+
+Add the `.ir` class to any element you are applying image-replacement to. When
+replacing an element's content with an image, make sure to also set a specific
+`background-image: url(pathtoimage.png);`, `width`, and `height` so that your
+replacement image appears.
+
+#### `.hidden`
+
+Add the `.hidden` class to any elements that you want to hide from all
+presentations, including screen readers. It could be an element that will be
+populated later with JavaScript or an element you will hide with JavaScript. Do
+not use this for SEO keyword stuffing. That is just not cool.
+
+#### `.visuallyhidden`
+
+Add the `.visuallyhidden` class to hide text from browsers but make it
+available for screen readers. You can use this to hide text that is specific to
+screen readers but that other users should not see. [About invisible
+content](http://www.webaim.org/techniques/css/invisiblecontent/), [Hiding
+content for
+accessibility](http://snook.ca/archives/html_and_css/hiding-content-for-accessibility),
+[HTML5 Boilerplate
+issue/research](https://github.com/h5bp/html5-boilerplate/issues/194/).
+
+#### `.invisible`
+
+Add the `.invisible` class to any element you want to hide without affecting
+layout. When you use `display: none` an element is effectively removed from the
+layout. But in some cases you want the element to simply be invisible while
+remaining in the flow and not affecting the positioning of surrounding
+content.
+
+#### `.clearfix`
+
+Adding `.clearfix` to an element will ensure that it always fully contains its
+floated children. There have been many variants of the clearfix hack over the
+years, and there are other hacks that can also help you to contain floated
+children, but the HTML5 Boilerplate currently uses the [micro
+clearfix](http://nicolasgallagher.com/micro-clearfix-hack/).
+
+
+## Media Queries
+
+The boilerplate makes it easy to get started with a "Mobile First" and
+[Responsive Web
+Design](http://www.alistapart.com/articles/responsive-web-design/) approach to
+development. But it's worth remembering that there are [no silver
+bullets](http://www.cloudfour.com/css-media-query-for-mobile-is-fools-gold/).
+
+We include a placeholder Media Queries to build up your mobile styles for wider
+viewports and high-resolution displays. It's recommended that you adapt these
+Media Queries based on the content of your site rather than mirroring the fixed
+dimensions of specific devices.
+
+If you do not want to take a "Mobile First" approach, you can simply edit or
+remove these placeholder Media Queries. One possibility would be to work from
+wide viewports down and use `max-width` MQs instead, e.g., `@media only screen
+and (max-width: 480px)`.
+
+Take a look into the [Mobile
+Boilerplate](https://github.com/h5bp/mobile-boilerplate) for features that are
+useful when developing mobile wep apps.
+
+
+## Print styles
+
+* Print styles are inlined to [reduce the number of page
+ requests](http://www.phpied.com/delay-loading-your-print-css/).
+* We strip all background colors, change the font color to black and remove
+ text-shadow. This is meant to [help save printer ink and make the printing
+ process much faster](http://www.sanbeiji.com/archives/953).
+* Anchors do not need colors to indicate they are linked. They are underlined
+ to indicate so.
+* Anchors and Abbreviations are expanded to indicate where users reading the
+ printed page can refer to.
+* But we do not want to show link text for image replaced elements (given that
+ they are primarily images).
+
+### Paged media styles
+
+* Paged media is supported only in a [few
+ browsers](http://en.wikipedia.org/wiki/Comparison_of_layout_engines_%28Cascading_Style_Sheets%29#Grammar_and_rules).
+* Paged media support means browsers would know how to interpret instructions
+ on breaking content into pages and on orphans/widows.
+* We use `page-break-inside: avoid;` to prevent an image and table row from
+ being split into two different pages, so use the same `page-break-inside:
+ avoid;` for that as well.
+* Headings should always appear with the text they are titles for. So, we
+ ensure headings never appear in a different page than the text they describe
+ by using `page-break-after: avoid;`.
+* We also apply a default margin for the page specified in `cm`.
+* We do not want [orphans and
+ widows](http://en.wikipedia.org/wiki/Widows_and_orphans) to appear on pages
+ you print. So, by defining `orphans: 3` and `widows: 3` you define the minimal
+ number of words that every line should contain.
View
586 public/doc/extend.md
@@ -0,0 +1,586 @@
+[HTML5 Boilerplate homepage](http://html5boilerplate.com) | [Documentation
+table of contents](TOC.md)
+
+# Extend and customise HTML5 Boilerplate
+
+Here is some useful advice for how you can make your project with HTML5
+Boilerplate even better. We don't want to include it all by default, as not
+everything fits with everyone's needs.
+
+
+## DNS prefetching
+
+In short, DNS Prefetching is a method of informing the browser of domain names
+referenced on a site so that the client can resolve the DNS for those hosts,
+cache them, and when it comes time to use them, have a faster turn around on
+the request.
+
+### Implicit prefetches
+
+There is a lot of prefetching done for you automatically by the browser. When
+the browser encounters an anchor in your html that does not share the same
+domain name as the current location the browser requests, from the client OS,
+the IP address for this new domain. The client first checks its cache and
+then, lacking a cached copy, makes a request from a DNS server. These requests
+happen in the background and are not meant to block the rendering of the
+page.
+
+The goal of this is that when the foreign IP address is finally needed it will
+already be in the client cache and will not block the loading of the foreign
+content. Less requests result in faster page load times. The perception of this
+is increased on a mobile platform where DNS latency can be greater.
+
+#### Disable implicit prefetching
+
+```html
+<meta http-equiv="x-dns-prefetch-control" content="off">
+```
+
+Even with X-DNS-Prefetch-Control meta tag (or http header) browsers will still
+prefetch any explicit dns-prefetch links.
+
+**_WARNING:_** THIS MAY MAKE YOUR SITE SLOWER IF YOU RELY ON RESOURCES FROM
+FOREIGN DOMAINS.
+
+### Explicit prefetches
+
+Typically the browser only scans the HTML for foreign domains. If you have
+resources that are outside of your HTML (a javascript request to a remote
+server or a CDN that hosts content that may not be present on every page of
+your site, for example) then you can queue up a domain name to be prefetched.
+
+```html
+<link rel="dns-prefetch" href="//example.com">
+<link rel="dns-prefetch" href="//ajax.googleapis.com">
+```
+
+You can use as many of these as you need, but it's best if they are all
+immediately after the [Meta
+Charset](https://developer.mozilla.org/en/HTML/Element/meta#attr-charset)
+element (which should go right at the top of the `head`), so the browser can
+act on them ASAP.
+
+#### Common Prefetch Links
+
+Amazon S3:
+
+```html
+<link rel="dns-prefetch" href="//s3.amazonaws.com">
+```
+
+Google APIs:
+
+```html
+<link rel="dns-prefetch" href="//ajax.googleapis.com">
+```
+
+Microsoft Ajax Content Delivery Network:
+
+```html
+<link rel="dns-prefetch" href="//ajax.microsoft.com">
+<link rel="dns-prefetch" href="//ajax.aspnetcdn.com">
+```
+
+### Browser support for DNS prefetching
+
+Chrome, Firefox 3.5+, Safari 5+, Opera (Unknown), IE 9 (called "Pre-resolution"
+on blogs.msdn.com)
+
+### Further reading about DNS prefetching
+
+* https://developer.mozilla.org/En/Controlling_DNS_prefetching
+* http://dev.chromium.org/developers/design-documents/dns-prefetching
+* http://www.apple.com/safari/whats-new.html
+* http://blogs.msdn.com/b/ie/archive/2011/03/17/internet-explorer-9-network-performance-improvements.aspx
+* http://dayofjs.com/videos/22158462/web-browsers_alex-russel
+
+
+## Search
+
+### Direct search spiders to your sitemap
+
+[Learn how to make a sitemap](http://www.sitemaps.org/protocol.php)
+
+```html
+<link rel="sitemap" type="application/xml" title="Sitemap" href="/sitemap.xml">
+```
+
+### Hide pages from search engines
+
+According to Heather Champ, former community manager at Flickr, you should not
+allow search engines to index your "Contact Us" or "Complaints" page if you
+value your sanity. This is an HTML-centric way of achieving that.
+
+```html
+<meta name="robots" content="noindex">
+```
+
+**_WARNING:_** DO NOT INCLUDE ON PAGES THAT SHOULD APPEAR IN SEARCH ENGINES.
+
+### Firefox and IE Search Plugins
+
+Sites with in-site search functionality should be strongly considered for a
+browser search plugin. A "search plugin" is an XML file which defines how your
+plugin behaves in the browser. [How to make a browser search
+plugin](http://www.google.com/search?ie=UTF-8&q=how+to+make+browser+search+plugin).
+
+```html
+<link rel="search" title="" type="application/opensearchdescription+xml" href="">
+```
+
+
+## Internet Explorer
+
+### Prompt users to switch to "Desktop Mode" in IE10 Metro
+
+IE10 does not support plugins, such as Flash, in Metro mode. If your site
+requires plugins, you can let users know that via the X-UA-Compatible meta
+element, which will prompt them to switch to Desktop Mode.
+
+```html
+<meta http-equiv="X-UA-Compatible" content="requiresActiveX=true">
+```
+
+Here's what it looks like alongside H5BP's default X-UA-Compatible values:
+
+```html
+<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1,requiresActiveX=true">
+```
+
+You can find more information in [Microsoft's IEBlog post about prompting for
+plugin use in IE10 Metro
+Mode](http://blogs.msdn.com/b/ie/archive/2012/01/31/web-sites-and-a-plug-in-free-web.aspx).
+
+### IE Pinned Sites (IE9+)
+
+Enabling your application for pinning will allow IE9 users to add it to their
+Windows Taskbar and Start Menu. This comes with a range of new tools that you
+can easily configure with the elements below. See more [documentation on IE9
+Pinned Sites](http://msdn.microsoft.com/en-us/library/gg131029.aspx).
+
+### Name the Pinned Site for Windows
+
+Without this rule, Windows will use the page title as the name for your
+application.
+
+```html
+<meta name="application-name" content="Sample Title">
+```
+
+### Give your Pinned Site a tooltip
+
+You know — a tooltip. A little textbox that appears when the user holds their
+mouse over your Pinned Site's icon.
+
+```html
+<meta name="msapplication-tooltip" content="A description of what this site does.">
+```
+
+### Set a default page for your Pinned Site
+
+If the site should go to a specific URL when it is pinned (such as the
+homepage), enter it here. One idea is to send it to a special URL so you can
+track the number of pinned users, like so:
+`http://www.example.com/index.html?pinned=true`
+
+```html
+<meta name="msapplication-starturl" content="http://www.example.com/index.html?pinned=true">
+```
+
+### Recolor IE's controls manually for a Pinned Site
+
+IE9+ will automatically use the overall color of your Pinned Site's favicon to
+shade its browser buttons. UNLESS you give it another color here. Only use
+named colors (`red`) or hex colors (`#ff0000`).
+
+```html
+<meta name="msapplication-navbutton-color" content="#ff0000">
+```
+
+### Manually set the window size of a Pinned Site
+
+If the site should open at a certain window size once pinned, you can specify
+the dimensions here. It only supports static pixel dimensions. 800x600
+minimum.
+
+```html
+<meta name="msapplication-window" content="width=800;height=600">
+```
+
+### Jump List "Tasks" for Pinned Sites
+
+Add Jump List Tasks that will appear when the Pinned Site's icon gets a
+right-click. Each Task goes to the specified URL, and gets its own mini icon
+(essentially a favicon, a 16x16 .ICO). You can add as many of these as you
+need.
+
+```html
+<meta name="msapplication-task" content="name=Task 1;action-uri=http://host/Page1.html;icon-uri=http://host/icon1.ico">
+<meta name="msapplication-task" content="name=Task 2;action-uri=http://microsoft.com/Page2.html;icon-uri=http://host/icon2.ico">
+```
+
+### (Windows 8) High quality visuals for Pinned Sites
+
+Windows 8 adds the ability for you to provide a PNG tile image and specify the
+tile's background color. [Full details on the IE
+blog](http://blogs.msdn.com/b/ie/archive/2012/06/08/high-quality-visuals-for-pinned-sites-in-windows-8.aspx).
+
+* Create a 144x144 image of your site icon, filling all of the canvas, and
+ using a transparent background.
+* Save this image as a 32-bit PNG and optimize it without reducing
+ colour-depth. It can be named whatever you want (e.g. `metro-tile.png`).
+* To reference the tile and its color, add the HTML `meta` elements described
+ in the IE Blog post.
+
+### (Windows 8) Badges for Pinned Sites
+
+IE10 will poll an XML document for badge information to display on your app's
+tile in the Start screen. The user will be able to receive these badge updates
+even when your app isn't actively running. The badge's value can be a number,
+or one of a predefined list of glyphs.
+
+* [Tutorial on IEBlog with link to badge XML schema](http://blogs.msdn.com/b/ie/archive/2012/04/03/pinned-sites-in-windows-8.aspx)
+* [Available badge values](http://msdn.microsoft.com/en-us/library/ie/br212849.aspx)
+
+```html
+<meta name="msapplication-badge" value="frequency=NUMBER_IN_MINUTES;polling-uri=http://www.example.com/path/to/file.xml">
+```
+
+### Disable link highlighting upon tap in IE10
+
+Similar to [-webkit-tap-highlight-color](http://davidwalsh.name/mobile-highlight-color)
+in iOS Safari. Unlike that CSS property, this is an HTML meta element, and it's
+value is boolean rather than a color. It's all or nothing.
+
+```html
+<meta name="msapplication-tap-highlight" content="no" />
+```
+
+You can read about this useful element and more techniques in
+[Microsoft's documentation on adapting WebKit-oriented apps for IE10](http://blogs.windows.com/windows_phone/b/wpdev/archive/2012/11/15/adapting-your-webkit-optimized-site-for-internet-explorer-10.aspx).
+
+### Suppress IE6 image toolbar
+
+Kill IE6's pop-up-on-mouseover toolbar for images that can interfere with
+certain designs and be pretty distracting in general.
+
+```html
+<meta http-equiv="imagetoolbar" content="false">
+```
+
+
+## Social Networks
+
+### Facebook Open Graph data
+
+You can control the information that Facebook and others display when users
+share your site. Below are just the most basic data points you might need. For
+specific content types (including "website"), see [Facebook's built-in Open
+Graph content
+templates](https://developers.facebook.com/docs/opengraph/objects/builtin/).
+Take full advantage of Facebook's support for complex data and activity by
+following the [Open Graph
+tutorial](https://developers.facebook.com/docs/opengraph/tutorial/).
+
+```html
+<meta property="og:title" content="">
+<meta property="og:description" content="">
+<meta property="og:image" content="">
+```
+
+### Twitter Cards
+
+Twitter provides a snippet specification that serves a similar purpose to Open
+Graph. In fact, Twitter will use Open Graph when Cards is not available. Note
+that, as of this writing, Twitter requires that app developers activate Cards
+on a per-domain basis. You can read more about the various snippet formats
+and application process in the [official Twitter Cards
+documentation](https://dev.twitter.com/docs/cards).
+
+```html
+<meta name="twitter:card" content="summary">
+<meta name="twitter:site" content="@site_account">
+<meta name="twitter:creator" content="@individual_account">
+<meta name="twitter:url" content="http://www.example.com/path/to/page.html">
+<meta name="twitter:title" content="">
+<meta name="twitter:description" content="">
+<meta name="twitter:image" content="http://www.example.com/path/to/image.jpg">
+```
+
+
+## URLs
+
+### Canonical URL
+
+Signal to search engines and others "Use this URL for this page!" Useful when
+parameters after a `#` or `?` is used to control the display state of a page.
+`http://www.example.com/cart.html?shopping-cart-open=true` can be indexed as
+the cleaner, more accurate `http://www.example.com/cart.html`.
+
+```html
+<link rel="canonical" href="">
+```
+
+### Official shortlink
+
+Signal to the world "This is the shortened URL to use this page!" Poorly
+supported at this time. Learn more by reading the [article about shortlinks on
+the Microformats wiki](http://microformats.org/wiki/rel-shortlink).
+
+```html
+<link rel="shortlink" href="h5bp.com">
+```
+
+
+## News Feeds
+
+### RSS
+
+Have an RSS feed? Link to it here. Want to [learn how to write an RSS feed from
+scratch](http://www.rssboard.org/rss-specification)?
+
+```html
+<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml">
+```
+
+### Atom
+
+Atom is similar to RSS, and you might prefer to use it instead of or in
+addition to it. [See what Atom's all
+about](http://www.atomenabled.org/developers/syndication/).
+
+```html
+<link rel="alternate" type="application/atom+xml" title="Atom" href="/atom.xml">
+```
+
+### Pingbacks
+
+Your server may be notified when another site links to yours. The href
+attribute should contain the location of your pingback service.
+
+```html
+<link rel="pingback" href="">
+```
+
+* High-level explanation: http://codex.wordpress.org/Introduction_to_Blogging#Pingbacks
+* Step-by-step example case: http://www.hixie.ch/specs/pingback/pingback-1.0#TOC5
+* PHP pingback service: http://blog.perplexedlabs.com/2009/07/15/xmlrpc-pingbacks-using-php/
+
+
+## App Stores
+
+### Install a Chrome Web Store app
+
+Users can install a Chrome app directly from your website, as long as the app
+and site have been associated via Google's Webmaster Tools. Read more on
+[Chrome Web Store's Inline Installation
+docs](https://developers.google.com/chrome/web-store/docs/inline_installation).
+
+```html
+<link rel="chrome-webstore-item" href="https://chrome.google.com/webstore/detail/APP_ID">
+```
+
+### Smart App Banners in iOS 6 Safari
+
+Stop bothering everyone with gross modals advertising your entry in the App Store.
+This bit of code will unintrusively allow the user the option to download your iOS
+app, or open it with some data about the user's current state on the website.
+
+```html
+<meta name="apple-itunes-app" content="app-id=APP_ID,app-argument=SOME_TEXT">
+```
+
+## Google Analytics augments
+
+### More tracking settings
+
+The [optimized Google Analytics
+snippet](http://mathiasbynens.be/notes/async-analytics-snippet) included with
+HTML5 Boilerplate includes something like this:
+
+```js
+var _gaq = [['_setAccount', 'UA-XXXXX-X'], ['_trackPageview']];
+```
+
+In case you need more settings, just extend the array literal instead of
+[`.push()`ing to the
+array](http://mathiasbynens.be/notes/async-analytics-snippet#dont-push-it)
+afterwards:
+
+```js
+var _gaq = [['_setAccount', 'UA-XXXXX-X'], ['_trackPageview'], ['_setAllowAnchor', true]];
+```
+
+### Anonymize IP addresses
+
+In some countries, no personal data may be transferred outside jurisdictions
+that do not have similarly strict laws (i.e. from Germany to outside the EU).
+Thus a webmaster using the Google Analytics script may have to ensure that no
+personal (trackable) data is transferred to the US. You can do that with [the
+`_gat.anonymizeIp`
+option](http://code.google.com/apis/analytics/docs/gaJS/gaJSApi_gat.html#_gat._anonymizeIp).
+In use it looks like this:
+
+```js
+var _gaq = [['_setAccount', 'UA-XXXXX-X'], ['_gat._anonymizeIp'], ['_trackPageview']];
+```
+
+### Track jQuery AJAX requests in Google Analytics
+
+An article by @JangoSteve explains how to [track jQuery AJAX requests in Google
+Analytics](http://www.alfajango.com/blog/track-jquery-ajax-requests-in-google-analytics/).
+
+Add this to `plugins.js`:
+
+```js
+/*
+ * Log all jQuery AJAX requests to Google Analytics
+ * See: http://www.alfajango.com/blog/track-jquery-ajax-requests-in-google-analytics/
+ */
+if (typeof _gaq !== "undefined" && _gaq !== null) {
+ $(document).ajaxSend(function(event, xhr, settings){
+ _gaq.push(['_trackPageview', settings.url]);
+ });
+}
+```
+
+### Track JavaScript errors in Google Analytics
+
+Add this function after `_gaq` is defined:
+
+```js
+(function(window){
+ var undefined,
+ link = function (href) {
+ var a = window.document.createElement('a');
+ a.href = href;
+ return a;
+ };
+ window.onerror = function (message, file, line, column) {
+ var host = link(file).hostname;
+ _gaq.push([
+ '_trackEvent',
+ (host == window.location.hostname || host == undefined || host == '' ? '' : 'external ') + 'error',
+ message, file + ' LINE: ' + line + (column ? ' COLUMN: ' + column : ''), undefined, undefined, true
+ ]);
+ };
+}(window));
+```
+
+### Track page scroll
+
+Add this function after `_gaq` is defined:
+
+```js
+$(function(){
+ var isDuplicateScrollEvent,
+ scrollTimeStart = new Date,
+ $window = $(window),
+ $document = $(document),
+ scrollPercent;
+
+ $window.scroll(function() {
+ scrollPercent = Math.round(100 * ($window.height() + $window.scrollTop())/$document.height());
+ if (scrollPercent > 90 && !isDuplicateScrollEvent) { //page scrolled to 90%
+ isDuplicateScrollEvent = 1;
+ _gaq.push(['_trackEvent', 'scroll',
+ 'Window: ' + $window.height() + 'px; Document: ' + $document.height() + 'px; Time: ' + Math.round((new Date - scrollTimeStart )/1000,1) + 's',
+ undefined, undefined, true
+ ]);
+ }
+ });
+});
+```
+
+## iOS Web Apps
+
+There are a couple of meta tags that provide information about a web app when
+added to the Home Screen on iOS.
+
+Adding `apple-mobile-web-app-capable` will make your web app chrome-less and
+provide the default iOS app view. You can control the color scheme of the
+default view by adding `apple-mobile-web-app-status-bar-style`.
+
+```html
+<meta name="apple-mobile-web-app-capable" content="yes">
+<meta name="apple-mobile-web-app-status-bar-style" content="black">
+```
+
+You can use `apple-mobile-web-app-title` to add a specific sites name for the
+Home Screen icon. This works since iOS 6.
+
+```html
+<meta name="apple-mobile-web-app-title" content="">
+```
+
+For further information please read the [official documentation](http://developer.apple.com/library/safari/#documentation/AppleApplications/Reference/SafariHTMLRef/Articles/MetaTags.html)
+on Apple's site.
+
+### Apple Touch Icons
+
+Touch Icons can be seen as the favicons of mobile devices and tablets.
+
+If your site or icons are in a sub-directory, you will need to reference the
+icons using `link` elements placed in the HTML `head` of your document.
+
+```html
+<link rel="apple-touch-icon-precomposed" href="apple-touch-icon-precomposed.png">
+```
+
+The main sizes of the icons on iOS are:
+
+* iPad, high-resolution display, iOS 7: 152x152
+* iPad, high-resolution display, iOS ≤ 6: 144x144
+* iPhone, high-resolution display, iOS 7: 120x120
+* iPhone, high-resolution display, iOS ≤ 6: 114x114
+* iPad, non-Retina, iOS ≤ 6: 72x72
+
+For non-Retina iPhone, iPod Touch, and Android 2.1+ devices you can use the
+example from above or replace the `apple-touch-icon-precomposed.png` within this
+project's root folder.
+
+Please refer to Mathias' [article on Touch
+Icons](http://mathiasbynens.be/notes/touch-icons) for a comprehensive overview.
+
+### Apple Touch Startup Image
+
+Apart from that it is possible to add start-up screens for web apps on iOS. This
+basically works by defining `apple-touch-startup-image` with an according link
+to the image. Since iOS devices have different screen resolutions it is
+necessary to add media queries to detect which image to load. Here is an
+example for a retina iPhone:
+
+```html
+<link rel="apple-touch-startup-image" media="(max-device-width: 480px) and (-webkit-min-device-pixel-ratio: 2)" href="img/startup-retina.png">
+```
+
+However, it is possible to detect which start-up image to use with JavaScript.
+The Mobile Boilerplate provides a useful function for this. Please see
+[helpers.js](https://github.com/h5bp/mobile-boilerplate/blob/master/js/helper.js#L354)
+for the implementation.
+
+## Miscellaneous
+
+* Use [HTML5
+ polyfills](https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-browser-Polyfills).
+
+* Use [Microformats](http://microformats.org/wiki/Main_Page) (via
+ [microdata](http://microformats.org/wiki/microdata)) for optimum search
+ results
+ [visibility](http://googlewebmastercentral.blogspot.com/2009/05/introducing-rich-snippets.html).
+
+* If you're building a web app you may want [native style momentum scrolling in
+ iOS5](http://johanbrook.com/browsers/native-momentum-scrolling-ios-5/) using
+ `-webkit-overflow-scrolling: touch`.
+
+* Avoid development/stage websites "leaking" into SERPs (search engine results
+ page) by [implementing X-Robots-tag
+ headers](https://github.com/h5bp/html5-boilerplate/issues/804).
+
+* Screen readers currently have less-than-stellar support for HTML5 but the JS
+ script [accessifyhtml5.js](https://github.com/yatil/accessifyhtml5.js) can
+ help increase accessibility by adding ARIA roles to HTML5 elements.
+
+
+*Many thanks to [Brian Blakely](https://github.com/brianblakely) for
+contributing much of this information.*
View
76 public/doc/faq.md
@@ -0,0 +1,76 @@
+[HTML5 Boilerplate homepage](http://html5boilerplate.com) | [Documentation
+table of contents](TOC.md)
+
+# Frequently asked questions
+
+### Why is the URL for jQuery without "http"?
+
+This is an intentional use of [protocol-relative
+URLs](http://paulirish.com/2010/the-protocol-relative-url/)
+
+**N.B.** Using a protocol-relative URL for files that exist on a CDN is
+problematic when you try to view your local files directly in the browser. The
+browser will attempt to fetch the file from your local file system. We
+recommend that you use a local server to test your pages (or Dropbox). This can
+be done using Python 2.x by running `python -m SimpleHTTPServer` or Python 3.x
+with `python -m http.server` from your local directory, using Ruby by installing
+and running [asdf](https://rubygems.org/gems/asdf), and by installing any one of
+XAMPP, MAMP, or WAMP.
+
+### Why don't you automatically load the latest version of jQuery from the Google CDN?
+
+1. The latest version of jQuery may not be compatible with the existing
+ plugins/code on the site. Version updating should be an intentional
+ decision.
+2. The latest version has a very short `max-age=3600` compares to the specific
+ version of `max-age=31536000`, which means you won't get the benefits of
+ long-term caching.
+
+
+### Why is the Google Analytics code at the bottom? Google recommends it be placed the `head`.
+
+The advantage to placing it in the `head` is that you will track a user's
+pageview even if they leave the page before it has been fully loaded. However,
+putting the code at the bottom keeps all the scripts together and reinforces
+that scripts at the bottom are the right move.
+
+
+### How can I integrate [Twitter Bootstrap](http://twitter.github.com/bootstrap/) with HTML5 Boilerplate?
+
+You can use [Initializr](http://initializr.com) to create a custom build that
+includes HTML5 Boilerplate with Twitter Bootstrap.
+
+Read more about how [HTML5 Boilerplate and Twitter Bootstrap complement each
+other](http://www.quora.com/Is-Bootstrap-a-complement-OR-an-alternative-to-HTML5-Boilerplate-or-viceversa/answer/Nicolas-Gallagher).
+
+
+### How do I prevent phone numbers looking twice as large and having a Skype highlight?
+
+If this is occurring, it is because a user has the Skype browser extension
+installed.
+
+Use the following CSS to prevent Skype from formatting the numbers on your
+page:
+
+```css
+span.skype_pnh_container {
+ display: none !important;
+}
+
+span.skype_pnh_print_container {
+ display: inline !important;
+}
+```
+
+
+### Do I need to upgrade my sites each time a new version of HTML5 Boilerplate is released?
+
+No. You don't normally replace the foundations of a house once it has been
+built. There is nothing stopping you from trying to work in the latest changes
+but you'll have to assess the costs/benefits of doing so.
+
+
+### Where can I get help for support questions?
+
+Please ask for help on
+[StackOverflow](http://stackoverflow.com/questions/tagged/html5boilerplate).
View
161 public/doc/html.md
@@ -0,0 +1,161 @@
+[HTML5 Boilerplate homepage](http://html5boilerplate.com) | [Documentation
+table of contents](TOC.md)
+
+# The HTML
+
+## Conditional `html` classes
+
+A series of IE conditional comments apply the relevant IE-specific classes to
+the `html` tag. This provides one method of specifying CSS fixes for specific
+legacy versions of IE. While you may or may not choose to use this technique in
+your project code, HTML5 Boilerplate's default CSS does not rely on it.
+
+When using the conditional classes technique, applying classes to the `html`
+element has several benefits:
+
+* It avoids a [file blocking
+ issue](http://webforscher.wordpress.com/2010/05/20/ie-6-slowing-down-ie-8/)
+ discovered by Stoyan Stefanov and Markus Leptien.
+* It avoids the need for an empty comment that also fixes the above issue.
+* CMSes like WordPress and Drupal use the body class more heavily. This makes
+ integrating there a touch simpler.
+* It still validates as HTML5.
+* It uses the same element as Modernizr (and Dojo). That feels nice.
+* It can improve the clarity of code in multi-developer teams.
+
+
+## The `no-js` class
+
+Allows you to more easily explicitly add custom styles when JavaScript is
+disabled (`no-js`) or enabled (`js`). More here: [Avoiding the
+FOUC](http://paulirish.com/2009/avoiding-the-fouc-v3/).
+
+
+## The order of meta tags, and `<title>`
+
+As recommended by [the HTML5
+spec](http://www.whatwg.org/specs/web-apps/current-work/complete/semantics.html#charset)
+(4.2.5.5 Specifying the document's character encoding), add your charset
+declaration early (before any ASCII art ;) to avoid a potential
+[encoding-related security
+issue](http://code.google.com/p/doctype-mirror/wiki/ArticleUtf7) in IE. It
+should come in the first [1024
+bytes](http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#charset).
+
+The charset should also come before the `<title>` tag, due to [potential XSS
+vectors](http://code.google.com/p/doctype-mirror/wiki/ArticleUtf7).
+
+The meta tag for compatibility mode [needs to be before all elements except
+title and meta](http://h5bp.com/f "Defining Document Compatibility - MSDN").
+And that same meta tag can only be invoked for Google Chrome Frame if it is
+within the [first 1024
+bytes](http://code.google.com/p/chromium/issues/detail?id=23003).
+
+
+## X-UA-Compatible
+
+This makes sure the latest version of IE is used in versions of IE that contain
+multiple rendering engines. Even if a site visitor is using IE8 or IE9, it's
+possible that they're not using the latest rendering engine their browser
+contains. To fix this, use:
+
+```html
+<meta http-equiv="X-UA-Compatible" content="IE=edge">
+```
+
+The `meta` tag tells the IE rendering engine it should use the latest, or edge,
+version of the IE rendering environment.
+
+This `meta` tag ensures that anyone browsing your site in IE is treated to the
+best possible user experience that their browser can offer.
+
+This line breaks validation. To avoid this edge case issue it is recommended
+that you **remove this line and use the `.htaccess`** (or other server config)
+to send these headers instead. You also might want to read [Validating:
+X-UA-Compatible](http://groups.google.com/group/html5boilerplate/browse_thread/thread/6d1b6b152aca8ed2).
+
+If you are serving your site on a non-standard port, you will need to set this
+header on the server-side. This is because the IE preference option 'Display
+intranet sites in Compatibility View' is checked by default.
+
+
+## Mobile viewport
+
+There are a few different options that you can use with the [`viewport` meta
+tag](https://docs.google.com/present/view?id=dkx3qtm_22dxsrgcf4 "Viewport and
+Media Queries - The Complete Idiot's Guide"). You can find out more in [the
+Apple developer docs](http://j.mp/mobileviewport). HTML5 Boilerplate comes with
+a simple setup that strikes a good balance for general use cases.
+
+```html
+<meta name="viewport" content="width=device-width, initial-scale=1">
+```
+
+## Favicons and Touch Icon
+
+The shortcut icons should be put in the root directory of your site. HTML5
+Boilerplate comes with a default set of icons (include favicon and one Apple
+Touch Icon) that you can use as a baseline to create your own.
+
+Please refer to the more detailed description in the [Extend section](extend.md)
+of these docs.
+
+## Modernizr
+
+HTML5 Boilerplate uses a custom build of Modernizr.
+
+[Modernizr](http://modernizr.com) is a JavaScript library which adds classes to
+the `html` element based on the results of feature test and which ensures that
+all browsers can make use of HTML5 elements (as it includes the HTML5 Shiv).
+This allows you to target parts of your CSS and JavaScript based on the
+features supported by a browser.
+
+In general, in order to keep page load times to a minimum, it's best to call
+any JavaScript at the end of the page because if a script is slow to load
+from an external server it may cause the whole page to hang. That said, the
+Modernizr script *needs* to run *before* the browser begins rendering the page,
+so that browsers lacking support for some of the new HTML5 elements are able to
+handle them properly. Therefore the Modernizr script is the only JavaScript
+file synchronously loaded at the top of the document.
+
+
+## The content area
+
+The central part of the boilerplate template is pretty much empty. This is
+intentional, in order to make the boilerplate suitable for both web page and
+web app development.
+
+### Google Chrome Frame
+
+The main content area of the boilerplate includes a prompt to install Chrome
+Frame (which no longer requires administrative rights) for users of IE 6. If
+you intended to support IE 6, then you should remove the snippet of code.
+
+### Google CDN for jQuery
+
+The Google CDN version of the jQuery JavaScript library is referenced towards
+the bottom of the page using a protocol-independent path (read more about this
+in the [FAQ](faq.md)). A local fallback of jQuery is included for rare instances
+when the CDN version might not be available, and to facilitate offline
+development.
+
+Regardless of which JavaScript library you choose to use, it is well worth the
+time and effort to look up and reference the Google CDN (Content Delivery
+Network) version. Your users may already have this version cached in their
+browsers, and Google's CDN is likely to deliver the asset faster than your
+server.
+
+### Google Analytics Tracking Code
+
+Finally, an optimized version of the latest Google Analytics tracking code is
+included. Google recommends that this script be placed at the top of the page.
+Factors to consider: if you place this script at the top of the page, you’ll be
+able to count users who don’t fully load the page, and you’ll incur the max
+number of simultaneous connections of the browser.
+
+Further information:
+
+* [Optimizing the asynchronous Google Analytics
+ snippet](http://mathiasbynens.be/notes/async-analytics-snippet).
+* [Tracking Site Activity - Google
+ Analytics](http://code.google.com/apis/analytics/docs/tracking/asyncTracking.html).
View
31 public/doc/js.md
@@ -0,0 +1,31 @@
+[HTML5 Boilerplate homepage](http://html5boilerplate.com) | [Documentation
+table of contents](TOC.md)
+
+# The JavaScript
+
+Information about the default JavaScript included in the project.
+
+## main.js
+
+This file can be used to contain or reference your site/app JavaScript code.
+For larger projects, you can make use of a JavaScript module loader, like
+[Require.js](http://requirejs.org/), to load any other scripts you need to
+run.
+
+## plugins.js
+
+This file can be used to contain all your plugins, such as jQuery plugins and
+other 3rd party scripts.
+
+One approach is to put jQuery plugins inside of a `(function($){ ...
+})(jQuery);` closure to make sure they're in the jQuery namespace safety
+blanket. Read more about [jQuery plugin
+authoring](http://docs.jquery.com/Plugins/Authoring#Getting_Started)
+
+## vendor
+
+This directory can be used to contain all 3rd party library code.
+
+Minified versions of the latest jQuery and Modernizr libraries are included by
+default. You may wish to create your own [custom Modernizr
+build](http://www.modernizr.com/download/).
View
26 public/doc/misc.md
@@ -0,0 +1,26 @@
+[HTML5 Boilerplate homepage](http://html5boilerplate.com) | [Documentation
+table of contents](TOC.md)
+
+# Miscellaneous
+
+## .gitignore
+
+HTML5 Boilerplate includes a basic project-level `.gitignore`. This should