diff --git a/data/assets.toml b/data/assets.toml index d365bde2..47a53fd7 100644 --- a/data/assets.toml +++ b/data/assets.toml @@ -10,57 +10,75 @@ [js.jQuery] version = "3.2.1" sri = "sha512-3P8rXCuGJdNZOnUx/03c1jOTnMn3rP63nBip5gOP2qmUh5YAdVAvFZ1E+QLZZbC1rtMrQb+mah3AfYW11RUrWA==" + url = "https://cdnjs.cloudflare.com/ajax/libs/jquery/%s/jquery.min.js" [js.bootstrap] version = "3.3.7" sri = "sha512-iztkobsvnjKfAtTNdHkGVjAYTrrtlC7mGp/54c40wowO7LhURYl3gVzzcEqGl/qKXQltJ2HwMrdLcNUdo+N/RQ==" + url = "https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/%s/js/bootstrap.min.js" [js.highlight] version = "9.12.0" sri = "sha256-/BfiIkHlHoVihZdc6TFuj7MmJ0TWcWsMXkeDFwhi0zw=" + url = "https://cdnjs.cloudflare.com/ajax/libs/highlight.js/%s/highlight.min.js" [js.mathJax] version = "2.7.4" sri = "sha256-GhM+5JHb6QUzOQPXSJLEWP7R73CbkisjzK5Eyij4U9w=" + url = "https://cdnjs.cloudflare.com/ajax/libs/mathjax/%s/MathJax.js?config=TeX-AMS_CHTML-full" [js.isotope] version = "3.0.4" sri = "sha512-VDBOIlDbuC4VWxGJNmuFRQ0Li0SKkDpmGyuhAG5LTDLd/dJ/S0WMVxriR2Y+CyPL5gzjpN4f/6iqWVBJlht0tQ==" + url = "https://cdnjs.cloudflare.com/ajax/libs/jquery.isotope/%s/isotope.pkgd.min.js" [js.imagesLoaded] version = "4.1.3" sri = "sha512-umsR78NN0D23AzgoZ11K7raBD+R6hqKojyBZs1w8WvYlsI+QuKRGBx3LFCwhatzBunCjDuJpDHwxD13sLMbpRA==" + url = "https://cdnjs.cloudflare.com/ajax/libs/jquery.imagesloaded/%s/imagesloaded.pkgd.min.js" [js.autotrack] version = "2.4.1" sri = "sha512-HUmooslVKj4m6OBu0OgzjXXr+QuFYy/k7eLI5jdeEy/F4RSgMn6XRWRGkFi5IFaFgy7uFTkegp3Z0XnJf3Jq+g==" + url = "https://cdnjs.cloudflare.com/ajax/libs/autotrack/%s/autotrack.js" [js.gmaps] version = "0.4.25" sri = "sha256-7vjlAeb8OaTrCXZkCNun9djzuB2owUsaO72kXaFDBJs=" + url = "https://cdnjs.cloudflare.com/ajax/libs/gmaps.js/%s/gmaps.min.js" [js.leaflet] version = "1.2.0" sri = "sha512-lInM/apFSqyy1o6s89K4iQUKg6ppXEgsVxT35HbzUupEVRh2Eu9Wdl4tHj7dZO0s1uvplcYGmt3498TtHq+log==" + url = "https://cdnjs.cloudflare.com/ajax/libs/leaflet/%s/leaflet.js" [js.fancybox] version = "3.2.5" sri = "sha256-X5PoE3KU5l+JcX+w09p/wHl9AzK333C4hJ2I9S5mD4M=" + url = "https://cdnjs.cloudflare.com/ajax/libs/fancybox/%s/jquery.fancybox.min.js" [js.instantsearch] version = "2.9.0" sri = "sha256-cJXigylnJlxvAdfFNHeS+IiMcKWS3Rf/cy3bl9bb0ng=" + url = "https://cdnjs.cloudflare.com/ajax/libs/instantsearch.js/%s/instantsearch.min.js" # CSS [css.bootstrap] version = "3.3.7" sri = "sha512-6MXa8B6uaO18Hid6blRMetEIoPqHf7Ux1tnyIQdpt9qI5OACx7C+O3IVTr98vwGnlcg0LOLa02i9Y1HpVhlfiw==" + url = "https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/%s/css/bootstrap.min.css" [css.fontAwesome] version = "4.7.0" sri = "sha512-SfTiTlX6kk+qitfevl/7LibUOeJWlt9rbyDn92a1DqWOw9vWG2MFoays0sgObmWazO5BQPiFucnnEAjpAB+/Sw==" + url = "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/%s/css/font-awesome.min.css" [css.academicons] version = "1.8.6" sri = "sha256-uFVgMKfistnJAfoCUQigIl+JfUaP47GrRKjf6CTPVmw=" + url = "https://cdnjs.cloudflare.com/ajax/libs/academicons/%s/css/academicons.min.css" [css.leaflet] version = "1.2.0" sri = "sha512-M2wvCLH6DSRazYeZRIm1JnYyh22purTM+FDB5CsyxtQJYeKq83arPe5wgbNmcFXGqiSH2XR8dT/fJISVA1r/zQ==" + url = "https://cdnjs.cloudflare.com/ajax/libs/leaflet/%s/leaflet.css" [css.fancybox] version = "3.2.5" sri = "sha256-ygkqlh3CYSUri3LhQxzdcm0n1EQvH2Y+U5S2idbLtxs=" + url = "https://cdnjs.cloudflare.com/ajax/libs/fancybox/%s/jquery.fancybox.min.css" [css.instantsearch] version = "2.9.0" sri = "sha256-ZtmLe16p4jS4/2wPwwH6NzJt460SJzgLmhKrYo5yn7g=" + url = "https://cdnjs.cloudflare.com/ajax/libs/instantsearch.js/%s/instantsearch.min.css" [css.instantsearchTheme] version = "2.9.0" sri = "sha256-0vcZrdMQksHcHrY60tPnVK71jnB3wX/JpMcah5BffjA=" + url = "https://cdnjs.cloudflare.com/ajax/libs/instantsearch.js/%s/instantsearch-theme-algolia.min.css" diff --git a/exampleSite/config.toml b/exampleSite/config.toml index ee21fa1e..beb37c21 100644 --- a/exampleSite/config.toml +++ b/exampleSite/config.toml @@ -139,9 +139,7 @@ enableGitInfo = false # # highlight_languages # Add support for highlighting additional languages. Support for - # languages mentioned here will be included in all pages. You - # can also set this variable for a particular page in that - # page's preamble. + # languages mentioned here will be included in all pages. # # Example: highlight_languages = ["go", "lisp", "ocaml"] # @@ -156,7 +154,7 @@ enableGitInfo = false # https://cdnjs.com/libraries/highlight.js/ # # For more info on the highlighting options, see: - # https://sourcethemes.com/academic/post/writing-markdown-latex/#highlighting-options + # https://sourcethemes.com/academic/docs/writing-markdown-latex/#highlighting-options highlight = true highlight_languages = [] # highlight_style = "github" diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html index 24ff8a12..7e94c619 100644 --- a/layouts/partials/footer.html +++ b/layouts/partials/footer.html @@ -1,67 +1,6 @@ - {{ $js := .Site.Data.assets.js }} + {{ $scr := $.Scratch }} - {{ $comments_enabled := and $.Site.DisqusShortname (not (or $.Site.Params.disable_comments $.Params.disable_comments)) }} - {{ if and $comments_enabled ($.Site.Params.comment_count | default true) }} - - {{ end }} - - {{ if eq .Site.Params.map 1 }} - - {{ end }} - - {{ if not .Site.Params.disable_sri }} - {{ printf "" $js.jQuery.version $js.jQuery.sri | safeHTML }} - {{ printf "" $js.imagesLoaded.version $js.imagesLoaded.sri | safeHTML }} - {{ printf "" $js.bootstrap.version $js.bootstrap.sri | safeHTML }} - {{ printf "" $js.isotope.version $js.isotope.sri | safeHTML }} - {{ printf "" $js.fancybox.version $js.fancybox.sri | safeHTML }} - {{ if eq .Site.Params.map 1 }} - {{ printf "" $js.gmaps.version $js.gmaps.sri | safeHTML }} - {{ else if or (eq .Site.Params.map 2) (eq .Site.Params.map 3) }} - {{ printf "" $js.leaflet.version $js.leaflet.sri | safeHTML }} - {{ end }} - {{ else }} - - - - - - {{ if eq .Site.Params.map 1 }} - - {{ else if or (eq .Site.Params.map 2) (eq .Site.Params.map 3) }} - - {{ end }} - {{ end }} - - {{ range .Site.Params.custom_js }} - - {{ end }} - - - {{ if $.Scratch.Get "highlight_enabled" }} - {{ $v := $js.highlight.version }} - {{ if not .Site.Params.disable_sri }} - {{ printf "" $v $js.highlight.sri | safeHTML }} - {{ else }} - - {{ end }} - - {{ range .Site.Params.highlight_languages }} - - {{ end }} - - {{ range .Params.highlight_languages }} - {{/* Do not double-include languages that are in both .Site.Params and .Params. - If Hugo ever grows a "union" function for set union, this range clause can be merged with the one above. */}} - {{ if not (in $.Site.Params.highlight_languages .) }} - - {{ end }} - {{ end }} - - - {{ end }} - - + {{/* Config LaTeX math rendering. */}} {{ if or .Params.math .Site.Params.math }} - {{ if not .Site.Params.disable_sri }} - {{ printf "" $js.mathJax.version $js.mathJax.sri | safeHTML }} - {{ else }} - {{ end }} + + {{/* Attempt to load local vendor JS, otherwise load from CDN. */}} + {{ $js := .Site.Data.assets.js }} + {{ if not ($scr.Get "use_cdn") }} + + {{ else }} + {{ printf "" (printf $js.jQuery.url $js.jQuery.version) $js.jQuery.sri | safeHTML }} + {{ printf "" (printf $js.imagesLoaded.url $js.imagesLoaded.version) $js.imagesLoaded.sri | safeHTML }} + {{ printf "" (printf $js.bootstrap.url $js.bootstrap.version) $js.bootstrap.sri | safeHTML }} + {{ printf "" (printf $js.isotope.url $js.isotope.version) $js.isotope.sri | safeHTML }} + {{ printf "" (printf $js.fancybox.url $js.fancybox.version) $js.fancybox.sri | safeHTML }} + + {{ if $.Scratch.Get "highlight_enabled" }} + {{ $v := $js.highlight.version }} + {{ printf "" (printf $js.highlight.url $v) $js.highlight.sri | safeHTML }} + {{ range .Site.Params.highlight_languages }} + + {{ end }} + {{ end }} + + {{/* LaTeX math rendering. */}} + {{ if or .Params.math .Site.Params.math }} + {{ printf "" (printf $js.mathJax.url $js.mathJax.version) $js.mathJax.sri | safeHTML }} + {{ end }} + {{ end }} + + + {{ range .Site.Params.custom_js }} + + {{ end }} + + {{/* Maps JS. */}} + {{ if eq .Site.Params.map 1 }} + + {{ if ($scr.Get "use_cdn") }} + {{ printf "" (printf $js.gmaps.url $js.gmaps.version) $js.gmaps.sri | safeHTML }} + {{ end }} + {{ else if and (or (eq .Site.Params.map 2) (eq .Site.Params.map 3)) ($scr.Get "use_cdn") }} + {{ printf "" (printf $js.leaflet.url $js.leaflet.version) $js.leaflet.sri | safeHTML }} + {{ end }} + + {{/* Comments JS. */}} + {{ $comments_enabled := and $.Site.DisqusShortname (not (or $.Site.Params.disable_comments $.Params.disable_comments)) }} + {{ if and $comments_enabled ($.Site.Params.comment_count | default true) }} + + {{ end }} + + {{/* Initialise code highlighting. */}} + {{ if $.Scratch.Get "highlight_enabled" }} + {{ end }} {{/* Algolia search engine. */}} {{ if eq .Site.Params.search.engine 1 }} - {{ printf "" $js.instantsearch.version $js.instantsearch.sri | safeHTML }} + {{ if ($scr.Get "use_cdn") }} + {{ printf "" (printf $js.instantsearch.url $js.instantsearch.version) $js.instantsearch.sri | safeHTML }} + {{ end }} - {{ if not .Site.Params.disable_sri }} - {{ printf "" $sri.js.autotrack.version $sri.js.autotrack.sri | safeHTML }} - {{ else }} - + {{ if ($scr.Get "use_cdn") }} + {{ printf "" (printf $js.autotrack.url $js.autotrack.version) $js.autotrack.sri | safeHTML }} {{ end }} {{ end }} {{ end }}