Removed boilerplate...
26
.eslintrc.js
|
@ -1,26 +0,0 @@
|
||||||
module.exports = {
|
|
||||||
"env": {
|
|
||||||
"browser": true,
|
|
||||||
"es6": true,
|
|
||||||
"mocha": true
|
|
||||||
},
|
|
||||||
"plugins": ["mocha"],
|
|
||||||
"extends": "eslint:recommended",
|
|
||||||
"parserOptions": {
|
|
||||||
"sourceType": "module"
|
|
||||||
},
|
|
||||||
"rules": {
|
|
||||||
"indent": [
|
|
||||||
"error",
|
|
||||||
2
|
|
||||||
],
|
|
||||||
"quotes": [
|
|
||||||
"error",
|
|
||||||
"single"
|
|
||||||
],
|
|
||||||
"semi": [
|
|
||||||
"error",
|
|
||||||
"always"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
};
|
|
3
.gitignore
vendored
|
@ -1,3 +0,0 @@
|
||||||
archive
|
|
||||||
node_modules
|
|
||||||
package-lock.json
|
|
|
@ -1,6 +0,0 @@
|
||||||
<component name="InspectionProjectProfileManager">
|
|
||||||
<profile version="1.0">
|
|
||||||
<option name="myName" value="Project Default" />
|
|
||||||
<inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" />
|
|
||||||
</profile>
|
|
||||||
</component>
|
|
68
.jscsrc
|
@ -1,68 +0,0 @@
|
||||||
{
|
|
||||||
"disallowEmptyBlocks": true,
|
|
||||||
"disallowKeywords": [
|
|
||||||
"with"
|
|
||||||
],
|
|
||||||
"disallowMixedSpacesAndTabs": true,
|
|
||||||
"disallowMultipleLineStrings": true,
|
|
||||||
"disallowMultipleVarDecl": true,
|
|
||||||
"disallowSpaceAfterPrefixUnaryOperators": [
|
|
||||||
"!",
|
|
||||||
"+",
|
|
||||||
"++",
|
|
||||||
"-",
|
|
||||||
"--",
|
|
||||||
"~"
|
|
||||||
],
|
|
||||||
"disallowSpaceBeforeBinaryOperators": [
|
|
||||||
","
|
|
||||||
],
|
|
||||||
"disallowSpaceBeforePostfixUnaryOperators": true,
|
|
||||||
"disallowSpacesInNamedFunctionExpression": {
|
|
||||||
"beforeOpeningRoundBrace": true
|
|
||||||
},
|
|
||||||
"disallowSpacesInsideArrayBrackets": true,
|
|
||||||
"disallowSpacesInsideParentheses": true,
|
|
||||||
"disallowTrailingComma": true,
|
|
||||||
"disallowTrailingWhitespace": true,
|
|
||||||
"requireCamelCaseOrUpperCaseIdentifiers": true,
|
|
||||||
"requireCapitalizedConstructors": true,
|
|
||||||
"requireCommaBeforeLineBreak": true,
|
|
||||||
"requireCurlyBraces": true,
|
|
||||||
"requireDotNotation": true,
|
|
||||||
"requireLineFeedAtFileEnd": true,
|
|
||||||
"requireParenthesesAroundIIFE": true,
|
|
||||||
"requireSpaceAfterBinaryOperators": true,
|
|
||||||
"requireSpaceAfterKeywords": [
|
|
||||||
"catch",
|
|
||||||
"do",
|
|
||||||
"else",
|
|
||||||
"for",
|
|
||||||
"if",
|
|
||||||
"return",
|
|
||||||
"switch",
|
|
||||||
"try",
|
|
||||||
"while"
|
|
||||||
],
|
|
||||||
"requireSpaceAfterLineComment": true,
|
|
||||||
"requireSpaceBeforeBinaryOperators": true,
|
|
||||||
"requireSpaceBeforeBlockStatements": true,
|
|
||||||
"requireSpacesInAnonymousFunctionExpression": {
|
|
||||||
"beforeOpeningCurlyBrace": true
|
|
||||||
},
|
|
||||||
"requireSpacesInConditionalExpression": true,
|
|
||||||
"requireSpacesInFunctionDeclaration": {
|
|
||||||
"beforeOpeningCurlyBrace": true
|
|
||||||
},
|
|
||||||
"requireSpacesInFunctionExpression": {
|
|
||||||
"beforeOpeningCurlyBrace": true
|
|
||||||
},
|
|
||||||
"requireSpacesInNamedFunctionExpression": {
|
|
||||||
"beforeOpeningCurlyBrace": true
|
|
||||||
},
|
|
||||||
"requireSpacesInsideObjectBrackets": "allButNested",
|
|
||||||
"validateIndentation": 4,
|
|
||||||
"validateLineBreaks": "LF",
|
|
||||||
"validateParameterSeparator": ", ",
|
|
||||||
"validateQuoteMarks": "'"
|
|
||||||
}
|
|
16
.travis.yml
|
@ -1,16 +0,0 @@
|
||||||
# For more information about the configurations used
|
|
||||||
# in this file, please see the Travis CI documentation:
|
|
||||||
# https://docs.travis-ci.com
|
|
||||||
|
|
||||||
git:
|
|
||||||
depth: 10
|
|
||||||
|
|
||||||
language: node_js
|
|
||||||
|
|
||||||
node_js:
|
|
||||||
- 6
|
|
||||||
- 8
|
|
||||||
- 9
|
|
||||||
|
|
||||||
dist: trusty
|
|
||||||
sudo: false
|
|
BIN
HS.png
Normal file
After Width: | Height: | Size: 56 MiB |
19
css/main.css
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
body {
|
||||||
|
background-color: #003239;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bg-image {
|
||||||
|
/*background-image: url("../HS.png");*/
|
||||||
|
background-image: url("../bg.png"), linear-gradient(to bottom, black, black, #3a3a3a, #009a9a,
|
||||||
|
#727272);
|
||||||
|
background-size: cover;
|
||||||
|
filter: blur(8px);
|
||||||
|
height: 100%;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
z-index: -1;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
13
dist/.editorconfig
vendored
|
@ -1,13 +0,0 @@
|
||||||
# editorconfig.org
|
|
||||||
|
|
||||||
root = true
|
|
||||||
|
|
||||||
[*]
|
|
||||||
charset = utf-8
|
|
||||||
indent_size = 2
|
|
||||||
indent_style = space
|
|
||||||
insert_final_newline = true
|
|
||||||
trim_trailing_whitespace = true
|
|
||||||
|
|
||||||
[*.md]
|
|
||||||
trim_trailing_whitespace = false
|
|
194
dist/.gitattributes
vendored
|
@ -1,194 +0,0 @@
|
||||||
## GITATTRIBUTES FOR WEB PROJECTS
|
|
||||||
#
|
|
||||||
# These settings are for any web project.
|
|
||||||
#
|
|
||||||
# Details per file setting:
|
|
||||||
# text These files should be normalized (i.e. convert CRLF to LF).
|
|
||||||
# binary These files are binary and should be left untouched.
|
|
||||||
#
|
|
||||||
# Note that binary is a macro for -text -diff.
|
|
||||||
######################################################################
|
|
||||||
|
|
||||||
## AUTO-DETECT
|
|
||||||
## Handle line endings automatically for files detected as
|
|
||||||
## text and leave all files detected as binary untouched.
|
|
||||||
## This will handle all files NOT defined below.
|
|
||||||
* text=auto
|
|
||||||
|
|
||||||
## SOURCE CODE
|
|
||||||
*.bat text eol=crlf
|
|
||||||
*.coffee text
|
|
||||||
*.css text
|
|
||||||
*.htm text
|
|
||||||
*.html text
|
|
||||||
*.inc text
|
|
||||||
*.ini text
|
|
||||||
*.js text
|
|
||||||
*.json text
|
|
||||||
*.jsx text
|
|
||||||
*.less text
|
|
||||||
*.od text
|
|
||||||
*.onlydata text
|
|
||||||
*.php text
|
|
||||||
*.pl text
|
|
||||||
*.py text
|
|
||||||
*.rb text
|
|
||||||
*.sass text
|
|
||||||
*.scm text
|
|
||||||
*.scss text
|
|
||||||
*.sh text eol=lf
|
|
||||||
*.sql text
|
|
||||||
*.styl text
|
|
||||||
*.tag text
|
|
||||||
*.ts text
|
|
||||||
*.tsx text
|
|
||||||
*.xml text
|
|
||||||
*.xhtml text
|
|
||||||
|
|
||||||
## DOCKER
|
|
||||||
*.dockerignore text
|
|
||||||
Dockerfile text
|
|
||||||
|
|
||||||
## DOCUMENTATION
|
|
||||||
*.markdown text
|
|
||||||
*.md text
|
|
||||||
*.mdwn text
|
|
||||||
*.mdown text
|
|
||||||
*.mkd text
|
|
||||||
*.mkdn text
|
|
||||||
*.mdtxt text
|
|
||||||
*.mdtext text
|
|
||||||
*.txt text
|
|
||||||
AUTHORS text
|
|
||||||
CHANGELOG text
|
|
||||||
CHANGES text
|
|
||||||
CONTRIBUTING text
|
|
||||||
COPYING text
|
|
||||||
copyright text
|
|
||||||
*COPYRIGHT* text
|
|
||||||
INSTALL text
|
|
||||||
license text
|
|
||||||
LICENSE text
|
|
||||||
NEWS text
|
|
||||||
readme text
|
|
||||||
*README* text
|
|
||||||
TODO text
|
|
||||||
|
|
||||||
## TEMPLATES
|
|
||||||
*.dot text
|
|
||||||
*.ejs text
|
|
||||||
*.haml text
|
|
||||||
*.handlebars text
|
|
||||||
*.hbs text
|
|
||||||
*.hbt text
|
|
||||||
*.jade text
|
|
||||||
*.latte text
|
|
||||||
*.mustache text
|
|
||||||
*.njk text
|
|
||||||
*.phtml text
|
|
||||||
*.tmpl text
|
|
||||||
*.tpl text
|
|
||||||
*.twig text
|
|
||||||
|
|
||||||
## LINTERS
|
|
||||||
.babelrc text
|
|
||||||
.csslintrc text
|
|
||||||
.eslintrc text
|
|
||||||
.htmlhintrc text
|
|
||||||
.jscsrc text
|
|
||||||
.jshintrc text
|
|
||||||
.jshintignore text
|
|
||||||
.prettierrc text
|
|
||||||
.stylelintrc text
|
|
||||||
|
|
||||||
## CONFIGS
|
|
||||||
*.bowerrc text
|
|
||||||
*.cnf text
|
|
||||||
*.conf text
|
|
||||||
*.config text
|
|
||||||
.browserslistrc text
|
|
||||||
.editorconfig text
|
|
||||||
.gitattributes text
|
|
||||||
.gitconfig text
|
|
||||||
.gitignore text
|
|
||||||
.htaccess text
|
|
||||||
*.npmignore text
|
|
||||||
*.yaml text
|
|
||||||
*.yml text
|
|
||||||
browserslist text
|
|
||||||
Makefile text
|
|
||||||
makefile text
|
|
||||||
|
|
||||||
## HEROKU
|
|
||||||
Procfile text
|
|
||||||
.slugignore text
|
|
||||||
|
|
||||||
## GRAPHICS
|
|
||||||
*.ai binary
|
|
||||||
*.bmp binary
|
|
||||||
*.eps binary
|
|
||||||
*.gif binary
|
|
||||||
*.ico binary
|
|
||||||
*.jng binary
|
|
||||||
*.jp2 binary
|
|
||||||
*.jpg binary
|
|
||||||
*.jpeg binary
|
|
||||||
*.jpx binary
|
|
||||||
*.jxr binary
|
|
||||||
*.pdf binary
|
|
||||||
*.png binary
|
|
||||||
*.psb binary
|
|
||||||
*.psd binary
|
|
||||||
*.svg text
|
|
||||||
*.svgz binary
|
|
||||||
*.tif binary
|
|
||||||
*.tiff binary
|
|
||||||
*.wbmp binary
|
|
||||||
*.webp binary
|
|
||||||
|
|
||||||
## AUDIO
|
|
||||||
*.kar binary
|
|
||||||
*.m4a binary
|
|
||||||
*.mid binary
|
|
||||||
*.midi binary
|
|
||||||
*.mp3 binary
|
|
||||||
*.ogg binary
|
|
||||||
*.ra binary
|
|
||||||
|
|
||||||
## VIDEO
|
|
||||||
*.3gpp binary
|
|
||||||
*.3gp binary
|
|
||||||
*.as binary
|
|
||||||
*.asf binary
|
|
||||||
*.asx binary
|
|
||||||
*.fla binary
|
|
||||||
*.flv binary
|
|
||||||
*.m4v binary
|
|
||||||
*.mng binary
|
|
||||||
*.mov binary
|
|
||||||
*.mp4 binary
|
|
||||||
*.mpeg binary
|
|
||||||
*.mpg binary
|
|
||||||
*.ogv binary
|
|
||||||
*.swc binary
|
|
||||||
*.swf binary
|
|
||||||
*.webm binary
|
|
||||||
|
|
||||||
## ARCHIVES
|
|
||||||
*.7z binary
|
|
||||||
*.gz binary
|
|
||||||
*.jar binary
|
|
||||||
*.rar binary
|
|
||||||
*.tar binary
|
|
||||||
*.zip binary
|
|
||||||
|
|
||||||
## FONTS
|
|
||||||
*.ttf binary
|
|
||||||
*.eot binary
|
|
||||||
*.otf binary
|
|
||||||
*.woff binary
|
|
||||||
*.woff2 binary
|
|
||||||
|
|
||||||
## EXECUTABLES
|
|
||||||
*.exe binary
|
|
||||||
*.pyc binary
|
|
3
dist/.gitignore
vendored
|
@ -1,3 +0,0 @@
|
||||||
# Include your project-specific ignores in this file
|
|
||||||
# Read about how to use .gitignore: https://help.github.com/articles/ignoring-files
|
|
||||||
# Useful .gitignore templates: https://github.com/github/gitignore
|
|
1218
dist/.htaccess
vendored
19
dist/HTML5-Boilerplate-LICENSE.txt
vendored
|
@ -1,19 +0,0 @@
|
||||||
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.
|
|
12
dist/browserconfig.xml
vendored
|
@ -1,12 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!-- Please read: https://msdn.microsoft.com/en-us/library/ie/dn455106.aspx -->
|
|
||||||
<browserconfig>
|
|
||||||
<msapplication>
|
|
||||||
<tile>
|
|
||||||
<square70x70logo src="tile.png"/>
|
|
||||||
<square150x150logo src="tile.png"/>
|
|
||||||
<wide310x150logo src="tile-wide.png"/>
|
|
||||||
<square310x310logo src="tile.png"/>
|
|
||||||
</tile>
|
|
||||||
</msapplication>
|
|
||||||
</browserconfig>
|
|
295
dist/css/main.css
vendored
|
@ -1,295 +0,0 @@
|
||||||
/*! HTML5 Boilerplate v7.1.0 | MIT License | https://html5boilerplate.com/ */
|
|
||||||
|
|
||||||
/* main.css 1.0.0 | MIT License | https://github.com/h5bp/main.css#readme */
|
|
||||||
/*
|
|
||||||
* 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 {
|
|
||||||
color: #222;
|
|
||||||
font-size: 1em;
|
|
||||||
line-height: 1.4;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Remove text-shadow in selection highlight:
|
|
||||||
* https://twitter.com/miketaylr/status/12228805301
|
|
||||||
*
|
|
||||||
* Vendor-prefixed and regular ::selection selectors cannot be combined:
|
|
||||||
* https://stackoverflow.com/a/16982510/7133471
|
|
||||||
*
|
|
||||||
* 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 audio, canvas, iframes,
|
|
||||||
* images, videos and the bottom of their containers:
|
|
||||||
* https://github.com/h5bp/html5-boilerplate/issues/440
|
|
||||||
*/
|
|
||||||
|
|
||||||
audio,
|
|
||||||
canvas,
|
|
||||||
iframe,
|
|
||||||
img,
|
|
||||||
svg,
|
|
||||||
video {
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Remove default fieldset styles.
|
|
||||||
*/
|
|
||||||
|
|
||||||
fieldset {
|
|
||||||
border: 0;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Allow only vertical resizing of textareas.
|
|
||||||
*/
|
|
||||||
|
|
||||||
textarea {
|
|
||||||
resize: vertical;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ==========================================================================
|
|
||||||
Browser Upgrade Prompt
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
.browserupgrade {
|
|
||||||
margin: 0.2em 0;
|
|
||||||
background: #ccc;
|
|
||||||
color: #000;
|
|
||||||
padding: 0.2em 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* ==========================================================================
|
|
||||||
Author's custom styles
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* ==========================================================================
|
|
||||||
Helper classes
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Hide visually and from screen readers
|
|
||||||
*/
|
|
||||||
|
|
||||||
.hidden {
|
|
||||||
display: none !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Hide only visually, but have it available for screen readers:
|
|
||||||
* https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
|
|
||||||
*
|
|
||||||
* 1. For long content, line feeds are not interpreted as spaces and small width
|
|
||||||
* causes content to wrap 1 word per line:
|
|
||||||
* https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
|
|
||||||
*/
|
|
||||||
|
|
||||||
.visuallyhidden {
|
|
||||||
border: 0;
|
|
||||||
clip: rect(0 0 0 0);
|
|
||||||
height: 1px;
|
|
||||||
margin: -1px;
|
|
||||||
overflow: hidden;
|
|
||||||
padding: 0;
|
|
||||||
position: absolute;
|
|
||||||
width: 1px;
|
|
||||||
white-space: nowrap; /* 1 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Extends the .visuallyhidden class to allow the element
|
|
||||||
* to be focusable when navigated to via the keyboard:
|
|
||||||
* https://www.drupal.org/node/897638
|
|
||||||
*/
|
|
||||||
|
|
||||||
.visuallyhidden.focusable:active,
|
|
||||||
.visuallyhidden.focusable:focus {
|
|
||||||
clip: auto;
|
|
||||||
height: auto;
|
|
||||||
margin: 0;
|
|
||||||
overflow: visible;
|
|
||||||
position: static;
|
|
||||||
width: auto;
|
|
||||||
white-space: inherit;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Hide visually and from screen readers, 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;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* ==========================================================================
|
|
||||||
EXAMPLE Media Queries for Responsive Design.
|
|
||||||
These examples override the primary ('mobile first') styles.
|
|
||||||
Modify as content requires.
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
@media only screen and (min-width: 35em) {
|
|
||||||
/* Style adjustments for viewports that meet the condition */
|
|
||||||
}
|
|
||||||
|
|
||||||
@media print,
|
|
||||||
(-webkit-min-device-pixel-ratio: 1.25),
|
|
||||||
(min-resolution: 1.25dppx),
|
|
||||||
(min-resolution: 120dpi) {
|
|
||||||
/* Style adjustments for high resolution devices */
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* ==========================================================================
|
|
||||||
Print styles.
|
|
||||||
Inlined to avoid the additional HTTP request:
|
|
||||||
https://www.phpied.com/delay-loading-your-print-css/
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
@media print {
|
|
||||||
*,
|
|
||||||
*:before,
|
|
||||||
*:after {
|
|
||||||
background: transparent !important;
|
|
||||||
color: #000 !important; /* Black prints faster */
|
|
||||||
-webkit-box-shadow: none !important;
|
|
||||||
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 that are fragment identifiers,
|
|
||||||
* or use the `javascript:` pseudo protocol
|
|
||||||
*/
|
|
||||||
|
|
||||||
a[href^="#"]:after,
|
|
||||||
a[href^="javascript:"]:after {
|
|
||||||
content: "";
|
|
||||||
}
|
|
||||||
|
|
||||||
pre {
|
|
||||||
white-space: pre-wrap !important;
|
|
||||||
}
|
|
||||||
pre,
|
|
||||||
blockquote {
|
|
||||||
border: 1px solid #999;
|
|
||||||
page-break-inside: avoid;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Printing Tables:
|
|
||||||
* http://css-discuss.incutio.com/wiki/Printing_Tables
|
|
||||||
*/
|
|
||||||
|
|
||||||
thead {
|
|
||||||
display: table-header-group;
|
|
||||||
}
|
|
||||||
|
|
||||||
tr,
|
|
||||||
img {
|
|
||||||
page-break-inside: avoid;
|
|
||||||
}
|
|
||||||
|
|
||||||
p,
|
|
||||||
h2,
|
|
||||||
h3 {
|
|
||||||
orphans: 3;
|
|
||||||
widows: 3;
|
|
||||||
}
|
|
||||||
|
|
||||||
h2,
|
|
||||||
h3 {
|
|
||||||
page-break-after: avoid;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
349
dist/css/normalize.css
vendored
|
@ -1,349 +0,0 @@
|
||||||
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
|
|
||||||
|
|
||||||
/* Document
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Correct the line height in all browsers.
|
|
||||||
* 2. Prevent adjustments of font size after orientation changes in iOS.
|
|
||||||
*/
|
|
||||||
|
|
||||||
html {
|
|
||||||
line-height: 1.15; /* 1 */
|
|
||||||
-webkit-text-size-adjust: 100%; /* 2 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Sections
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove the margin in all browsers.
|
|
||||||
*/
|
|
||||||
|
|
||||||
body {
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Render the `main` element consistently in IE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
main {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Correct the font size and margin on `h1` elements within `section` and
|
|
||||||
* `article` contexts in Chrome, Firefox, and Safari.
|
|
||||||
*/
|
|
||||||
|
|
||||||
h1 {
|
|
||||||
font-size: 2em;
|
|
||||||
margin: 0.67em 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Grouping content
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Add the correct box sizing in Firefox.
|
|
||||||
* 2. Show the overflow in Edge and IE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
hr {
|
|
||||||
box-sizing: content-box; /* 1 */
|
|
||||||
height: 0; /* 1 */
|
|
||||||
overflow: visible; /* 2 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Correct the inheritance and scaling of font size in all browsers.
|
|
||||||
* 2. Correct the odd `em` font sizing in all browsers.
|
|
||||||
*/
|
|
||||||
|
|
||||||
pre {
|
|
||||||
font-family: monospace, monospace; /* 1 */
|
|
||||||
font-size: 1em; /* 2 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Text-level semantics
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove the gray background on active links in IE 10.
|
|
||||||
*/
|
|
||||||
|
|
||||||
a {
|
|
||||||
background-color: transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Remove the bottom border in Chrome 57-
|
|
||||||
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
|
|
||||||
*/
|
|
||||||
|
|
||||||
abbr[title] {
|
|
||||||
border-bottom: none; /* 1 */
|
|
||||||
text-decoration: underline; /* 2 */
|
|
||||||
text-decoration: underline dotted; /* 2 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add the correct font weight in Chrome, Edge, and Safari.
|
|
||||||
*/
|
|
||||||
|
|
||||||
b,
|
|
||||||
strong {
|
|
||||||
font-weight: bolder;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Correct the inheritance and scaling of font size in all browsers.
|
|
||||||
* 2. Correct the odd `em` font sizing in all browsers.
|
|
||||||
*/
|
|
||||||
|
|
||||||
code,
|
|
||||||
kbd,
|
|
||||||
samp {
|
|
||||||
font-family: monospace, monospace; /* 1 */
|
|
||||||
font-size: 1em; /* 2 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add the correct font size in all browsers.
|
|
||||||
*/
|
|
||||||
|
|
||||||
small {
|
|
||||||
font-size: 80%;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Prevent `sub` and `sup` elements from affecting the line height in
|
|
||||||
* all browsers.
|
|
||||||
*/
|
|
||||||
|
|
||||||
sub,
|
|
||||||
sup {
|
|
||||||
font-size: 75%;
|
|
||||||
line-height: 0;
|
|
||||||
position: relative;
|
|
||||||
vertical-align: baseline;
|
|
||||||
}
|
|
||||||
|
|
||||||
sub {
|
|
||||||
bottom: -0.25em;
|
|
||||||
}
|
|
||||||
|
|
||||||
sup {
|
|
||||||
top: -0.5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Embedded content
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove the border on images inside links in IE 10.
|
|
||||||
*/
|
|
||||||
|
|
||||||
img {
|
|
||||||
border-style: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Forms
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Change the font styles in all browsers.
|
|
||||||
* 2. Remove the margin in Firefox and Safari.
|
|
||||||
*/
|
|
||||||
|
|
||||||
button,
|
|
||||||
input,
|
|
||||||
optgroup,
|
|
||||||
select,
|
|
||||||
textarea {
|
|
||||||
font-family: inherit; /* 1 */
|
|
||||||
font-size: 100%; /* 1 */
|
|
||||||
line-height: 1.15; /* 1 */
|
|
||||||
margin: 0; /* 2 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Show the overflow in IE.
|
|
||||||
* 1. Show the overflow in Edge.
|
|
||||||
*/
|
|
||||||
|
|
||||||
button,
|
|
||||||
input { /* 1 */
|
|
||||||
overflow: visible;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove the inheritance of text transform in Edge, Firefox, and IE.
|
|
||||||
* 1. Remove the inheritance of text transform in Firefox.
|
|
||||||
*/
|
|
||||||
|
|
||||||
button,
|
|
||||||
select { /* 1 */
|
|
||||||
text-transform: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Correct the inability to style clickable types in iOS and Safari.
|
|
||||||
*/
|
|
||||||
|
|
||||||
button,
|
|
||||||
[type="button"],
|
|
||||||
[type="reset"],
|
|
||||||
[type="submit"] {
|
|
||||||
-webkit-appearance: button;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove the inner border and padding in Firefox.
|
|
||||||
*/
|
|
||||||
|
|
||||||
button::-moz-focus-inner,
|
|
||||||
[type="button"]::-moz-focus-inner,
|
|
||||||
[type="reset"]::-moz-focus-inner,
|
|
||||||
[type="submit"]::-moz-focus-inner {
|
|
||||||
border-style: none;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Restore the focus styles unset by the previous rule.
|
|
||||||
*/
|
|
||||||
|
|
||||||
button:-moz-focusring,
|
|
||||||
[type="button"]:-moz-focusring,
|
|
||||||
[type="reset"]:-moz-focusring,
|
|
||||||
[type="submit"]:-moz-focusring {
|
|
||||||
outline: 1px dotted ButtonText;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Correct the padding in Firefox.
|
|
||||||
*/
|
|
||||||
|
|
||||||
fieldset {
|
|
||||||
padding: 0.35em 0.75em 0.625em;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Correct the text wrapping in Edge and IE.
|
|
||||||
* 2. Correct the color inheritance from `fieldset` elements in IE.
|
|
||||||
* 3. Remove the padding so developers are not caught out when they zero out
|
|
||||||
* `fieldset` elements in all browsers.
|
|
||||||
*/
|
|
||||||
|
|
||||||
legend {
|
|
||||||
box-sizing: border-box; /* 1 */
|
|
||||||
color: inherit; /* 2 */
|
|
||||||
display: table; /* 1 */
|
|
||||||
max-width: 100%; /* 1 */
|
|
||||||
padding: 0; /* 3 */
|
|
||||||
white-space: normal; /* 1 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
|
|
||||||
*/
|
|
||||||
|
|
||||||
progress {
|
|
||||||
vertical-align: baseline;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove the default vertical scrollbar in IE 10+.
|
|
||||||
*/
|
|
||||||
|
|
||||||
textarea {
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Add the correct box sizing in IE 10.
|
|
||||||
* 2. Remove the padding in IE 10.
|
|
||||||
*/
|
|
||||||
|
|
||||||
[type="checkbox"],
|
|
||||||
[type="radio"] {
|
|
||||||
box-sizing: border-box; /* 1 */
|
|
||||||
padding: 0; /* 2 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Correct the cursor style of increment and decrement buttons in Chrome.
|
|
||||||
*/
|
|
||||||
|
|
||||||
[type="number"]::-webkit-inner-spin-button,
|
|
||||||
[type="number"]::-webkit-outer-spin-button {
|
|
||||||
height: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Correct the odd appearance in Chrome and Safari.
|
|
||||||
* 2. Correct the outline style in Safari.
|
|
||||||
*/
|
|
||||||
|
|
||||||
[type="search"] {
|
|
||||||
-webkit-appearance: textfield; /* 1 */
|
|
||||||
outline-offset: -2px; /* 2 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove the inner padding in Chrome and Safari on macOS.
|
|
||||||
*/
|
|
||||||
|
|
||||||
[type="search"]::-webkit-search-decoration {
|
|
||||||
-webkit-appearance: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Correct the inability to style clickable types in iOS and Safari.
|
|
||||||
* 2. Change font properties to `inherit` in Safari.
|
|
||||||
*/
|
|
||||||
|
|
||||||
::-webkit-file-upload-button {
|
|
||||||
-webkit-appearance: button; /* 1 */
|
|
||||||
font: inherit; /* 2 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Interactive
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Add the correct display in Edge, IE 10+, and Firefox.
|
|
||||||
*/
|
|
||||||
|
|
||||||
details {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Add the correct display in all browsers.
|
|
||||||
*/
|
|
||||||
|
|
||||||
summary {
|
|
||||||
display: list-item;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Misc
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add the correct display in IE 10+.
|
|
||||||
*/
|
|
||||||
|
|
||||||
template {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add the correct display in IE 10.
|
|
||||||
*/
|
|
||||||
|
|
||||||
[hidden] {
|
|
||||||
display: none;
|
|
||||||
}
|
|
BIN
dist/favicon.ico
vendored
Before Width: | Height: | Size: 766 B |
BIN
dist/icon.png
vendored
Before Width: | Height: | Size: 3.9 KiB |
0
dist/img/.gitignore
vendored
74
dist/index.html
vendored
|
@ -1,74 +0,0 @@
|
||||||
<!doctype html>
|
|
||||||
<html class="no-js" lang="">
|
|
||||||
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<title></title>
|
|
||||||
<meta name="description" content="">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
||||||
|
|
||||||
<link rel="manifest" href="site.webmanifest">
|
|
||||||
<link rel="apple-touch-icon" href="icon.png">
|
|
||||||
<!-- Place favicon.ico in the root directory -->
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="css/normalize.css">
|
|
||||||
<link rel="stylesheet" href="css/main.css">
|
|
||||||
|
|
||||||
<meta name="theme-color" content="#fafafa">
|
|
||||||
|
|
||||||
<style>
|
|
||||||
#popularSongs, #hiddenSongs {
|
|
||||||
width: 40%;
|
|
||||||
margin: 4%;
|
|
||||||
border: 1px #78ffee solid;
|
|
||||||
}
|
|
||||||
|
|
||||||
#popularSongs h2, #hiddenSongs h2 {
|
|
||||||
text-align: center;
|
|
||||||
background-image: linear-gradient(to right, transparent, #78ffee, transparent);
|
|
||||||
}
|
|
||||||
|
|
||||||
#popularSongs {
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
#hiddenSongs {
|
|
||||||
float: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1 {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
<!--[if IE]>
|
|
||||||
<p class="browserupgrade">You are using an <strong>outdated</strong> browser. Please <a href="https://browsehappy.com/">upgrade your browser</a> to improve your experience and security.</p>
|
|
||||||
<![endif]-->
|
|
||||||
|
|
||||||
<!-- Add your site or application content here -->
|
|
||||||
<h1>Hidden Sounds Unofficial (Fan) Website</h1>
|
|
||||||
<div id="popularSongs">
|
|
||||||
<h2>Popular Songs</h2>
|
|
||||||
</div>
|
|
||||||
<div id="hiddenSongs">
|
|
||||||
<h2>Hidden Songs</h2>
|
|
||||||
</div>
|
|
||||||
<!--
|
|
||||||
<script src="js/vendor/modernizr-3.7.1.min.js"></script>
|
|
||||||
<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
|
|
||||||
<script>window.jQuery || document.write('<script src="js/vendor/jquery-3.3.1.min.js"><\/script>')</script>
|
|
||||||
<script src="js/plugins.js"></script>
|
|
||||||
<script src="js/main.js"></script>
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!-- Google Analytics: change UA-XXXXX-Y to be your site's ID. -->
|
|
||||||
<script>
|
|
||||||
window.ga = function () { ga.q.push(arguments) }; ga.q = []; ga.l = +new Date;
|
|
||||||
ga('create', 'UA-XXXXX-Y', 'auto'); ga('set','transport','beacon'); ga('send', 'pageview')
|
|
||||||
</script>
|
|
||||||
<script src="https://www.google-analytics.com/analytics.js" async defer></script>
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
0
dist/js/main.js
vendored
24
dist/js/plugins.js
vendored
|
@ -1,24 +0,0 @@
|
||||||
// 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',
|
|
||||||
'timeline', 'timelineEnd', 'timeStamp', 'trace', 'warn'
|
|
||||||
];
|
|
||||||
var length = methods.length;
|
|
||||||
var console = (window.console = window.console || {});
|
|
||||||
|
|
||||||
while (length--) {
|
|
||||||
method = methods[length];
|
|
||||||
|
|
||||||
// Only stub undefined methods.
|
|
||||||
if (!console[method]) {
|
|
||||||
console[method] = noop;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}());
|
|
||||||
|
|
||||||
// Place any jQuery/helper plugins in here.
|
|
2
dist/js/vendor/jquery-3.3.1.min.js
vendored
3
dist/js/vendor/modernizr-3.7.1.min.js
vendored
12
dist/site.webmanifest
vendored
|
@ -1,12 +0,0 @@
|
||||||
{
|
|
||||||
"short_name": "",
|
|
||||||
"name": "",
|
|
||||||
"icons": [{
|
|
||||||
"src": "icon.png",
|
|
||||||
"type": "image/png",
|
|
||||||
"sizes": "192x192"
|
|
||||||
}],
|
|
||||||
"start_url": "/?utm_source=homescreen",
|
|
||||||
"background_color": "#fafafa",
|
|
||||||
"theme_color": "#fafafa"
|
|
||||||
}
|
|
BIN
dist/tile-wide.png
vendored
Before Width: | Height: | Size: 1.8 KiB |
BIN
dist/tile.png
vendored
Before Width: | Height: | Size: 3.4 KiB |
|
@ -1,194 +0,0 @@
|
||||||
import fs from 'fs';
|
|
||||||
import path from 'path';
|
|
||||||
|
|
||||||
import gulp from 'gulp';
|
|
||||||
|
|
||||||
// Load all gulp plugins automatically
|
|
||||||
// and attach them to the `plugins` object
|
|
||||||
import plugins from 'gulp-load-plugins';
|
|
||||||
|
|
||||||
// Temporary solution until gulp 4
|
|
||||||
// https://github.com/gulpjs/gulp/issues/355
|
|
||||||
import runSequence from 'run-sequence';
|
|
||||||
|
|
||||||
import archiver from 'archiver';
|
|
||||||
import glob from 'glob';
|
|
||||||
import del from 'del';
|
|
||||||
import ssri from 'ssri';
|
|
||||||
import modernizr from 'modernizr';
|
|
||||||
|
|
||||||
import pkg from './package.json';
|
|
||||||
import modernizrConfig from './modernizr-config.json';
|
|
||||||
|
|
||||||
|
|
||||||
const dirs = pkg['h5bp-configs'].directories;
|
|
||||||
|
|
||||||
// ---------------------------------------------------------------------
|
|
||||||
// | Helper tasks |
|
|
||||||
// ---------------------------------------------------------------------
|
|
||||||
|
|
||||||
gulp.task('archive:create_archive_dir', () => {
|
|
||||||
fs.mkdirSync(path.resolve(dirs.archive), '0755');
|
|
||||||
});
|
|
||||||
|
|
||||||
gulp.task('archive:zip', (done) => {
|
|
||||||
|
|
||||||
const archiveName = path.resolve(dirs.archive, `${pkg.name}_v${pkg.version}.zip`);
|
|
||||||
const zip = archiver('zip');
|
|
||||||
const files = glob.sync('**/*.*', {
|
|
||||||
'cwd': dirs.dist,
|
|
||||||
'dot': true // include hidden files
|
|
||||||
});
|
|
||||||
const output = fs.createWriteStream(archiveName);
|
|
||||||
|
|
||||||
zip.on('error', (error) => {
|
|
||||||
done();
|
|
||||||
throw error;
|
|
||||||
});
|
|
||||||
|
|
||||||
output.on('close', done);
|
|
||||||
|
|
||||||
files.forEach((file) => {
|
|
||||||
|
|
||||||
const filePath = path.resolve(dirs.dist, file);
|
|
||||||
|
|
||||||
// `zip.bulk` does not maintain the file
|
|
||||||
// permissions, so we need to add files individually
|
|
||||||
zip.append(fs.createReadStream(filePath), {
|
|
||||||
'name': file,
|
|
||||||
'mode': fs.statSync(filePath).mode
|
|
||||||
});
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
zip.pipe(output);
|
|
||||||
zip.finalize();
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
gulp.task('clean', (done) => {
|
|
||||||
del([
|
|
||||||
dirs.archive,
|
|
||||||
dirs.dist
|
|
||||||
]).then(() => {
|
|
||||||
done();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
gulp.task('copy', [
|
|
||||||
'copy:.htaccess',
|
|
||||||
'copy:index.html',
|
|
||||||
'copy:jquery',
|
|
||||||
'copy:license',
|
|
||||||
'copy:main.css',
|
|
||||||
'copy:misc',
|
|
||||||
'copy:normalize'
|
|
||||||
]);
|
|
||||||
|
|
||||||
gulp.task('copy:.htaccess', () =>
|
|
||||||
gulp.src('node_modules/apache-server-configs/dist/.htaccess')
|
|
||||||
.pipe(plugins().replace(/# ErrorDocument/g, 'ErrorDocument'))
|
|
||||||
.pipe(gulp.dest(dirs.dist))
|
|
||||||
);
|
|
||||||
|
|
||||||
gulp.task('copy:index.html', () => {
|
|
||||||
const hash = ssri.fromData(
|
|
||||||
fs.readFileSync('node_modules/jquery/dist/jquery.min.js'),
|
|
||||||
{algorithms: ['sha256']}
|
|
||||||
);
|
|
||||||
let version = pkg.devDependencies.jquery;
|
|
||||||
let modernizrVersion = pkg.devDependencies.modernizr;
|
|
||||||
|
|
||||||
gulp.src(`${dirs.src}/index.html`)
|
|
||||||
.pipe(plugins().replace(/{{JQUERY_VERSION}}/g, version))
|
|
||||||
.pipe(plugins().replace(/{{MODERNIZR_VERSION}}/g, modernizrVersion))
|
|
||||||
.pipe(plugins().replace(/{{JQUERY_SRI_HASH}}/g, hash.toString()))
|
|
||||||
.pipe(gulp.dest(dirs.dist));
|
|
||||||
});
|
|
||||||
|
|
||||||
gulp.task('copy:jquery', () =>
|
|
||||||
gulp.src(['node_modules/jquery/dist/jquery.min.js'])
|
|
||||||
.pipe(plugins().rename(`jquery-${pkg.devDependencies.jquery}.min.js`))
|
|
||||||
.pipe(gulp.dest(`${dirs.dist}/js/vendor`))
|
|
||||||
);
|
|
||||||
|
|
||||||
gulp.task('copy:license', () =>
|
|
||||||
gulp.src('HTML5-Boilerplate-LICENSE.txt')
|
|
||||||
.pipe(gulp.dest(dirs.dist))
|
|
||||||
);
|
|
||||||
|
|
||||||
gulp.task('copy:main.css', () => {
|
|
||||||
const banner = `/*! HTML5 Boilerplate v${pkg.version} | ${pkg.license} License | ${pkg.homepage} */\n\n`;
|
|
||||||
|
|
||||||
gulp.src(`node_modules/main.css/dist/main.css`)
|
|
||||||
.pipe(plugins().header(banner))
|
|
||||||
.pipe(plugins().autoprefixer({
|
|
||||||
browsers: ['last 2 versions', 'ie >= 9', '> 1%'],
|
|
||||||
cascade: false
|
|
||||||
}))
|
|
||||||
.pipe(gulp.dest(`${dirs.dist}/css`));
|
|
||||||
});
|
|
||||||
|
|
||||||
gulp.task('copy:misc', () =>
|
|
||||||
gulp.src([
|
|
||||||
|
|
||||||
// Copy all files
|
|
||||||
`${dirs.src}/**/*`,
|
|
||||||
|
|
||||||
// Exclude the following files
|
|
||||||
// (other tasks will handle the copying of these files)
|
|
||||||
`!${dirs.src}/css/main.css`,
|
|
||||||
`!${dirs.src}/index.html`
|
|
||||||
|
|
||||||
], {
|
|
||||||
|
|
||||||
// Include hidden files by default
|
|
||||||
dot: true
|
|
||||||
|
|
||||||
}).pipe(gulp.dest(dirs.dist))
|
|
||||||
);
|
|
||||||
|
|
||||||
gulp.task('copy:normalize', () =>
|
|
||||||
gulp.src('node_modules/normalize.css/normalize.css')
|
|
||||||
.pipe(gulp.dest(`${dirs.dist}/css`))
|
|
||||||
);
|
|
||||||
|
|
||||||
gulp.task('modernizr', (done) =>{
|
|
||||||
|
|
||||||
modernizr.build(modernizrConfig, (code) => {
|
|
||||||
fs.writeFile(`${dirs.dist}/js/vendor/modernizr-${pkg.devDependencies.modernizr}.min.js`, code, done);
|
|
||||||
});
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
gulp.task('lint:js', () =>
|
|
||||||
gulp.src([
|
|
||||||
'gulpfile.js',
|
|
||||||
`${dirs.src}/js/*.js`,
|
|
||||||
`${dirs.test}/*.js`
|
|
||||||
]).pipe(plugins().jscs())
|
|
||||||
.pipe(plugins().eslint())
|
|
||||||
.pipe(plugins().eslint.failOnError())
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
// ---------------------------------------------------------------------
|
|
||||||
// | Main tasks |
|
|
||||||
// ---------------------------------------------------------------------
|
|
||||||
|
|
||||||
gulp.task('archive', (done) => {
|
|
||||||
runSequence(
|
|
||||||
'build',
|
|
||||||
'archive:create_archive_dir',
|
|
||||||
'archive:zip',
|
|
||||||
done);
|
|
||||||
});
|
|
||||||
|
|
||||||
gulp.task('build', (done) => {
|
|
||||||
runSequence(
|
|
||||||
['clean', 'lint:js'],
|
|
||||||
'copy', 'modernizr',
|
|
||||||
done);
|
|
||||||
});
|
|
||||||
|
|
||||||
gulp.task('default', ['build']);
|
|
|
@ -7,11 +7,10 @@
|
||||||
<meta name="description" content="">
|
<meta name="description" content="">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
|
||||||
<link rel="manifest" href="site.webmanifest">
|
<link rel="manifest" href="src/site.webmanifest">
|
||||||
<link rel="apple-touch-icon" href="icon.png">
|
<link rel="apple-touch-icon" href="src/icon.png">
|
||||||
<!-- Place favicon.ico in the root directory -->
|
<!-- Place favicon.ico in the root directory -->
|
||||||
|
|
||||||
<link rel="stylesheet" href="css/normalize.css">
|
|
||||||
<link rel="stylesheet" href="css/main.css">
|
<link rel="stylesheet" href="css/main.css">
|
||||||
|
|
||||||
<meta name="theme-color" content="#fafafa">
|
<meta name="theme-color" content="#fafafa">
|
||||||
|
@ -25,7 +24,7 @@
|
||||||
|
|
||||||
#popularSongs h2, #hiddenSongs h2 {
|
#popularSongs h2, #hiddenSongs h2 {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
background-image: linear-gradient(to right, transparent, #78ffee, transparent);
|
color: aqua;
|
||||||
}
|
}
|
||||||
|
|
||||||
#popularSongs {
|
#popularSongs {
|
||||||
|
@ -38,11 +37,13 @@
|
||||||
|
|
||||||
h1 {
|
h1 {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
color: aqua;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
|
<div class="bg-image"></div>
|
||||||
<!--[if IE]>
|
<!--[if IE]>
|
||||||
<p class="browserupgrade">You are using an <strong>outdated</strong> browser. Please <a href="https://browsehappy.com/">upgrade your browser</a> to improve your experience and security.</p>
|
<p class="browserupgrade">You are using an <strong>outdated</strong> browser. Please <a href="https://browsehappy.com/">upgrade your browser</a> to improve your experience and security.</p>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
|
@ -51,9 +52,17 @@
|
||||||
<h1>Hidden Sounds Unofficial (Fan) Website</h1>
|
<h1>Hidden Sounds Unofficial (Fan) Website</h1>
|
||||||
<div id="popularSongs">
|
<div id="popularSongs">
|
||||||
<h2>Popular Songs</h2>
|
<h2>Popular Songs</h2>
|
||||||
|
<div id="popularContainer">
|
||||||
|
<div class="song">
|
||||||
|
<p><a href="https://spotify.com/">Artist - Title</a></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="hiddenSongs">
|
<div id="hiddenSongs">
|
||||||
<h2>Hidden Songs</h2>
|
<h2>Hidden Songs</h2>
|
||||||
|
<div id="hiddenContainer">
|
||||||
|
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!--
|
<!--
|
||||||
<script src="js/vendor/modernizr-{{MODERNIZR_VERSION}}.min.js"></script>
|
<script src="js/vendor/modernizr-{{MODERNIZR_VERSION}}.min.js"></script>
|
|
@ -1,30 +0,0 @@
|
||||||
{
|
|
||||||
"minify": true,
|
|
||||||
"options": [
|
|
||||||
"domPrefixes",
|
|
||||||
"prefixes",
|
|
||||||
"addTest",
|
|
||||||
"hasEvent",
|
|
||||||
"mq",
|
|
||||||
"prefixedCSSValue",
|
|
||||||
"testAllProps",
|
|
||||||
"testProp",
|
|
||||||
"testStyles",
|
|
||||||
"setClasses"
|
|
||||||
],
|
|
||||||
"feature-detects": [
|
|
||||||
"test/custom-elements",
|
|
||||||
"test/history",
|
|
||||||
"test/pointerevents",
|
|
||||||
"test/postmessage",
|
|
||||||
"test/webgl",
|
|
||||||
"test/websockets",
|
|
||||||
"test/css/animations",
|
|
||||||
"test/css/columns",
|
|
||||||
"test/css/flexbox",
|
|
||||||
"test/elem/picture",
|
|
||||||
"test/img/sizes",
|
|
||||||
"test/img/srcset",
|
|
||||||
"test/workers/webworkers"
|
|
||||||
]
|
|
||||||
}
|
|
68
package.json
|
@ -1,68 +0,0 @@
|
||||||
{
|
|
||||||
"devDependencies": {
|
|
||||||
"apache-server-configs": "^3.1.0",
|
|
||||||
"archiver": "^3.0.0",
|
|
||||||
"babel-core": "^6.26.3",
|
|
||||||
"babel-preset-env": "^1.7.0",
|
|
||||||
"babel-register": "^6.26.0",
|
|
||||||
"del": "^4.0.0",
|
|
||||||
"eslint": "^5.15.2",
|
|
||||||
"eslint-config-recommended": "^4.0.0",
|
|
||||||
"eslint-plugin-mocha": "^5.3.0",
|
|
||||||
"glob": "^7.1.3",
|
|
||||||
"gulp": "^3.9.1",
|
|
||||||
"gulp-autoprefixer": "^6.0.0",
|
|
||||||
"gulp-eslint": "^5.0.0",
|
|
||||||
"gulp-header": "^2.0.7",
|
|
||||||
"gulp-jscs": "^4.1.0",
|
|
||||||
"gulp-load-plugins": "^1.5.0",
|
|
||||||
"gulp-rename": "^1.4.0",
|
|
||||||
"gulp-replace": "^1.0.0",
|
|
||||||
"jquery": "3.3.1",
|
|
||||||
"main.css": "1.0.0",
|
|
||||||
"mocha": "^5.2.0",
|
|
||||||
"modernizr": "3.7.1",
|
|
||||||
"normalize.css": "8.0.1",
|
|
||||||
"run-sequence": "^2.2.1",
|
|
||||||
"ssri": "^6.0.1",
|
|
||||||
"strip-json-comments": "^2.0.1"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=6",
|
|
||||||
"npm": ">=3"
|
|
||||||
},
|
|
||||||
"babel": {
|
|
||||||
"presets": [
|
|
||||||
"env"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"h5bp-configs": {
|
|
||||||
"directories": {
|
|
||||||
"archive": "archive",
|
|
||||||
"dist": "dist",
|
|
||||||
"src": "src",
|
|
||||||
"test": "test"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"homepage": "https://html5boilerplate.com/",
|
|
||||||
"license": "MIT",
|
|
||||||
"name": "html5-boilerplate",
|
|
||||||
"scripts": {
|
|
||||||
"build": "gulp build",
|
|
||||||
"test": "gulp archive && mocha --require babel-core/register --reporter spec --timeout 5000"
|
|
||||||
},
|
|
||||||
"version": "7.1.0",
|
|
||||||
"description": "A professional front-end template for building fast, robust, and adaptable web apps or sites.",
|
|
||||||
"files": [
|
|
||||||
"CHANGELOG.md",
|
|
||||||
"HTML5-Boilerplate-LICENSE.txt",
|
|
||||||
"package.json",
|
|
||||||
"dist/",
|
|
||||||
"modernizr-config.json",
|
|
||||||
"README.md"
|
|
||||||
],
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/h5bp/html5-boilerplate.git"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,13 +0,0 @@
|
||||||
# editorconfig.org
|
|
||||||
|
|
||||||
root = true
|
|
||||||
|
|
||||||
[*]
|
|
||||||
charset = utf-8
|
|
||||||
indent_size = 2
|
|
||||||
indent_style = space
|
|
||||||
insert_final_newline = true
|
|
||||||
trim_trailing_whitespace = true
|
|
||||||
|
|
||||||
[*.md]
|
|
||||||
trim_trailing_whitespace = false
|
|
194
src/.gitattributes
vendored
|
@ -1,194 +0,0 @@
|
||||||
## GITATTRIBUTES FOR WEB PROJECTS
|
|
||||||
#
|
|
||||||
# These settings are for any web project.
|
|
||||||
#
|
|
||||||
# Details per file setting:
|
|
||||||
# text These files should be normalized (i.e. convert CRLF to LF).
|
|
||||||
# binary These files are binary and should be left untouched.
|
|
||||||
#
|
|
||||||
# Note that binary is a macro for -text -diff.
|
|
||||||
######################################################################
|
|
||||||
|
|
||||||
## AUTO-DETECT
|
|
||||||
## Handle line endings automatically for files detected as
|
|
||||||
## text and leave all files detected as binary untouched.
|
|
||||||
## This will handle all files NOT defined below.
|
|
||||||
* text=auto
|
|
||||||
|
|
||||||
## SOURCE CODE
|
|
||||||
*.bat text eol=crlf
|
|
||||||
*.coffee text
|
|
||||||
*.css text
|
|
||||||
*.htm text
|
|
||||||
*.html text
|
|
||||||
*.inc text
|
|
||||||
*.ini text
|
|
||||||
*.js text
|
|
||||||
*.json text
|
|
||||||
*.jsx text
|
|
||||||
*.less text
|
|
||||||
*.od text
|
|
||||||
*.onlydata text
|
|
||||||
*.php text
|
|
||||||
*.pl text
|
|
||||||
*.py text
|
|
||||||
*.rb text
|
|
||||||
*.sass text
|
|
||||||
*.scm text
|
|
||||||
*.scss text
|
|
||||||
*.sh text eol=lf
|
|
||||||
*.sql text
|
|
||||||
*.styl text
|
|
||||||
*.tag text
|
|
||||||
*.ts text
|
|
||||||
*.tsx text
|
|
||||||
*.xml text
|
|
||||||
*.xhtml text
|
|
||||||
|
|
||||||
## DOCKER
|
|
||||||
*.dockerignore text
|
|
||||||
Dockerfile text
|
|
||||||
|
|
||||||
## DOCUMENTATION
|
|
||||||
*.markdown text
|
|
||||||
*.md text
|
|
||||||
*.mdwn text
|
|
||||||
*.mdown text
|
|
||||||
*.mkd text
|
|
||||||
*.mkdn text
|
|
||||||
*.mdtxt text
|
|
||||||
*.mdtext text
|
|
||||||
*.txt text
|
|
||||||
AUTHORS text
|
|
||||||
CHANGELOG text
|
|
||||||
CHANGES text
|
|
||||||
CONTRIBUTING text
|
|
||||||
COPYING text
|
|
||||||
copyright text
|
|
||||||
*COPYRIGHT* text
|
|
||||||
INSTALL text
|
|
||||||
license text
|
|
||||||
LICENSE text
|
|
||||||
NEWS text
|
|
||||||
readme text
|
|
||||||
*README* text
|
|
||||||
TODO text
|
|
||||||
|
|
||||||
## TEMPLATES
|
|
||||||
*.dot text
|
|
||||||
*.ejs text
|
|
||||||
*.haml text
|
|
||||||
*.handlebars text
|
|
||||||
*.hbs text
|
|
||||||
*.hbt text
|
|
||||||
*.jade text
|
|
||||||
*.latte text
|
|
||||||
*.mustache text
|
|
||||||
*.njk text
|
|
||||||
*.phtml text
|
|
||||||
*.tmpl text
|
|
||||||
*.tpl text
|
|
||||||
*.twig text
|
|
||||||
|
|
||||||
## LINTERS
|
|
||||||
.babelrc text
|
|
||||||
.csslintrc text
|
|
||||||
.eslintrc text
|
|
||||||
.htmlhintrc text
|
|
||||||
.jscsrc text
|
|
||||||
.jshintrc text
|
|
||||||
.jshintignore text
|
|
||||||
.prettierrc text
|
|
||||||
.stylelintrc text
|
|
||||||
|
|
||||||
## CONFIGS
|
|
||||||
*.bowerrc text
|
|
||||||
*.cnf text
|
|
||||||
*.conf text
|
|
||||||
*.config text
|
|
||||||
.browserslistrc text
|
|
||||||
.editorconfig text
|
|
||||||
.gitattributes text
|
|
||||||
.gitconfig text
|
|
||||||
.gitignore text
|
|
||||||
.htaccess text
|
|
||||||
*.npmignore text
|
|
||||||
*.yaml text
|
|
||||||
*.yml text
|
|
||||||
browserslist text
|
|
||||||
Makefile text
|
|
||||||
makefile text
|
|
||||||
|
|
||||||
## HEROKU
|
|
||||||
Procfile text
|
|
||||||
.slugignore text
|
|
||||||
|
|
||||||
## GRAPHICS
|
|
||||||
*.ai binary
|
|
||||||
*.bmp binary
|
|
||||||
*.eps binary
|
|
||||||
*.gif binary
|
|
||||||
*.ico binary
|
|
||||||
*.jng binary
|
|
||||||
*.jp2 binary
|
|
||||||
*.jpg binary
|
|
||||||
*.jpeg binary
|
|
||||||
*.jpx binary
|
|
||||||
*.jxr binary
|
|
||||||
*.pdf binary
|
|
||||||
*.png binary
|
|
||||||
*.psb binary
|
|
||||||
*.psd binary
|
|
||||||
*.svg text
|
|
||||||
*.svgz binary
|
|
||||||
*.tif binary
|
|
||||||
*.tiff binary
|
|
||||||
*.wbmp binary
|
|
||||||
*.webp binary
|
|
||||||
|
|
||||||
## AUDIO
|
|
||||||
*.kar binary
|
|
||||||
*.m4a binary
|
|
||||||
*.mid binary
|
|
||||||
*.midi binary
|
|
||||||
*.mp3 binary
|
|
||||||
*.ogg binary
|
|
||||||
*.ra binary
|
|
||||||
|
|
||||||
## VIDEO
|
|
||||||
*.3gpp binary
|
|
||||||
*.3gp binary
|
|
||||||
*.as binary
|
|
||||||
*.asf binary
|
|
||||||
*.asx binary
|
|
||||||
*.fla binary
|
|
||||||
*.flv binary
|
|
||||||
*.m4v binary
|
|
||||||
*.mng binary
|
|
||||||
*.mov binary
|
|
||||||
*.mp4 binary
|
|
||||||
*.mpeg binary
|
|
||||||
*.mpg binary
|
|
||||||
*.ogv binary
|
|
||||||
*.swc binary
|
|
||||||
*.swf binary
|
|
||||||
*.webm binary
|
|
||||||
|
|
||||||
## ARCHIVES
|
|
||||||
*.7z binary
|
|
||||||
*.gz binary
|
|
||||||
*.jar binary
|
|
||||||
*.rar binary
|
|
||||||
*.tar binary
|
|
||||||
*.zip binary
|
|
||||||
|
|
||||||
## FONTS
|
|
||||||
*.ttf binary
|
|
||||||
*.eot binary
|
|
||||||
*.otf binary
|
|
||||||
*.woff binary
|
|
||||||
*.woff2 binary
|
|
||||||
|
|
||||||
## EXECUTABLES
|
|
||||||
*.exe binary
|
|
||||||
*.pyc binary
|
|
3
src/.gitignore
vendored
|
@ -1,3 +0,0 @@
|
||||||
# Include your project-specific ignores in this file
|
|
||||||
# Read about how to use .gitignore: https://help.github.com/articles/ignoring-files
|
|
||||||
# Useful .gitignore templates: https://github.com/github/gitignore
|
|
60
src/404.html
|
@ -1,60 +0,0 @@
|
||||||
<!doctype html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<title>Page Not Found</title>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
||||||
<style>
|
|
||||||
|
|
||||||
* {
|
|
||||||
line-height: 1.2;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
html {
|
|
||||||
color: #888;
|
|
||||||
display: table;
|
|
||||||
font-family: sans-serif;
|
|
||||||
height: 100%;
|
|
||||||
text-align: center;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
body {
|
|
||||||
display: table-cell;
|
|
||||||
vertical-align: middle;
|
|
||||||
margin: 2em auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1 {
|
|
||||||
color: #555;
|
|
||||||
font-size: 2em;
|
|
||||||
font-weight: 400;
|
|
||||||
}
|
|
||||||
|
|
||||||
p {
|
|
||||||
margin: 0 auto;
|
|
||||||
width: 280px;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media only screen and (max-width: 280px) {
|
|
||||||
|
|
||||||
body, p {
|
|
||||||
width: 95%;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1 {
|
|
||||||
font-size: 1.5em;
|
|
||||||
margin: 0 0 0.3em;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<h1>Page Not Found</h1>
|
|
||||||
<p>Sorry, but the page you were trying to view does not exist.</p>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
<!-- IE needs 512+ bytes: https://blogs.msdn.microsoft.com/ieinternals/2010/08/18/friendly-http-error-pages/ -->
|
|
|
@ -1,12 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!-- Please read: https://msdn.microsoft.com/en-us/library/ie/dn455106.aspx -->
|
|
||||||
<browserconfig>
|
|
||||||
<msapplication>
|
|
||||||
<tile>
|
|
||||||
<square70x70logo src="tile.png"/>
|
|
||||||
<square150x150logo src="tile.png"/>
|
|
||||||
<wide310x150logo src="tile-wide.png"/>
|
|
||||||
<square310x310logo src="tile.png"/>
|
|
||||||
</tile>
|
|
||||||
</msapplication>
|
|
||||||
</browserconfig>
|
|
BIN
src/favicon.ico
Before Width: | Height: | Size: 766 B |
|
@ -1,15 +0,0 @@
|
||||||
# humanstxt.org/
|
|
||||||
# The humans responsible & technology colophon
|
|
||||||
|
|
||||||
# TEAM
|
|
||||||
|
|
||||||
<name> -- <role> -- <twitter>
|
|
||||||
|
|
||||||
# THANKS
|
|
||||||
|
|
||||||
<name>
|
|
||||||
|
|
||||||
# TECHNOLOGY COLOPHON
|
|
||||||
|
|
||||||
CSS3, HTML5
|
|
||||||
Apache Server Configs, jQuery, Modernizr, Normalize.css
|
|
BIN
src/icon.png
Before Width: | Height: | Size: 3.9 KiB |
0
src/img/.gitignore
vendored
|
@ -1,24 +0,0 @@
|
||||||
// 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',
|
|
||||||
'timeline', 'timelineEnd', 'timeStamp', 'trace', 'warn'
|
|
||||||
];
|
|
||||||
var length = methods.length;
|
|
||||||
var console = (window.console = window.console || {});
|
|
||||||
|
|
||||||
while (length--) {
|
|
||||||
method = methods[length];
|
|
||||||
|
|
||||||
// Only stub undefined methods.
|
|
||||||
if (!console[method]) {
|
|
||||||
console[method] = noop;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}());
|
|
||||||
|
|
||||||
// Place any jQuery/helper plugins in here.
|
|
|
@ -1,5 +0,0 @@
|
||||||
# www.robotstxt.org/
|
|
||||||
|
|
||||||
# Allow crawling of all content
|
|
||||||
User-agent: *
|
|
||||||
Disallow:
|
|
|
@ -1,12 +0,0 @@
|
||||||
{
|
|
||||||
"short_name": "",
|
|
||||||
"name": "",
|
|
||||||
"icons": [{
|
|
||||||
"src": "icon.png",
|
|
||||||
"type": "image/png",
|
|
||||||
"sizes": "192x192"
|
|
||||||
}],
|
|
||||||
"start_url": "/?utm_source=homescreen",
|
|
||||||
"background_color": "#fafafa",
|
|
||||||
"theme_color": "#fafafa"
|
|
||||||
}
|
|
Before Width: | Height: | Size: 1.8 KiB |
BIN
src/tile.png
Before Width: | Height: | Size: 3.4 KiB |
|
@ -1,83 +0,0 @@
|
||||||
import assert from 'assert';
|
|
||||||
import fs from 'fs';
|
|
||||||
import path from 'path';
|
|
||||||
|
|
||||||
import pkg from './../package.json';
|
|
||||||
|
|
||||||
const dirs = pkg['h5bp-configs'].directories;
|
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
||||||
|
|
||||||
function checkString(file, string, done) {
|
|
||||||
|
|
||||||
let character = '';
|
|
||||||
let matchFound = false;
|
|
||||||
let matchedPositions = 0;
|
|
||||||
const readStream = fs.createReadStream(file, {'encoding': 'utf8'});
|
|
||||||
|
|
||||||
readStream.on('close', done);
|
|
||||||
readStream.on('error', done);
|
|
||||||
readStream.on('readable', function () {
|
|
||||||
|
|
||||||
// Read file until the string is found
|
|
||||||
// or the whole file has been read
|
|
||||||
while (matchFound !== true &&
|
|
||||||
(character = readStream.read(1)) !== null) {
|
|
||||||
|
|
||||||
if (character === string.charAt(matchedPositions)) {
|
|
||||||
matchedPositions += 1;
|
|
||||||
} else {
|
|
||||||
matchedPositions = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (matchedPositions === string.length) {
|
|
||||||
matchFound = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
assert.equal(true, matchFound);
|
|
||||||
this.close();
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
||||||
|
|
||||||
function runTests() {
|
|
||||||
|
|
||||||
const dir = dirs.dist;
|
|
||||||
|
|
||||||
describe(`Test if the files from the "${dir}" directory have the expected content`, () => {
|
|
||||||
|
|
||||||
it('".htaccess" should have the "ErrorDocument..." line uncommented', (done) => {
|
|
||||||
const string = '\n\nErrorDocument 404 /404.html\n\n';
|
|
||||||
checkString(path.resolve(dir, '.htaccess'), string, done);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('"index.html" should contain the correct jQuery version in the CDN URL', (done) => {
|
|
||||||
const string = `code.jquery.com/jquery-${pkg.devDependencies.jquery}.min.js`;
|
|
||||||
checkString(path.resolve(dir, 'index.html'), string, done);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('"index.html" should contain the correct jQuery version in the local URL', (done) => {
|
|
||||||
const string = `js/vendor/jquery-${pkg.devDependencies.jquery}.min.js`;
|
|
||||||
checkString(path.resolve(dir, 'index.html'), string, done);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('"index.html" should contain the correct Modernizr version in the local URL', (done) => {
|
|
||||||
const string = `js/vendor/modernizr-${pkg.devDependencies.modernizr}.min.js`;
|
|
||||||
checkString(path.resolve(dir, 'index.html'), string, done);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('"main.css" should contain a custom banner', function (done) {
|
|
||||||
const string = `/*! HTML5 Boilerplate v${pkg.version} | ${pkg.license} License | ${pkg.homepage} */\n`;
|
|
||||||
checkString(path.resolve(dir, 'css/main.css'), string, done);
|
|
||||||
});
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
runTests();
|
|
|
@ -1,133 +0,0 @@
|
||||||
import assert from 'assert';
|
|
||||||
import fs from 'fs';
|
|
||||||
import path from 'path';
|
|
||||||
import glob from 'glob';
|
|
||||||
|
|
||||||
import pkg from './../package.json';
|
|
||||||
|
|
||||||
const dirs = pkg['h5bp-configs'].directories;
|
|
||||||
|
|
||||||
const expectedFilesInArchiveDir = [
|
|
||||||
`${pkg.name}_v${pkg.version}.zip`
|
|
||||||
];
|
|
||||||
|
|
||||||
const expectedFilesInDistDir = [
|
|
||||||
|
|
||||||
'.editorconfig',
|
|
||||||
'.gitattributes',
|
|
||||||
'.gitignore',
|
|
||||||
'.htaccess',
|
|
||||||
'404.html',
|
|
||||||
'browserconfig.xml',
|
|
||||||
|
|
||||||
'css/', // for directories, a `/` character
|
|
||||||
// should be included at the end
|
|
||||||
'css/main.css',
|
|
||||||
'css/normalize.css',
|
|
||||||
|
|
||||||
'doc/',
|
|
||||||
'doc/TOC.md',
|
|
||||||
'doc/css.md',
|
|
||||||
'doc/extend.md',
|
|
||||||
'doc/faq.md',
|
|
||||||
'doc/html.md',
|
|
||||||
'doc/js.md',
|
|
||||||
'doc/misc.md',
|
|
||||||
'doc/usage.md',
|
|
||||||
|
|
||||||
'favicon.ico',
|
|
||||||
'humans.txt',
|
|
||||||
|
|
||||||
'icon.png',
|
|
||||||
|
|
||||||
'img/',
|
|
||||||
'img/.gitignore',
|
|
||||||
|
|
||||||
'index.html',
|
|
||||||
|
|
||||||
'js/',
|
|
||||||
'js/main.js',
|
|
||||||
'js/plugins.js',
|
|
||||||
'js/vendor/',
|
|
||||||
`js/vendor/jquery-${pkg.devDependencies.jquery}.min.js`,
|
|
||||||
`js/vendor/modernizr-${pkg.devDependencies.modernizr}.min.js`,
|
|
||||||
|
|
||||||
'HTML5-Boilerplate-LICENSE.txt',
|
|
||||||
'robots.txt',
|
|
||||||
'site.webmanifest',
|
|
||||||
'tile-wide.png',
|
|
||||||
'tile.png'
|
|
||||||
|
|
||||||
];
|
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
||||||
|
|
||||||
function checkFiles(directory, expectedFiles) {
|
|
||||||
|
|
||||||
// Get the list of files from the specified directory
|
|
||||||
const files = glob.sync('**/*', {
|
|
||||||
'cwd': directory,
|
|
||||||
'dot': true, // include hidden files
|
|
||||||
'mark': true // add a `/` character to directory matches
|
|
||||||
});
|
|
||||||
|
|
||||||
// Check if all expected files are present in the
|
|
||||||
// specified directory, and are of the expected type
|
|
||||||
expectedFiles.forEach((file) => {
|
|
||||||
|
|
||||||
let ok = false;
|
|
||||||
const expectedFileType = (file.slice(-1) !== '/' ? 'regular file' : 'directory');
|
|
||||||
|
|
||||||
// If file exists
|
|
||||||
if (files.indexOf(file) !== -1) {
|
|
||||||
|
|
||||||
// Check if the file is of the correct type
|
|
||||||
if (file.slice(-1) !== '/') {
|
|
||||||
// Check if the file is really a regular file
|
|
||||||
ok = fs.statSync(path.resolve(directory, file)).isFile();
|
|
||||||
} else {
|
|
||||||
// Check if the file is a directory
|
|
||||||
// (Since glob adds the `/` character to directory matches,
|
|
||||||
// we can simply check if the `/` character is present)
|
|
||||||
ok = (files[files.indexOf(file)].slice(-1) === '/');
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
it(`"${file}" should be present and it should be a ${expectedFileType}`, () =>{
|
|
||||||
assert.equal(true, ok);
|
|
||||||
});
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
// List all files that should be NOT
|
|
||||||
// be present in the specified directory
|
|
||||||
(files.filter((file) => {
|
|
||||||
return expectedFiles.indexOf(file) === -1;
|
|
||||||
})).forEach((file) => {
|
|
||||||
it(`"${file}" should NOT be present`, () => {
|
|
||||||
assert(false);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
||||||
|
|
||||||
function runTests() {
|
|
||||||
|
|
||||||
describe('Test if all the expected files, and only them, are present in the build directories', () => {
|
|
||||||
|
|
||||||
describe(dirs.archive, () => {
|
|
||||||
checkFiles(dirs.archive, expectedFilesInArchiveDir);
|
|
||||||
});
|
|
||||||
|
|
||||||
describe(dirs.dist, () => {
|
|
||||||
checkFiles(dirs.dist, expectedFilesInDistDir);
|
|
||||||
});
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
runTests();
|
|