diff --git a/CHANGELOG.md b/CHANGELOG.md index ab68cec350..b984b314a2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +### 7.3.0 (November 19, 2019) +* Updated to Modernizr 3.8 ([2b2bb45](https://github.com/h5bp/html5-boilerplate/commit/2b2bb453916b4b09a6f0929340290dc2505f7ce9)) +* Updated to Gulp 4 ([#2151](https://github.com/h5bp/html5-boilerplate/pull/2151)) +* Updated package.json ([#2162](https://github.com/h5bp/html5-boilerplate/pull/#2162)) and enabled package-lock.json ([abe2087](https://github.com/h5bp/html5-boilerplate/commit/abe20877fdb569c84aa0a1f8ae12c51c51e41250)),([#2145](https://github.com/h5bp/html5-boilerplate/pull/#2145)) +* Remove redundant rules from .editorconfig ([#2157](https://github.com/h5bp/html5-boilerplate/pull/2157)) +* Small docs maintenance updates ([#2155](https://github.com/h5bp/html5-boilerplate/pull/2155)), ([#2164](https://github.com/h5bp/html5-boilerplate/pull/2164)), ([#2165](https://github.com/h5bp/html5-boilerplate/pull/2165)), ([#2167](https://github.com/h5bp/html5-boilerplate/pull/2167)) & ([#2168](https://github.com/h5bp/html5-boilerplate/pull/2168)) +* Bump lowest supported version of node to 8.x ([#2142](https://github.com/h5bp/html5-boilerplate/pull/2142)) +* Remove .jscsrc config and remove gulp-jscs from package.json ([#2153](https://github.com/h5bp/html5-boilerplate/pull/2153)) + ### 7.2.0 (June 4, 2019) * Remove `defer` from Google Analytics snippet ([#2132](https://github.com/h5bp/html5-boilerplate/pull/2132)) @@ -36,21 +45,19 @@ * [Update Apache Server Configs to `v3.0.0`.](https://github.com/h5bp/html5-boilerplate/pull/2042) * Migrate to eslint ([#2037](https://github.com/h5bp/html5-boilerplate/pull/2037)) * Update to jQuery 3.3.1 ([#2018](https://github.com/h5bp/html5-boilerplate/pull/2018)) -* Update to Modernizr v3.6 and Normalize v8 ([#2028](https://github.com/h5bp/html5-boilerplate/pull/2028)) +* Update to Modernizr v3.6 and Normalize v8 ([#2028](https://github.com/h5bp/html5-boilerplate/pull/2028)) * Update Dev Dependencies ([#2032](https://github.com/h5bp/html5-boilerplate/pull/2032)) ([#2017](https://github.com/h5bp/html5-boilerplate/pull/2017)) ([#2010](https://github.com/h5bp/html5-boilerplate/pull/2010)) ([#2009](https://github.com/h5bp/html5-boilerplate/pull/2009)) * Replace 'node-sri' with 'ssri' ([#2031](https://github.com/h5bp/html5-boilerplate/pull/2031)) * Add .babelrc and .prettierrc to .gitattributes ([#2030](https://github.com/h5bp/html5-boilerplate/pull/2030)) * Update .htaccess ([#2003](https://github.com/h5bp/html5-boilerplate/pull/2003)) -* Fixed JSHint errors ([#1994](https://github.com/h5bp/html5-boilerplate/pull/1994)) +* Fixed JSHint errors ([#1994](https://github.com/h5bp/html5-boilerplate/pull/1994)) * Add CODE_OF_CONDUCT.md ([#2011](https://github.com/h5bp/html5-boilerplate/pull/2011)) * Update Documentation ([#2029](https://github.com/h5bp/html5-boilerplate/pull/2029)) ([#2015](https://github.com/h5bp/html5-boilerplate/pull/2015)) ([#2007](https://github.com/h5bp/html5-boilerplate/pull/2007)) ([#2006](https://github.com/h5bp/html5-boilerplate/pull/2006)) ([#1996](https://github.com/h5bp/html5-boilerplate/pull/1996)) - ### 6.0.1 (August 20, 2017) * Reverts .visuallyhidden (see [#1985](https://github.com/h5bp/html5-boilerplate/issues/1985)) - ### 6.0.0 (August 17, 2017) * Fix Bug: .visuallyhidden on macOS VO fixes #1985 ([#1989](https://github.com/h5bp/html5-boilerplate/pull/1989)) @@ -58,8 +65,8 @@ * Update to jQuery 3.2.1 ([#1942](https://github.com/h5bp/html5-boilerplate/pull/1942)) * Improve ::selection documentation which became confusing after c7057be ([#1955](https://github.com/h5bp/html5-boilerplate/pull/1955)) * refactor(html): update browsehappy to https instead of http ([#1952](https://github.com/h5bp/html5-boilerplate/pull/1952)) -* Fix links to CONTRIBUTING.md ([#1951](https://github.com/h5bp/html5-boilerplate/pull/1951)) -* Adds .github folder and contents Fixes ([#1948](https://github.com/h5bp/html5-boilerplate/pull/1948)) +* Fix links to CONTRIBUTING.md ([#1951](https://github.com/h5bp/html5-boilerplate/pull/1951)) +* Adds .github folder and contents Fixes ([#1948](https://github.com/h5bp/html5-boilerplate/pull/1948)) * Modernizr 3, modernizr.config and ([#1940](https://github.com/h5bp/html5-boilerplate/pull/1940)) * Housekeeping by @coliff (#1968 #1969 #1965 #1964 #1958 #1957 #1956) * Update .gitattributes for Web Projects ([#1935](https://github.com/h5bp/html5-boilerplate/pull/1935)) @@ -91,7 +98,7 @@ * Update jQuery to `v1.12.0`. * Fetch `jQuery` from jQuery's CDN instead of Google's ([#1737](https://github.com/h5bp/html5-boilerplate/issues/1737), - [#1739](https://github.com/h5bp/html5-boilerplate/issues/1739)). + [#1739](https://github.com/h5bp/html5-boilerplate/issues/1739)). * Change print color for `:first-letter` and `:first-line` pseudo-elements ([#1715](https://github.com/h5bp/html5-boilerplate/pull/1715)). @@ -141,7 +148,7 @@ ([#1567](https://github.com/h5bp/html5-boilerplate/pull/1567)). * Add `/.editorconfig` file ([#1561](https://github.com/h5bp/html5-boilerplate/issues/1561), - [#1564](https://github.com/h5bp/html5-boilerplate/issues/1564)). + [#1564](https://github.com/h5bp/html5-boilerplate/issues/1564)). * Add `auto` to the Google Universal Analytics tracker create method ([#1562](https://github.com/h5bp/html5-boilerplate/issues/1562)). * Add `timeline` and `timelineEnd` to the list of `console` methods @@ -160,7 +167,7 @@ ([#1477](https://github.com/h5bp/html5-boilerplate/issues/1477)). * Remove image replacement helper class `.ir` ([#1472](https://github.com/h5bp/html5-boilerplate/issues/1472), - [#1475](https://github.com/h5bp/html5-boilerplate/issues/1475)). + [#1475](https://github.com/h5bp/html5-boilerplate/issues/1475)). * Add vertical centering for `svg` ([#1453](https://github.com/h5bp/html5-boilerplate/issues/1453)). * Redesign 404 page @@ -169,7 +176,7 @@ ([#1050](https://github.com/h5bp/html5-boilerplate/issues/1050)). * Remove IE conditional classes ([#1187](https://github.com/h5bp/html5-boilerplate/issues/1187), - [#1290](https://github.com/h5bp/html5-boilerplate/issues/1290)). + [#1290](https://github.com/h5bp/html5-boilerplate/issues/1290)). ### 4.3.0 (September 10, 2013) @@ -180,11 +187,11 @@ * Update to Apache Server Configs 1.1.0. * Add `initial-scale=1` to the viewport `meta` ([#1398](https://github.com/h5bp/html5-boilerplate/pull/1398)). -* Vertical centering for audio-, canvas- and video-tags +* Vertical centering for audio, canvas and video-tags ([#1326](https://github.com/h5bp/html5-boilerplate/issues/1326)). * Remove Google Chrome Frame related code ([#1379](https://github.com/h5bp/html5-boilerplate/pull/1379), - [#1396](https://github.com/h5bp/html5-boilerplate/pull/1396)). + [#1396](https://github.com/h5bp/html5-boilerplate/pull/1396)). * Update to Google Universal Analytics ([#1347](https://github.com/h5bp/html5-boilerplate/issues/1347)). * Update to jQuery 1.10.2. @@ -227,7 +234,7 @@ * Further improvements to `console` method stubbing ([#1206](https://github.com/h5bp/html5-boilerplate/issues/1206), - [#1229](https://github.com/h5bp/html5-boilerplate/pull/1229)). + [#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. @@ -236,7 +243,7 @@ * Improve the Apache compression configuration ([#1012](https://github.com/h5bp/html5-boilerplate/issues/1012), - [#1173](https://github.com/h5bp/html5-boilerplate/issues/1173)). + [#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 diff --git a/README.md b/README.md index bc9aecf2d1..0d54d3977f 100644 --- a/README.md +++ b/README.md @@ -23,15 +23,19 @@ way that you want. Choose one of the following options: -- Download the latest stable release from - [html5boilerplate.com](https://html5boilerplate.com/). -- Clone the git repo — `git clone +* Download the latest stable release from + [html5boilerplate.com](https://html5boilerplate.com/). This zip file is a snapshot of the `dist` folder. On Windows, Mac and from the file manager on Linux unzipping this folder will output to a folder named something like `html5-boilerplate_v7.3.0`. From the command line will need to create a folder and unzip the contents into that folder. + + ```bash + mkdir html5-boilerplate + unzip html5-boilerplate*.zip -d html5-boilerplate + ``` + +* Clone the git repo — `git clone https://github.com/h5bp/html5-boilerplate.git` - and checkout the [tagged release](https://github.com/h5bp/html5-boilerplate/releases) - you'd like to use. -- Install with [npm](https://www.npmjs.com/): `npm install html5-boilerplate` and pull in what you need from the resulting `node_modules/html5-boilerplate/dist` -- Install with [yarn](https://yarnpkg.com/): `yarn add html5-boilerplate` - + you'd like to use. The `dist` folder represents the latest version of the project for end users. +* Install with [npm](https://www.npmjs.com/): `npm install html5-boilerplate` or [yarn](https://yarnpkg.com/): `yarn add html5-boilerplate`. The resulting `node_modules/html5-boilerplate/dist` folder represents the latest version of the project for end users. Depending on what you want to use and how you want to use it, you may have to copy and paste the contents of that folder into your project directory. ## Features @@ -70,7 +74,6 @@ just that we'll ensure compatibility with the ones mentioned above.* If you need legacy browser support you can use [HTML5 Boilerplate v6](https://github.com/h5bp/html5-boilerplate/releases/tag/6.1.0) (IE9/IE10) or [HTML5 Boilerplate v5](https://github.com/h5bp/html5-boilerplate/releases/tag/5.3.0) (IE 8). They are no longer actively developed. - ## Documentation Take a look at the [documentation table of contents](dist/doc/TOC.md). @@ -78,7 +81,6 @@ This documentation is bundled with the project which makes it available for offline reading and provides a useful starting point for any documentation you want to write about your project. - ## Contributing Hundreds of developers have helped to make the HTML5 Boilerplate. Anyone is welcome to [contribute](.github/CONTRIBUTING.md), @@ -89,7 +91,6 @@ the [guidelines](.github/CONTRIBUTING.md): * [Feature requests](.github/CONTRIBUTING.md#features) * [Pull requests](.github/CONTRIBUTING.md#pull-requests) - ## License The code is available under the [MIT license](LICENSE.txt). diff --git a/dist/.editorconfig b/dist/.editorconfig index 125d12c5d2..6cee539563 100644 --- a/dist/.editorconfig +++ b/dist/.editorconfig @@ -8,6 +8,3 @@ indent_size = 2 indent_style = space insert_final_newline = true trim_trailing_whitespace = true - -[*.md] -trim_trailing_whitespace = false diff --git a/dist/css/main.css b/dist/css/main.css index 437d9e92c6..c1316d4e50 100644 --- a/dist/css/main.css +++ b/dist/css/main.css @@ -1,4 +1,4 @@ -/*! HTML5 Boilerplate v7.2.0 | MIT License | https://html5boilerplate.com/ */ +/*! HTML5 Boilerplate v7.3.0 | MIT License | https://html5boilerplate.com/ */ /* main.css 2.0.0 | MIT License | https://github.com/h5bp/main.css#readme */ /* diff --git a/dist/doc/extend.md b/dist/doc/extend.md index 4564bc764e..9a9ce2febc 100644 --- a/dist/doc/extend.md +++ b/dist/doc/extend.md @@ -476,11 +476,10 @@ and you can validate your markup with the [Card validator](https://cards-dev.twi ``` -### Google+ / Schema.org +### Schema.org Google also provides a snippet specification that serves a similar -purpose to Facebook's Open Graph or Twitter Cards. While it helps you -to control information displayed on Google+, this metadata is a subset +purpose to Facebook's Open Graph or Twitter Cards. This metadata is a subset of [schema.org's microdata vocabulary](https://schema.org/), which covers many other schemas that can describe the content of your pages to search engines. For this reason, this metadata is more generic for @@ -493,7 +492,7 @@ Also, please note that this markup requires to add attributes to your top `html` tag. ```html - + diff --git a/dist/doc/faq.md b/dist/doc/faq.md index 58fddd23d1..69ea6d38c2 100644 --- a/dist/doc/faq.md +++ b/dist/doc/faq.md @@ -5,8 +5,6 @@ table of contents](TOC.md) * [Why is the Google Analytics code at the bottom? Google recommends it be placed in the ``.](#why-is-the-google-analytics-code-at-the-bottom-google-recommends-it-be-placed-in-the-head) -* [How can I integrate Bootstrap with HTML5 - Boilerplate?](#how-can-i-integrate-bootstrap-with-html5-boilerplate) * [Do I need to upgrade my site each time a new version of HTML5 Boilerplate is released?](#do-i-need-to-upgrade-my-site-each-time-a-new-version-of-html5-boilerplate-is-released) * [Where can I get help with support diff --git a/dist/doc/html.md b/dist/doc/html.md index 9eeebde1ad..c1a5c37ceb 100644 --- a/dist/doc/html.md +++ b/dist/doc/html.md @@ -128,7 +128,7 @@ using a polyfill CDN service, like [cdn.polyfill.io](https://cdn.polyfill.io/), just put it before the other scripts in the bottom of the page: ```html - + diff --git a/dist/index.html b/dist/index.html index 3d372e5364..cbbcb031a7 100644 --- a/dist/index.html +++ b/dist/index.html @@ -24,7 +24,7 @@

Hello world! This is HTML5 Boilerplate.

- + diff --git a/dist/js/vendor/modernizr-3.7.1.min.js b/dist/js/vendor/modernizr-3.8.0.min.js similarity index 52% rename from dist/js/vendor/modernizr-3.7.1.min.js rename to dist/js/vendor/modernizr-3.8.0.min.js index 46c6ca23bd..dd27cab6e2 100644 --- a/dist/js/vendor/modernizr-3.7.1.min.js +++ b/dist/js/vendor/modernizr-3.8.0.min.js @@ -1,3 +1,3 @@ -/*! modernizr 3.7.1 (Custom Build) | MIT * +/*! modernizr 3.8.0 (Custom Build) | MIT * * https://modernizr.com/download/?-cssanimations-csscolumns-customelements-flexbox-history-picture-pointerevents-postmessage-sizes-srcset-webgl-websockets-webworkers-addtest-domprefixes-hasevent-mq-prefixedcssvalue-prefixes-setclasses-testallprops-testprop-teststyles !*/ -!function(e,t,n){function r(e,t){return typeof e===t}function o(e){var t=b.className,n=Modernizr._config.classPrefix||"";if(S&&(t=t.baseVal),Modernizr._config.enableJSClass){var r=new RegExp("(^|\\s)"+n+"no-js(\\s|$)");t=t.replace(r,"$1"+n+"js$2")}Modernizr._config.enableClasses&&(e.length>0&&(t+=" "+n+e.join(" "+n)),S?b.className.baseVal=t:b.className=t)}function i(e,t){if("object"==typeof e)for(var n in e)E(e,n)&&i(n,e[n]);else{e=e.toLowerCase();var r=e.split("."),s=Modernizr[r[0]];if(2===r.length&&(s=s[r[1]]),void 0!==s)return Modernizr;t="function"==typeof t?t():t,1===r.length?Modernizr[r[0]]=t:(!Modernizr[r[0]]||Modernizr[r[0]]instanceof Boolean||(Modernizr[r[0]]=new Boolean(Modernizr[r[0]])),Modernizr[r[0]][r[1]]=t),o([(t&&!1!==t?"":"no-")+r.join("-")]),Modernizr._trigger(e,t)}return Modernizr}function s(){return"function"!=typeof t.createElement?t.createElement(arguments[0]):S?t.createElementNS.call(t,"http://www.w3.org/2000/svg",arguments[0]):t.createElement.apply(t,arguments)}function a(){var e=t.body;return e||(e=s(S?"svg":"body"),e.fake=!0),e}function l(e,n,r,o){var i,l,u,f,c="modernizr",d=s("div"),p=a();if(parseInt(r,10))for(;r--;)u=s("div"),u.id=o?o[r]:c+(r+1),d.appendChild(u);return i=s("style"),i.type="text/css",i.id="s"+c,(p.fake?p:d).appendChild(i),p.appendChild(d),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(t.createTextNode(e)),d.id=c,p.fake&&(p.style.background="",p.style.overflow="hidden",f=b.style.overflow,b.style.overflow="hidden",b.appendChild(p)),l=n(d,e),p.fake?(p.parentNode.removeChild(p),b.style.overflow=f,b.offsetHeight):d.parentNode.removeChild(d),!!l}function u(e,t){return!!~(""+e).indexOf(t)}function f(e){return e.replace(/([A-Z])/g,function(e,t){return"-"+t.toLowerCase()}).replace(/^ms-/,"-ms-")}function c(t,n,r){var o;if("getComputedStyle"in e){o=getComputedStyle.call(e,t,n);var i=e.console;if(null!==o)r&&(o=o.getPropertyValue(r));else if(i){var s=i.error?"error":"log";i[s].call(i,"getComputedStyle returning null, its possible modernizr test results are inaccurate")}}else o=!n&&t.currentStyle&&t.currentStyle[r];return o}function d(t,r){var o=t.length;if("CSS"in e&&"supports"in e.CSS){for(;o--;)if(e.CSS.supports(f(t[o]),r))return!0;return!1}if("CSSSupportsRule"in e){for(var i=[];o--;)i.push("("+f(t[o])+":"+r+")");return i=i.join(" or "),l("@supports ("+i+") { #modernizr { position: absolute; } }",function(e){return"absolute"===c(e,null,"position")})}return n}function p(e){return e.replace(/([a-z])-([a-z])/g,function(e,t,n){return t+n.toUpperCase()}).replace(/^-/,"")}function m(e,t,o,i){function a(){f&&(delete L.style,delete L.modElem)}if(i=!r(i,"undefined")&&i,!r(o,"undefined")){var l=d(e,o);if(!r(l,"undefined"))return l}for(var f,c,m,h,v,A=["modernizr","tspan","samp"];!L.style&&A.length;)f=!0,L.modElem=s(A.shift()),L.style=L.modElem.style;for(m=e.length,c=0;c0&&(t+=" "+n+e.join(" "+n)),S?b.className.baseVal=t:b.className=t)}function i(e,t){if("object"==typeof e)for(var n in e)P(e,n)&&i(n,e[n]);else{e=e.toLowerCase();var r=e.split("."),s=Modernizr[r[0]];if(2===r.length&&(s=s[r[1]]),void 0!==s)return Modernizr;t="function"==typeof t?t():t,1===r.length?Modernizr[r[0]]=t:(!Modernizr[r[0]]||Modernizr[r[0]]instanceof Boolean||(Modernizr[r[0]]=new Boolean(Modernizr[r[0]])),Modernizr[r[0]][r[1]]=t),o([(t&&!1!==t?"":"no-")+r.join("-")]),Modernizr._trigger(e,t)}return Modernizr}function s(){return"function"!=typeof t.createElement?t.createElement(arguments[0]):S?t.createElementNS.call(t,"http://www.w3.org/2000/svg",arguments[0]):t.createElement.apply(t,arguments)}function a(){var e=t.body;return e||(e=s(S?"svg":"body"),e.fake=!0),e}function l(e,n,r,o){var i,l,u,f,c="modernizr",d=s("div"),p=a();if(parseInt(r,10))for(;r--;)u=s("div"),u.id=o?o[r]:c+(r+1),d.appendChild(u);return i=s("style"),i.type="text/css",i.id="s"+c,(p.fake?p:d).appendChild(i),p.appendChild(d),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(t.createTextNode(e)),d.id=c,p.fake&&(p.style.background="",p.style.overflow="hidden",f=b.style.overflow,b.style.overflow="hidden",b.appendChild(p)),l=n(d,e),p.fake?(p.parentNode.removeChild(p),b.style.overflow=f,b.offsetHeight):d.parentNode.removeChild(d),!!l}function u(e,t){return!!~(""+e).indexOf(t)}function f(e){return e.replace(/([A-Z])/g,function(e,t){return"-"+t.toLowerCase()}).replace(/^ms-/,"-ms-")}function c(t,n,r){var o;if("getComputedStyle"in e){o=getComputedStyle.call(e,t,n);var i=e.console;if(null!==o)r&&(o=o.getPropertyValue(r));else if(i){var s=i.error?"error":"log";i[s].call(i,"getComputedStyle returning null, its possible modernizr test results are inaccurate")}}else o=!n&&t.currentStyle&&t.currentStyle[r];return o}function d(t,r){var o=t.length;if("CSS"in e&&"supports"in e.CSS){for(;o--;)if(e.CSS.supports(f(t[o]),r))return!0;return!1}if("CSSSupportsRule"in e){for(var i=[];o--;)i.push("("+f(t[o])+":"+r+")");return i=i.join(" or "),l("@supports ("+i+") { #modernizr { position: absolute; } }",function(e){return"absolute"===c(e,null,"position")})}return n}function p(e){return e.replace(/([a-z])-([a-z])/g,function(e,t,n){return t+n.toUpperCase()}).replace(/^-/,"")}function m(e,t,o,i){function a(){f&&(delete L.style,delete L.modElem)}if(i=!r(i,"undefined")&&i,!r(o,"undefined")){var l=d(e,o);if(!r(l,"undefined"))return l}for(var f,c,m,h,A,v=["modernizr","tspan","samp"];!L.style&&v.length;)f=!0,L.modElem=s(v.shift()),L.style=L.modElem.style;for(m=e.length,c=0;c=8", + "node": ">=10", "npm": ">=3" }, "babel": { diff --git a/src/.editorconfig b/src/.editorconfig index 125d12c5d2..6cee539563 100644 --- a/src/.editorconfig +++ b/src/.editorconfig @@ -8,6 +8,3 @@ indent_size = 2 indent_style = space insert_final_newline = true trim_trailing_whitespace = true - -[*.md] -trim_trailing_whitespace = false diff --git a/src/doc/extend.md b/src/doc/extend.md index 4564bc764e..9a9ce2febc 100644 --- a/src/doc/extend.md +++ b/src/doc/extend.md @@ -476,11 +476,10 @@ and you can validate your markup with the [Card validator](https://cards-dev.twi ``` -### Google+ / Schema.org +### Schema.org Google also provides a snippet specification that serves a similar -purpose to Facebook's Open Graph or Twitter Cards. While it helps you -to control information displayed on Google+, this metadata is a subset +purpose to Facebook's Open Graph or Twitter Cards. This metadata is a subset of [schema.org's microdata vocabulary](https://schema.org/), which covers many other schemas that can describe the content of your pages to search engines. For this reason, this metadata is more generic for @@ -493,7 +492,7 @@ Also, please note that this markup requires to add attributes to your top `html` tag. ```html - + diff --git a/src/doc/html.md b/src/doc/html.md index 9eeebde1ad..c1a5c37ceb 100644 --- a/src/doc/html.md +++ b/src/doc/html.md @@ -128,7 +128,7 @@ using a polyfill CDN service, like [cdn.polyfill.io](https://cdn.polyfill.io/), just put it before the other scripts in the bottom of the page: ```html - +