Compare commits

..

357 Commits
v2.0 ... v4.0.3

Author SHA1 Message Date
Nicolas Gallagher
29315016dc v4.0.3 2013-01-12 16:16:35 -08:00
Nicolas Gallagher
90f99e1587 Update CHANGELOG 2013-01-12 16:15:15 -08:00
Jonathan Neal
fb9166461b Merge pull request #1286 from jonathantneal/issue-1285
HiDPI (32x32px) favicon.ico - Issue #1285
2013-01-09 17:15:30 -08:00
Jonathan Neal
21702c4198 HiDPI (32x32px) favicon.ico
32x32-only version. Tested in IE6+, Safari 4+, and the latest Chrome,
Firefox, and Opera.
2013-01-09 17:12:19 -08:00
Simon Owen Design
7bc8241f51 Minor amend, closing a missing bracket. 2013-01-04 19:43:31 +00:00
Devin Rhode
a2b3d06e8b Remove named function expression in plugins.js
Details on various bugs with named function expressions:
http://kangax.github.com/nfe/#jscript-bugs
2012-12-28 12:58:11 +00:00
Nicolas Gallagher
081f8aa0de Adjust CSS image-replacement
Make sure that any text-highlight, or other factors that may break the
illusion, are far enough outside the element to be unnoticed.

Fix gh-1239
2012-12-28 12:39:19 +00:00
Nicolas Gallagher
1987e5a1ee Update HiDPI CSS @media rule
Provide greater cross-browser support. Thanks to Wordpress -
http://core.trac.wordpress.org/changeset/22629 - and @marcedwards - see
issue #1127.
2012-12-28 12:31:58 +00:00
Nicolas Gallagher
46446727b2 v4.0.2 2012-12-09 15:12:30 -08:00
Nicolas Gallagher
3d5d852697 Update placeholder icons
Apply the latest design of the H5BP logo to each of the touch icons and
the favicon.
2012-12-08 10:54:17 -08:00
Hans Christian Reinl
052ecc4b29 Update Normalize.css to 1.0.2
This update corrects `h6` font size normalization.
2012-11-25 20:54:13 +01:00
Frederic Hemberger
dac15682b3 Add note about AddOutputFilterByType in Apache < v2.3.7 2012-11-18 22:30:45 +02:00
Hans Christian Reinl
8c08445487 Merge pull request #1253 from bmcustodio/jquery-1.8.3
Updated 'jQuery' to 1.8.3.
2012-11-14 01:38:33 -08:00
bmcustodio
d141f70910 Updated 'jQuery' to 1.8.3. 2012-11-14 09:06:22 +00:00
Nicolas Gallagher
e9f6a9890c Remove broken link to PDF in cross-domain docs
Adobe have changed the location of the PDF. There is no gaurantee that
it will remain at the new location either. Since we already link to an
Adobe article about the cross-domain policy spec (that links to a PDF)
we don't need to link to both.
2012-11-04 09:44:33 -08:00
alrra
e85301270f htaccess: for consistency, use mod_php5.c 2012-11-01 15:48:09 +02:00
Christian Bundy
0615b940c3 htaccess: sort the values of directives alphabetically 2012-10-30 12:58:54 +02:00
Thomas Bassetto
551dd5c5d6 Fix missing parenthesis to CHANGELOG.md 2012-10-29 15:12:34 +02:00
Nicolas Gallagher
25c1073d13 v4.0.1 2012-10-20 16:01:31 -07:00
Nicolas Gallagher
7b04f32d5a Update CHANGELOG 2012-10-18 21:59:54 -07:00
Hans Christian Reinl
750bf0e093 Further improvements to console stubbing method
These improvements are:

- cache current method in `while`-loop to reduce property look-ups
- use `if` as the conditional assignment in `while`-loop in order to improve performance and readability

Reference: commit 578f377
Closes gh-1229
2012-10-14 21:06:53 +02:00
bmcustodio
dc00673b7c Fix console stubbing method in oldIE
Expose `console` object to global scope in IE6 and IE7

Reference: gh-1229
2012-10-14 15:00:32 +02:00
Nicolas Gallagher
5bed678da0 Update CHANGELOG 2012-09-22 03:15:45 -07:00
Devin Rhode
578f377849 Improve console method stubbing
Avoid browsers with `console` and `console.log` throwing errors for some
of the other methods that they did not support.

Fix gh-1206
Close gh-1218
2012-09-22 03:04:03 -07:00
Nicolas Gallagher
e1b163041e Merge pull request #1219 from ryanve/master
Disambiguate chromeframe prompt wording.
2012-09-22 02:58:52 -07:00
bmcustodio
4ac3ffef5c Updated jQuery to 1.8.2
jQuery 1.8.2 has just been released. Google's CDN has not yet
been updated, but it shouldn't take too long before it is.
2012-09-21 22:41:35 +02:00
Ryan Van Etten
6be0119cd2 Disambiguate chromeframe prompt wording. 2012-09-20 15:14:13 -04:00
Nicolas Gallagher
e6c64a238d Remove duplicate markTimeline from plugins.js
Fix gh-1211
2012-09-19 23:28:55 +01:00
Alec Rust
b378ce239d Enforce coding style in main.css print styles 2012-09-19 23:25:40 +01:00
Nicolas Gallagher
2c079ae144 Add a CONTRIBUTING.md file
Move the information on contributing from the bundled documentation to a
new root file - CONTRIBUTING. This is both a more meaningful location
(not part of code documentation) and allows us to take advantage of
GitHub's latest UI changes that prompt people to read a repo's
guidelines before reporting issues or opening pull requests.
2012-09-17 20:40:46 +01:00
Haralan Dobrev
2dd1153cfc Fix SymLinksIfOwnerMatch typo in .htaccess
Ref. gh-1209
2012-09-17 10:42:15 +02:00
Nicolas Gallagher
bfeac11c9a Update CHANGELOG 2012-09-16 12:07:31 +01:00
Nicolas Gallagher
bb7b3577b1 Remove outdated URL from .htaccess
Fix gh-1201
2012-09-16 12:06:36 +01:00
paulwithap
d20a342c95 Add Apache configuration instructions for Mac 2012-09-16 12:04:08 +01:00
Nicolas Gallagher
0dcd9d120e Rename doc/README to doc/TOC
Avoid the problem with links in a directory README on github.com. GitHub
displays a directory's README when at the dir level, which results in
incorrect URLs when links are using relative paths. This is causing some
confusion for people who browse to the documentation on GitHub and try
to browse the docs from the automatically displayed README.
2012-09-16 11:45:57 +01:00
Nicolas Gallagher
cb0bb16eb7 Revert "fixed all the broken links to doc"
This reverts commit dd420ef187.

The commit itself broken all the links in the documentation README when
the README was viewed directly (as intended). This meant people coming
to the documentation from the html5boilerplate.com site, or those
generating HTML from the markdown docs, were not able to view the docs.
2012-09-16 11:38:04 +01:00
shichuan
dd420ef187 fixed all the broken links to doc 2012-09-16 13:28:42 +08:00
Hans Christian Reinl
1c6485adb9 Update Modernizr to v2.6.2
See http://modernizr.com/news/modernizr-262/ for more information on what changed since v2.6.1.
2012-09-05 22:14:00 +02:00
Hans Christian Reinl
d4467ad7f2 Fix typo in .htaccess documentation, fixes gh-1198 2012-09-03 16:48:46 +02:00
Mathias Bynens
5735ee396d Update to jQuery 1.8.1 2012-08-31 16:16:46 +02:00
Nicolas Gallagher
0b60046431 v4.0.0 2012-08-28 23:41:15 +01:00
Nicolas Gallagher
07ee69683c Fix broken links to issues in CHANGELOG 2012-08-27 19:21:32 +01:00
Nicolas Gallagher
19c8065b6a Small adjustments to documentation 2012-08-27 11:53:46 +01:00
Nicolas Gallagher
6f5ed6f921 Remove placeholder link styles
The placeholder link styles don't add much value but do introduce
potentially unwanted specificity issues. By specifying `a:visited` it
forces subsequent styles for components (like buttons) to have a greater
specificity than this selector if they are to avoid the color changing
once it has been visited.

A similar problem is also evident if a user builds their link styles
upon the project styles (rather than editing the ones included).

This was also an issue in Normalize.css and was fixed in the same way.
2012-08-27 11:38:31 +01:00
Nicolas Gallagher
6415ccd9b0 Remove duplicate line from htaccess
Fix gh-1177
2012-08-27 10:16:05 +01:00
Divya Manian
39a1801a88 Adding a link to Issue Tracker in Reporting Issues section 2012-08-26 08:46:31 -07:00
Divya Manian
dfca687243 Adding link to issues from Changelog
The Regex is 
Find: (#([0-9]+)) 
Replace: [$1](https://github.com/h5bp/html5-boilerplate/$2)
2012-08-26 08:32:34 -07:00
Divya Manian
42f16dfaa1 Formatting headings. 2012-08-26 08:27:39 -07:00
alrra
a36b296b89 More general compression configuration for Apache
Works with Apache ≥ 2.1 and requires `mod_deflate` and `mod_filter` to
be enabled. However, use of Apache < 2.2 is no longer recommended.

For Apache ≥ 2.1 → 2.3.7, `mod_filter` isn't needed, but requiring it
and using this solution is the best way going forward (plus, it doesn't
introduce other dependencies to other modules like, for example,
`mod_version`).

Fix gh-1012
Ref gh-1173
2012-08-23 00:00:24 +01:00
Nicolas Gallagher
68197bc42d Correct typo in the clearfix code 2012-08-22 15:31:48 +01:00
Nicolas Gallagher
adecc5da03 New image replacement approach
This approach uses a pseudo-element to force the element's content
downwards without covering the background of the element. The overflow
is hidden. For IE 6/7, fallback to the cruder `text-indent` method.

Known advantages:

* Works in IE6+ (although better in IE8+).

* Replaces any content in IE8+, including inner HTML.

* Nothing new for people to learn. Works just like all "traditional" IR
  techniques (unlike NIR, which needs you to add the image using a
  pseudo-element's `content` and relies margins for sprite positioning).

* Doesn't draw a large out-of-element box in modern browsers. You can
  even mix in something like `font: 10px/1 a` to reduce ce the size of
  the "off-screen" box, if you really need to.

* Doesn't have any potential SEO problems from `font-size:0`.

* Doesn't care about any minimum font-size that a browser might have.

* Doesn't have any potential failed-IR problems from inherited styles,
  like text being positioned within the element's visible box (i.e., if
  you use other properties like `text-stroke`).

Known issues:

* Doesn't work when images are off or fail to load (same as every other
  IR technique apart from NIR).

* If the IR'ed element has bottom-padding, then either it needs to be
  removed or the height of the pseudo-element needs to be bumped up
  (e.g., set to 200%).

* Doesn't avoid the `inline-block` bug in IE 6/7 due to the text-indent
  fallback for those browsers.

* Doesn't work on input elements (but they shouldn't be the subject of
  IR anyway).

* There is the potential for some final-result differences between
  IE 6/7 and modern browsers, but this is already the case with other IR
  techniques.

Fix gh-1149
2012-08-21 23:37:37 +01:00
Nicolas Gallagher
fac03ef28f Minor update to README 2012-08-21 22:54:40 +01:00
Nicolas Gallagher
38c7a90cbf Minor update to clearfix 2012-08-20 23:38:35 +01:00
Nicolas Gallagher
7b0ba6b083 Update to Normalize.css 1.0.1 2012-08-20 22:57:28 +01:00
Nicolas Gallagher
28f922ff3c Add a HiDPI example media query
`-webkit-device-pixel-ratio` targets WebKit browsers.
`min-resolution` targets everything else.

Reference: http://www.w3.org/blog/CSS/2012/06/14/unprefix-webkit-device-pixel-ratio/

Fix gh-1127
2012-08-18 18:56:42 +01:00
Nicolas Gallagher
445037ccf4 Docs: update FAQ
Remove the section on "profiling" which was incomplete and not directly
linked to the code in this project. Also fix the headings so that
they're all of the same level.

Fix gh-1170
2012-08-18 18:56:29 +01:00
Nicolas Gallagher
920e52a5d4 Add "Hello world" to index.html
This avoids the default template rendering a completely blank page and
makes it easy for people to know straight away that things are
"working".

Fix gh-1165
2012-08-15 22:52:37 +01:00
Nicolas Gallagher
456211dc54 htaccess: include a SymLinksIfOwnerMatch comment
Some web hosts disallows the use of the FollowSymLinks option in
.htaccess files, and suggest the use of SymLinksIfOwnerMatch.

Close gh-1147
2012-08-15 20:48:39 +01:00
Nicolas Gallagher
e52927a03e Docs: adjust line length and whitespace 2012-08-15 00:33:21 +01:00
Nicolas Gallagher
596d9a9dcc Update to normalize.css v1.0.0 2012-08-15 00:21:11 +01:00
brianblakely
50b46d6fa2 Update doc/extend.md
Added:
* IE10/Win8 badges
* Twitter Cards
* Chrome Web Store inline install
* iOS 6 Safari's Smart App Banners
2012-08-14 11:34:55 -03:00
Nicolas Gallagher
1d96e32876 Docs: minor tweaks 2012-08-12 15:17:58 +01:00
Nicolas Gallagher
8e90c33cef Simplify apple touch icons
Remove the radial gradient from around the star symbol.
2012-08-12 15:04:11 +01:00
Nicolas Gallagher
66b137083f Minor HTML indentation change 2012-08-10 12:29:22 +01:00
Nicolas Gallagher
02bdaea124 Docs: add info about using Metro tiles
Thanks to @Kroc for raising this issue and providing extra details. It
has been included in the 'extend' documentation alongside other IE tips.

Close gh-1136
2012-08-10 10:36:23 +01:00
Nicolas Gallagher
5ed4dadf5c Update CHANGELOG
Ref gh-1161
2012-08-10 10:34:12 +01:00
Jonathan Fielding
1c30c5a660 Update jQuery 1.7.2 to jQuery 1.8.0
Ref gh-1161
2012-08-10 09:44:01 +02:00
Nicolas Gallagher
d590b0efe9 Separate normalize.css from main.css
Benefits of disentangling  normalize.css from the rest of the project's
CSS:

* Easier to track normalize.css version.
* Easier to update normalize.css.
* Easier to remove normalize.css if the user wants.
* Clearer distinction between normalizing CSS and the additions that
  HTML5 Boilerplate provides.

Drawback is the additional HTTP request incurred from the extra
stylesheet referenced in the HTML. However, we already do something
similar for the JS, and anyone serious about performance is going to
employ a build process to concatenate and minify CSS/JS.

Ref gh-1132
Ref gh-1140
2012-08-09 21:48:57 +01:00
Nicolas Gallagher
f23340ed9b Add MIT license
Provide a proper, highly permission license, recognized by the OSI, to
remove any potential for ambiguity. Addresses concerns around the
inability to elect to place work in the Public Domain.

Fix gh-1139
2012-08-08 23:56:10 +01:00
Nicolas Gallagher
3ce6e98cde Clean up .gitignore
Remove all the ignores from `.gitignore`. The default boilerplate
doesn't generate any project-specific files that need to be ignored. All
OS and Editor-generated files should be globally ignored rather than
polluting the local project ignores.

Further information on using git ignore's appropriately can be found in
the miscellaneous part of the bundled docs.
2012-08-05 12:22:32 +01:00
Nicolas Gallagher
703d0b8651 Add CHANGELOG
Keep the project history available within the repo; make it easier to
track what is currently changed over the last tagged release.
2012-08-05 11:11:02 +01:00
Nicolas Gallagher
1e3be1842b Rewrite documentation and add to repo
Include all documentation related to the project and its code. This
ensures that docs are available offline and that any future download
will have docs that relevant for the version in use.

This change involves a documentation rewrite to update, simplify,
clarify, and consolidate it.
2012-08-02 14:06:13 +01:00
Nicolas Gallagher
cc265d4511 Remove uncompressed jQuery
Not referenced anywhere else in the project and is unlikely to ever get
used since the CDN version of jQuery is used by default.

Fix gh-1153
2012-07-31 23:39:27 +01:00
Nicolas Gallagher
889e377b2d Remove superfluous code comments
Reduce the perceived complexity and verbosity of certain files by
stripping unneccessary inline comments.

Relevant documentation may end up in a `doc/` directory such that any
download has an accurate and matching code documentation bundle.

Ref gh-1048
2012-07-29 14:48:14 +01:00
Paul Irish
d3969484ff update modernizr to 2.6.1. fixes #1146. ref #1086 2012-07-19 14:17:26 +01:00
Mathias Bynens
5370479476 Create stubbed console methods
Remove the previous `log()` wrapper method as it changed the reported
line position in logs. Instead, avoid `console` errors in browsers
without `console` by setting its methods to empty functions.

Ref. #1107.
2012-07-08 20:20:17 +01:00
alrra
83f4f28186 .htaccess: Serve WebVTT files as text/vtt with UTF-8 encoding 2012-06-24 11:46:06 +02:00
AD7six
288f9922c0 Remove excessive ExpiresByType rule
Ref. #1122.
2012-06-14 09:14:13 +02:00
Hans Christian Reinl
2a60c6b3d1 Add a comment and link to more .gitignore info
A repository's `.gitignore` should be focused on ignoring files within
the repo that we do not want to be committed. For example, a build
directory.

A global ignore is a better place for ignoring OS-level files, editor
extensions, and files that you are always likely to want ignored (e.g.
zip).

Close #1065
Close #1120
2012-06-11 09:21:33 +01:00
Nicolas Gallagher
49089be067 Merge pull request #1119 from alrra/h5bp
Smaller file size favicon.ico
2012-06-10 05:08:38 -07:00
alrra
ca30a53977 replace the 'favicon.ico' with a smaller size one 2012-06-10 14:33:29 +03:00
Nicolas Gallagher
7aa306c0b3 Rename style.css to main.css
Make it consistent with the naming of main.js

Close #1116
2012-06-09 12:32:47 +01:00
Nicolas Gallagher
0c52750ea6 Remove the lang attribute from html
The boilerplate is used with many different languages, not just English.
This makes it inappropriate to have `lang="en"` included by default.

Fix #1110
2012-06-09 11:27:39 +01:00
Hans Christian Reinl
cbde32f684 Typo in .htaccess: Keep-Alive has to be capitalized in the comment too 2012-06-08 13:21:16 +02:00
Hans Christian Reinl
4505fa12b1 Capitalize "Keep-Alive" to match the HTTP-spec
thanks @mathiasbynens
2012-06-05 19:27:22 +02:00
Hans Christian Reinl
5a2585f42c Include Keep-Alive header in .htaccess
as discussed in #1115
2012-06-05 19:07:33 +02:00
Nicolas Gallagher
d2d5fd1eac Merge pull request #1113 from nchaves/master
Fixing two bugs introduced into plugins.js during reformatting to multiline
2012-06-04 02:58:38 -07:00
Nick Chaves
d242bd27cd Fixing two bugs introduced in the multiline reformat
First bug is that the "c" is expected by the for loop condition to be
the array, not the string.  Second bug is that the new semicolon on
line 36 (after the first anonymous function declaration) separated the
calling parentheses and the return result of the second function, which
was intentionally attached as a parameter to be passed in as "a" to the
first.
2012-06-04 00:38:12 -06:00
Nicolas Gallagher
7a2f9dcf8b Formatting and consistency improvements
- Consistent use of quotes in HTML.
- Consistent use of hex for color values in CSS.
- Multi-line CSS and JS.
- 4 spaces for indentation.
- Always use closing tags.
- Use common DOCTYPE capitalization.

These are steps toward reducing the number of repeat issues we get
around inconsistencies or uncommon patterns; making diffs more readable;
and using common conventions.
2012-06-02 11:29:38 +01:00
Nicolas Gallagher
6bfd7948c6 Humans.txt prettification
Simplify the template a bit. Switch to hash-style comments to mirror
robots.txt standard.
2012-06-01 21:47:17 +01:00
Nicolas Gallagher
3942ee1775 Merge pull request #1095 from clarkni5/master
Add [OR] to rewrite condition

The first condition checks to see if the request matches a directory and the second condition checks to see if it matches a file. Without the [OR], the condition always fails.
2012-05-28 07:44:41 -07:00
Mathias Bynens
e53c1df9cf Merge pull request #1097 from karlpcrowley/patch-1
.htaccess: Prevent mobile network providers from modifying your site (disabled by default)
2012-05-20 23:03:02 -07:00
Karl Crowley
d055e4e6c1 Updated .htaccess:
Prevent mobile network providers from modifying your site
2012-05-20 12:55:49 +02:00
Nicholas Clark
4934c5defd Update documentation. 2012-05-18 16:33:33 -04:00
Nicholas Clark
b2b24c351e Add missing or next condition. 2012-05-18 16:24:27 -04:00
Hans
c20eb1a6fa Merge pull request #1071 from mikealmond/master
Add some MIME-types (JSON, JSONP, audio, video and flash), a note about a custom 404-file and a PHP flag (magic_quotes_gpc)
2012-04-25 09:54:05 -07:00
Mike Almond
09dc03ae17 Merge branch 'master' of git://github.com/h5bp/html5-boilerplate
* 'master' of git://github.com/h5bp/html5-boilerplate:
  Update .gitignore to include AppleDouble (dot underscore) files
  Update .gitignore to include Rubinius's compiled files.
2012-04-25 09:03:26 -04:00
Mike Almond
6e1417b857 Adding JSONP 2012-04-25 09:02:49 -04:00
Hans
509648b8a5 Merge pull request #1073 from lekkerduidelijk/patch-3
Update .gitignore to include AppleDouble (dot underscore) files
2012-04-25 02:27:36 -07:00
Rutger Laurman
e1e53cf83c Update .gitignore to include AppleDouble (dot underscore) files 2012-04-25 09:51:21 +03:00
Hans
1ab8d64169 Merge pull request #1055 from danielgrippi/patch-1
Include Rubinius' compiled files in .gitignore
2012-04-24 15:18:54 -07:00
Mike Almond
e49353b05f Adding new MIME types, a note about 404, and a PHP flag
Fixes #1062 and #1053
2012-04-24 16:19:51 -04:00
Hans Christian Reinl
a95f300ac8 Change selection-color in 404 error template, closes #1067
The selection-color was changed in 1d320b5. Add this background-color in the 404 error template and remove the text-color. Thanks to @elexx.
2012-04-23 23:33:31 +02:00
Nicolas Gallagher
1d320b59a3 R.I.P. Hot pink text-selection highlight
Replace hot pink with a more neutral selection background color: the
default found on OS X.

A number of high-profile sites have failed to customize the hot pink
default that HTML5 Boilerplate used to include. People should be able to
trust the project to include sensible defaults. Keeping hot pink in
there by default breaks the "no surprises" expectation of amateur and
professional developers.

Ref #610
Ref #969
2012-04-22 15:08:46 +01:00
Nicolas Gallagher
eb2dc2fe90 Remove HTML comment about appcache
Using appcache is complicated and can have unexpected consequences if
you do not have a good grasp of the spec. The way that this project
suggested using appcache was likely to be problematic.

Ref #1060
2012-04-20 23:39:14 +01:00
Daniel Grippi
1b581aff02 Update .gitignore to include Rubinius's compiled files. 2012-04-18 18:44:18 -07:00
Nicolas Gallagher
c264d91c6c Merge pull request #1051 from sjonnet/patch-1
Additional changes to index.html for rename libs to vendor
2012-04-14 07:10:37 -07:00
Shawn Jonnet
02bf76cd16 Additional changes to index.html for rename libs to vendor 2012-04-14 10:06:54 -03:00
Nicolas Gallagher
3606c8345f JS: rename libs/ and script.js
The dir name `vendor/` is increasingly common and this small change
might save some people a bit of time when it comes to using the project
with RequireJS et al.

See:

http://www.javascriptu.org/decks/sd/building_the_foundation/#slide-51
2012-04-13 20:16:20 +01:00
Nicolas Gallagher
cfae00adab Merge pull request #963 from ProBackup-nl/master
Remove * {filter:none} from media print due to IE9 repositioning and float issues
2012-04-10 16:42:58 -07:00
Nicolas Gallagher
5469e272a4 Remove placeholder content from <body>
Lengthy previous discussion in #203

Close #926
Close #1033
2012-04-11 00:35:29 +01:00
Nicolas Gallagher
21e77285e2 Merge pull request #998 from Calvein/patch-1
Added a link to explain why to put the JavaScript file at the bottom
2012-04-10 16:28:42 -07:00
Paul Irish
b0db5d5eb6 Merge pull request #1043 from Kvakes/master
Espresso generated files
2012-04-08 07:46:51 -07:00
Max Izmailov
060ac246fd Ignore files generated by Espresso 2012-04-08 15:18:19 +02:00
Nicolas Gallagher
339b6c96ad Remove .htaccess comment about query params
Using query params to version files is not recommended. This removes
a stray reference to that technique.

Close #997
2012-04-07 00:52:52 +01:00
Paul Irish
086280e6fd linking up some docs for the RewriteBase cloud issues. ref #1015 2012-04-06 15:57:29 -07:00
Hans
ce64453057 Merge pull request #1015 from WraithKenny/patch-1
Add RewriteBase to .htaccess - commented out by default as it allows for use w/o configuration.
2012-04-06 15:52:38 -07:00
Hans
00ee25c1be Merge pull request #1036 from alecrust/patch-1
Corrected spacing
2012-04-04 13:39:39 -07:00
Ken Newman
6c1c1db5a2 Comment-out RewriteBase by default. This allows for "no-configuration" flexible deployment. Some servers need this setting configured, but the value depends on deployment location. 2012-04-03 12:55:40 -03:00
Alec Rust
263af0b468 Corrected spacing 2012-04-03 11:57:00 +02:00
Hans
4026f03249 Merge pull request #1026 from jonathan-fielding/master
Updated the jQuery to 1.7.2
2012-03-29 13:54:23 -07:00
Divya Manian
258cbef93c Merge pull request #1029 from philipwalton/strict-log
added a try/catch block to make log work with 'use strict'
2012-03-28 15:51:56 -07:00
Philip Walton
9cb7e46f32 added a try/catch block to make log work with 'use strict' 2012-03-22 23:29:10 -07:00
Divya Manian
863de294e8 Actually fixing #1028. Thnx @niftylettuce 2012-03-22 21:20:25 -07:00
Divya Manian
7912513084 Fixing typo in css class. Fixes #1028 2012-03-22 21:07:39 -07:00
Jonathan Fielding
1c55518def Updated jQuery to 1.7.2
Signed-off-by: Jonathan Fielding <j.fielding@me.com>
2012-03-21 23:42:54 +00:00
Mathias Bynens
9cf989542c Further optimize the new touch icons
apple-touch-icon-114x114-precomposed.png |  Bin 3247 -> 3242 bytes
   apple-touch-icon-144x144-precomposed.png |  Bin 3779 -> 3777 bytes

Ref. #1025.
2012-03-21 08:35:50 +01:00
Mathias Bynens
9ced71e8ef Merge pull request #1025 from richardcornish/master
Redesigned touch icons and favicon
2012-03-21 00:31:17 -07:00
Richard Cornish
e2fff6fe07 Redesigned touch icons and favicon
New icons designed to be sharper on the pixel grid, with slight light
source variations that are pleasing to the eye in a touch environment.
Also put through ImageAlpha and ImageOptim for added optimization.
Please see
http://dl.dropbox.com/u/2066483/h5bp-icons/docs/comparison.png for
before/after comparison.
2012-03-21 00:41:50 -05:00
Mathias Bynens
923b0f3adc Add 144×144px touch icon for third-generation iPad
See http://mathiasbynens.be/notes/touch-icons. Closes #1020.
2012-03-16 16:44:15 +01:00
Ken Newman
767dc09916 Add RewriteBase subdirectory note. 2012-03-13 15:11:02 -03:00
Ken Newman
efe88dfbf2 Update .htaccess 2012-03-13 14:33:13 -03:00
Ken Newman
1ec581885a Cloud Sites (and probably other cloud/shared hosting) needs a RewriteBase set for rewrites to work. See http://www.rackspace.com/knowledge_center/index.php/Why_is_mod_rewrite_not_working_on_my_site 2012-03-08 14:38:57 -05:00
Nicolas Gallagher
aa0396eae7 Update CSS image replacement technique
The new technique avoids various problems with any text-indent method.
The benefits are:

* No box of any kind is drawn offscreen, so there is no risk of
  related performance problems in old iOS devices.

* No need to specify a text-alignment and hide overflow since the text
  is crushed to take up no space.

* No need to hide `br` or make all fallback HTML `display:inline`
  because unlike the text-indent approaches, this method is not
  affected by those scenarios.

* Fewer styles are needed as a result of these improvements.

The function of the new CSS is as follows:

* `font: 0/0 a` is a shorthand property that reduces the font-size and
  line-height to 0. The `a` value acts as a font-family. The CSS
  validator complains that using `0/0` in the shorthand `font` property
  is not valid, but every browser accepts it.

* `text-shadow: none` makes sure than any inherited text shadow is
  removed, otherwise it will show over the image.

* `color: transparent` is only really needed in browsers than don't
  completely crush the text to the point of being invisible. Safari 4 is
  such a browser (but extremely rare). Leaving it in for now in case
  there are any mobile browsers that require it. Upon further testing,
  it may be possible to remove this declaration.

Some parts of the pre-existing image replacement technique have been
retained. The border and background resets are useful when using IR on
form submit inputs or buttons, as well as when links use default borders
or backgrounds

Close #1005
2012-03-06 00:12:12 +00:00
Nicolas Gallagher
758eab9f35 Merge pull request #1010 from richardcornish/master
Added `application/xml` for RSS MIME types
2012-03-05 01:46:27 -08:00
Richard Cornish
c448cc03e7 Added application/xml for RSS MIME types
Based on research on the [issue
list](https://github.com/h5bp/html5-boilerplate/issues/989)
2012-03-05 03:43:08 -06:00
Mathias Bynens
db1574059d Merge pull request #1003 from alrra/h5bp
Updated link in the "robots.txt" file
2012-02-28 13:35:52 -08:00
alrra
ca4bf4793d updated the "Controlling Crawling and Indexing" link from the "robots.txt" file 2012-02-28 23:14:17 +02:00
François Robichet
1aad336ef7 Added a link to explain why put the JavaScript file at the bottom 2012-02-26 20:48:02 +01:00
Paul Irish
1929462a39 Merge pull request #994 from Jakobud/master
Changed Cache-Busting help url in the .htaccess
2012-02-21 18:56:06 -08:00
Jake Wilson
5bbd604930 Changed cache-busting help url 2012-02-21 19:32:16 -07:00
Paul Irish
b0ddd13910 Merge pull request #992 from mikealmond/master
Removing the <Location> tag from the P3P Header - Fixes issue #975
2012-02-21 11:18:15 -08:00
Mike Almond
fe6c2f56ec Removing the <Location> tags from the P3P Header
The Location tag was causing a 500 error.
2012-02-21 13:59:16 -05:00
Paul Irish
f8f347e392 new modernizr. 2012-02-19 11:00:08 -08:00
Paul Irish
080026e4f4 modernizr 2.5.2. includes html5shiv 3.3. 2012-02-07 18:28:52 -08:00
Paul Irish
9434b5bc79 upgrade Modernizr to 1.5.1 which includes IE7 fix. also yepnope 1.5.2 2012-02-07 17:35:49 -08:00
Mathias Bynens
f9ebf5d2e9 Merge branch 'master' of github.com:h5bp/html5-boilerplate
* 'master' of github.com:h5bp/html5-boilerplate:
  2.5 version string in modernizr.
  update index for upgraded modernizr.
  update modernizr and yepnope to brand new latest.
2012-02-06 14:28:16 +01:00
Mathias Bynens
c93f45ff38 Normalize short URLs pointing to GitHub issues
Ref. #954.
2012-02-06 14:25:02 +01:00
Paul Irish
5dbb3b4b0a 2.5 version string in modernizr. 2012-02-05 22:20:28 -08:00
Paul Irish
deeb952314 update index for upgraded modernizr. 2012-02-05 22:03:22 -08:00
Paul Irish
0659528100 update modernizr and yepnope to brand new latest. 2012-02-05 22:03:01 -08:00
Mathias Bynens
4d65006439 .htaccess: Block access to Vim backup files correctly
Fixes #937.
2012-02-05 13:46:28 +01:00
Nicolas Gallagher
ab117fc461 Merge pull request #966 from dhaigh/master
Whitespace removal
2012-02-04 03:43:09 -08:00
Declan Haigh
5d2a6dbe3a obsessive compulsive whitespace removal 2012-02-04 21:31:25 +10:00
ProBackup-nl
a2240384c7 Remove @media print "filter:none !important; -ms-filter: none !important;".
In combination with html form input tags, having float:left style applied, Modernizr 2.0.6, IE9 and PIE-1.0beta6 (for rendering CSS3 properties in IE) the setting of "filter:none" causes the input elements to disappear. See it for yourself (in IE9):

http://www.kbrbeheer.nl/bugs/h5bp/stylesheet-media-print/with-filter.html
http://www.kbrbeheer.nl/bugs/h5bp/stylesheet-media-print/without-filter.html
Or when you haven't got IE9 at your disposal:
http://www.kbrbeheer.nl/bugs/h5bp/stylesheet-media-print/with-filter.pdf
http://www.kbrbeheer.nl/bugs/h5bp/stylesheet-media-print/without-filter.pdf
2012-02-03 17:23:35 +01:00
Nicolas Gallagher
cedd640083 Avoid using @defer on interdependent <script>s
Whenever a deferred script makes HTML be parsed into the DOM tree
(e.g. when innerHTML, insertAdjacentHTML(), appendChild(),
insertBefore(), replaceChild() etc. are used), IE < 10 may start
looking for more deferred scripts to run, immediately executing
them before the first deferred script has completed.

More information: https://github.com/paulirish/lazyweb-requests/issues/42

Close #961
2012-02-03 15:15:19 +00:00
Nicolas Gallagher
ac50fbc1e2 Update readme 2012-02-03 13:43:07 +00:00
Nicolas Gallagher
f96fed6942 Remove ant build script. Close #826
The ant build script is now in a separate, dedicated repo at:
http://github.com/h5bp/ant-build-script
2012-02-03 12:38:26 +00:00
Nicolas Gallagher
f2924da1b1 Merge pull request #960 from alrra/h5bp
added a more informative page link in the 'robots.txt' file
2012-02-03 03:45:37 -08:00
alrra
a111a79500 added a more informative page link in the 'robots.txt' file 2012-02-03 12:50:06 +02:00
Paul Irish
ce0c28932b update plugins.js to be jshint compliant. fixes #952 2012-01-31 17:31:07 -08:00
Paul Irish
d7e668235f Chromeframe prompt doesnt reccomend IE6 -> IE8. We need mitigate IE8's role as a boat anchor browser as much as possible 2012-01-31 12:26:54 -08:00
Nicolas Gallagher
8552d9543e Re-set default cursor for disabled input and button. Fix #887 2012-01-31 16:12:19 +00:00
Divya Manian
af3bd79de5 fixing the regexes, hopefully for the last time. Unsure where last night's commit went. Thanks @kblomqvist 2012-01-31 07:14:54 -08:00
Divya Manian
2dcdaf0104 fixing conflicts 2012-01-30 19:17:43 -08:00
Divya Manian
3cebea1671 fixing build script AGAIN. Wondering why it worked the first time around? :/ 2012-01-29 20:35:16 -08:00
Divya Manian
a5e31d6132 Updating build tools to their latest versions 2012-01-29 20:26:32 -08:00
Divya Manian
37470f8da6 Merge pull request #949 from adeelejaz/issue/201
Fixes #201 (finally!)
2012-01-29 19:55:50 -08:00
Adeel Ejaz
e1b81302bd Fixes #201 (finally!) 2012-01-30 03:23:23 +00:00
Divya Manian
965f3f1636 Fixing the appending of manifest when php tags exist. Fixes #912 2012-01-29 16:58:14 -08:00
Nicolas Gallagher
fddbaa3487 Move base font-family and color declaration to html.
Applying these shared styles to `html` ensures that people can set
their own overrides on `html` later in the CSS. If the starting
styles were on `body`, then setting them on `html` later in the
CSS would not have the intended effect.
2012-01-29 23:15:33 +00:00
Nicolas Gallagher
26d6be2479 Remove initial-scale from meta viewport. Fix #824 2012-01-29 23:09:12 +00:00
Divya Manian
611162c891 fixing damned whitespaces 2012-01-29 14:22:24 -08:00
Divya Manian
f5d13045c0 cleaning up style.css for chrome frame 2012-01-29 13:14:43 -08:00
Divya Manian
cff92881a8 updated the regex pattern to only look for href=<folder path>/style.css, so it doesnt matter where href is present in the link. Fixes #927 2012-01-29 13:06:10 -08:00
Divya Manian
2eb19a9c99 need opts.extra to be always present to stop build script from throwing an error that it is not found 2012-01-29 13:05:05 -08:00
Divya Manian
2b5f881ecc Made all the arguments for htmlcompressor part of config file. Also added optional additional arguments list in project.properties. Fixes #672 2012-01-29 11:21:39 -08:00
Divya Manian
6a304122b7 Reports of crashes using the chrome frame script check. Instead using the prompt message with a link to chrome frame or a newer IE. Fixes #695 2012-01-29 08:44:45 -08:00
Divya Manian
8b1f5ebe50 copying over the libraries, fixes #944 2012-01-29 08:19:50 -08:00
Nicolas Gallagher
4b213f9050 Merge branch 'master' of github.com:h5bp/html5-boilerplate 2012-01-26 15:33:29 +00:00
Nicolas Gallagher
0bf9143cd1 Additional tweaks to 404.
Simplify CSS styling the Google Search inputs. Improve the
appearance of the keyword input. Use `body` as wrapper. Add `lang`
attribute to `html`.

Thanks to @sindresorhus for suggestions and improvements in #941
2012-01-26 15:29:10 +00:00
Divya Manian
d269a55d45 OK, so this commit ensures that after removing mylibs. the build script works.
What it also ensures is that the file.js.bypass also still works. This means the script looks for these files within the parent js directory. Also finally these files will actually remain untouched compared to previous versions where they were minified/concatenated but just not included.

This means any js file in any folder not included by default in h5bp will be concatenated and minified and output as a single script-hsa.js file. If you do not want this, make sure to do <folder>/* in file.js.bypass in config/project.properties
2012-01-25 23:24:44 -08:00
Nicolas Gallagher
c04b0b57b5 Remove reference to Respond from HTML comment in head 2012-01-24 19:33:13 +00:00
Nicolas Gallagher
f6ccd1032d Simplify JS folder structure. Close #807 2012-01-24 19:31:12 +00:00
Nicolas Gallagher
af98e6fc51 Update Modernizr to remove Respond. Change placeholder Media Query.
Previous version of Respond was known to cause problems in IE8.
It was not necessary for developers who chose to write their CSS
in a 'mobile first' manner. Furthermore, there are some concerns
about the performance penalty Respond imposes upon legacy versions
of IE. If a future version of Respond is shown to be performant
and more reliable, it may be reconsidered for inclusion.

Along with this change is a simplification of the placeholder
Media Queries. Now there is only 1 Media Query example and it is
more clearly labelled as an example. The use of `em` units in the
condition is to reinforce the idea that Media Query breakpoints
should not be device-specific.

Fix #816
2012-01-24 19:19:52 +00:00
Nicolas Gallagher
f0358b52a5 Merge pull request #923 from muiku/gh-920
Fix gh-920
2012-01-24 03:27:27 -08:00
Nicolas Gallagher
1dd911f06a Update design of 404. Close #931
Implement and build upon the design provided by @sindresorhus.
Thanks!
2012-01-24 01:29:06 +00:00
Nicolas Gallagher
1738287ce9 Remove WebKit search cancel button from OS X
This WebKit pseudo-element is only displayed on OS X and is poorly
positioned once you begin to customise the style of a `search`
type input.
2012-01-22 22:01:18 +00:00
Nicolas Gallagher
5c02f406e4 Remove forced scrollbars on html element. Fix #918
This can cause problems for JavaScript plugins (such as modal or
drag-and-drop UIs) in Firefox.
2012-01-22 18:11:34 +00:00
Nicolas Gallagher
2dc1493df6 Allow legend text to wrap in older versions of Firefox. Fix #883 2012-01-22 18:09:44 +00:00
Nicolas Gallagher
79beb6c91c Merge pull request #762 from smashercosmo/master
Removing extra space around checkboxes and radio buttons in IE7
2012-01-22 10:06:28 -08:00
Paul Irish
26ea01971c buildscript properties file. inline example for excluding folders 2012-01-20 11:07:26 -08:00
Kim Blomqvist
4932b4070f It should have been a negative lookbehind
- In addition greater than character (>) in the regexp had to been escaped
2012-01-20 18:42:53 +02:00
Kim Blomqvist
27d1fda0dc Fix gh-920 2012-01-19 21:22:34 +02:00
Kim Blomqvist
e80a3e0637 Fix gh-912
- Add regexp lookahead to skip ?> (php-tag)
2012-01-19 20:41:01 +02:00
Paul Irish
a36d558702 Merge pull request #906 from gzoller/master
Support for js modules with cachebusting
2012-01-18 18:06:05 -08:00
Greg Zoller
3e0b0de9da Removed index.html example mods for module support. Comments in wiki. 2012-01-17 21:01:57 -06:00
Paul Irish
ce9c57c105 CFInstall: cannot have [defer] on a external/inline script combo. fixes #913 2012-01-17 08:47:11 -08:00
Mathias Bynens
f4cd5c18a3 Merge pull request #910 from mikealmond/master
Adding php dist files to the blocked extensions list
2012-01-12 22:06:13 -08:00
Mike Almond
0f9507774b Adding .dist files to the list of filetypes blocked to a user 2012-01-12 20:46:56 -05:00
Mathias Bynens
01296493e7 Revert e2ca1bf931
Ref. #891.
2012-01-07 21:18:58 +01:00
Nicolas Gallagher
8c4ce42af3 Remove author meta tag from head 2012-01-06 15:40:09 +00:00
Greg Zoller
3719f56c86 Added support for js modules 2012-01-05 17:46:14 -06:00
Divya Manian
b3755703b7 Merge pull request #873 from lukeb/patch-1
Requests shouldn't fail if the file or directory beginning with a period...
2011-12-31 07:18:15 -08:00
Divya Manian
f6830c199b Merge pull request #884 from tralston/master
Added target "copyall" in build.xml for the "dev" environment
2011-12-30 17:01:41 -08:00
Divya Manian
f93c8e1636 adding basedir for all tasks. Fixes #437 2011-12-30 07:48:38 -08:00
Divya Manian
5884c3a5fd Updating intermediate folder to not minify the bypassed files. Fixes. #694 2011-12-30 07:31:35 -08:00
Divya Manian
d5c0d33d10 removing imgcopy from buildscript as it is a remnant and not useful. Fixes #845 2011-12-30 07:18:15 -08:00
Divya Manian
b780098073 Merge pull request #881 from splendeo/fix-htaccess
make .htaccess (a bit) less restrictive
2011-12-30 06:53:34 -08:00
Divya Manian
2e1a7bf567 Merge pull request #872 from mikemorris/patch-1
Removed ' <!--<![endif' from regex search string for adding manifest attribute
2011-12-30 06:42:00 -08:00
Mathias Bynens
481dfc1966 Merge pull request #891 from laukstein/patch-2
Apache performance tweak with -SymLinksIfOwnerMatch and +FollowSymLinks
2011-12-28 02:45:25 -08:00
Binyamin Laukstein
71d5229611 Added Apache docs URL 2011-12-28 11:20:24 +02:00
Addy Osmani
32aabb23f7 Merge pull request #830 from mattyclarkson/master
404.html updates.
2011-12-27 16:46:03 -08:00
Mathias Bynens
fd52982efd Escape the . character correctly in FilesMatch directives
Fixes #898.
2011-12-24 08:56:42 +01:00
Mathias Bynens
9feb29f465 Omit .html and .txt from the AddCharset statement
As AddDefaultCharset already takes care of text/plain and text/html. This reverts 024600fd57.
2011-12-22 07:51:26 +01:00
Mathias Bynens
23bd766955 Only send CORS headers for images by default
Ref. #797.
2011-12-20 08:20:04 +01:00
Paul Irish
024600fd57 force utf-8 for .txt for funsies. 2011-12-17 12:06:58 -08:00
Binyamin Laukstein
e2ca1bf931 Apache Performance Tuning http://httpd.apache.org/docs/current/misc/perf-tuning.html#symlinks
Set -SymLinksIfOwnerMatch to avoid Apache extra system calls to check up on symlinks.
2011-12-14 21:58:54 +02:00
Paul Irish
2b5eeeef27 adding mimetype for .webapp, Mozilla's new app manifest type. more:
This content-type is neccessary apparently:
  https://developer.mozilla.org/en/Apps/The_Manifest
2011-12-13 11:51:33 -08:00
Nicolas Gallagher
e97689d7aa Merge pull request #885 from elexx/master
createproject.sh - removed test
2011-12-10 04:21:28 -08:00
elexx
791734033f Removed test from copy, because the directory has been removed long ago (0a80ebafd0). 2011-12-10 13:13:39 +01:00
Taylor Ralston
cafea9f090 Added target "copyall" in build.xml for the "dev" environment
Fixes issue with not copying non-optimized .css and .js files into the publish folder. If dev environment is selected, .css and .js aren't minified, thus they aren't copied over with existing "copy" target.
2011-12-09 13:04:21 -07:00
Enrique García Cota
d582fe5d8e made .htaccess less restrictive
The rule that made .htaccess restrict access to files (.log, .bak,
.sh, ...) was missing an escape sequence on its dot.

As a result, in addition filtering problematic files, it also filtered
some very valid urls. For example:

    mysite.com/blog        <- satisfies /.log$/ and gets filtered
    mysite.com/hit-refresh <- satisfies /.sh$/ and gets filtered

This change modifies .htacces so the dot is interpreted as a literal dot
character, avoiding those issues.
2011-12-07 19:02:42 +01:00
Luke Brookhart
a835a4dbb0 Requests shouldn't fail if the file or directory beginning with a period doesn't exist. Some CMS's will allow for appending ".qr" to a URL to get a QR code. 2011-11-30 11:54:35 -05:00
mikemorris
ba7d47f931 Removed ' <!--<![endif' from regex search string for adding manifest attribute. Works fine without this segment, and no longer prevents the build script from adding the manifest attribute if the IE conditional comments are removed. 2011-11-29 13:17:50 -05:00
Paul Irish
b1e3aa5fe4 Merge pull request #871 from drublic/master
Update jQuery to 1.7.1
2011-11-28 16:04:50 -08:00
drublic
a8e96a79a1 Update jQuery from version 1.7.0 to 1.7.1
Signed-off-by: drublic <hans@sa-designz.de>
2011-11-29 00:17:26 +01:00
drublic
d8e28f2f2e Merge branch 'master' of https://github.com/h5bp/html5-boilerplate 2011-11-29 00:10:18 +01:00
Mathias Bynens
2727fa23a6 Send CORS headers if browsers request them. This enables CORS-enabled images (@crossorigin). Closes #797. 2011-11-28 20:00:09 +01:00
Nicolas Gallagher
fdb58e6815 Merge pull request #866 from AD7six/feature/slim-gitignore
git ignore files do not need to ignore ignoring themselves
2011-11-23 04:45:00 -08:00
AD7six
875df4e9b5 git ignore files do not need to ignore ignoring themselves
To ensure the dir exists with git, a file is required - but it can be
completely empty.

Since the git ignore file is already in the repo it is not necessary to
not-ignore it - it is already tracked.

Though trivial these !.gitignore files are being understood by some to
mean that they must contain this exact syntax to ensure an empty folder
exists.
2011-11-23 13:20:56 +01:00
Nicolas Gallagher
a0cf284836 Merge pull request #862 from martinsik/master
removed _trackPageLoadTime - it's now enabled by default in Google Analytics
2011-11-20 12:05:52 -08:00
martinsik
a7b1a71624 removed _trackPageLoadTime because it's not necessary any more 2011-11-20 20:42:41 +01:00
Paul Irish
f40da1b529 minor. filename typo. 2011-11-17 12:37:37 -08:00
drublic
9efe695f4d jQuery minified was still 1.6.4. fixes #852
I don't know why pretty sure I updated it.
Anyway… here comes the latest version.

Signed-off-by: drublic <hans@sa-designz.de>
2011-11-17 09:32:53 -08:00
Paul Irish
05965584fc hey filename, take it easy. use your inside voice. 2011-11-17 09:32:22 -08:00
drublic
2dd8ad97f8 jQuery minified was still 1.6.4. fixes #852
I don't know why pretty sure I updated it.
Anyway… here comes the latest version.

Signed-off-by: drublic <hans@sa-designz.de>
2011-11-17 10:42:23 +01:00
Mathias Bynens
78533f248c Update Modernizr header with a more specific build link. 2011-11-11 09:09:34 +01:00
Paul Irish
8bf92b0989 Merge pull request #852 from drublic/master
Update jQuery to the latest version
2011-11-10 15:20:44 -08:00
drublic
8074f1584f Update jQuery form 1.6.4 to 1.7.0
Signed-off-by: drublic <hans@sa-designz.de>
2011-11-11 00:10:21 +01:00
Matt Clarkson
6122ef5ab1 Added the 'px' back in for the things that need it. Added consistent spacing to the styling. 2011-11-09 01:35:07 +00:00
Matt Clarkson
212afb9d43 Added padding to the inputs so that they look better. 'look' is always a personal opinion though... 2011-11-08 01:34:51 +00:00
Matt Clarkson
8278b4552d Updated styling to be more consistent and terse 2011-11-08 00:45:56 +00:00
Divya Manian
ce11ab3f8e Merge pull request #846 from mikealmond/master
Block access to backup/source/config files. Fixes issue #648
2011-11-07 07:44:14 -08:00
Mike Almond
8b634157e3 Block access to backup/source/config files. Fixes issue #648 2011-11-07 09:38:37 -05:00
Divya Manian
588e82c8dc Adding Opera extension to mimetypes and unsetting X-UA-Compatible for opera extensions. Fixes #827 2011-11-06 14:08:45 -08:00
Divya Manian
07634ccaf1 Merge pull request #838 from dplesca/master
Fix for issue #837
2011-11-06 01:33:54 -07:00
Paul Irish
1c18e9e8ca Merge pull request #842 from akavlie/master
Link fixes
2011-11-04 19:43:03 -07:00
Aaron Kavlie
821f3449aa Fix a couple of links in build files that still point to github.com/paulirish 2011-11-04 19:27:14 -07:00
Nicolas Gallagher
4a69c41694 Update urls in .htaccess to reference the new repo and wiki locations 2011-11-04 21:26:42 +00:00
dplesca
6290f4018c Fix for Issue #837. 2011-11-03 12:30:23 +02:00
Mathias Bynens
5718718cdd Use h5bp.com short URL for the viewport discussion. Closes #836. 2011-11-02 08:53:20 +01:00
Mathias Bynens
d526c488ea Merge pull request #836 from kridolfo/patch-1
Update short link for X-UA-Compatible issue in GitHub to point to new repo.
2011-11-02 00:51:53 -07:00
Kyle Ridolfo
e0b5b1c93d Update short link for X-UA-Compatible issue in GitHub to point to new repository. 2011-11-01 12:32:48 -03:00
Matt Clarkson
0eb2dc932a Removed dynamic URL 2011-10-31 09:07:41 +00:00
Paul Irish
fb6d9387ed Merge pull request #832 from adrienkohlbecker/master
Fixed PNG optimization on unix & macos
2011-10-30 11:24:56 -07:00
Adrien Kohlbecker
b0fd587b26 PNGs weren't optimized on unix & macos 2011-10-30 13:12:17 +01:00
Matt Clarkson
5347f874ed Added the URL to the mistyped address and some nicer styling to the text box and button 2011-10-28 17:15:20 +01:00
Nicolas Gallagher
d32dfb7a48 Update README repo urls 2011-10-26 22:00:32 +01:00
Nicolas Gallagher
380c4f80d8 Add default font-size and line-height styles.
Redeclare default font-size using ems (equates to 16px if user
has not altered their prefs). Set a common line-height value to
improve readability in most cases. Should keep people happy.

Ref #723
Close #825
2011-10-25 20:35:19 +01:00
Nicolas Gallagher
125a7a6840 Remove default font-size and line-height. Close #724
The previous font-size and line-height were fairly arbitrary
values taken from the much earlier use of YUI font defaults.
Remove them in favour of developers specifying their own values
based on the typographic requirements of their design.
2011-10-23 20:29:19 +01:00
Nicolas Gallagher
1437e0fefd Remove demo folder.
The demo files haven't been well maintained and are of limited
use. Remove them to simplify the boilerplate.

Ref #808
2011-10-23 20:19:47 +01:00
Nicolas Gallagher
0a80ebafd0 Remove test folder.
Over 80% of people polled are not using the qunit testing
provided. Remove it in favour of people using their unit testing
framework of choice.

Ref #808
2011-10-23 20:05:31 +01:00
Divya Manian
5fdb99f91b adding a depends -clean. fixes #692 2011-10-19 22:40:21 +05:30
Divya Manian
b72f114d95 Merge pull request #813 from dflydev/master
Handle absolute path for name and optionally accept name on command line
2011-10-19 09:52:41 -07:00
Divya Manian
90734c0b45 Adding all images in the img folder to the manifest. Fixes #760 2011-10-19 21:57:58 +05:30
Beau Simensen
f022785b64 Added internal documentation per #813 2011-10-19 10:25:24 -05:00
Paul Irish
d20c503e08 Merge pull request #818 from localpcguy/patch-1
Use REM for comments to avoid error messages on the DOS prompt for Window
2011-10-18 15:46:47 -07:00
localpcguy
a37f57addb Use REM for comments to avoid error messages on the DOS prompt for Windows users 2011-10-18 19:37:30 -03:00
Mathias Bynens
a87078d406 Cleaner, more obvious indentation in .htaccess. Closes #817. 2011-10-18 22:39:58 +03:00
Nicolas Gallagher
ecdb8d79ac Add line-height:0 to .ir helper class. Close #811
The .ir helper class's use of a negative text-indent is not enough
to hide the text of submit inputs in IE6/7. This deals with that
scenario.
2011-10-15 14:50:08 +01:00
Nicolas Gallagher
f3cc3a28e4 Rewrite the README.
Previous version was acting more like a changelog. This update
provides a better overview of the project, more useful information,
clearer description of how to get involved, and links to the
various project resources.
2011-10-15 12:03:26 +01:00
Beau Simensen
8d50ceb127 Handle absolute directories for "name" and optionally take name as command line argument. 2011-10-14 15:10:58 -05:00
Paul Irish
f1e9bb3f94 QUnit updated to 1.2.0pre - which is master, which is 1 day past the 1.1.0 release. :) 2011-10-11 16:19:51 -07:00
Mathias Bynens
5e213a872c Merge pull request #805 from samuelcarlton/patch-1
Added sublime-project and sublime-workspace files to ignore list
2011-10-10 21:41:53 -07:00
Sam Carlton
638f77206f Added sublime-project and sublime-workspace files to ignore list 2011-10-10 19:43:28 -05:00
Divya Manian
25fa9bedd7 Merge pull request #800 from jakearchibald/master
Changing IE class names to target browsers less than a version.
2011-10-09 13:40:09 -07:00
Jake Archibald
b230b84043 Changing IE class names to fall-back rather than target specifically.
Almost all layout bugs that exist in IE8 also exist in 6 & 7, almost all layout bugs in 7 exist in 6. With class names that target versions specifically I end up repeating my selectors for IE6, 7 & 8. This pattern of selectors avoids that. Developers should be more familiar with this behaviour, as this is how it works with the underscore & star hacks.

If a style needs to be applied to IE8 specifically, it could be set on .ltie9 then overridden in .ltie8 - this isn't pretty, but I've never had to target a specific IE in practice, so I'm going on the assumption that it's an edge-case.
2011-10-08 11:51:05 +01:00
Paul Irish
362eb87946 Merge pull request #799 from rigelglen/master
Validate 404 Page's HTML
2011-10-07 10:22:41 -07:00
rigelglen
eaf87bb500 Now Valid HTML 2011-10-07 22:20:22 +05:30
Divya Manian
5c85e31a21 Merge pull request #789 from unfinisheddev/master
Ammendment to CSS @import regex. This will now allow media queries like (min-width: 240px).
2011-10-06 06:07:54 -07:00
Dave Kirk
e17dc838a2 Ammended the regex used to match media queries for imported stylesheets as it wasn't matching qeuries containing certain characters 2011-09-26 10:39:07 +01:00
Nicolas Gallagher
3cdf17e1bc Prevent text inputs growing as you type in IE6/7.
Applying *overflow:visible to button/input causes text inputs to
grow to fit their content, even if an explicit, fixed width is
applied. It was originally included to remove excess inner
spacing on buttons and submit/reset/button-type inputs in IE6/7.

Fixing this bug in IE6 requires dropping the fix entirely because
there is no way to avoid it being applied to text inputs. If
there is a need to fix this excess spacing bug in IE6, then it
should be done using a class that is applied to the
necessary elements.

For IE7, the excess spacing fix can be moved into the ruleset
that targets button and submit/reset/button-type inputs. This
prevents text inputs from growing.
2011-09-22 18:47:24 +01:00
Divya Manian
994cd0801d Merge pull request #768 from mathiasbynens/master
.htaccess improvement: check if mod_headers is available before matching webfont files (instead of the other way around)
2011-09-18 07:02:47 -07:00
Divya Manian
e130ae32c2 Merge pull request #767 from whitman/master
Add -p flag to mkdir
2011-09-18 06:58:16 -07:00
Mathias Bynens
d8a3970e14 Check if mod_headers is available before matching webfont files. This tweak also makes it more consistent with the rest of the .htaccess file. 2011-09-18 10:21:33 +03:00
Alex Whitman
d98f4ae88e Add -p flag to mkdir
- Allows parent directories to be automatically created if necessary
2011-09-17 16:18:39 +02:00
Nicolas Gallagher
6673ce68ff Merge pull request #766 from rigelglen/master
Update Demo Pages with jQuery 1.6.4
2011-09-17 02:17:41 -07:00
Rigel Glen
535918a3ed Updated Demo Page with jQuery 1.6.4 2011-09-17 14:41:22 +05:30
Mathias Bynens
32fcb33604 Merge pull request #765 from rigelglen/master
Added jQuery version 1.6.4
2011-09-17 00:59:46 -07:00
Rigel Glen
d13dfdef40 Added jQuery 1.6.4 2011-09-17 13:05:54 +05:30
Rigel Glen
b23de068c5 Added jQuery 1.6.4 2011-09-17 13:03:30 +05:30
rigelglen
7f94518f6b Added jQuery 1.6.4 2011-09-17 12:52:39 +05:30
Vladislav Shkodin
53aded7bf3 added fixed sizes for checkbox and radio button. this will remove extra space around them in IE7 2011-09-16 04:49:49 +04:00
Divya Manian
7a984c7f84 Changing the default elements inside body. Fixes #203 2011-09-15 17:35:35 -07:00
Divya Manian
8aa70882b4 Removing prefixed box-shadow resets in print styles. 2011-09-13 17:48:53 -03:00
Divya Manian
fe2d67c9c0 Merge pull request #754 from lekkerduidelijk/patch-2
Reset box shadow, including vendor prefixes, for @media print.
2011-09-13 13:48:08 -07:00
RL
115bce064e Reset box shadow, including vendor prefixes, for @media print. 2011-09-13 14:06:55 +03:00
Paul Irish
4994e375a1 Merge pull request #748 from santry/patch-1
A couple grammatical fixes to README.md
2011-09-10 15:51:34 -07:00
Sean Santry
64c9e797b8 A couple grammatical fixes to README.md 2011-09-10 18:52:28 -03:00
Paul Irish
ceb6e819d3 Merge pull request #742 from owilliams/master
Fix small typo in createproject.sh
2011-09-06 14:49:44 -07:00
owilliams
ea716a8f46 Fixed small typo in createproject.sh
Fixed small typos in build/createproject.sh comments: "sucess" -> "success"
2011-09-06 18:20:45 -03:00
Mathias Bynens
715957bffc Correct Expires header to application/x-font-ttf. Fixes #740. 2011-09-06 18:43:15 +03:00
Divya Manian
981e448b36 Merge pull request #733 from inxilpro/master
Added project.xml to build process
2011-09-05 07:02:03 -07:00
Divya Manian
439778a2be Updated the readme to remove duplicate reference to modernizr.load Fixes #737 2011-09-04 15:52:12 -07:00
Mathias Bynens
7b3c30d8c8 Merge pull request #736 from philipvonbargen/master
Added new version of jQuery (1.6.3)
2011-09-03 04:54:26 -07:00
Shi Chuan
70a836c34d added new console api methods to console.log protection 2011-09-03 14:02:43 +08:00
Shi Chuan
75ac1ea512 Merge pull request #735 from joeytrapp/master
Modify .esproj ignore rule.
2011-09-01 20:46:59 -07:00
Philip von Bargen
d07c233422 Added new version of jQuery 2011-09-01 22:08:37 +02:00
Paul Irish
bd72320946 Merge pull request #734 from Danmer/master
Set the file encoding for ant
2011-09-01 09:14:36 -07:00
Joey Trapp
2ba5f9d80d Added * to .esproj as Espresso saves the file as [Project Name].esproj. 2011-09-01 08:16:55 -05:00
Egor Kotlyarov
9b32ced2b4 build script: set the default file encoding for ant. Closes #729. 2011-09-01 10:39:19 +06:00
Chris Morrell
a6bc1d4e69 Added project.xml for custom build targets
Added a project.xml file which should be used for custom build targets
that are specific to your project, and updated build.xml to import that
file.
2011-08-31 17:45:04 -04:00
Divya Manian
2df9a9a863 Merge pull request #732 from Zearin/patch-2
Not 100% complete, but added lots of backticks to make files, paths, and
2011-08-29 13:05:23 -07:00
Tony
19dd8f8318 Not 100% complete, but added lots of backticks to make files, paths, and inline code easier to spot (and read!). 2011-08-29 22:04:00 -03:00
Mathias Bynens
4caa411f01 Switch back to the optimized asynchronous Google Analytics snippet.
Don’t set .async = true, since it only makes a difference in Firefox 3.6. See http://mathiasbynens.be/notes/async-analytics-snippet#async for details.

This reverts commit d9cc711ea1 and fixes #720.
2011-08-25 23:02:07 +02:00
Nicolas Gallagher
fccc4824cc Merge pull request #721 from callum85/patch-1
Move media query placeholders to follow immediately after the primary styles, and before the helper classes
2011-08-24 05:44:18 -07:00
callum85
ef3c095baf Moved media queries placeholder immediately after primary (mobile-first) styles... and before the non-semantic helper classes. 2011-08-25 00:22:08 +02:00
Rutger de Knijf
3f22747dfb Changed -rev target description and renamed to -intro 2011-08-23 10:11:56 +03:00
Paul Irish
ca028d751f Merge pull request #716 from rdeknijf/master
build.xml -rev target clarity
2011-08-22 13:24:37 -07:00
Divya Manian
97c7ae774a adding .esproj to gitignore. Fixes #709 2011-08-21 10:40:31 -07:00
Divya Manian
6727b542ac changing hash length to 7 from 40 2011-08-21 10:24:25 -07:00
Matthew Donoughe
ad423ae3fd add hash.length property to control hash lengths
re: issue gh-696
2011-08-21 16:39:00 +00:00
Paul Irish
e88011b49b closure compiler. renamed the jar. fixup of 3233fdeeec 2011-08-20 22:42:46 -07:00
Divya Manian
01f0a9f999 Adding * to scope zoom to only IE6,7. fixes #710 2011-08-20 20:08:52 -07:00
Divya Manian
d2223de26a Merge branch 'master' of https://github.com/roblarsen/html5-boilerplate into closurecompiler 2011-08-20 19:44:44 -07:00
Rob Larsen
8cbb3e7155 moved the two options (warning_level and compilation_level) into the properites files 2011-08-17 22:03:33 -04:00
Paul Irish
7467f9c041 script.js and style.css both retain their path prefix when being swapped out for the concatenated/minified versions.
by @darktable.
https://github.com/paulirish/html5-boilerplate/pull/705

fixes #705.

Squashed commit of the following:

commit 6a77f5ad7e
Author: calvin <calvin@darktable.com>
Date:   Tue Aug 16 21:12:10 2011 -0700

    adding file.root.script property to default.properties

    this allows people to rename script.js and not have to hack through
    build.xml to keep everything working.

commit 27011c0a1a
Author: calvin <calvin@darktable.com>
Date:   Tue Aug 16 20:51:48 2011 -0700

    revert to normal css and js paths

    had testing paths in the previous commit.

(and some other merge happiness)
2011-08-17 16:14:07 -07:00
Rob Larsen
3233fdeeec issue #658 switch to Closure Compiler for js minification 2011-08-17 12:42:24 -04:00
Paul Irish
2aabc1a276 Merge pull request #697 from nwtn/master
Typo in index.html
2011-08-16 12:22:21 -07:00
David Newton
c8b87abd01 Comment typo: "an manifest" -> "a manifest" 2011-08-16 15:14:10 -03:00
Divya Manian
94b065fb97 okay so it uses the css.sha to replace just style.css to sha.css now 2011-08-15 23:51:52 -07:00
Divya Manian
9fe23b3f82 removed css prefixers, doing this with regex now. Updated regex to not add another /css/ 2011-08-15 23:37:13 -07:00
Paul Irish
c4ef2f3810 build script: tweak script replacement regex for whitespace. Thank You @kevva !
@kevva wins the award for fastest bug report. 118 minutes after a bug was committed,
  he reported it in #html5. And then I was a dunce and couldn't identify the fix
  and so he provided that too.

Not a trivial bug either.

Best bug reporter ever. :D

--

This is a fix for 2fb6ac3369...bf52178981 (L2R62)
2011-08-15 11:52:53 -07:00
calvin
2fef4ad3ee concatenated style.css retains the prefix from the pre-concat style.css.
fixes #686
2011-08-15 10:43:58 -07:00
Paul Irish
20976f7af4 minor. comment wording cleanup. 2011-08-15 10:39:06 -07:00
Paul Irish
64561534a6 kill off misleading css concat statements. build script docs will more clearly illuminate how css concat/importing works.
fixes #687
2011-08-15 10:10:08 -07:00
Paul Irish
bf52178981 Merge pull request #685 from drublic/master
Prefixing CSS/JS resources automatically, idea from @drublic, technique from @darktable
2011-08-15 09:42:11 -07:00
drublic
e1702af5ee Make gae_css.dir property available to use prefixes for any build type
Thanks to @darktable for commit 67d427c1a9

Signed-off-by: drublic <hans@sa-designz.de>
2011-08-15 10:09:04 +02:00
drublic
014b6d4153 Revert "Add option to prefix CSS and JS references in buildscript"
This reverts commit b139b59797.

Signed-off-by: drublic <hans@sa-designz.de>
2011-08-15 10:05:47 +02:00
drublic
b139b59797 Add option to prefix CSS and JS references in buildscript
Syntax: add `(prefix: /file/to/dir/)` in comment before reference
Signed-off-by: drublic <hans@sa-designz.de>
2011-08-14 20:53:16 +02:00
drublic
6c1e80d6dd Whitespace in comments surrounding CSS and JS references
Add whitespace before closing tags of comments surrounding CSS and JS references to maintain consistency with other comments

Signed-off-by: drublic <hans@sa-designz.de>
2011-08-14 20:50:52 +02:00
Paul Irish
2fb6ac3369 Merge pull request #682 from anthracite/cleanup
whitespace .. global code cleanup.. random protip: I use `git gui blame filename.ext` because the git gui has a Blame Previous Commit feature so i can go back beyond the blame commit it found. Useful with commits like this.
2011-08-14 11:25:49 -07:00
Martin Balfanz
50daa07400 Added blank lines to script.js 2011-08-14 20:18:14 +02:00
Mathias Bynens
b44a12d78c Enable gzip compression for favicons. Closes #684. 2011-08-14 11:04:32 +03:00
Martin Balfanz
fa785e0ef0 global code cleanup
includes: - tab removal from html/css
          - fixing indention
          - removing unnecessary whitespaces
2011-08-13 16:19:01 +02:00
Nicolas Gallagher
c86f2b52c0 Remove excess space around radio and checkbox in IE8/9 2011-08-13 02:55:02 +01:00
Paul Irish
0062417c59 Merge pull request #681 from philipvonbargen/master
@import url() starting with // did break build process
2011-08-12 08:53:05 -07:00
philipvonbargen
98e4ca1edf @import urls in the CSS starting with "//" were breaking the build process 2011-08-12 17:31:31 +02:00
Mathias Bynens
21933ec1ee Simplify .gitattributes. Thanks, @jeffbyrnes! See 7f31896fd4 (commitcomment-525963) for more details. 2011-08-11 14:29:58 +03:00
Mathias Bynens
85d8cc0ac0 Check if mod_autoindex.c is available before disabling the Indexes option. Fixes #676. Thanks, @sstok! 2011-08-11 12:42:35 +03:00
Nicolas Gallagher
1311138f3e Update monospace font stack fix to work in Safari 4 2011-08-11 10:40:27 +01:00
Divya Manian
1b3690933e Merge pull request #671 from chendrix/master
Clarified the wording on the new Modernizr build with Respond.js
2011-08-10 15:32:45 -07:00
Christopher Hendrix
b87096669b Clarified wording on the custom Modernizr build containing Respond.js 2011-08-10 18:29:28 -04:00
Paul Irish
7344d57029 Merge pull request #669 from SlexAxton/master
Defer chromeframe too.
2011-08-10 12:17:32 -07:00
Alex Sexton
060315b591 Add the defer attribute to the CF scripts at the bottom. 2011-08-10 14:12:08 -05:00
Divya Manian
5f2b327595 Adding Gavrismo to contrib list 2011-08-10 10:30:43 -07:00
62 changed files with 2977 additions and 36228 deletions

1
.gitattributes vendored Normal file
View File

@@ -0,0 +1 @@
* text=auto

42
.gitignore vendored
View File

@@ -1,40 +1,2 @@
# Numerous always-ignore extensions
*.diff
*.err
*.orig
*.log
*.rej
*.swo
*.swp
*.vi
*~
*.sass-cache
# OS or Editor folders
.DS_Store
.cache
.project
.settings
.tmproj
nbproject
Thumbs.db
# Dreamweaver added files
_notes
dwsync.xml
# Komodo
*.komodoproject
.komodotools
# Folders to ignore
.hg
.svn
.CVS
intermediate
publish
.idea
# build script local files
build/buildinfo.properties
build/config/buildinfo.properties
# Include your project-specific ignores in this file
# Read about how to use .gitignore: https://help.github.com/articles/ignoring-files

360
.htaccess
View File

@@ -1,8 +1,8 @@
# Apache configuration file
# httpd.apache.org/docs/2.2/mod/quickreference.html
# Note .htaccess files are an overhead, this logic should be in your Apache config if possible
# httpd.apache.org/docs/2.2/howto/htaccess.html
# Note .htaccess files are an overhead, this logic should be in your Apache
# config if possible: httpd.apache.org/docs/2.2/howto/htaccess.html
# Techniques in here adapted from all over, including:
# Kroc Camen: camendesign.com/.htaccess
@@ -10,13 +10,6 @@
# Sample .htaccess file of CMS MODx: modxcms.com
###
### If you run a webserver other than apache, consider:
### github.com/paulirish/html5-boilerplate-server-configs
###
# ----------------------------------------------------------------------
# Better website experience for IE users
# ----------------------------------------------------------------------
@@ -26,11 +19,11 @@
# Use ChromeFrame if it's installed for a better experience for the poor IE folk
<IfModule mod_headers.c>
Header set X-UA-Compatible "IE=Edge,chrome=1"
# mod_headers can't match by content-type, but we don't want to send this header on *everything*...
<FilesMatch "\.(js|css|gif|png|jpe?g|pdf|xml|oga|ogg|m4a|ogv|mp4|m4v|webm|svg|svgz|eot|ttf|otf|woff|ico|webp|appcache|manifest|htc|crx|xpi|safariextz|vcf)$" >
Header unset X-UA-Compatible
</FilesMatch>
Header set X-UA-Compatible "IE=Edge,chrome=1"
# mod_headers can't match by content-type, but we don't want to send this header on *everything*...
<FilesMatch "\.(appcache|crx|css|eot|gif|htc|ico|jpe?g|js|m4a|m4v|manifest|mp4|oex|oga|ogg|ogv|otf|pdf|png|safariextz|svg|svgz|ttf|vcf|webm|webp|woff|xml|xpi)$">
Header unset X-UA-Compatible
</FilesMatch>
</IfModule>
@@ -38,7 +31,7 @@
# Cross-domain AJAX requests
# ----------------------------------------------------------------------
# Serve cross-domain ajax requests, disabled.
# Serve cross-domain Ajax requests, disabled by default.
# enable-cors.org
# code.google.com/p/html5security/wiki/CrossOriginRequestSecurity
@@ -47,6 +40,26 @@
# </IfModule>
# ----------------------------------------------------------------------
# CORS-enabled images (@crossorigin)
# ----------------------------------------------------------------------
# Send CORS headers if browsers request them; enabled by default for images.
# developer.mozilla.org/en/CORS_Enabled_Image
# blog.chromium.org/2011/07/using-cross-domain-images-in-webgl-and.html
# hacks.mozilla.org/2011/11/using-cors-to-load-webgl-textures-from-cross-domain-images/
# wiki.mozilla.org/Security/Reviews/crossoriginAttribute
<IfModule mod_setenvif.c>
<IfModule mod_headers.c>
# mod_headers, y u no match by Content-Type?!
<FilesMatch "\.(gif|ico|jpe?g|png|svg|svgz|webp)$">
SetEnvIf Origin ":" IS_CORS
Header set Access-Control-Allow-Origin "*" env=IS_CORS
</FilesMatch>
</IfModule>
</IfModule>
# ----------------------------------------------------------------------
# Webfont access
@@ -56,59 +69,63 @@
# Alternatively you could only whitelist your
# subdomains like "subdomain.example.com".
<FilesMatch "\.(ttf|ttc|otf|eot|woff|font.css)$">
<IfModule mod_headers.c>
<IfModule mod_headers.c>
<FilesMatch "\.(eot|font.css|otf|ttc|ttf|woff)$">
Header set Access-Control-Allow-Origin "*"
</IfModule>
</FilesMatch>
</FilesMatch>
</IfModule>
# ----------------------------------------------------------------------
# Proper MIME type for all files
# ----------------------------------------------------------------------
# JavaScript
# Normalize to standard type (it's sniffed in IE anyways)
# Normalize to standard type (it's sniffed in IE anyways)
# tools.ietf.org/html/rfc4329#section-7.2
AddType application/javascript js
AddType application/javascript js jsonp
AddType application/json json
# Audio
AddType audio/mp4 m4a f4a f4b
AddType audio/ogg oga ogg
AddType audio/mp4 m4a
# Video
AddType video/mp4 mp4 m4v f4v f4p
AddType video/ogg ogv
AddType video/mp4 mp4 m4v
AddType video/webm webm
AddType video/x-flv flv
# SVG.
# SVG
# Required for svg webfonts on iPad
# twitter.com/FontSquirrel/status/14855840545
AddType image/svg+xml svg svgz
AddType image/svg+xml svg svgz
AddEncoding gzip svgz
# Webfonts
# Webfonts
AddType application/vnd.ms-fontobject eot
AddType application/x-font-ttf ttf ttc
AddType font/opentype otf
AddType application/x-font-ttf ttf ttc
AddType application/x-font-woff woff
AddType font/opentype otf
# Assorted types
AddType image/x-icon ico
AddType image/webp webp
AddType text/cache-manifest appcache manifest
AddType text/x-component htc
AddType application/x-chrome-extension crx
AddType application/x-xpinstall xpi
AddType application/octet-stream safariextz
AddType text/x-vcard vcf
# Assorted types
AddType application/octet-stream safariextz
AddType application/x-chrome-extension crx
AddType application/x-opera-extension oex
AddType application/x-shockwave-flash swf
AddType application/x-web-app-manifest+json webapp
AddType application/x-xpinstall xpi
AddType application/xml rss atom xml rdf
AddType image/webp webp
AddType image/x-icon ico
AddType text/cache-manifest appcache manifest
AddType text/vtt vtt
AddType text/x-component htc
AddType text/x-vcard vcf
# ----------------------------------------------------------------------
# Allow concatenation from within specific js and css files
# Allow concatenation from within specific js and css files
# ----------------------------------------------------------------------
# e.g. Inside of script.combined.js you could have
@@ -117,15 +134,14 @@ AddType text/x-vcard vcf
# and they would be included into this single file.
# This is not in use in the boilerplate as it stands. You may
# choose to name your files in this way for this advantage or
# concatenate and minify them manually.
# Disabled by default.
# choose to use this technique if you do not have a build process.
#<FilesMatch "\.combined\.js$">
# Options +Includes
# AddOutputFilterByType INCLUDES application/javascript application/json
# SetOutputFilter INCLUDES
#</FilesMatch>
#<FilesMatch "\.combined\.css$">
# Options +Includes
# AddOutputFilterByType INCLUDES text/css
@@ -139,46 +155,38 @@ AddType text/x-vcard vcf
<IfModule mod_deflate.c>
# Force deflate for mangled headers developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping/
<IfModule mod_setenvif.c>
<IfModule mod_headers.c>
SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
# Force deflate for mangled headers developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping/
<IfModule mod_setenvif.c>
<IfModule mod_headers.c>
SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
</IfModule>
</IfModule>
</IfModule>
# HTML, TXT, CSS, JavaScript, JSON, XML, HTC:
<IfModule filter_module>
FilterDeclare COMPRESS
FilterProvider COMPRESS DEFLATE resp=Content-Type $text/html
FilterProvider COMPRESS DEFLATE resp=Content-Type $text/css
FilterProvider COMPRESS DEFLATE resp=Content-Type $text/plain
FilterProvider COMPRESS DEFLATE resp=Content-Type $text/xml
FilterProvider COMPRESS DEFLATE resp=Content-Type $text/x-component
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/javascript
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/json
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/xml
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/xhtml+xml
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/rss+xml
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/atom+xml
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/vnd.ms-fontobject
FilterProvider COMPRESS DEFLATE resp=Content-Type $image/svg+xml
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/x-font-ttf
FilterProvider COMPRESS DEFLATE resp=Content-Type $font/opentype
FilterChain COMPRESS
FilterProtocol COMPRESS DEFLATE change=yes;byteranges=no
</IfModule>
# Compress all output labeled with one of the following MIME-types
# (for Apache versions below 2.3.7, you don't need to enable `mod_filter`
# and can remove the `<IfModule mod_filter.c>` and `</IfModule>` lines as
# `AddOutputFilterByType` is still in the core directives)
<IfModule mod_filter.c>
AddOutputFilterByType DEFLATE application/atom+xml \
application/javascript \
application/json \
application/rss+xml \
application/vnd.ms-fontobject \
application/x-font-ttf \
application/xhtml+xml \
application/xml \
font/opentype \
image/svg+xml \
image/x-icon \
text/css \
text/html \
text/plain \
text/x-component \
text/xml
</IfModule>
<IfModule !mod_filter.c>
# Legacy versions of Apache
AddOutputFilterByType DEFLATE text/html text/plain text/css application/json
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE text/xml application/xml text/x-component
AddOutputFilterByType DEFLATE application/xhtml+xml application/rss+xml application/atom+xml
AddOutputFilterByType DEFLATE image/svg+xml application/vnd.ms-fontobject application/x-font-ttf font/opentype
</IfModule>
</IfModule>
# ----------------------------------------------------------------------
@@ -186,13 +194,12 @@ AddType text/x-vcard vcf
# ----------------------------------------------------------------------
# These are pretty far-future expires headers.
# They assume you control versioning with cachebusting query params like
# <script src="application.js?20100608">
# Additionally, consider that outdated proxies may miscache
# They assume you control versioning with filename-based cache busting
# Additionally, consider that outdated proxies may miscache
# www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/
# If you don't use filenames to version, lower the CSS and JS to something like
# "access plus 1 week" or so.
# If you don't use filenames to version, lower the CSS and JS to something like
# "access plus 1 week".
<IfModule mod_expires.c>
ExpiresActive on
@@ -203,52 +210,59 @@ AddType text/x-vcard vcf
# cache.appcache needs re-requests in FF 3.6 (thanks Remy ~Introducing HTML5)
ExpiresByType text/cache-manifest "access plus 0 seconds"
# Your document html
# Your document html
ExpiresByType text/html "access plus 0 seconds"
# Data
ExpiresByType text/xml "access plus 0 seconds"
ExpiresByType application/xml "access plus 0 seconds"
ExpiresByType application/json "access plus 0 seconds"
ExpiresByType application/xml "access plus 0 seconds"
ExpiresByType text/xml "access plus 0 seconds"
# Feed
ExpiresByType application/rss+xml "access plus 1 hour"
ExpiresByType application/atom+xml "access plus 1 hour"
ExpiresByType application/rss+xml "access plus 1 hour"
# Favicon (cannot be renamed)
ExpiresByType image/x-icon "access plus 1 week"
ExpiresByType image/x-icon "access plus 1 week"
# Media: images, video, audio
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType video/ogg "access plus 1 month"
ExpiresByType audio/ogg "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType video/mp4 "access plus 1 month"
ExpiresByType video/ogg "access plus 1 month"
ExpiresByType video/webm "access plus 1 month"
# HTC files (css3pie)
ExpiresByType text/x-component "access plus 1 month"
# Webfonts
ExpiresByType font/truetype "access plus 1 month"
ExpiresByType font/opentype "access plus 1 month"
ExpiresByType application/x-font-woff "access plus 1 month"
ExpiresByType image/svg+xml "access plus 1 month"
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
ExpiresByType application/x-font-ttf "access plus 1 month"
ExpiresByType application/x-font-woff "access plus 1 month"
ExpiresByType font/opentype "access plus 1 month"
ExpiresByType image/svg+xml "access plus 1 month"
# CSS and JavaScript
ExpiresByType text/css "access plus 1 year"
ExpiresByType application/javascript "access plus 1 year"
<IfModule mod_headers.c>
Header append Cache-Control "public"
</IfModule>
ExpiresByType text/css "access plus 1 year"
</IfModule>
# ----------------------------------------------------------------------
# Prevent mobile network providers from modifying your site
# ----------------------------------------------------------------------
# The following header prevents modification of your code over 3G on some
# European providers.
# This is the official 'bypass' suggested by O2 in the UK.
# <IfModule mod_headers.c>
# Header set Cache-Control "no-transform"
# </IfModule>
# ----------------------------------------------------------------------
# ETag removal
@@ -265,14 +279,12 @@ AddType text/x-vcard vcf
FileETag None
# ----------------------------------------------------------------------
# Stop screen flicker in IE on CSS rollovers
# ----------------------------------------------------------------------
# The following directives stop screen flicker in IE on CSS rollovers - in
# combination with the "ExpiresByType" rules for images (see above). If
# needed, un-comment the following rules.
# combination with the "ExpiresByType" rules for images (see above).
# BrowserMatch "MSIE" brokenvary=1
# BrowserMatch "Mozilla/4.[0-9]{2}" brokenvary=1
@@ -280,55 +292,75 @@ FileETag None
# SetEnvIf brokenvary 1 force-no-vary
# ----------------------------------------------------------------------
# Set Keep-Alive Header
# ----------------------------------------------------------------------
# Keep-Alive allows the server to send multiple requests through one
# TCP-connection. Be aware of possible disadvantages of this setting. Turn on
# if you serve a lot of static content.
# <IfModule mod_headers.c>
# Header set Connection Keep-Alive
# </IfModule>
# ----------------------------------------------------------------------
# Cookie setting from iframes
# ----------------------------------------------------------------------
# Allow cookies to be set from iframes (for IE only)
# If needed, uncomment and specify a path or regex in the Location directive
# If needed, specify a path or regex in the Location directive.
# <IfModule mod_headers.c>
# <Location />
# Header set P3P "policyref=\"/w3c/p3p.xml\", CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\""
# </Location>
# Header set P3P "policyref=\"/w3c/p3p.xml\", CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\""
# </IfModule>
# ----------------------------------------------------------------------
# Start rewrite engine
# ----------------------------------------------------------------------
# Turning on the rewrite engine is necessary for the following rules and features.
# FollowSymLinks must be enabled for this to work.
# Turning on the rewrite engine is necessary for the following rules and
# features. FollowSymLinks must be enabled for this to work.
# Some cloud hosting services require RewriteBase to be set: goo.gl/HOcPN
# If using the h5bp in a subdirectory, use `RewriteBase /foo` instead where
# 'foo' is your directory.
# If your web host doesn't allow the FollowSymlinks option, you may need to
# comment it out and use `Options +SymLinksIfOwnerMatch`, but be aware of the
# performance impact: http://goo.gl/Mluzd
<IfModule mod_rewrite.c>
Options +FollowSymlinks
# Options +SymLinksIfOwnerMatch
RewriteEngine On
# RewriteBase /
</IfModule>
# ----------------------------------------------------------------------
# Suppress or force the "www." at the beginning of URLs
# ----------------------------------------------------------------------
# The same content should never be available under two different URLs - especially not with and
# without "www." at the beginning, since this can cause SEO problems (duplicate content).
# That's why you should choose one of the alternatives and redirect the other one.
# The same content should never be available under two different URLs -
# especially not with and without "www." at the beginning, since this can cause
# SEO problems (duplicate content). That's why you should choose one of the
# alternatives and redirect the other one.
# By default option 1 (no "www.") is activated. Remember: Shorter URLs are sexier.
# By default option 1 (no "www.") is activated.
# no-www.org/faq.php?q=class_b
# If you rather want to use option 2, just comment out all option 1 lines
# If you'd prefer to use option 2, just comment out all option 1 lines
# and uncomment option 2.
# IMPORTANT: NEVER USE BOTH RULES AT THE SAME TIME!
# ----------------------------------------------------------------------
# Option 1:
# Rewrite "www.example.com -> example.com"
# Rewrite "www.example.com -> example.com".
<IfModule mod_rewrite.c>
RewriteCond %{HTTPS} !=on
@@ -339,9 +371,9 @@ FileETag None
# ----------------------------------------------------------------------
# Option 2:
# To rewrite "example.com -> www.example.com" uncomment the following lines.
# Be aware that the following rule might not be a good idea if you
# use "real" subdomains for certain parts of your website.
# Rewrite "example.com -> www.example.com".
# Be aware that the following rule might not be a good idea if you use "real"
# subdomains for certain parts of your website.
# <IfModule mod_rewrite.c>
# RewriteCond %{HTTPS} !=on
@@ -350,19 +382,17 @@ FileETag None
# </IfModule>
# ----------------------------------------------------------------------
# Built-in filename-based cache busting
# ----------------------------------------------------------------------
# If you're not using the build script to manage your filename version revving,
# you might want to consider enabling this, which will route requests for
# /css/style.20110203.css to /css/style.css
# `/css/style.20110203.css` to `/css/style.css`.
# To understand why this is important and a better idea than all.css?v1231,
# read: github.com/paulirish/html5-boilerplate/wiki/Version-Control-with-Cachebusting
# please refer to the bundled documentation about `.htaccess`.
# Uncomment to enable.
# <IfModule mod_rewrite.c>
# RewriteCond %{REQUEST_FILENAME} !-f
# RewriteCond %{REQUEST_FILENAME} !-d
@@ -370,14 +400,12 @@ FileETag None
# </IfModule>
# ----------------------------------------------------------------------
# Prevent SSL cert warnings
# ----------------------------------------------------------------------
# Rewrite secure requests properly to prevent SSL cert warnings, e.g. prevent
# Rewrite secure requests properly to prevent SSL cert warnings, e.g. prevent
# https://www.example.com when your cert only allows https://secure.example.com
# Uncomment the following lines to use this feature.
# <IfModule mod_rewrite.c>
# RewriteCond %{SERVER_PORT} !^443
@@ -385,16 +413,15 @@ FileETag None
# </IfModule>
# ----------------------------------------------------------------------
# Prevent 404 errors for non-existing redirected folders
# ----------------------------------------------------------------------
# without -MultiViews, Apache will give a 404 for a rewrite if a folder of the same name does not exist
# e.g. /blog/hello : webmasterworld.com/apache/3808792.htm
Options -MultiViews
# without -MultiViews, Apache will give a 404 for a rewrite if a folder of the
# same name does not exist.
# webmasterworld.com/apache/3808792.htm
Options -MultiViews
# ----------------------------------------------------------------------
@@ -402,10 +429,11 @@ Options -MultiViews
# ----------------------------------------------------------------------
# You can add custom pages to handle 500 or 403 pretty easily, if you like.
# If you are hosting your site in subdirectory, adjust this accordingly
# e.g. ErrorDocument 404 /subdir/404.html
ErrorDocument 404 /404.html
# ----------------------------------------------------------------------
# UTF-8 encoding
# ----------------------------------------------------------------------
@@ -414,40 +442,49 @@ ErrorDocument 404 /404.html
AddDefaultCharset utf-8
# Force UTF-8 for a number of file formats
AddCharset utf-8 .html .css .js .xml .json .rss .atom
AddCharset utf-8 .atom .css .js .json .rss .vtt .xml
# ----------------------------------------------------------------------
# A little more security
# ----------------------------------------------------------------------
# Do we want to advertise the exact version number of Apache we're running?
# Probably not.
## This can only be enabled if used in httpd.conf - It will not work in .htaccess
# To avoid displaying the exact version number of Apache being used, add the
# following to httpd.conf (it will not work in .htaccess):
# ServerTokens Prod
# "-Indexes" will have Apache block users from browsing folders without a
# default document Usually you should leave this activated, because you
# shouldn't allow everybody to surf through every folder on your server (which
# includes rather private places like CMS system folders).
<IfModule mod_autoindex.c>
Options -Indexes
</IfModule>
# "-Indexes" will have Apache block users from browsing folders without a default document
# Usually you should leave this activated, because you shouldn't allow everybody to surf through
# every folder on your server (which includes rather private places like CMS system folders).
Options -Indexes
# Block access to "hidden" directories whose names begin with a period. This
# includes directories used by version control systems such as Subversion or Git.
# Block access to "hidden" directories or files whose names begin with a
# period. This includes directories used by version control systems such as
# Subversion or Git.
<IfModule mod_rewrite.c>
RewriteCond %{SCRIPT_FILENAME} -d [OR]
RewriteCond %{SCRIPT_FILENAME} -f
RewriteRule "(^|/)\." - [F]
</IfModule>
# Block access to backup and source files. These files may be left by some
# text/html editors and pose a great security danger, when anyone can access
# them.
<FilesMatch "(\.(bak|config|dist|fla|inc|ini|log|psd|sh|sql|swp)|~)$">
Order allow,deny
Deny from all
Satisfy All
</FilesMatch>
# If your server is not already configured as such, the following directive
# should be uncommented in order to set PHP's register_globals option to OFF.
# This closes a major security hole that is abused by most XSS (cross-site
# scripting) attacks. For more information: http://php.net/register_globals
#
# IF REGISTER_GLOBALS DIRECTIVE CAUSES 500 INTERNAL SERVER ERRORS :
# IF REGISTER_GLOBALS DIRECTIVE CAUSES 500 INTERNAL SERVER ERRORS:
#
# Your server does not allow PHP directives to be set via .htaccess. In that
# case you must make this change in your php.ini file instead. If you are
@@ -462,6 +499,9 @@ Options -Indexes
# Rename session cookie to something else, than PHPSESSID
# php_value session.name sid
# Disable magic quotes (This feature has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 5.4.0.)
# php_flag magic_quotes_gpc Off
# Do not show you are using PHP
# Note: Move this line to php.ini since it won't work in .htaccess
# php_flag expose_php Off
@@ -498,6 +538,6 @@ Options -Indexes
# php_value error_append_string " "
# Increase cookie security
<IfModule php5_module>
php_value session.cookie_httponly true
<IfModule mod_php5.c>
php_value session.cookie_httponly true
</IfModule>

195
404.html
View File

@@ -1,38 +1,157 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Page Not Found :(</title>
<style>
body { text-align: center;}
h1 { font-size: 50px; text-align: center }
span[frown] { transform: rotate(90deg); display:inline-block; color: #bbb; }
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); }
::-moz-selection{ background:#FF5E99; color:#fff; }
::selection { background:#FF5E99; color:#fff; }
article {display:block; text-align: left; width: 500px; margin: 0 auto; }
a { color: rgb(36, 109, 56); text-decoration:none; }
a:hover { color: rgb(96, 73, 141) ; text-shadow: 2px 2px 2px rgba(36, 109, 56, 0.5); }
</style>
</head>
<body>
<article>
<h1>Not found <span frown>:(</span></h1>
<div>
<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>
</div>
<script>
var GOOG_FIXURL_LANG = (navigator.language || '').slice(0,2),
GOOG_FIXURL_SITE = location.host;
</script>
<script src="http://linkhelp.clients.google.com/tbproxy/lh/wm/fixurl.js"></script>
</article>
</body>
</html>
<!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="http://linkhelp.clients.google.com/tbproxy/lh/wm/fixurl.js"></script>
</div>
</body>
</html>

107
CHANGELOG.md Normal file
View File

@@ -0,0 +1,107 @@
### HEAD
### 4.0.3 (12 January, 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 (9 December, 2012)
* Update placeholder icons.
* Update to Normalize.css 1.0.2.
* Update to jQuery 1.8.3.
### 4.0.1 (20 October, 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 (28 August, 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.

101
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,101 @@
# Contributing to HTML5 Boilerplate
♥ [HTML5 Boilerplate](http://html5boilerplate.com) and want to get involved?
Thanks! There are plenty of ways you can help!
## Reporting issues
A bug is a _demonstrable problem_ that is caused by the code in the
repository.
Please read the following guidelines before you [report an issue](https://github.com/h5bp/html5-boilerplate/issues/):
1. **Use the GitHub issue search** &mdash; check if the issue has already been
reported. If it has been, please comment on the existing issue.
2. **Check if the issue has been fixed** &mdash; the latest `master` or
development branch may already contain a fix.
3. **Isolate the demonstrable problem** &mdash; make sure that the code in the
project's repository is _definitely_ responsible for the issue. Create a
[reduced test case](http://css-tricks.com/6263-reduced-test-cases/) - an
extremely simple and immediately viewable example of the issue.
4. **Include a live example** &mdash; provide a link to your reduced test case
when appropriate (e.g. if the issue is related to (front-end technologies).
Please use [jsFiddle](http://jsfiddle.net) to host examples.
Please try to be as detailed as possible in your report too. 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 assess and fix any potential bugs.
### Example of a good bug report:
> Short and descriptive 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 good bug report shouldn't leave people needing to chase you up to get further
information that is required to assess or fix the bug.
**[File a bug report](https://github.com/h5bp/html5-boilerplate/issues/)**
## Pull requests
Good pull requests — patches, improvements, new features — are a fantastic
help. They should remain focused in scope and avoid containing unrelated
commits.
If your contribution involves a significant amount of work or substantial
changes to any part of the project, please open an issue to discuss it first.
Please follow this process; it's the best way to get your work included in the
project:
1. [Fork](http://help.github.com/fork-a-repo/) the project.
2. Clone your fork (`git clone
https://github.com/<your-username>/html5-boilerplate.git`).
3. Add an `upstream` remote (`git remote add upstream
https://github.com/h5bp/html5-boilerplate.git`).
4. Get the latest changes from upstream (e.g. `git pull upstream
<dev-branch>`).
5. Create a new topic branch to contain your feature, change, or fix (`git
checkout -b <topic-branch-name>`).
6. Make sure that your changes adhere to the current coding conventions used
throughout the project - indentation, accurate comments, etc. Please update
any documentation that is relevant to the change you are making.
7. Commit your changes in logical chunks; use git's [interactive
rebase](https://help.github.com/articles/interactive-rebase) feature to tidy
up your commits before making them public. Please adhere to these [git commit
message
guidelines](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)
or your pull request is unlikely be merged into the main project.
8. Locally merge (or rebase) the upstream branch into your topic branch.
9. Push your topic branch up to your fork (`git push origin
<topic-branch-name>`).
10. [Open a Pull Request](http://help.github.com/send-pull-requests/) with a
clear title and description. Please mention which browsers you tested in.

19
LICENSE.md Normal file
View File

@@ -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.

63
README.md Normal file
View File

@@ -0,0 +1,63 @@
# [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](/h5bp/html5-boilerplate/blob/master/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](/h5bp/html5-boilerplate/blob/master/CONTRIBUTING.md). Hundreds
of developers have helped make the HTML5 Boilerplate what it is today.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 640 B

After

Width:  |  Height:  |  Size: 730 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 747 B

After

Width:  |  Height:  |  Size: 854 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 640 B

After

Width:  |  Height:  |  Size: 730 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 640 B

After

Width:  |  Height:  |  Size: 730 B

File diff suppressed because it is too large Load Diff

View File

@@ -1,105 +0,0 @@
#
# Default Build Settings
# you can override these settings on a project basis in a project.properties file
# so probably best not to touch these as they could be overwritten in later versions!
#
#
# Directory Paths
#
dir.source = .
dir.intermediate = intermediate
dir.publish = publish
dir.build = build
dir.build.tools = ${dir.build}/tools
dir.test = test
dir.demo = demo
dir.js = js
dir.js.main = ${dir.js}
# scripts in the lib directory will only be minified, not concatenated together
dir.js.libs = ${dir.js}/libs
dir.js.mylibs = ${dir.js}/mylibs
dir.css = css
dir.images = img
#
# HTML, PHP, etc files to clean and update script/css references
#
file.pages.default.include = index.html, 404.html
# You will need to include the property file.pages.include in your project.properties file
# and add any extra pages you want to be updated by the scripts in a comma separated list
# the server configuration you're going with. If you don't use apache,
# get a different one here: github.com/paulirish/html5-boilerplate-server-configs
file.serverconfig = .htaccess
#
# Files not to be copied over by the script to the publish directory
#
file.default.exclude = .gitignore, .project, .settings, README.markdown, README.md, **/.git/**, **/.svn/**, ${dir.test}/**, ${dir.demo}/**, ${dir.intermediate}/**, ${dir.publish}/**, ${dir.build}/**, **/nbproject/**, *.komodoproject, **/.komodotools/**, **/dwsync.xml, **_notes, **/.hg/**, **/.idea/**
# Declare the file.exclude property in your project.properties file if you want to exclude files / folders you have added
# Note: you cannot declare an empty file.exclude property
#
# Bypass Optimization for these files
#
# file.default.js.bypass
# If set, these files will not be optimized (minifications, concatinations, image optimizations will not be applied)
# Note: you cannot declare an empty file.default.bypass property
#
# Root Stylesheet
# this is the file that contains the @import directives
#
file.root.stylesheet = style.css
#
# Default Stylesheet
#
file.default.stylesheets =
#
# Script Optimisation
#
# If set, concat libraries with main scripts file, producing single script file
build.concat.scripts = true
#
# Image Optimisation
#
images.strip.metadata = true
# Seting this to true will strip the metadata from all jpeg files.
# YOU SHOULD ONLY DO THIS IF YOU OWN THE COPYRIGHT TO ALL THE IMAGES IN THE BUILD
#
# Bypass Optimization for these image files or folders
#
# images.default.bypass
# If set, these images will not be optimized
# Note: you cannot declare an empty images.default.bypass property
# Build Info
build.version.info = buildinfo.properties
build.scripts.dir = ${dir.build}/build-scripts
# Tools
tool.yuicompressor = yuicompressor-2.4.5.jar
tool.htmlcompressor = htmlcompressor-1.4.3.jar
tool.csscompressor = css-compressor/cli.php
tool.rhino = rhino.jar
tool.jslint = fulljslint.js
tool.jshint = fulljshint.js
tool.csslint = csslint-rhino.js
# Default Lint Utils Options
tool.jshint.opts = maxerr=25,eqeqeq=true
tool.jslint.opts = maxerr=25,evil=true,browser=true,eqeqeq=true,immed=true,newcap=true,nomen=true,es5=true,rhino=true,undef=true,white=false,devel=true
tool.csslint.opts =

View File

@@ -1,20 +0,0 @@
CACHE MANIFEST
# version xxxxxxxxx
CACHE:
# html files
# css files
# js files
FALLBACK:
NETWORK:
*

View File

@@ -1,91 +0,0 @@
# project.properties file defines overrides for default.properties
# Explanation: This file should be created by each user as and when he or she needs to override particular values.
# Consequently, it should not be placed under version control.
# Stylesheets
#
# Note: Stylesheets will be concatenated in the order they are listed in the file.stylesheets property (i.e. the last
# file listed will be at the end of the concatenated file), so it probably makes sense to have the main style.css file
# as the first entry
# Example:
# file.stylesheets = style.css, lightbox.css, plugin.css
#
file.stylesheets =
# Web Pages
#
# These are the pages (files) that will be served to users (.html, .php, .asp, etc). Files in this property will
# be minified / optimised and have any stylesheet or javascript references updated to the minified examples
#
# The paths need to be relative
#
# Files can be added in a comma separated form
file.pages =
# site manifest for offline
# this is the name of the manifest file you declared in the <html> tag
# Uncomment this line to enable appcache generation:
# file.manifest = manifest.appcache
# Excluded files and dirs
#
# Add any files or directories you add to the project and do not want to be copied to the publish directory as a
# comma separated list
# These files are ignored in addition to the default ones specified in default.properties.
file.exclude =
# Bypassed JavaScript files and dirs
#
# Add any files or folders within the mylibs directory that you want to be copied to the publish directory as a
# comma separated list
# These files will not be concatenated or minimized and will simply be copied over as is.
# Note: you cannot declare an empty file.bypass property, it would exclude the entire mylibs folder
# Example:
# file.js.bypass = widgets.js, gadgets.js, gidgets.js
# file.js.bypass =
# Specify an environment to build
#
# By Default, it builds a production environment
# Set to dev if building a development environment
# Set to test if building a test environment
env =
#
# Bypass Optimization for these image files or folders
#
# images.bypass
# If set, these images will not be optimized
# Note: you cannot declare an empty images.bypass property, it would exclude the entire img folder from being optimized
# Directory Structure
#
# Override any directory paths specific to this project
#
# dir.publish
# dir.js
# dir.js.libs
# dir.js.mylibs
# dir.css
# dir.images
# Google App Engine Directory Structure
#
# Prevent "static/" being included in concated file paths.
#
# gae.css_dir = /css
# gae.js_dir = /js
# Override default JSHint Options (see http://jshint.com/ for description of options)
#tool.jshint.opts =
# Override default JSLint Options (see http://www.jslint.com/lint.html for description of options)
#tool.jslint.opts =
# Override default CSSLint Options (see http://csslint.net/about.html#settings for description of options)
#tool.csslint.opts =

View File

@@ -1,50 +0,0 @@
#!/usr/bin/env bash
#Generate a new project from your HTML5 Boilerplate repo clone
#by: Rick Waldron & Michael Cetrulo
##first run
# $ cd html5-boilerplate/build
# $ chmod +x createproject.sh && ./createproject.sh
##usage
# $ cd html5-boilerplate/build
# $ ./createproject.sh
# find project root (also ensure script is ran from within repo)
src=$(git rev-parse --show-toplevel) || {
echo "try running the script from within html5-boilerplate directories." >&2
exit 1
}
[[ -d $src ]] || {
echo "fatal: could not determine html5-boilerplate's root directory." >&2
echo "try updating git." >&2
exit 1
}
# get a name for new project
while [[ -z $name ]]
do
echo "To create a new html5-boilerplate project, enter a new directory name:"
read name || exit
done
dst=$src/../$name
if [[ -d $dst ]]
then
echo "$dst exists"
else
#create new project
mkdir -- "$dst" || exit 1
#sucess message
echo "Created Directory: $dst"
cd -- "$src"
cp -vr -- css js img build test *.html *.xml *.txt *.png *.ico .htaccess "$dst"
#sucess message
echo "Created Project: $dst"
fi

View File

@@ -1,5 +0,0 @@
# This is for windows users only.
# If you're on a mac or linux, just run `ant build` from this folder in Terminal
set MYDIR=%~dp0
ant build

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

View File

@@ -1,21 +0,0 @@
Copyright (C) 2001-2010 Cosmin Truta.
This software is provided 'as-is', without any express or implied
warranty. In no event will the author(s) be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not
be misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.

Binary file not shown.

Binary file not shown.

View File

@@ -1,25 +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 -->
<!-- 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"/>
-->
<!--
If you host a crossdomain.xml file with allow-access-from domain="*"
and dont understand all of the points described here, you probably
have a nasty security vulnerability. ~ simon willison
-->
<!-- 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>

300
css/main.css Normal file
View File

@@ -0,0 +1,300 @@
/*
* HTML5 Boilerplate
*
* 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;
}
body {
font-size: 1em;
line-height: 1.4;
}
/*
* Remove text-shadow in selection highlight: h5bp.com/i
* These selection declarations 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 and the bottom of their containers: h5bp.com/i/440
*/
img {
vertical-align: middle;
}
/*
* Remove default fieldset styles.
*/
fieldset {
border: 0;
margin: 0;
padding: 0;
}
/*
* Allow only vertical resizing of textareas.
*/
textarea {
resize: vertical;
}
/* ==========================================================================
Chrome Frame prompt
========================================================================== */
.chromeframe {
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.
Theses 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;
}
}

504
css/normalize.css vendored Normal file
View File

@@ -0,0 +1,504 @@
/*! normalize.css v1.0.2 | MIT License | git.io/normalize */
/* ==========================================================================
HTML5 display definitions
========================================================================== */
/*
* Corrects `block` display not defined in IE 6/7/8/9 and Firefox 3.
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
summary {
display: block;
}
/*
* Corrects `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
*/
audio,
canvas,
video {
display: inline-block;
*display: inline;
*zoom: 1;
}
/*
* Prevents modern browsers from displaying `audio` without controls.
* Remove excess height in iOS 5 devices.
*/
audio:not([controls]) {
display: none;
height: 0;
}
/*
* Addresses styling for `hidden` attribute not present in IE 7/8/9, Firefox 3,
* and Safari 4.
* Known issue: no IE 6 support.
*/
[hidden] {
display: none;
}
/* ==========================================================================
Base
========================================================================== */
/*
* 1. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using
* `em` units.
* 2. Prevents iOS text size adjust after orientation change, without disabling
* user zoom.
*/
html {
font-size: 100%; /* 1 */
-webkit-text-size-adjust: 100%; /* 2 */
-ms-text-size-adjust: 100%; /* 2 */
}
/*
* Addresses `font-family` inconsistency between `textarea` and other form
* elements.
*/
html,
button,
input,
select,
textarea {
font-family: sans-serif;
}
/*
* Addresses margins handled incorrectly in IE 6/7.
*/
body {
margin: 0;
}
/* ==========================================================================
Links
========================================================================== */
/*
* Addresses `outline` inconsistency between Chrome and other browsers.
*/
a:focus {
outline: thin dotted;
}
/*
* Improves readability when focused and also mouse hovered in all browsers.
*/
a:active,
a:hover {
outline: 0;
}
/* ==========================================================================
Typography
========================================================================== */
/*
* Addresses font sizes and margins set differently in IE 6/7.
* Addresses 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;
}
/*
* Addresses styling not present in IE 7/8/9, Safari 5, and Chrome.
*/
abbr[title] {
border-bottom: 1px dotted;
}
/*
* Addresses style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome.
*/
b,
strong {
font-weight: bold;
}
blockquote {
margin: 1em 40px;
}
/*
* Addresses styling not present in Safari 5 and Chrome.
*/
dfn {
font-style: italic;
}
/*
* Addresses styling not present in IE 6/7/8/9.
*/
mark {
background: #ff0;
color: #000;
}
/*
* Addresses margins set differently in IE 6/7.
*/
p,
pre {
margin: 1em 0;
}
/*
* Corrects 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;
}
/*
* Improves readability of pre-formatted text in all browsers.
*/
pre {
white-space: pre;
white-space: pre-wrap;
word-wrap: break-word;
}
/*
* Addresses CSS quotes not supported in IE 6/7.
*/
q {
quotes: none;
}
/*
* Addresses `quotes` property not supported in Safari 4.
*/
q:before,
q:after {
content: '';
content: none;
}
/*
* Addresses inconsistent and variable font size in all browsers.
*/
small {
font-size: 80%;
}
/*
* Prevents `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
========================================================================== */
/*
* Addresses margins set differently in IE 6/7.
*/
dl,
menu,
ol,
ul {
margin: 1em 0;
}
dd {
margin: 0 0 0 40px;
}
/*
* Addresses paddings set differently in IE 6/7.
*/
menu,
ol,
ul {
padding: 0 0 0 40px;
}
/*
* Corrects list images handled incorrectly in IE 7.
*/
nav ul,
nav ol {
list-style: none;
list-style-image: none;
}
/* ==========================================================================
Embedded content
========================================================================== */
/*
* 1. Removes border when inside `a` element in IE 6/7/8/9 and Firefox 3.
* 2. Improves image quality when scaled in IE 7.
*/
img {
border: 0; /* 1 */
-ms-interpolation-mode: bicubic; /* 2 */
}
/*
* Corrects overflow displayed oddly in IE 9.
*/
svg:not(:root) {
overflow: hidden;
}
/* ==========================================================================
Figures
========================================================================== */
/*
* Addresses margin not present in IE 6/7/8/9, Safari 5, and Opera 11.
*/
figure {
margin: 0;
}
/* ==========================================================================
Forms
========================================================================== */
/*
* Corrects 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. Corrects color not being inherited in IE 6/7/8/9.
* 2. Corrects text not wrapping in Firefox 3.
* 3. Corrects alignment displayed oddly in IE 6/7.
*/
legend {
border: 0; /* 1 */
padding: 0;
white-space: normal; /* 2 */
*margin-left: -7px; /* 3 */
}
/*
* 1. Corrects font size not being inherited in all browsers.
* 2. Addresses margins set differently in IE 6/7, Firefox 3+, Safari 5,
* and Chrome.
* 3. Improves 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 */
}
/*
* Addresses Firefox 3+ setting `line-height` on `input` using `!important` in
* the UA stylesheet.
*/
button,
input {
line-height: normal;
}
/*
* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
* and `video` controls.
* 2. Corrects inability to style clickable `input` types in iOS.
* 3. Improves usability and consistency of cursor style between image-type
* `input` and others.
* 4. Removes 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],
input[disabled] {
cursor: default;
}
/*
* 1. Addresses box sizing set to content-box in IE 8/9.
* 2. Removes excess padding in IE 8/9.
* 3. Removes 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. Addresses `appearance` set to `searchfield` in Safari 5 and Chrome.
* 2. Addresses `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;
}
/*
* Removes 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;
}
/*
* Removes inner padding and border in Firefox 3+.
*/
button::-moz-focus-inner,
input::-moz-focus-inner {
border: 0;
padding: 0;
}
/*
* 1. Removes default vertical scrollbar in IE 6/7/8/9.
* 2. Improves 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 File

@@ -1,292 +0,0 @@
/*
* HTML5 ✰ Boilerplate
*
* 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.
*
* Detailed information about this CSS: h5bp.com/css
*
* ==|== normalize ==========================================================
*/
/* =============================================================================
HTML5 display definitions
========================================================================== */
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
audio:not([controls]) { display: none; }
[hidden] { display: none; }
/* =============================================================================
Base
========================================================================== */
/*
* 1. Correct text resizing oddly in IE6/7 when body font-size is set using em units
* 2. Force vertical scrollbar in non-IE
* 3. Prevent iOS text size adjust on device orientation change, without disabling user zoom: h5bp.com/g
*/
html { font-size: 100%; overflow-y: scroll; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
body { margin: 0; font-size: 13px; line-height: 1.231; }
body, button, input, select, textarea { font-family: sans-serif; color: #222; }
/*
* Remove text-shadow in selection highlight: h5bp.com/i
* These selection declarations have to be separate
* Also: hot pink! (or customize the background color to match your design)
*/
::-moz-selection { background: #fe57a1; color: #fff; text-shadow: none; }
::selection { background: #fe57a1; color: #fff; text-shadow: none; }
/* =============================================================================
Links
========================================================================== */
a { color: #00e; }
a:visited { color: #551a8b; }
a:hover { color: #06e; }
a:focus { outline: thin dotted; }
/* Improve readability when focused and hovered in all browsers: h5bp.com/h */
a:hover, a:active { outline: 0; }
/* =============================================================================
Typography
========================================================================== */
abbr[title] { border-bottom: 1px dotted; }
b, strong { font-weight: bold; }
blockquote { margin: 1em 40px; }
dfn { font-style: italic; }
hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
ins { background: #ff9; color: #000; text-decoration: none; }
mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }
/* Redeclare monospace font family: h5bp.com/j */
pre, code, kbd, samp { font-family: monospace, monospace; _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; }
q { quotes: none; }
q:before, q:after { content: ""; content: none; }
small { font-size: 85%; }
/* Position subscript and superscript content without affecting line-height: h5bp.com/k */
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }
/* =============================================================================
Lists
========================================================================== */
ul, ol { margin: 1em 0; padding: 0 0 0 40px; }
dd { margin: 0 0 0 40px; }
nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; }
/* =============================================================================
Embedded content
========================================================================== */
/*
* 1. Improve image quality when scaled in IE7: h5bp.com/d
* 2. Remove the gap between images and borders on image containers: h5bp.com/e
*/
img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }
/*
* Correct overflow not hidden in IE9
*/
svg:not(:root) { overflow: hidden; }
/* =============================================================================
Figures
========================================================================== */
figure { margin: 0; }
/* =============================================================================
Forms
========================================================================== */
form { margin: 0; }
fieldset { border: 0; margin: 0; padding: 0; }
/* Indicate that 'label' will shift focus to the associated form element */
label { cursor: pointer; }
/*
* 1. Correct color not inheriting in IE6/7/8/9
* 2. Correct alignment displayed oddly in IE6/7
*/
legend { border: 0; *margin-left: -7px; padding: 0; }
/*
* 1. Correct font-size not inheriting in all browsers
* 2. Remove margins in FF3/4 S5 Chrome
* 3. Define consistent vertical alignment display in all browsers
*/
button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; }
/*
* 1. Define line-height as normal to match FF3/4 (set using !important in the UA stylesheet)
* 2. Correct inner spacing displayed oddly in IE6/7
*/
button, input { line-height: normal; *overflow: visible; }
/*
* Reintroduce inner spacing in 'table' to avoid overlap and whitespace issues in IE6/7
*/
table button, table input { *overflow: auto; }
/*
* 1. Display hand cursor for clickable form elements
* 2. Allow styling of clickable form elements in iOS
*/
button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; }
/*
* Consistent box sizing and appearance
*/
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; }
input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
/*
* Remove inner padding and border in FF3/4: h5bp.com/l
*/
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
/*
* 1. Remove default vertical scrollbar in IE6/7/8/9
* 2. Allow only vertical resizing
*/
textarea { overflow: auto; vertical-align: top; resize: vertical; }
/* Colors for form validity */
input:valid, textarea:valid { }
input:invalid, textarea:invalid { background-color: #f0dddd; }
/* =============================================================================
Tables
========================================================================== */
table { border-collapse: collapse; border-spacing: 0; }
td { vertical-align: top; }
/* ==|== primary styles =====================================================
Author:
========================================================================== */
/* ==|== non-semantic helper classes ========================================
Please define your styles before this section.
========================================================================== */
/* For image replacement */
.ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; }
.ir br { display: none; }
/* 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; }
/* Contain floats: h5bp.com/q */
.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { zoom: 1; }
/* ==|== media queries ======================================================
PLACEHOLDER Media Queries for Responsive Design.
These override the primary ('mobile first') styles
Modify as content requires.
========================================================================== */
@media only screen and (min-width: 480px) {
/* Style adjustments for viewports 480px and over go here */
}
@media only screen and (min-width: 768px) {
/* Style adjustments for viewports 768px and over go here */
}
/* ==|== print styles =======================================================
Print styles.
Inlined to avoid required HTTP connection: h5bp.com/r
========================================================================== */
@media print {
* { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } /* Black prints faster: h5bp.com/s */
a, a:visited { text-decoration: underline; }
a[href]:after { content: " (" attr(href) ")"; }
abbr[title]:after { content: " (" attr(title) ")"; }
.ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; } /* Don't show links for images, or javascript/internal links */
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; }
}

36
doc/TOC.md Normal file
View File

@@ -0,0 +1,36 @@
[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](htaccess.md) — All about the Apache web server config (also see
our [alternative server configs](https://github.com/h5bp/server-configs)).
* [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
non-Apache servers.
* [Node build script](https://github.com/h5bp/node-build-script) — A
feature-rich [grunt](https://github.com/cowboy/grunt) plugin.
* [Ant build script](https://github.com/h5bp/ant-build-script) — The original
HTML5 Boilerplate build script.

17
doc/crossdomain.md Normal file
View File

@@ -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).

135
doc/css.md Normal file
View File

@@ -0,0 +1,135 @@
[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 and change the font color to dark gray and
remove text-shadow. This is meant to help save printer ink.
* 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.

507
doc/extend.md Normal file
View File

@@ -0,0 +1,507 @@
[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">
```
### 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, row) {
var host = link(file).hostname;
_gaq.push([
'_trackEvent',
(host == window.location.hostname || host == undefined || host == '' ? '' : 'external ') + 'error',
message, file + ' LINE: ' + row, 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
]);
}
});
});
```
## 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.*

77
doc/faq.md Normal file
View File

@@ -0,0 +1,77 @@
[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 by running `python -m SimpleHTTPServer` 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).

333
doc/htaccess.md Normal file
View File

@@ -0,0 +1,333 @@
[HTML5 Boilerplate homepage](http://html5boilerplate.com) | [Documentation
table of contents](TOC.md)
# .htaccess
In Apache HTTP server, `.htaccess` (hypertext access) is the configuration file
that allows for web server configuration. HTML5 Boilerplate includes a number
of best practice server rules for making web pages fast and secure, these rules
can be applied in the `.htaccess` file.
**First, you'll want to have these modules enabled for optimum performance:**
* `mod_setenvif.c` (setenvif_module)
* `mod_headers.c` (headers_module)
* `mod_deflate.c` (deflate_module)
* `mod_filter.c` (filter_module)
* `mod_expires.c` (expires_module)
* `mod_rewrite.c` (rewrite_module)
## On Windows
You've got a couple of options that depend on how you installed Apache.
1. **WampServer**. This is by far the simplest option. If you have installed
WampServer just click on the icon in the task bar, hover over the Apache
section in the menu that comes up and then hover over the modules section.
You will be presented with a list of modules. Simply click on a module name
to enable it (or disable it if it is already enabled). A check mark next to
a module indicates that it is enabled. WampServer will automatically restart
the Apache service after you enable a module.
2. **Manually editing `httpd.conf`**. This assumes that you have manually
installed Apache. You will need to locate the `httpd.conf` file which is
normally in the `conf` folder in the folder where you installed Apache (for
example `C:\apache\conf\httpd.conf`). Open up this file in a text editor. Near
the top (after a bunch of comments) you will see a long list of modules. Check
to make sure that the modules listed above are not commented out. If they
are, go ahead and uncomment them and restart Apache.
That's it, you're done!
## On Linux
These instructions should work on any distribution where `apt-get` has been
used to install Apache.
1. Open up a terminal and type the following command. Enter your password when
prompted.
`sudo a2enmod setenvif headers deflate filter expires rewrite include`
1. Restart apache by using the following command so the new configuration takes
effect.
`sudo /etc/init.d/apache2 restart`
That's it, you're done!
## On Mac
1. **MAMP PRO**. On the main screen, click the `Apache` tab and ensure that all
the required modules listed above are 'checked', indicating they are
enabled.
2. **MAMP**. Locate the `httpd.conf` file, which is typically found in
`/Applications/MAMP/conf/apache/httpd.conf`. Open the file in a text editor
and uncomment all of the required modules listed above. Once you have done so,
reset MAMP.
3. **XAMPP**. Follow the same steps as for MAMP, but look for `httpd.conf` in
`/Applications/XAMPP/etc/httpd.conf`.
## Security
Do not turn off your ServerSignature (i.e., the `Server:` HTTP header). Serious
attackers can use other kinds of fingerprinting methods to figure out the
actual server and components running behind a port. Instead, as a site owner,
you should keep track of what's listening on ports on hosts that you control.
Run a periodic scanner to make sure nothing suspicious is running on a host you
control, and use the ServerSignature to determine if this is the web server and
version that you expect.
## Performance
### Configure ETags
```apache
FileETag None
```
Entity tags (ETags) is a mechanism that web servers and browsers use to
determine whether the component in the browser's cache matches the one on the
origin server. (An "entity" is another word for "component": images, scripts,
stylesheets, etc.) ETags were added to provide a mechanism for validating
entities that is more flexible than the last-modified date. An `ETag` is a
string that uniquely identifies a specific version of a component. The only
format constraints are that the string be quoted. The origin server specifies
the component's `ETag` using the `ETag` response header.
```http
HTTP/1.1 200 OK
Last-Modified: Tue, 12 Dec 2006 03:03:59 GMT
ETag: "10c24bc-4ab-457e1c1f"
Content-Length: 12195
```
Later, if the browser has to validate a component, it uses the `If-None-Match`
header to pass the `ETag` back to the origin server. If the ETags match, a 304
status code is returned reducing the response by 12195 bytes for this
example.
```http
GET /i/yahoo.gif HTTP/1.1
Host: us.yimg.com
If-Modified-Since: Tue, 12 Dec 2006 03:03:59 GMT
If-None-Match: "10c24bc-4ab-457e1c1f"
HTTP/1.1 304 Not Modified
```
The problem with ETags is that they typically are constructed using attributes
that make them unique to a specific server hosting a site. ETags won't match
when a browser gets the original component from one server and later tries to
validate that component on a different server, a situation that is all too
common on web sites that use a cluster of servers to handle requests. By
default, both Apache and IIS embed data in the ETag that dramatically reduces
the odds of the validity test succeeding on web sites with multiple servers.
The ETag format for Apache 1.3 and 2.x is inode-size-timestamp. Although a
given file may reside in the same directory across multiple servers, and have
the same file size, permissions, timestamp, etc., its inode is different from
one server to the next.
IIS 5.0 and 6.0 have a similar issue with ETags. The format for ETags on IIS is
Filetimestamp:ChangeNumber. A ChangeNumber is a counter used to track
configuration changes to IIS. It's unlikely that the ChangeNumber is the same
across all IIS servers behind a web site.
The end result is ETags generated by Apache and IIS for the exact same
component won't match from one server to another. If the ETags don't match, the
user doesn't receive the small, fast 304 response that ETags were designed for;
instead, they'll get a normal 200 response along with all the data for the
component. If you host your web site on just one server, this isn't a problem.
But if you have multiple servers hosting your web site, and you're using Apache
or IIS with the default ETag configuration, your users are getting slower
pages, your servers have a higher load, you're consuming greater bandwidth, and
proxies aren't caching your content efficiently. Even if your components have a
far future Expires header, a conditional GET request is still made whenever the
user hits Reload or Refresh.
If you're not taking advantage of the flexible validation model that ETags
provide, it's better to just remove the ETag altogether. The Last-Modified
header validates based on the component's timestamp. And removing the ETag
reduces the size of the HTTP headers in both the response and subsequent
requests. This Microsoft Support article describes how to remove ETags. In
Apache, this is done by simply adding the above line to your Apache
configuration file.
### Gzip Components
Compression reduces response times by reducing the size of the HTTP response.
Starting with HTTP/1.1, web clients indicate support for compression with the
Accept-Encoding header in the HTTP request.
```
Accept-Encoding: gzip, deflate
```
If the web server sees this header in the request, it may compress the response
using one of the methods listed by the client. The web server notifies the web
client of this via the Content-Encoding header in the response.
```
Content-Encoding: gzip
```
Gzip is the most popular and effective compression method at this time. It was
developed by the GNU project and standardized by RFC 1952. The only other
compression format you're likely to see is deflate, but it's less effective and
less popular.
Gzipping generally reduces the response size by about 70%. Approximately 90% of
today's Internet traffic travels through browsers that claim to support gzip.
If you use Apache, the module configuring gzip depends on your version: Apache
1.3 uses `mod_gzip` while Apache 2.x uses `mod_deflate`.
There are known issues with browsers and proxies that may cause a mismatch in
what the browser expects and what it receives with regard to compressed
content. Fortunately, these edge cases are dwindling as the use of older
browsers drops off. The Apache modules help out by adding appropriate Vary
response headers automatically.
Servers choose what to gzip based on file type, but are typically too limited
in what they decide to compress. Most web sites gzip their HTML documents. It's
also worthwhile to gzip your scripts and stylesheets, but many web sites miss
this opportunity. In fact, it's worthwhile to compress any text response
including XML and JSON. Image and PDF files should not be gzipped because they
are already compressed. Trying to gzip them not only wastes CPU but can
potentially increase file sizes.
Gzipping as many appropriate file types as possible is an easy way to reduce
page weight and accelerate the user experience.
### Cache busting
A first-time visitor to your page may have to make several HTTP requests, but
by using the Expires header you make those components cacheable. This avoids
unnecessary HTTP requests on subsequent page views. Expires headers are most
often used with images, but they should be used on all components including
scripts, stylesheets, etc.
Traditionally, if you use a far future Expires header you have to change the
component's filename whenever the component changes.
The H5BP `.htaccess` has built-in filename cache busting. To use it, uncomment
the relevant lines in the `.htaccess` file.
Doing so will route all requests for `/path/filename.20120101.ext` to
`/path/filename.ext`. To use this, just add a time-stamp number (or your own
numbered versioning system) into your resource filenames in your HTML source
whenever you update those resources.
#### Example:
```html
<script src="/js/myscript.20120305.js"></script>
<script src="/js/jqueryplugin.45.js"></script>
<link rel="stylesheet" href="css/somestyle.49559939932.css">
<link rel="stylesheet" href="css/anotherstyle.2.css">
```
**N.B. You do not have to rename the resource on the filesystem.** All you have
to do is add the timestamp number to the filename in your HTML source. The
`.htaccess` directive will serve up the proper file.
Traditional cache busting involved adding a query string to the end of your
JavaScript or CSS filename whenever you updated it.
```html
<script src="/js/all.js?v=12"></script>
```
However, as [Steve Souders](http://stevesouders.com/) explains in [*Revving
Filenames: dont use
querystring*](http://www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/),
the query string approach is not always reliable for clients behind a Squid
Proxy Server.
## Trailing slash redirects
Trailing slash redirects can be done by adding one of the options below in `.htaccess`.
### Option 1
Rewrite `domain.com/foo` -> `domain.com/foo/`.
```apache
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/|#(.*))$
RewriteRule ^(.*)$ $1/ [R=301,L]
```
### Option 2
Rewrite `domain.com/foo/` -> `domain.com/foo`
```apache
RewriteRule ^(.*)/$ $1 [R=301,L]
```
Here are some tips to show you how to integrate the rewrite rules with
different CMS tools. There are four areas you need to look out for:
### 1. Keep a backup
If you use trailing slash redirects on an existing site, always keep a backup
of your `.htaccess` and test thoroughly on your staging server before using it on
a production server.
### 2. Don't replace existing rules, merge
For example, if you use CodeIgniter you may have existing URL rewrite rules like:
```apache
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1
```
Merge the above with H5BP rules below:
```apache
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/|#(.*))$
RewriteRule ^(.*)$ $1/ [R=301,L]
```
### 3. Be careful of the order
Make sure you test thoroughly in your staging environment. For the above
example, the order is add trailing slash first, and add your existing rule
after:
```apache
# this adds trailing slash
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/|#(.*))$
RewriteRule ^(.*)$ $1/ [R=301,L]
# this gets rid of index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1
```
### 4. Double-check `RewriteBase` path is correct
Make sure your `RewriteBase` path points to the correct location and sits above
any rewrite rules. This usually happens to those have WordPress and ran the
auto install. For instance, if you have a site at `example.com/blog`, your
RewriteBase may look like:
```apache
RewriteBase /blog/
```
If you already have a working RewriteBase, keep that and don't remove it.

170
doc/html.md Normal file
View File

@@ -0,0 +1,170 @@
[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/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,chrome=1">
```
The `meta` tag tells the IE rendering engine two things:
1. It should use the latest, or edge, version of the IE rendering environment
2. If already installed, it should use the Google Chrome Frame rendering
engine.
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, and the Google Chrome Frame part won't work inside
a conditional comment. To avoid these edge case issues 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">
```
## Favicons and Touch Icons
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 Apple Touch
Icons) that you can use as a baseline to create your own.
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.
For a comprehensive overview, please read [Everything you always wanted to know
about touch icons](http://mathiasbynens.be/notes/touch-icons) by Mathias
Bynens.
## 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, youll be
able to count users who dont fully load the page, and youll 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).

31
doc/js.md Normal file
View File

@@ -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/).

26
doc/misc.md Normal file
View File

@@ -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
primarily be used to avoid certain project-level files and directories from
being kept under source control. Different development-environments will
benefit from different collections of ignores.
OS-specific and editor-specific files should be ignored using a "global
ignore" that applies to all repositories on your system.
For example, add the following to your `~/.gitconfig`, where the `.gitignore`
in your HOME directory contains the files and directories you'd like to
globally ignore:
```gitignore
[core]
excludesfile = ~/.gitignore
```
* More on global ignores: http://help.github.com/ignore-files/
* Comprehensive set of ignores on GitHub: https://github.com/github/gitignore

109
doc/usage.md Normal file
View File

@@ -0,0 +1,109 @@
[HTML5 Boilerplate homepage](http://html5boilerplate.com) | [Documentation
table of contents](TOC.md)
# Usage
Once you have cloned or downloaded HTML5 Boilerplate, creating a site or app
usually involves the following:
1. Set up the basic structure of the site.
2. Add some content, style, and functionality.
3. Run your site locally to see how it looks.
4. (Optionally run a build script to automate the optimization of your site -
e.g. [ant build script](https://github.com/h5bp/ant-build-script) or [node
build script](https://github.com/h5bp/node-build-script)).
5. Deploy your site.
## Basic structure
A basic HTML5 Boilerplate site initially looks something like this:
```
.
├── css
│ ├── main.css
│ └── normalize.css
├── doc
├── img
├── js
│ ├── main.js
│ ├── plugins.js
│ └── vendor
│ ├── jquery.min.js
│ └── modernizr.min.js
├── .htaccess
├── 404.html
├── index.html
├── humans.txt
├── robots.txt
├── crossdomain.xml
├── favicon.ico
└── [apple-touch-icons]
```
What follows is a general overview of each major part and how to use them.
### css
This directory should contain all your project's CSS files. It includes some
initial CSS to help get you started from a solid foundation. [About the
CSS](css.md).
### doc
This directory contains all the HTML5 Boilerplate documentation. You can use it
as the location and basis for your own project's documentation.
### js
This directory should contain all your project's JS files. Libraries, plugins,
and custom code can all be included here. It includes some initial JS to help
get you started. [About the JavaScript](js.md).
### .htaccess
The default web server config is for Apache. [About the .htaccess](htaccess.md).
Host your site on a server other than Apache? You're likely to find the
corresponding configuration file in our [server configs
repo](https://github.com/h5bp/server-configs). If you cannot find a
configuration file for your setup, please consider contributing one so that
others can benefit too.
### 404.html
A helpful custom 404 to get you started.
### index.html
This is the default HTML skeleton that should form the basis of all pages on
your site. If you are using a server-side templating framework, then you will
need to integrate this starting HTML with your setup.
Make sure that you update the URLs for the referenced CSS and JavaScript if you
modify the directory structure at all.
If you are using Google Analytics, make sure that you edit the corresponding
snippet at the bottom to include your analytics ID.
### humans.txt
Edit this file to include the team that worked on your site/app, and the
technology powering it.
### robots.txt
Edit this file to include any pages you need hidden from search engines.
### crossdomain.xml
A template for working with cross-domain requests. [About
crossdomain.xml](crossdomain.md).
### icons
Replace the default `favicon.ico` and apple touch icons with your own. You
might want to check out Hans Christian's handy [HTML5 Boilerplate Favicon and
Apple Touch Icon
PSD-Template](http://drublic.de/blog/html5-boilerplate-favicons-psd-template/).

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 766 B

View File

@@ -1,43 +1,15 @@
/* the humans responsible & colophon */
/* humanstxt.org */
# humanstxt.org/
# The humans responsible & technology colophon
# TEAM
/* TEAM */
<your title>: <your name>
Site:
Twitter:
Location:
<name> -- <role> -- <twitter>
/* THANKS */
Names (& URL):
# THANKS
/* SITE */
Standards: HTML5, CSS3
Components: Modernizr, jQuery
Software:
<name>
-o/-
+oo//-
:ooo+//:
-ooooo///-
/oooooo//:
:ooooooo+//-
-+oooooooo///-
-://////////////+oooooooooo++////////////::
:+ooooooooooooooooooooooooooooooooooooo+:::-
-/+ooooooooooooooooooooooooooooooo+/::////:-
-:+oooooooooooooooooooooooooooo/::///////:-
--/+ooooooooooooooooooooo+::://////:-
-:+ooooooooooooooooo+:://////:--
/ooooooooooooooooo+//////:-
-ooooooooooooooooooo////-
/ooooooooo+oooooooooo//:
:ooooooo+/::/+oooooooo+//-
-oooooo/::///////+oooooo///-
/ooo+::://////:---:/+oooo//:
-o+/::///////:- -:/+o+//-
:-:///////:- -:/://
-////:- --//:
-- -:
# TECHNOLOGY COLOPHON
HTML5, CSS3
jQuery, Modernizr

2
img/.gitignore vendored
View File

@@ -1,2 +0,0 @@
!.gitignore

View File

@@ -1,82 +1,40 @@
<!doctype html>
<!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ -->
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!-- Consider adding an manifest.appcache: h5bp.com/d/Offline -->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
<meta charset="utf-8">
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title></title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width">
<!-- Use the .htaccess and remove these lines to avoid edge case issues.
More info: h5bp.com/b/378 -->
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
<title></title>
<meta name="description" content="">
<meta name="author" content="">
<link rel="stylesheet" href="css/normalize.css">
<link rel="stylesheet" href="css/main.css">
<script src="js/vendor/modernizr-2.6.2.min.js"></script>
</head>
<body>
<!--[if lt IE 7]>
<p class="chromeframe">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">activate Google Chrome Frame</a> to improve your experience.</p>
<![endif]-->
<!-- Mobile viewport optimized: j.mp/bplateviewport -->
<meta name="viewport" content="width=device-width,initial-scale=1">
<!-- Add your site or application content here -->
<p>Hello world! This is HTML5 Boilerplate.</p>
<!-- Place favicon.ico and apple-touch-icon.png in the root directory: mathiasbynens.be/notes/touch-icons -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="js/vendor/jquery-1.8.3.min.js"><\/script>')</script>
<script src="js/plugins.js"></script>
<script src="js/main.js"></script>
<!-- CSS: implied media=all -->
<!-- CSS concatenated and minified via ant build script-->
<link rel="stylesheet" href="css/style.css">
<!-- end CSS-->
<!-- More ideas for your <head> here: h5bp.com/d/head-Tips -->
<!-- All JavaScript at the bottom, except for Modernizr / Respond.
Modernizr enables HTML5 elements & feature detects; Respond is a polyfill for min/max-width CSS3 Media Queries
For optimal performance, use a custom Modernizr build: www.modernizr.com/download/ -->
<script src="js/libs/modernizr-2.0.6.min.js"></script>
</head>
<body>
<div id="container">
<header>
</header>
<div id="main" role="main">
</div>
<footer>
</footer>
</div> <!--! end of #container -->
<!-- JavaScript at the bottom for fast page loading -->
<!-- Grab Google CDN's jQuery, with a protocol relative URL; fall back to local if offline -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="js/libs/jquery-1.6.2.min.js"><\/script>')</script>
<!-- scripts concatenated and minified via ant build script-->
<script defer src="js/plugins.js"></script>
<script defer src="js/script.js"></script>
<!-- end scripts-->
<!-- Change UA-XXXXX-X to be your site's ID -->
<script>
window._gaq = [['_setAccount','UAXXXXXXXX1'],['_trackPageview'],['_trackPageLoadTime']];
Modernizr.load({
load: ('https:' == location.protocol ? '//ssl' : '//www') + '.google-analytics.com/ga.js'
});
</script>
<!-- Prompt IE 6 users to install Chrome Frame. Remove this if you want to support IE 6.
chromium.org/developers/how-tos/chrome-frame-getting-started -->
<!--[if lt IE 7 ]>
<script src="//ajax.googleapis.com/ajax/libs/chrome-frame/1.0.3/CFInstall.min.js"></script>
<script>window.attachEvent('onload',function(){CFInstall.check({mode:'overlay'})})</script>
<![endif]-->
</body>
<!-- Google Analytics: change UA-XXXXX-X to be your site's ID. -->
<script>
var _gaq=[['_setAccount','UA-XXXXX-X'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
g.src=('https:'==location.protocol?'//ssl':'//www')+'.google-analytics.com/ga.js';
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>

8981
js/libs/jquery-1.6.2.js vendored

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
js/main.js Normal file
View File

@@ -0,0 +1 @@

View File

@@ -1,2 +0,0 @@
!.gitignore

View File

@@ -1,20 +1,24 @@
// Avoid `console` errors in browsers that lack a console.
(function() {
var method;
var noop = function () {};
var methods = [
'assert', 'clear', 'count', 'debug', 'dir', 'dirxml', 'error',
'exception', 'group', 'groupCollapsed', 'groupEnd', 'info', 'log',
'markTimeline', 'profile', 'profileEnd', 'table', 'time', 'timeEnd',
'timeStamp', 'trace', 'warn'
];
var length = methods.length;
var console = (window.console = window.console || {});
// usage: log('inside coolFunc', this, arguments);
// paulirish.com/2009/log-a-lightweight-wrapper-for-consolelog/
window.log = function(){
log.history = log.history || []; // store logs to an array for reference
log.history.push(arguments);
if(this.console) {
arguments.callee = arguments.callee.caller;
var newarr = [].slice.call(arguments);
(typeof console.log === 'object' ? log.apply.call(console.log, console, newarr) : console.log.apply(console, newarr));
}
};
while (length--) {
method = methods[length];
// make it safe to use console.log always
(function(b){function c(){}for(var d="assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,timeStamp,profile,profileEnd,time,timeEnd,trace,warn".split(","),a;a=d.pop();){b[a]=b[a]||c}})((function(){try
{console.log();return window.console;}catch(err){return window.console={};}})());
// place any jQuery/helper plugins in here, instead of separate, slower script files.
// Only stub undefined methods.
if (!console[method]) {
console[method] = noop;
}
}
}());
// Place any jQuery/helper plugins in here.

View File

@@ -1,26 +0,0 @@
/* Author:
*/

2
js/vendor/jquery-1.8.3.min.js vendored Normal file

File diff suppressed because one or more lines are too long

4
js/vendor/modernizr-2.6.2.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -1,5 +1,3 @@
# www.robotstxt.org/
# www.google.com/support/webmasters/bin/answer.py?hl=en&answer=156449
# robotstxt.org/
User-agent: *

View File

@@ -1,31 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>QUnit Tests</title>
<link rel="stylesheet" href="qunit/qunit.css" media="screen">
<!-- reference your own javascript files here -->
<script src="../js/libs/modernizr-2.0.6.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script src="../js/plugins.js"></script>
<script src="../js/script.js"></script>
<!-- test runner files -->
<script src="qunit/qunit.js"></script>
<script src="tests.js"></script>
</head>
<body class="flora">
<h1 id="qunit-header">QUnit Test Suite</h1>
<h2 id="qunit-banner"></h2>
<div id="qunit-testrunner-toolbar"></div>
<h2 id="qunit-userAgent"></h2>
<ol id="qunit-tests"></ol>
<div id="qunit-fixture">test markup</div>
</body>
</html>

View File

@@ -1,148 +0,0 @@
/** Font Family and Sizes */
#qunit-tests, #qunit-header, #qunit-banner, #qunit-testrunner-toolbar, #qunit-userAgent, #qunit-testresult {
font-family: "Helvetica Neue Light", "HelveticaNeue-Light", "Helvetica Neue", Calibri, Helvetica, Arial;
}
#qunit-testrunner-toolbar, #qunit-userAgent, #qunit-testresult, #qunit-tests li { font-size: small; }
#qunit-tests { font-size: smaller; }
/** Resets */
#qunit-tests, #qunit-tests li ol, #qunit-header, #qunit-banner, #qunit-userAgent, #qunit-testresult {
margin: 0;
padding: 0;
}
/** Header */
#qunit-header {
padding: 0.5em 0 0.5em 1em;
color: #fff;
text-shadow: rgba(0, 0, 0, 0.5) 4px 4px 1px;
background-color: #0d3349;
border-radius: 15px 15px 0 0;
-moz-border-radius: 15px 15px 0 0;
-webkit-border-top-right-radius: 15px;
-webkit-border-top-left-radius: 15px;
}
#qunit-banner {
height: 5px;
}
#qunit-testrunner-toolbar {
padding: 0em 0 0.5em 2em;
}
#qunit-userAgent {
padding: 0.5em 0 0.5em 2.5em;
background-color: #2b81af;
color: #fff;
text-shadow: rgba(0, 0, 0, 0.5) 2px 2px 1px;
}
/** Tests: Pass/Fail */
#qunit-tests {
list-style-position: inside;
}
#qunit-tests li {
padding: 0.4em 0.5em 0.4em 2.5em;
border-bottom: 1px solid #fff;
list-style-position: inside;
}
#qunit-tests li strong {
cursor: pointer;
}
#qunit-tests li ol {
margin-top: 0.5em;
padding: 0.5em;
background-color: #fff;
border-radius: 15px;
-moz-border-radius: 15px;
-webkit-border-radius: 15px;
box-shadow: inset 0px 2px 13px #999;
-moz-box-shadow: inset 0px 2px 13px #999;
-webkit-box-shadow: inset 0px 2px 13px #999;
}
#qunit-tests li li {
margin: 0.5em;
padding: 0.4em 0.5em 0.4em 0.5em;
background-color: #fff;
border-bottom: none;
list-style-position: inside;
}
/*** Passing Styles */
#qunit-tests li li.pass {
color: #5E740B;
background-color: #fff;
border-left: 26px solid #C6E746;
}
#qunit-tests li.pass { color: #528CE0; background-color: #D2E0E6; }
#qunit-tests li.pass span.test-name { color: #366097; }
#qunit-tests li li.pass span.test-actual,
#qunit-tests li li.pass span.test-expected { color: #999999; }
strong b.pass { color: #5E740B; }
#qunit-banner.qunit-pass { background-color: #C6E746; }
/*** Failing Styles */
#qunit-tests li li.fail {
color: #710909;
background-color: #fff;
border-left: 26px solid #EE5757;
}
#qunit-tests li.fail { color: #000000; background-color: #EE5757; }
#qunit-tests li.fail span.test-name,
#qunit-tests li.fail span.module-name { color: #000000; }
#qunit-tests li li.fail span.test-actual { color: #EE5757; }
#qunit-tests li li.fail span.test-expected { color: green; }
strong b.fail { color: #710909; }
#qunit-banner.qunit-fail,
#qunit-testrunner-toolbar { background-color: #EE5757; }
/** Footer */
#qunit-testresult {
padding: 0.5em 0.5em 0.5em 2.5em;
color: #2b81af;
background-color: #D2E0E6;
border-radius: 0 0 15px 15px;
-moz-border-radius: 0 0 15px 15px;
-webkit-border-bottom-right-radius: 15px;
-webkit-border-bottom-left-radius: 15px;
}
/** Fixture */
#qunit-fixture {
position: absolute;
top: -10000px;
left: -10000px;
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,27 +0,0 @@
// documentation on writing tests here: http://docs.jquery.com/QUnit
// example tests: https://github.com/jquery/qunit/blob/master/test/same.js
// below are some general tests but feel free to delete them.
module("example tests");
test("HTML5 Boilerplate is sweet",function(){
expect(1);
equals("boilerplate".replace("boilerplate","sweet"),"sweet","Yes. HTML5 Boilerplate is, in fact, sweet");
})
// these test things from plugins.js
test("Environment is good",function(){
expect(3);
ok( !!window.log, "log function present");
var history = log.history && log.history.length || 0;
log("logging from the test suite.")
equals( log.history.length - history, 1, "log history keeps track" )
ok( !!window.Modernizr, "Modernizr global is present")
})