mirror of
https://github.com/dillonzq/LoveIt.git
synced 2025-04-27 06:06:20 +02:00
feat: CDN for public js lib
This commit is contained in:
parent
3b279e7981
commit
cf4b33aed3
9 changed files with 109 additions and 77 deletions
|
@ -6,7 +6,7 @@
|
|||
* @sksmatt
|
||||
*
|
||||
*/
|
||||
var mv_dynamic_to_top = {"text":"0","version":"0","min":"200","speed":"1000","easing":"easeInOutExpo","margin":"20"};
|
||||
var mv_dynamic_to_top = {"text":"0","version":"0","min":"200","speed":"300","easing":"easeInOutExpo","margin":"20"};
|
||||
(function($,mv_dynamic_to_top){jQuery.fn.DynamicToTop=function(options){var defaults={text:mv_dynamic_to_top.text,min:parseInt(mv_dynamic_to_top.min,10),fade_in:600,fade_out:400,speed:parseInt(mv_dynamic_to_top.speed,10),easing:mv_dynamic_to_top.easing,version:mv_dynamic_to_top.version,id:'dynamic-to-top'},settings=$.extend(defaults,options);if(settings.version===""||settings.version==='0'){settings.text='<span> </span>';}
|
||||
if(!$.isFunction(settings.easing)){settings.easing='linear';}
|
||||
var $toTop=$('<a href=\"#\" id=\"'+settings.id+'\"></a>').html(settings.text);$toTop.hide().appendTo('body').click(function(){$('html, body').stop().animate({scrollTop:0},settings.speed,settings.easing);return false;});$(window).scroll(function(){var sd=jQuery(window).scrollTop();if(typeof document.body.style.maxHeight==="undefined"){$toTop.css({'position':'absolute','top':sd+$(window).height()-mv_dynamic_to_top.margin});}
|
2
assets/js/jquery.min.js
vendored
2
assets/js/jquery.min.js
vendored
File diff suppressed because one or more lines are too long
2
assets/js/jquery.slim.min.js
vendored
Normal file
2
assets/js/jquery.slim.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
4
assets/js/lazysizes.min.js
vendored
4
assets/js/lazysizes.min.js
vendored
File diff suppressed because one or more lines are too long
8
assets/js/lightGallery-all.min.js
vendored
8
assets/js/lightGallery-all.min.js
vendored
File diff suppressed because one or more lines are too long
|
@ -1,54 +1,54 @@
|
|||
$(document).ready(function() {
|
||||
let items = [];
|
||||
$('.post-content figure').each(function() {
|
||||
if ($(this).attr('class') == 'gallery-ignore') return true; // ignore any figures where class="pswp-ignore"
|
||||
// get properties from child a/img/figcaption elements,
|
||||
let $figure = $(this),
|
||||
$img = $figure.find('img'),
|
||||
$src = $img.attr('data-src'),
|
||||
$title = $figure.find('figcaption').html();
|
||||
$(document).ready(function () {
|
||||
let items = [];
|
||||
$('.post-content figure').each(function () {
|
||||
if ($(this).attr('class') == 'gallery-ignore') return true; // ignore any figures where class="pswp-ignore"
|
||||
// get properties from child a/img/figcaption elements,
|
||||
let $figure = $(this),
|
||||
$img = $figure.find('img'),
|
||||
$src = $img.attr('data-src'),
|
||||
$title = $figure.find('figcaption').html();
|
||||
|
||||
if ($img.data('size')) {
|
||||
let $size = $a.data('size').split('x');
|
||||
var item = {
|
||||
'src': $src,
|
||||
'thumb': $src,
|
||||
'subHtml': $title,
|
||||
'width': $size[0],
|
||||
'height': $size[1]
|
||||
}
|
||||
}else{
|
||||
var item = {
|
||||
'src': $src,
|
||||
'thumb': $src,
|
||||
'subHtml': $title
|
||||
}
|
||||
var img = new Image();
|
||||
img.src = $src;
|
||||
var wait = setInterval(function() {
|
||||
var w = img.naturalWidth,
|
||||
h = img.naturalHeight;
|
||||
if (w && h) {
|
||||
clearInterval(wait);
|
||||
item.width = w;
|
||||
item.height = h;
|
||||
}
|
||||
}, 30);
|
||||
}
|
||||
|
||||
var index = items.length;
|
||||
items.push(item);
|
||||
if ($img.data('size')) {
|
||||
let $size = $a.data('size').split('x');
|
||||
var item = {
|
||||
'src': $src,
|
||||
'thumb': $src,
|
||||
'subHtml': $title,
|
||||
'width': $size[0],
|
||||
'height': $size[1]
|
||||
}
|
||||
} else {
|
||||
var item = {
|
||||
'src': $src,
|
||||
'thumb': $src,
|
||||
'subHtml': $title
|
||||
}
|
||||
var img = new Image();
|
||||
img.src = $src;
|
||||
var wait = setInterval(function () {
|
||||
var w = img.naturalWidth,
|
||||
h = img.naturalHeight;
|
||||
if (w && h) {
|
||||
clearInterval(wait);
|
||||
item.width = w;
|
||||
item.height = h;
|
||||
}
|
||||
}, 30);
|
||||
}
|
||||
|
||||
var index = items.length;
|
||||
items.push(item);
|
||||
// console.log(item)
|
||||
|
||||
$figure.on('click', function(event) {
|
||||
event.preventDefault();
|
||||
$(this).lightGallery({
|
||||
dynamic: true,
|
||||
download: false,
|
||||
showThumbByDefault: false,
|
||||
dynamicEl: items,
|
||||
index: index
|
||||
})
|
||||
});
|
||||
});
|
||||
});
|
||||
$figure.on('click', function (event) {
|
||||
event.preventDefault();
|
||||
$(this).lightGallery({
|
||||
dynamic: true,
|
||||
download: false,
|
||||
showThumbByDefault: false,
|
||||
dynamicEl: items,
|
||||
index: index
|
||||
})
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
9
assets/js/prettify.min.js
vendored
9
assets/js/prettify.min.js
vendored
File diff suppressed because one or more lines are too long
4
assets/js/version
Normal file
4
assets/js/version
Normal file
|
@ -0,0 +1,4 @@
|
|||
jQuery 3.4.1 https://github.com/jquery/jquery/releases
|
||||
lazysizes 5.1.1 https://github.com/aFarkas/lazysizes/releases
|
||||
lightGallery 1.6.12 https://github.com/sachinchoolur/lightGallery/releases
|
||||
prettify 2013.03.04 https://github.com/google/code-prettify/releases
|
|
@ -1,32 +1,53 @@
|
|||
{{ $cdn_url := .Scratch.Get "cdn_url" }}
|
||||
{{ $postHasImages := .Scratch.Get "postHasImages"}}
|
||||
{{ $jquery := resources.Get "/js/jquery.min.js" }}
|
||||
{{ $lazysizes := resources.Get "/js/lazysizes.min.js"}}
|
||||
{{ $prettify := resources.Get "/js/prettify.min.js" }}
|
||||
{{ $dynamic := resources.Get "/js/dynamic.to.top.min.js" }}
|
||||
{{ $main := resources.Get "/js/main.js" }}
|
||||
{{ $lightGallery := resources.Get "/js/lightGallery-all.min.js" }}
|
||||
|
||||
{{ $scripts := resources.Get "/js/main.js" | slice }}
|
||||
{{ $dynamicToTop := resources.Get "/js/dynamicToTop.min.js" }}
|
||||
{{ $lightGallery_init := resources.Get "/js/lightGallery-init.js" }}
|
||||
|
||||
{{ $jquery := `
|
||||
<script src="https://cdn.jsdelivr.net/npm/jquery@3.4.1/dist/jquery.slim.min.js" integrity="sha256-pasqAKBDmFT4eHoN2ndd6lN370kFiGUFyTiUHWhU7k8=" crossorigin="anonymous"></script>
|
||||
` }}
|
||||
{{ $prettify := `
|
||||
<script src="https://cdn.jsdelivr.net/npm/code-prettify@0.1.0/src/prettify.js" integrity="sha256-w3n8zE0N1lx/nrrWA16Dk7KnySbJF7cPs5E2CByeB7A=" crossorigin="anonymous"></script>
|
||||
` }}
|
||||
{{ $lightGallery := `
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/lightgallery@1.6.12/dist/css/lightgallery.min.css" integrity="sha256-8rfHbJr+ju3Oc099jFJMR1xAPu8CTPHU8uP5J3X/VAY=" crossorigin="anonymous">
|
||||
<script src="https://cdn.jsdelivr.net/npm/lightgallery@1.6.12/dist/js/lightgallery-all.min.js" integrity="sha256-w14QFJrxOYkUnF0hb8pVFCSgYcsF0hMIKrqGb8A7J8A=" crossorigin="anonymous"></script>
|
||||
` }}
|
||||
{{ $lazysizes := `
|
||||
<script src="https://cdn.jsdelivr.net/npm/lazysizes@5.1.1/lazysizes.min.js" integrity="sha256-6zKmNZVeImc0d1Y55vm4So/0W5mbwWiPS4zJt3F4t2A=" crossorigin="anonymous"></script>
|
||||
` }}
|
||||
{{ $katex := `
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.10.2/dist/katex.min.css" integrity="sha384-yFRtMMDnQtDRO8rLpMIKrtPCD5jdktao2TV19YiZYWMDkUR5GQZR/NOVTdquEx1j" crossorigin="anonymous">
|
||||
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.10.2/dist/katex.min.js" integrity="sha384-9Nhn55MVVN0/4OFx7EE5kpFBPsEMZxKTCnA+4fqDmg12eCTqGi6+BB2LjY8brQxJ" crossorigin="anonymous"></script>
|
||||
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.10.2/dist/contrib/auto-render.min.js" integrity="sha384-kWPLUVMOks5AQFrykwIup5lo0m3iMkkHrD0uJ4H5cjeGihAutqP0yW0J6dpFiVkI" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script>
|
||||
` }}
|
||||
|
||||
<!-- jQuery -->
|
||||
{{ $jquery | safeHTML }}
|
||||
|
||||
{{ if .IsPage }}
|
||||
{{ $prettify | safeHTML }}
|
||||
{{ $scripts = $scripts | append $dynamicToTop }}
|
||||
|
||||
{{ if $postHasImages }}
|
||||
<link href="https://cdn.bootcss.com/lightgallery/1.6.12/css/lightgallery.min.css" rel="stylesheet">
|
||||
{{ $vendorScript := slice $jquery $lazysizes $prettify $dynamic $main $lightGallery $lightGallery_init | resources.Concat "/js/vendor_gallery.js" | resources.Minify }}
|
||||
<script src="{{ printf "%s%s" $cdn_url $vendorScript.RelPermalink }}" async=""></script>
|
||||
{{ $lightGallery | safeHTML }}
|
||||
{{ $lazysizes | safeHTML }}
|
||||
{{ $scripts = $scripts | append $lightGallery_init }}
|
||||
{{ $scripts = $scripts | resources.Concat "/js/vendor_gallery.js" | resources.Minify }}
|
||||
{{ else }}
|
||||
{{ $vendorScript := slice $jquery $prettify $dynamic $main | resources.Concat "/js/vendor_no_gallery.js" | resources.Minify }}
|
||||
<script src="{{ printf "%s%s" $cdn_url $vendorScript.RelPermalink }}" async=""></script>
|
||||
{{ $scripts = $scripts | resources.Concat "/js/vendor_no_gallery.js" | resources.Minify }}
|
||||
{{ end }}
|
||||
|
||||
<!-- KaTeX -->
|
||||
{{ if or .Params.Math .Site.Params.Math }}
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.10.2/dist/katex.min.css" integrity="sha384-yFRtMMDnQtDRO8rLpMIKrtPCD5jdktao2TV19YiZYWMDkUR5GQZR/NOVTdquEx1j" crossorigin="anonymous">
|
||||
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.10.2/dist/katex.min.js" integrity="sha384-9Nhn55MVVN0/4OFx7EE5kpFBPsEMZxKTCnA+4fqDmg12eCTqGi6+BB2LjY8brQxJ" crossorigin="anonymous"></script>
|
||||
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.10.2/dist/contrib/auto-render.min.js" integrity="sha384-kWPLUVMOks5AQFrykwIup5lo0m3iMkkHrD0uJ4H5cjeGihAutqP0yW0J6dpFiVkI" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script>
|
||||
{{ $katex | safeHTML }}
|
||||
{{ end }}
|
||||
{{ else }}
|
||||
{{ $vendorScript := slice $jquery $main | resources.Concat "/js/vendor_main.js" | resources.Minify}}
|
||||
<script src="{{ printf "%s%s" $cdn_url $vendorScript.RelPermalink }}" async=""></script>
|
||||
{{ $scripts = $scripts | resources.Concat "/js/vendor_main.js" | resources.Minify}}
|
||||
{{ end }}
|
||||
|
||||
<script src="{{ printf "%s%s" $cdn_url $scripts.RelPermalink }}" async=""></script>
|
||||
|
||||
{{ template "_internal/google_analytics_async.html" . }}
|
||||
|
|
Loading…
Add table
Reference in a new issue