In countries where `googleapis.com` is blocked (e.g.: China),
HTML5 Boilerplate is broken out of the box as jQuery will not load
until the request times out.
This commit changes the default jQuery source to use the jQuery CDN
as it is as fast or faster (by some reckoning) than the Google Hosted
Libraries version and is available worldwide.
While the chance of hitting the cache lottery is smaller with the
jQuery CDN (it's not as ubiquitous as Google), that chance is not enough
to override the need to ship working code for everyone in the world.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Fixh5bp/html5-boilerplate#1737Closeh5bp/html5-boilerplate#1739
* Fix broken links and use `https://` where possible.
* Remove the `Servers and Stacks` section (introduced by
h5bp/html5-boilerplate#1572) from the `misc.md` file, as now, since
h5bp/html5-boilerplate#1694 was merged, it brings even less value.
Add `dppx` variant of `min-resolution` to the high resolution media
query as `dppx` is more accurate¹ than `dpi`.
Notes:
* since `dppx` is not supported by all browsers the media query
still needs the `dpi` fallback
* this change removes the `dppx` related warning² from Blink based
browsers (e.g.: Chrome, Opera)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
¹ `dpi` (dots per inch) refers to a defined size of pixels where one
inch is `96px` no matter what, so it does not take into consideration
the physical inches.
² "Consider using 'dppx' units, as in CSS 'dpi' means dots-per-CSS-inch,
not dots-per-physical-inch, so does not correspond to the actual 'dpi'
of a screen. In media query expression: print,
(-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi)"
Fixh5bp/html5-boilerplate#1474Closeh5bp/html5-boilerplate#1691
Remove line regarding the inclusion of the `LICENSE.txt` file in the
`dist/` directory as it does not constitute an important change as far
as end users are concerned.
Change made in order to be more consistent with the overall use of
lowercase in `index.html`.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
From https://msdn.microsoft.com/en-us/library/jj676915.aspx:
"The X-UA-Compatible header isn't case sensitive; however, it must
appear in the header of the webpage (the HEAD section) before all
other elements except for the title element and other meta elements."
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Ref h5bp/html5-boilerplate#1656Closeh5bp/html5-boilerplate#1656Closeh5bp/html5-boilerplate#1668
* Redirect all output from `export $(cat .to_export_back)` to
`/dev/null` in order to prevent `export` from leaking the access
token in the case when, for some odd reason, the `.to_export_back`
file is not created.
* Regenerate the `secure` key based on a new access token.
Updated `usage.md` to include 4 new files included with the project:
* `.editorconfig`
* `tile-wide.png`, `tile.png` and `browserconfig.xml`
Ref 80530d6b46a99d8563ddClose#1647
Use the more configurable form of the `update_dist_directory.sh`
script the has been added in a separate repository.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Note: The `update_dist_directory.sh` was moved into a different
repository in order to:
* be more easily maintained
* allow other projects with similar needs to use it
This change is done in order to ensure that Windows users don't
encounter any newline related issues.
e.g.: Prior to this change, after the build script was run, files
from `node_modules` (having `LF` newlines, and which wouldn't have
be normalized by `git`) would be copied to the `dist/` directory
and would appear to Windows users as if they where changed.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Thanks to @XhmikosR for pointing this out!
Ref http://git-scm.com/docs/gitattributes#_effectshttp://en.wikipedia.org/wiki/NewlineCloseh5bp/html5-boilerplate#1618
While the short links look "nicer" and can be useful (e.g.: stats),
when our site (http://h5bp.com) goes down, it prevents users from
accessing the information they point to.
Closeh5bp/html5-boilerplate#1619
* apple-touch-icon-precomposed.png
before: 3962 B
after: 3959 B
──────────────────────
reduction: 3 B [0.07%]
* tile.png
before: 3495 B
after: 3482 B
──────────────────────
reduction: 13 B [0.37%]
* tile-wide.png
before: 1864 B
after: 1854 B
──────────────────────
reduction: 10 B [0.53%]
Make it even more clear that the `update_dist_directory.sh`
is intended for Travis¹, and not for the user to run it.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
¹ http://docs.travis-ci.com/
While the outdated browser prompt currently links to `browsehappy.com`,
users are free and even encouraged to substitute the link with their own
page or site of preference.
This commit changes the `browsehappy` specific classname with the more
agnostic `browserupgrade` in order to make the link substitution
easier, but more importantly to hint to the users that they don't have
to stick with the currently default provided `browsehappy.com` link.
Ref: h5bp/html5-boilerplate#1582h5bp/html5-boilerplate#1608Closeh5bp/html5-boilerplate#1608
* Update the documentation regarding the Apple touch icons, by
reflecting the recent changes brought by the release of iOS 8 and the
new iPhone 6 and 6 Plus.
Note: The changes do not follow all Apple's iOS Human Interface
Guidelines¹, as in practice, the images used by the different devices
are different² from the ones specified in the Apple documentation.
* Update the `apple-touch-icon-precomposed.png` to be `180×180px` (this
is now the largest image size used by any Apple device running iOS).
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
¹ https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/IconMatrix.html
² h5bp/html5-boilerplate#1599Closeh5bp/html5-boilerplate#1599.
* `tile.png`:
before: 13743 B
after: 3495 B
──────────────────────
reduction: 10248 B [74.56%]
* `tile-wide.png`
before: 6774 B
after: 1864 B
──────────────────────
reduction: 4910 B [72.48%]
Closeh5bp/html5-boilerplate#1604.
The part about `Cross-domain Ajax and Flash` from the `README.md` file
isn't accurate, as by default:
* the `crossdomain.xml` file doesn't grant a web client — such as Adobe
Flash Player, Adobe Reader, etc. — permission to handle data across
multiple domains
* the Apache server configs, do not allow cross-origin access to all
resources, unless the user enables that behavior
Configure Travis to automatically update the content from the `dist`
directory by executing a script¹ that will regenerate the content from
the `dist` directory and commit any new changes to the `master` branch.
This change will help in the development process by:
* ensuring that the content from the `dist` directory is always
in sync with the rest of the content
* removing the need to execute the build step locally everytime
a change is made (especially in the case of trivial changes,
such as, typos)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
¹ The script (`bin/update_dist_directory.sh`) will only be executed
if the tests pass, and will only run if the changes are made in the
`master` branch.
See also: http://docs.travis-ci.com/user/encryption-keys/Closeh5bp/html5-boilerplate#1593
The pseudo-elements `:before` and `:after` are not targeted by the
universal `*` selector. When the page is printed the CSS properties of
any pseudo-elements will only be overridden if they are being inherited
from their selector. Any styles that have been defined directly on a
pseudo-element are unaffected.
Closes#1585.
The `dist/` directory is added in order to allow even less experienced
users (users that may not want to deal with the build script) to get
the latest changes, namely, what is in the `master` branch, but is not
yet released.
* Move all the H5BP source files into the `src/` directory and remove
all external components that can be fetch via `npm`, namely: the
Apache Server Configs, jQuery, and Normalize.css.
* Add `package.json`, and move to using `npm` for managing dependencies
(for more information about `npm`, see: https://www.npmjs.org/doc/).
* Add `gulp` based build script to allows us to automatically create
the distribution files as well as an archive that can then be attached
to the release - https://github.com/blog/1547-release-your-software
(for more information about gulp, see: http://gulpjs.com/).
* Add other miscellaneous files to help us in our development process:
* `.editorconfig` - to define and maintain consistent coding styles
http://editorconfig.org/
* `.jshintrc` - to specify JSHint configuration options
http://www.jshint.com/docs/
* `.travis.yml` - to specify Travis CI configuration options
http://docs.travis-ci.com/
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
These changes:
* automate some of the tedious work (e.g.: updating the external
components, updating some of the inline content such as version
numbers, etc.)
* will allow us to experiment more (e.g.: allow us to create different
builds of H5BP, builds that can contain different components)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Ref h5bp/html5-boilerplate#1563Closeh5bp/html5-boilerplate#1563
Since some of the users prefer to just modify the placeholder 404
page instead of replacing it with their own, this commit makes it
easier to do that by allowing them to modify the content without
worrying about readjusting the margins.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Note: The different in size compared to the old 404 is negligible:
* old 404:
original size: 1242 B
gzipped size: 574 B
* new 404:
original size: 1274 B
gzipped size: 570 B
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Ref: h5bp/html5-boilerplate#1567.
Close: h5bp/html5-boilerplate#1567.
The addition of the `/.editorconfig` file is made in order to
encourage and help developers and their teams define and maintain
consistent coding styles between their different editors and IDEs.
By default, `/.editorconfig` includes some basic properties that
reflect the coding styles from the files provided by default, but
users can easily change them to better suit their needs.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Since users need to install a editor/IDE plugin in order for the
properties from the `/.editorconfig` to be applied, we were reluctant
to add this file in the past (see: h5bp/html5-boilerplate#1124).
Nowadays however, the EditorConfig project provides plugins for most
of the popular editors/IDEs (see: http://editorconfig.org/#download),
plus, more and more developers are using it.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Ref: http://editorconfig.org/Close: h5bp/html5-boilerplate#1561h5bp/html5-boilerplate#1564
The Google Universal Analytics now supports automatic cookie domain
configuration simply by adding `auto` to the analytics tracker create
method: `ga('create', 'UA-XXXX-Y', 'auto');`.
From https://developers.google.com/analytics/devguides/collection/analyticsjs/domains#auto:
"Automatic Cookie Domain Configuration simplifies cross domain
tracking implementations by automatically writing cookies to the
highest level domain possible when the auto parameter is used.
When used on the domain www.example.co.uk, it will try to write
cookies in the following order:
1. co.uk
2. example.co.uk
3. www.example.co.uk
Analytics.js will fail to write a cookie on co.uk but will succeed
on example.co.uk. Since a cookie was succesfully written on a higher
level domain, www.example.co.uk will be skipped"
So, when this parameter is omitted (as it was prior to this commit),
Google Universal Analytics will default to using `location.hostname`,
which will include the subdomain, preventing websites with multiple
subdomains from being able to automatically track unique users across
those subdomains.
Note: The `auto` parameter is now officially part of the recommended
Google Universal Analytics snippet.
https://developers.google.com/analytics/devguides/collection/analyticsjs/
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Ref: https://developers.google.com/analytics/devguides/collection/analyticsjs/domains#autoClose: h5bp/html5-boilerplate#1562.
Update documentation to include the information from the recent
jQuery team announcement:
"To mitigate the risk of “breaking the web”, the jQuery team
decided back in 2013 that jquery-latest.js could not be
upgraded to the 2.0 branch even though that is technically
the latest version. There would just be too many sites that
would mysteriously stop working with older versions of Internet
Explorer, and many of those sites may not be maintained today.
As jQuery adoption has continued to grow, even that safeguard
seems insufficient to protect against careless use of
http://code.jquery.com/jquery-latest.js. So we have decided to
stop updating this file, as well as the minified copy, keeping
both files at version 1.11.1 forever ...
The Google CDN team has joined us in this effort to prevent
inadvertent web breakage and no longer updates the file at
http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js. That
file will stay locked at version 1.11.1 as well."
(from: http://blog.jquery.com/2014/07/03/dont-use-jquery-latest-js/)
Ref: h5bp/html5-boilerplate#1554
* Make minor updates and improvements.
* Remove `.htaccess` mention as the Apache server configs are no longer
part of the HTML5 Boilerplate core, plus, more information about them
will be included in the `misc.md` file.
Update and improve the `crossdomain.xml` related documentation,
as well as move it into the `misc.md` file.
The move is made in order to be more consistent (we don't have
special pages for any of the other "miscellaneous" files).
* Explain the reason for providing the Google Universal Analytics
snippet by default.
* Make it more clear that users are encouraged to use whatever
tracking solution suits their needs best.
Ref h5bp/html5-boilerplate#1547Closeh5bp/html5-boilerplate#1548
In the past we decided¹ to remove the `lang` attribute due to the fact
that developers were often forgetting to update its value. This change
turned out not to be the best solution because some of the users:
* didn't read the documentation, and thus, they found the absence
of the `lang` attribute confusing, or didn't even knew they had
to add it
* didn't notice the absence of the `lang` attribute, and thus, forgot
to include it (expecting it to be there)
To make things more clearer and to remind users that they need to
specify the primary language of the document, this commit reintroduces
the `lang` attribute, while leaving its value to `""`.
Using `lang=""` has the exact same effect as not specifying the `lang`
attribute at all, in both cases the language being treated as unknown².
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
¹ https://github.com/h5bp/html5-boilerplate/issues/1110
² From WHATWG (http://www.whatwg.org/specs/web-apps/current-work/multipage/elements.html#attr-lang):
"To determine the language of a node, user agents must look at the
nearest ancestor element (including the element itself if the node
is an element) that has a lang attribute in the XML namespace set
or is an HTML element and has a lang in no namespace attribute set.
That attribute specifies the language of the node (regardless of
its value).
If both the lang attribute in no namespace and the lang attribute
in the XML namespace are set on an element, user agents must use
the lang attribute in the XML namespace, and the lang attribute in
no namespace must be ignored for the purposes of determining the
element's language.
If neither the node nor any of the node's ancestors, including the
root element, have either attribute set, but there is a pragma-set
default language set, then that is the language of the node. If there
is no pragma-set default language set, then language information from
a higher-level protocol (such as HTTP), if any, must be used as the
final fallback language instead. In the absence of any such language
information, and in cases where the higher-level protocol reports
multiple languages, the language of the node is unknown, and the
corresponding language tag is the empty string.
If the resulting value is not a recognized language tag, then it
must be treated as an unknown language having the given language tag,
distinct from all other languages."
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Closeh5bp/html5-boilerplate#1542.
Under UNIX-like OSes, a text file consists of a series of lines, each
of which ends with a `newline` character (`\n`). A file that is not
empty and does not end with a `newline` is therefore considered not to
be a text file.
Because of this, utilities that are supposed to operate on text files
may not cope well with files that don't end with a `newline` (e.g.: they
might ignore the text after the last `newline`).
Adding the `newline` character at the end of the file ensures that users
won't encounter any odd behavior when using it.
Reference/Source: http://unix.stackexchange.com/a/18789.
* tile.png
before: 13767 B
after: 13743 B
──────────────────────
reduction: 24 B [0.17%]
* tile-wide.png
before: 6781 B
after: 6774 B
──────────────────────
reduction: 7 B [0.10%]
By default, starting with IE11 on Windows 8.1, IE will request the
`/browserconfig.xml` file when a user clicks/touches the `pin site`
button (same as Safari for iOS does with the `apple-touch-icons` when
the user touches the `share` button).
Adding the `/browserconfig.xml` file and the tile images:
* reduces the number of 404s, especially as IE11 on Windows 8.1 gets
more market share
* provides a starting point for dealing with Windows tiles
* reminds users about the tile images, so that their website doesn't
end up having as a tile the default IE11 logo, or (if the favicon
is 32×32px or bigger and not `.ico`) the website's favicon
* unlike using `<meta>` tags, offers a way that doesn't increase the
page size
Only two images are provided since:
* `tile.png` (558×558px) - can be used for the `Small`, `Medium`,
and `Large` tiles, being automatically resized where necessary
* `tile-wide.png` (558×270px) - can be used for the `Wide` tile
as, in this case, resizing the 558×558px image would just end up
looking weird
The two images are 558×558px and 558×270px because those are the
recommended image sizes in order for the tiles to look good on a wide
range of devices.
For more in depth information, please refer to the MSDN documentation:
* http://msdn.microsoft.com/en-us/library/ie/dn455106.aspx
* http://msdn.microsoft.com/en-us/library/ie/dn255024.aspxClose#1481.
The addition of `Disallow:` is made in order to be compliant with:
* the `robots.txt` specification (http://www.robotstxt.org/), which
specifies that: "At least one Disallow field needs to be present
in a record"
* what is suggested in the documentation of most of the major search
engines, e.g.:
- Baidu: http://www.baidu.com/search/robots_english.html
- Google: https://developers.google.com/webmasters/control-crawl-index/docs/getting_startedhttp://www.youtube.com/watch?v=P7GY1fE5JQQ
- Yandex: help.yandex.com/webmaster/controlling-robot/robots-txt.xml
Besides the addition specified above, this commit also:
* adds a comment making it clear to everyone that the directives from
the `robots.txt` file allow all content on the site to be crawled
* updates the URL to `www.robotstxt.org`, as `robotstxt.org` doesn't
quite work:
curl -LsS robotstxt.org
curl: (7) Failed connect to robotstxt.org:80; Operation timed out
Close#1487.
* Add note about `precomposed` not being required anymore, as starting
with iOS 7, no special effects are applied to the touch icons.
* Add missing touch icon sizes.
Close#1488
* Link to a more official page for the information regarding Internet
Explorer's "friendly HTTP error pages", namely:
http://blogs.msdn.com/b/ieinternals/archive/2010/08/19/http-error-pages-in-internet-explorer.aspx.
* Remove the indentation for the `<head>` and `<body>` tags in order
to reduce the file size even closer to the 512 bytes limit. This is
particularly helpful when compression is not enabled.
* Stats:
- before:
original size: 1409 B
gzipped size: 580 B
─────────────────────────────
reduction: 829 B [58.8%]
- after:
original size: 1242 B
gzipped size: 580 B
─────────────────────────────
reduction: 662 B [53.3%]
Ref: #1443.
Specifying a default foreground color for the form elements can be
problematic when users (often with visual impairments) use a darker
OS/browser theme. Also, the color set on the form elements is quite
opinionated, so developers tend to change it anyway.
Ref: #1390.
Close: #1390.
Providing a default value (such as `5cm`) for the print margins is
problematic because:
1) in some browsers, it prevents users from customizing the browser
print settings
2) in some contexts (browser/os/printer), the value may be too:
* small, and the margins may collide with all the different
headers/footers (URL, date, etc) that are usually printed
by default
* big, and the margins will just waste the space
Most browsers provide a default non-zero value for the print margins,
so it's better to not specify a value at all, and just let them handle
this themselves.
See also:
* http://www.w3.org/TR/css3-page/#at-page-rule
* https://developer.mozilla.org/en-US/docs/Web/CSS/@pageClose#1477.
* Wrap text at 80 characters.
* Rephrase content from the `Apple Touch Icons` section to limit subject
to only `apple-touch-icon`s (ref: #1486).
* Other improvements.
In extend.md, which is linked as source for 'more details' on the
touch-icons and favicon, this commit clarifies that by default two
icons are enough if one doesn't want to use art-direction.
* Update various links.
* Remove link to the `Node build script` repository as the project is no
longer maintained.
* Better organize the information provided in `extend.md` by rearranging
the sections alphabetically by title, and including a table of content
for faster navigation.
* Replace links to the Apache Server Configs `doc`
directory, as it no longer exists:
4f778c4a22.
* Provide missing links under the `X-UA-Compatible`
section in the `html.md` file.
This class was removed because it doesn't provide enough use
cases within modern web development. Cases are mostly handled
indiviually by developers.
Reference #1472.
Closes#1475.
The snippet provided in the docs about how to prevent the Skype
plugin from formatting numbers on a web pages is outdated and no
longer works.
Nowadays, the Skype plugin makes it more difficult to overwrite
its injected styles (class names include timestamps, e.g.:
`skype_pnh_print_container_1381964168`, `!important` is used, etc.).
Providing a solution for this use case isn't viable. Also, users
that install such a plugin usually expect the behavior.
Close#1454.
Changes:
* simplify the overall design
* remove the Google search functionality as in most cases, it does not
provide much value
* reduce the overall file size while keeping the gzipped size over 512
bytes to prevent IE from displaying its own custom error page (thanks
@mikealmond and @patrickkettner):
http://www.404-error-page.com/404-error-page-too-short-problem-microsoft-ie.shtml
Benefits include:
* small file size (1409 bytes / 580 bytes gzipped), which is particular-
ly useful when users are on a data plan and / or the server is wrongly
configured (e.g.: tries to redirect to a "mobile" version of the web
page and ends up serving a 404 page) or developers forget to provide
certain files (e.g.: /favicon.ico -
http://zoompf.com/blog/2012/04/instagram-and-optimizing-favicons)
* improved performance (less HTTP requests, less memory consumption,
faster rendering, etc.)
* designed to work with all kinds of screen sizes and support IE 6+
Close#1443.
Inform users on how to disable the translation prompt in Chrome or
block Google Translate from translating a web page or any particular
section of the web page.
See also: https://support.google.com/translate/?hl=en#2641276.
Close: #1440.
The reasons behind this decision include the following:
* This project will drop legacy browser support (see #1050), therefore,
the use for conditional classes for IE 8+, becomes much more limited.
* IE 10+ does not support conditional comments:
http://msdn.microsoft.com/en-us/library/ms537512%28v=VS.85%29.aspx.
* Users do and can develop easily without using the conditional
classes, this technique being very limited in scope as no other
browser versions are explicitly target in the same way.
* It fixes the issue that prevents IE from honouring
`<meta http-equiv="X-UA-Compatible" content="IE=edge">` (see: #1187).
This change also removes the related documentation.
Close#1290 and #1187.
Currently we don't use Google Chrome Frame anymore as support for
it will end at the end of the year.
This commit removes references to Chrome Frame within the
documentation. It is related to 2cf1ef7.
Reference #1433.
Make it easier for people to know what version of the `.htaccess`
and `main.css` files they are using and under what license these
are provided, by adding this information within the files.
This is useful primarily when developers only copy these files from
the HTML5 Boilerplate project, forget to update their project's change
log or simply do not use anything similar to a change log.
Fixh5bp/html5-boilerplate#1424.
This commit removes five Apple Touch Icons with different sizes for
the same icon and adds a new icon `apple-touch-icon-precomposed.png`
with a resolution of 152×152px.
Apart from that it adds documentation on how to add more icons if
you need them within your project.
Using only one Apple Touch Icon saves time and is enough in most
cases.
Closes#1367.
Closes#1425.
Use `zopfli-png` with 1000 iterations, `pngout /r` with various block sizes and deflopt.
apple-touch-icon-114x114-precomposed.png | Bin 865 -> 751 bytes
apple-touch-icon-144x144-precomposed.png | Bin 947 -> 939 bytes
apple-touch-icon-57x57-precomposed.png | Bin 495 -> 450 bytes
apple-touch-icon-72x72-precomposed.png | Bin 575 -> 512 bytes
apple-touch-icon-precomposed.png | Bin 495 -> 450 bytes
apple-touch-icon.png | Bin 495 -> 450 bytes
The total difference is -320 bytes.
Closes#1418.
Chrome Frame is not supported anymore and we removed the option in
8fc2650.
This commit removes the documentation about Chrome Frame in the
X-UA-Compatible meta tag docs.
Related to #1396.
* Reflect the recent changes in @necolas's Issue Guidelines:
https://github.com/necolas/issue-guidelines.
* Add note about not opening issues and pull requests regarding the code
in the Apache Server Configs, jQuery, Modernizr and Normalize.css.
This is an optimized version of the official Google Universal Analytics snippet,
based on http://mathiasbynens.be/notes/async-analytics-snippet.
The only difference is that this version still uses
`document.getElementsByTagName('script')[0]` instead of `document.scripts[0]`
for Firefox < 9 support.
Unminified, optimized code:
(function(window, document, script, variableName, scriptElement, firstScript) {
window['GoogleAnalyticsObject'] = variableName;
window[variableName] || (window[variableName] = function() {
(window[variableName].q = window[variableName].q || []).push(arguments)
});
window[variableName].l = +new Date;
scriptElement = document.createElement(script);
firstScript = document.getElementsByTagName(script)[0];
scriptElement.src = '//www.google-analytics.com/analytics.js';
firstScript.parentNode.insertBefore(scriptElement, firstScript)
}(window, document, 'script', 'ga'));
ga('create', 'UA-XXXX-Y');
ga('send', 'pageview');
Minified:
(function(b,o,i,l,e,r){b.GoogleAnalyticsObject=l;b[l]||(b[l]=function(){(b[l].q=b[l].q||[]).push(arguments)});b[l].l=+new Date;e=o.createElement(i);r=o.getElementsByTagName(i)[0];e.src='//www.google-analytics.com/analytics.js';r.parentNode.insertBefore(e,r)}(window,document,'script','ga'));ga('create','UA-XXXX-Y');ga('send','pageview');
Closes#1347 and #1369.
Remove `htaccess.md` and link to the Apache `README.md` in
the `server-configs` repository as the documentation for the
configurations is now officially maintained in that repository.
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.
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
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.
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.
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.
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.
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
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
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
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
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
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
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
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.
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.
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
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.
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#1065Close#1120
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.
- 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.
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.
* 'master' of git://github.com/h5bp/html5-boilerplate:
Update .gitignore to include AppleDouble (dot underscore) files
Update .gitignore to include Rubinius's compiled files.
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
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
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.
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
* '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.
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/42Close#961
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.
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
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
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
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.
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.
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.
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 #723Close#825
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.
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
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.
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.
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.
by @darktable.
https://github.com/paulirish/html5-boilerplate/pull/705fixes#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)
@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)
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>
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.
* reduce extra code via <isset>
* `manifest` becomes its own ant task now
* html files are populated into the manifest based on ant config
* add manifest attribute to the HTML tag via Ant. So only the config switch is neccessary
* appcache back to disabled by default. toggling it on in config/project.properties is all that's neccessary
manifest:
* use a manifest template from build/config/cache.appcache each time
* the only css we are dropping in is the style.css (SHA'd), no more
* we include all js/mylibs/bypass files and all js/libs/*.min.js files
* change default name of manifest to `cache.appcache` but im gonna change it to `manifest.appcache` next commit ;)
* state of repo temporarily includes a manifest but that will revert soon
other:
* rename libs-concat.js to mylibs-concat.js for logic's sake
* add @defer attribute to concated script
with variables in project.properties for handling manifest file name,
javascripts files names and stylesheets files names
the javascripts files will be replaced by the concatened and minified
version
idem for the stylesheets
with variable in project.properties for handling manifest file name
the javascripts files replaced are those concatened and minified by the
build
idem for the stylesheets
I steal log's apply method instead of reaching all the way into Function.prototype.apply.. timesaver and bytesaver. just really ugly.
And then a nasty ( omg ? ternary : action); as a statement. But hey.. sometimes you feel like a nut.
kirby, plz code review this. :p
tested in Chrome 14.
added 'css-split' task to build.xml and changed style.css back to the main version, with "- h5bp-export: filename - " tags in it to allow automated splitting into root file with @imports and satellite files.
This build converts the @import statement in style.css to tags that are then swapped for the file contents.
It also converts the media types after the import to @media ... {} style tags.
adding css/concat directory with the css files named in the order they should be included.
the build script then concats these files in alphabetical order and replaces their block with the concated file using the same method as the .js swap (looks for the surrounding comments).
We're pulling in http://github.com/necolas/normalize.css/ developed by Nicolas Gallagher along with Jonathan Neal.
normalize.css retains useful browser defaults and includes several common fixes to improve cross-browser (desktop and mobile) styling consistency.
Lots of research has gone into normalize, verifying what are the default user agent styles provided by each browser. We can very specifically change only the ones we need to instead of the bulldozer approach.
Why this is great news:
* Who likes being so damn redudant and declaring: em, i { font-style: italic; }
* By using normalization instead of a reset + building up default styles, we use less styles and save bytes
* Less noise in your dev tools: when debugging, you don't have to trawl through every reset selector to reach the actual style that is causing the issue.
* More details here: http://necolas.github.com/normalize.css/
We're really happy to get user feedback on this, as we think style normalization is a better direction than resetting; and want to make sure you do too. :) Leave a comment here or in the Google Group: http://h5bp.com/groupFixes#412Fixes#500Fixes#534Closes#456
Links #566
http://mathiasbynens.be/notes/safe-css-hacks
We're doing this because that quadruple conditional comment <html> tag definition looks pretty scary and especially when combined with namespace augmenting stuff like Facebook's gross xmlns:fb="http://www.facebook.com/2008/fbml" bullshit.
We are trying to simplify the markup we use in H5BP and a combination of conditional classnames with IE-specific hacks would be much simpler than the markup bloat we currently have.
We'll target IE6 and IE7 specifically with attribute syntax hacks.
http://paulirish.com/2009/browser-specific-css-hacks/
/* CLEAN NO HACKS */
div { color: blue; }
/* HACKS FOR IE */
.oldie div {
color: blue; /* IE 8 and below */
*color: blue; /* IE 7 and below */
_color: blue; /* IE 6 */
}
/* IE6, IE7 - star hack */
.oldie div { *color: blue; }
/* IE8 - winning hack */
.oldie div { color: blue\0/; } /* must be last declaration in the selector's ruleset */
Using these attribute hacks by themselves does not change the selector specificity. If you've worked with a large, long-term codebase, you'll know managing your specificity wisely is critical. Also watch Nicole Sullivan's talks.
It is now #fe57a1, which is Festal (adj): pertaining to or befitting a feast, festival, holiday, or gala occasion.
Party!! Party in your webpage! With Festal!!!!
thx also to lexidecimal.com for putting a name to this damn thing and inspiring david to inspire others.
While I personally prefer developing with an unminified jQuery (as
it makes debugging easier) I understand that most people don't need that.
So the onus is now on more advanced developers to s/.min.js/.js/
Though they're safe with the build script which will switch the refs back to the min.
And everyone else will default to min'd js, regardless of if they use the
build script.
:)
it comes preminified, and we don't need to minify it again
This also updates the html so that the script is not missing if the
unminified scripts are unavailable on the server
This commit requires a change to existing html files :/
Intermediate stages are stored in a new intermediate folder, and only
files that should be published are copied into the publish folder.
Files are not deleted at the beginning of every build, and files that
have already been processed will not be reprocessed unless the source
has changed.
Versioned files are referenced by a SHA-1 hash of the content rather
than a build number. This means that changing your HTML and rebuilding
will not cause your users to redownload the same CSS and Javascript, and
a reverted change may cause users to use a copy that was previously
downloaded. It may be better to use only part of the hash so the HTTP
request is shorter.
Cleaning must be done manually to delete unreferenced files, or you will
eventually fill your publish folder with unreferenced files. AFAIK this
is a very hard problem to solve properly with Ant because there's no
file dependency tree available to show which files are not products of
the current build. It's doable by creating a map from source to publish
and excluding those files while deleting everything from publish, but it
may be better to just delete the publish directory?
console.log statements are no longer commented out. The regular
expression responsible did not work properly if there were parenthesis
inside the console.log, and it put comments into the scripts that had
just been minimized, so they weren't really minimal anymore.
Basically ...
@media screen and (max-width:980px){
was getting minified to
@media screen and(max-width:980px){
Which webkit was rejecting.. So.. now the updated yuicompressor leaves that space in place.
And all is well with the world.
<3z
Also added a jpgcopy task that is used in "text" builds.
Also:
Quieted windows optipng output. More helpful echo's.
Updated to htmlcompressor-0.9.9.jar (1 very minor fix)
Short summary of the jpegtran workaround:
jpegtran doesnt like to overwrite files. It thinks they are already optimized.
So, we exclude JPGs from the copy task at the beginning,
then we copy them over while we chuck them through jpegtran.
Fun.
Fixes#338
On *nix's and Mac OS X display a helpful error message with instructions
and do not fail the build if either optipng or jpegtrans is not
installed or not in the execution path.
1) Production build by default. (like previous version)
2) Main script gets minified correctly (a bug)
3) We were deleting the wrong files (whoops)
4) dir.js.main is now specified (and can be moved around)
5) Did I mention that spaces are always better than tabs because not even tabs people can agree on 2 vs 4 and this causes PROBLEMS gosh damn it. >:|
It is actually only neccessary to force the `none` in IE6+7, but for declarative
consistency we'll give it to everyone.
We've documented the little quirk on both the FAQ and Style wiki pages.
This is related to issue #263.
Testcase before: http://jsfiddle.net/9DtcX/2/ after: http://jsfiddle.net/9DtcX/3/
https://github.com/paulirish/html5-boilerplate/wiki/The-markup see The order of charset, meta tags, and <title>...
Because the boilerplate markup enforces the document structure,
we can intentionally place the charset above the title (and other content)
and avoid the XSS issues that caused the HTML5 spec to specify that
"charset must be in the first 512 bytes".
So even if you throw the xmlns:fb="http://www.facebook.com/2008/fbml" bullshit
into ALL the html tags, and the validator says your document is now invalid
because charset is after the first 512 bytes, we'll.. it's okay. You're still safe.
And so are the kittens.
While Wikipedia would lead you to be believe one thing...
http://en.wikipedia.org/wiki/ICO_(file_format)#MIME_type
... specifically that the vnd.microsoft.icon mime type is correct..
Well that's wrong.
It does work in the address bar, IE can also use an .ico file as an
<img src> in some cases. But it has to be served as image/x-icon
instead.
So thanks a lot wikipedia & jimmy wales' face. Psh.
Thanks a bunch Jonathan Neal. Fixes#219
I added some features to .htaccess (mostly taken from the MODx CMS sample .htaccess file) as well as a little more structure for easier readability.
I tested most of the features myself (as far as possible). The MODx CMS sample .htaccess is also well tested, so these things should work.
Signed-off-by: Michael van Laar <michael@van-laar.de>
"Dave Kirk just added a bunch of stuff but he's not too sharp on Git so i have it in a zip here....
You can download the build directory from http://dl.dropbox.com/u/9273778/build.zip
You can now add multiple stylesheets to the project (defined in the project.properties file) and they will be concatenated into 1 file, with any default stylesheets defined in the default.properties file being added at the end.
Adding new 'pages' (html, php, etc) is handled in the same way and the script should iterate through any files listed here and update the css / javascript references as per the original script
I have also added the ability to define 'environments' for the build process as this fits in with the way I work. The original targets still exist, and run the same functions, however each target now has a prod, test and dev environment too. This has come at a as it requires using the ant-contrib library and due to the way Ant works you can no longer use the depends model, and the sub targets have to be called with antcall.
Here is how the environments work:
* dev (default) - Increases build number, cleans and copies the build and optimises any images if the target originally did
* test - Runs everything that the original target did, however it does not strip the console.log or profiling parts
* prod - Runs everything the original target did
To run it you simply use ant <target> -Denv=<environment>
ant build -Denv=prod
If you don't provide the env variable it will use the development environment, but that would be pretty easy to change to run another environment as default.
Like I say, it could probably still be improved no end but it is getting to the limits of Ant without writing a java library with extra tasks, which I may look at in the future.."
extension is reserved for Ogg audio, while Ogg video is 'ogv'. 'oga' is also
acceptable for Ogg audio. I've updated the .htaccess and mime.types
files to reflect this.
misses several "newer" MIME types such as oga/g/v, webm/p, mp4, fonts,
etc. This file contains all of the MIME type additions made in the
.htaccess file.
<targetname="-html"depends="-load-build-info"description="(PRIVATE) Very basic clean up of the HTML">
<echomessage="Update the HTML to reference our concatenated script file: scripts-${build.number}.min.js"/>
<!-- style.css replacement handled as a replacetoken above -->
<replaceregexpmatch="<!-- scripts concatenated [\d\w\s\W]*?!-- end ((scripts)|(concatenated and minified scripts))-->"replace="<script src='${dir.js}/scripts-${build.number}.min.js\'></script>"flags="m">
Stop bothering everyone with gross modals advertising your entry in the
App Store. Include the following [meta tag](https://developer.apple.com/library/IOS/documentation/AppleApplications/Reference/SafariWebContent/PromotingAppswithAppBanners/PromotingAppswithAppBanners.html#//apple_ref/doc/uid/TP40002051-CH6-SW2)
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.
You can read about this useful element and more techniques in
[Microsoft's documentation on adapting WebKit-oriented apps for IE10](https://blogs.windows.com/buildingapps/2012/11/15/adapting-your-webkit-optimized-site-for-internet-explorer-10/)
## Search
### Direct search spiders to your sitemap
[Learn how to make a sitemap](http://www.sitemaps.org/protocol.html)
If your business still relies on older web apps and services that were
designed for older versions of Internet Explorer, you might want to consider
enabling [Enterprise Mode](http://blogs.msdn.com/b/ie/archive/2014/04/02/stay-up-to-date-with-enterprise-mode-for-internet-explorer-11.aspx) throughout your company.
## 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](https://developer.apple.com/library/safari/documentation/AppleApplications/Reference/SafariWebContent/UsingtheViewport/UsingtheViewport.html).
HTML5 Boilerplate comes with a simple setup that strikes a good balance for general use cases.
<p class="browserupgrade">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
<![endif]-->
<!-- Add your site or application content here -->
Stop bothering everyone with gross modals advertising your entry in the
App Store. Include the following [meta tag](https://developer.apple.com/library/IOS/documentation/AppleApplications/Reference/SafariWebContent/PromotingAppswithAppBanners/PromotingAppswithAppBanners.html#//apple_ref/doc/uid/TP40002051-CH6-SW2)
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.
You can read about this useful element and more techniques in
[Microsoft's documentation on adapting WebKit-oriented apps for IE10](https://blogs.windows.com/buildingapps/2012/11/15/adapting-your-webkit-optimized-site-for-internet-explorer-10/)
## Search
### Direct search spiders to your sitemap
[Learn how to make a sitemap](http://www.sitemaps.org/protocol.html)
If your business still relies on older web apps and services that were
designed for older versions of Internet Explorer, you might want to consider
enabling [Enterprise Mode](http://blogs.msdn.com/b/ie/archive/2014/04/02/stay-up-to-date-with-enterprise-mode-for-internet-explorer-11.aspx) throughout your company.
## 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](https://developer.apple.com/library/safari/documentation/AppleApplications/Reference/SafariWebContent/UsingtheViewport/UsingtheViewport.html).
HTML5 Boilerplate comes with a simple setup that strikes a good balance for general use cases.
<p class="browserupgrade">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
<![endif]-->
<!-- Add your site or application content here -->
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.