Added support for Gulp for building
Signed-off-by: Jim Martens <github@2martens.de>
This commit is contained in:
@ -50,3 +50,12 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
<script type="text/javascript" src="/assets/js/main.js" defer></script>
|
||||
<script>
|
||||
echo.init({
|
||||
offset: 500,
|
||||
throttle: 250,
|
||||
unload: false
|
||||
});
|
||||
</script>
|
||||
<noscript><link rel="stylesheet" href="/assets/css/main.css" type="text/css"></noscript>
|
||||
|
||||
@ -29,8 +29,118 @@
|
||||
{% if author %}
|
||||
<meta property="article:author" content="{{ author.name }}" />
|
||||
{% endif %}
|
||||
{% asset main.css %}
|
||||
{% asset fa-svg-with-js.css %}
|
||||
|
||||
<link rel="preload" href="/assets/css/main.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
|
||||
<script>
|
||||
/*! loadCSS. [c]2017 Filament Group, Inc. MIT License */
|
||||
(function( w ){
|
||||
"use strict";
|
||||
// rel=preload support test
|
||||
if( !w.loadCSS ){
|
||||
w.loadCSS = function(){};
|
||||
}
|
||||
// define on the loadCSS obj
|
||||
var rp = loadCSS.relpreload = {};
|
||||
// rel=preload feature support test
|
||||
// runs once and returns a function for compat purposes
|
||||
rp.support = (function(){
|
||||
var ret;
|
||||
try {
|
||||
ret = w.document.createElement( "link" ).relList.supports( "preload" );
|
||||
} catch (e) {
|
||||
ret = false;
|
||||
}
|
||||
return function(){
|
||||
return ret;
|
||||
};
|
||||
})();
|
||||
|
||||
// if preload isn't supported, get an asynchronous load by using a non-matching media attribute
|
||||
// then change that media back to its intended value on load
|
||||
rp.bindMediaToggle = function( link ){
|
||||
// remember existing media attr for ultimate state, or default to 'all'
|
||||
var finalMedia = link.media || "all";
|
||||
|
||||
function enableStylesheet(){
|
||||
// unbind listeners
|
||||
if( link.addEventListener ){
|
||||
link.removeEventListener( "load", enableStylesheet );
|
||||
} else if( link.attachEvent ){
|
||||
link.detachEvent( "onload", enableStylesheet );
|
||||
}
|
||||
link.setAttribute( "onload", null );
|
||||
link.media = finalMedia;
|
||||
}
|
||||
|
||||
// bind load handlers to enable media
|
||||
if( link.addEventListener ){
|
||||
link.addEventListener( "load", enableStylesheet );
|
||||
} else if( link.attachEvent ){
|
||||
link.attachEvent( "onload", enableStylesheet );
|
||||
}
|
||||
|
||||
// Set rel and non-applicable media type to start an async request
|
||||
// note: timeout allows this to happen async to let rendering continue in IE
|
||||
setTimeout(function(){
|
||||
link.rel = "stylesheet";
|
||||
link.media = "only x";
|
||||
});
|
||||
// also enable media after 3 seconds,
|
||||
// which will catch very old browsers (android 2.x, old firefox) that don't support onload on link
|
||||
setTimeout( enableStylesheet, 3000 );
|
||||
};
|
||||
|
||||
// loop through link elements in DOM
|
||||
rp.poly = function(){
|
||||
// double check this to prevent external calls from running
|
||||
if( rp.support() ){
|
||||
return;
|
||||
}
|
||||
var links = w.document.getElementsByTagName( "link" );
|
||||
for( var i = 0; i < links.length; i++ ){
|
||||
var link = links[ i ];
|
||||
// qualify links to those with rel=preload and as=style attrs
|
||||
if( link.rel === "preload" && link.getAttribute( "as" ) === "style" && !link.getAttribute( "data-loadcss" ) ){
|
||||
// prevent rerunning on link
|
||||
link.setAttribute( "data-loadcss", true );
|
||||
// bind listeners to toggle media back
|
||||
rp.bindMediaToggle( link );
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// if unsupported, run the polyfill
|
||||
if( !rp.support() ){
|
||||
// run once at least
|
||||
rp.poly();
|
||||
|
||||
// rerun poly on an interval until onload
|
||||
var run = w.setInterval( rp.poly, 500 );
|
||||
if( w.addEventListener ){
|
||||
w.addEventListener( "load", function(){
|
||||
rp.poly();
|
||||
w.clearInterval( run );
|
||||
} );
|
||||
} else if( w.attachEvent ){
|
||||
w.attachEvent( "onload", function(){
|
||||
rp.poly();
|
||||
w.clearInterval( run );
|
||||
} );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// commonjs
|
||||
if( typeof exports !== "undefined" ){
|
||||
exports.loadCSS = loadCSS;
|
||||
}
|
||||
else {
|
||||
w.loadCSS = loadCSS;
|
||||
}
|
||||
}( typeof global !== "undefined" ? global : this ) );
|
||||
</script>
|
||||
<style>{% include critical.css %}</style>
|
||||
|
||||
<link rel="canonical" href="{{ page.url | replace:'index.html','' | prepend: site.baseurl | prepend: site.url }}">
|
||||
<link rel="alternate" type="application/rss+xml" title="{{ site.title }}"
|
||||
href="{{ site.baseurl }}{% link feed.xml %}">
|
||||
@ -44,14 +154,4 @@
|
||||
<script src="https://code.jquery.com/jquery-3.3.1.min.js"
|
||||
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
|
||||
crossorigin="anonymous"></script>
|
||||
{% asset main.js %}
|
||||
{% asset echo.js %}
|
||||
<script defer>
|
||||
echo.init({
|
||||
offset: 500,
|
||||
throttle: 250,
|
||||
unload: false
|
||||
});
|
||||
</script>
|
||||
{% asset fontawesome-all.js defer %}
|
||||
</head>
|
||||
|
||||
Reference in New Issue
Block a user