.github/FUNDING.yml
@@ -1 +1,2 @@ --- ko_fi: lxndrblz .github/stale.yml
@@ -1,3 +1,4 @@ --- # Number of days of inactivity before an issue becomes stale daysUntilStale: 60 # Number of days of inactivity before a stale issue is closed README.md
@@ -293,5 +293,3 @@ * Go to [Cai Cai](https://github.com/hi-caicai), for the great Anatole Farbox theme that formed the foundation for this theme. * Go to [Kareya Saleh](https://unsplash.com/photos/tLKOj6cNwe0) for providing the profile picture in the exampleSite. archetypes/post.md
assets/css/style.css
@@ -858,8 +858,7 @@ } .page-top .nav { background-color: var(--secondary-bg-color); ; background-color: var(--secondary-bg-color);; box-shadow: 0 8px 16px rgba(10, 10, 10, .1); padding: .5rem 0; width: 100%; assets/js/anatole-header.js
@@ -17,20 +17,16 @@ if (theme === null) { if(userPrefersDark){ setTheme('dark'); } else if(!document.documentElement.getAttribute('data-theme')){ } else if (!document.documentElement.getAttribute('data-theme')) { setTheme('light'); } else{ } else { setTheme(document.documentElement.getAttribute('data-theme')); } } else { } else { // load a stored theme if (theme == 'light') { document.documentElement.setAttribute('data-theme', 'light'); } else { } else { document.documentElement.setAttribute('data-theme', 'dark'); } } @@ -42,8 +38,7 @@ var theme = getTheme(); if (theme == 'light') { setTheme('dark'); } else { } else { setTheme('light'); } } assets/js/jquery-appear.js
assets/js/jquery-migrate.js
@@ -259,8 +259,7 @@ ); // Populate the class2type map jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol". split( " " ), jQuery.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function( _, name ) { class2type[ "[object " + name + "]" ] = name.toLowerCase(); } ); assets/js/jquery.js
@@ -92,7 +92,6 @@ var document = window.document; var preservedScriptAttributes = { type: true, src: true, @@ -140,12 +139,12 @@ class2type[ toString.call( obj ) ] || "object" : typeof obj; } /* global Symbol */ // Defining this global in .eslintrc.json would create a danger of using the global // unguarded in another place, it seems safer to define global only for this module var version = "3.5.1", @@ -334,7 +333,8 @@ throw new Error( msg ); }, noop: function() {}, noop: function () { }, isPlainObject: function( obj ) { var proto, Ctor; @@ -516,6 +516,7 @@ return type === "array" || length === 0 || typeof length === "number" && length > 0 && ( length - 1 ) in obj; } var Sizzle = /*! * Sizzle CSS Selector Engine v2.3.5 @@ -732,7 +733,8 @@ // eslint-disable-next-line no-unused-expressions arr[ preferredDoc.childNodes.length ].nodeType; } catch ( e ) { push = { apply: arr.length ? push = { apply: arr.length ? // Leverage slice if possible function( target, els ) { @@ -746,7 +748,8 @@ i = 0; // Can't trust NodeList.length while ( ( target[ j++ ] = els[ i++ ] ) ) {} while ((target[j++] = els[i++])) { } target.length = j - 1; } }; @@ -913,6 +916,7 @@ } return ( cache[ key + " " ] = value ); } return cache; } @@ -2306,7 +2310,9 @@ } // Easy API for creating new setFilters function setFilters() {} function setFilters() { } setFilters.prototype = Expr.filters = Expr.pseudos; Expr.setFilters = new setFilters(); @@ -2645,7 +2651,6 @@ return setMatcher( i > 1 && elementMatcher( matchers ), i > 1 && toSelector( // If the preceding token was a descendant combinator, insert an implicit any-element `*` tokens .slice( 0, i - 1 ) @@ -2974,7 +2979,6 @@ } )( window ); jQuery.find = Sizzle; jQuery.expr = Sizzle.selectors; @@ -2987,8 +2991,6 @@ jQuery.escapeSelector = Sizzle.escape; var dir = function( elem, dir, until ) { var matched = [], truncate = until !== undefined; @@ -3021,7 +3023,6 @@ var rneedsContext = jQuery.expr.match.needsContext; function nodeName( elem, name ) { return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); @@ -3030,7 +3031,6 @@ var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); // Implement the identical functionality for filter and not function winnow( elements, qualifier, not ) { if ( isFunction( qualifier ) ) { @@ -3328,7 +3328,8 @@ } ); function sibling( cur, dir ) { while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} while ((cur = cur[dir]) && cur.nodeType !== 1) { } return cur; } @@ -3418,7 +3419,6 @@ var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); // Convert String-formatted options into Object-formatted ones function createOptions( options ) { var object = {}; @@ -3648,6 +3648,7 @@ function Identity( v ) { return v; } function Thrower( ex ) { throw ex; } @@ -3745,6 +3746,7 @@ }, then: function( onFulfilled, onRejected, onProgress ) { var maxDepth = 0; function resolve( depth, deferred, handler, special ) { return function() { var that = this, @@ -4048,8 +4050,6 @@ }; jQuery.readyException = function( error ) { window.setTimeout( function() { throw error; @@ -4057,8 +4057,6 @@ }; // The deferred used on DOM ready var readyList = jQuery.Deferred(); @@ -4136,8 +4134,6 @@ } // Multifunctional method to get and set values of a collection // The value/s can optionally be executed if it's a function var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { @@ -4215,6 +4211,7 @@ function camelCase( string ) { return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); } var acceptData = function( owner ) { // Accepts only: @@ -4227,8 +4224,6 @@ }; function Data() { this.expando = jQuery.expando + Data.uid++; } @@ -4384,7 +4379,6 @@ var dataUser = new Data(); // Implementation Summary // // 1. Enforce API surface and semantic compatibility with 1.9.x branch @@ -4435,7 +4429,8 @@ if ( typeof data === "string" ) { try { data = getData( data ); } catch ( e ) {} } catch (e) { } // Make sure we set the data so it isn't changed later dataUser.set( elem, key, data ); @@ -4697,7 +4692,6 @@ var documentElement = document.documentElement; var isAttached = function( elem ) { return jQuery.contains( elem.ownerDocument, elem ); }, @@ -4734,7 +4728,6 @@ }; function adjustCSS( elem, prop, valueParts, tween ) { var adjusted, scale, maxIterations = 20, @@ -4902,7 +4895,6 @@ var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); ( function() { var fragment = document.createDocumentFragment(), div = fragment.appendChild( document.createElement( "div" ) ), @@ -5118,7 +5110,8 @@ function safeActiveElement() { try { return document.activeElement; } catch ( err ) { } } catch (err) { } } function on( elem, types, selector, data, fn, one ) { @@ -5676,7 +5669,6 @@ // ...and capture the result dataPriv.set( this, type, { value: jQuery.event.trigger( // Support: IE <=9 - 11+ // Extend with the prototype to reset the above stopImmediatePropagation() jQuery.extend( saved[ 0 ], jQuery.Event.prototype ), @@ -5988,6 +5980,7 @@ elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; return elem; } function restoreScript( elem ) { if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { elem.type = elem.type.slice( 5 ); @@ -6351,7 +6344,8 @@ elem = 0; // If using innerHTML throws an exception, use the fallback method } catch ( e ) {} } catch (e) { } } if ( elem ) { @@ -6445,7 +6439,6 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); ( function() { // Executing both pixelPosition & boxSizingReliable tests require only one layout @@ -7146,6 +7139,7 @@ function Tween( elem, options, prop, end, easing ) { return new Tween.prototype.init( elem, options, prop, end, easing ); } jQuery.Tween = Tween; Tween.prototype = { @@ -7259,8 +7253,6 @@ jQuery.fx.step = {}; var fxNow, inProgress, rfxtypes = /^(?:toggle|show|hide)$/, @@ -8105,8 +8097,6 @@ } ); var rfocusable = /^(?:input|select|textarea|button)$/i, rclickable = /^(?:a|area)$/i; @@ -8241,8 +8231,6 @@ } ); // Strip and collapse whitespace according to HTML spec // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace function stripAndCollapse( value ) { @@ -8426,8 +8414,6 @@ } ); var rreturn = /\r/g; jQuery.fn.extend( { @@ -8607,8 +8593,6 @@ } ); // Return jQuery for attributes-only inclusion @@ -8853,7 +8837,6 @@ var rquery = ( /\?/ ); // Cross-browser xml parsing jQuery.parseXML = function( data ) { var xml; @@ -9729,7 +9712,8 @@ // Use a noop converter for missing script if ( !isSuccess && jQuery.inArray( "script", s.dataTypes ) > -1 ) { s.converters[ "text script" ] = function() {}; s.converters["text script"] = function () { }; } // Convert no matter what (that way responseXXX fields are always set) @@ -9868,7 +9852,8 @@ // dataFilter is not invoked for failure responses, so using it instead // of the default converter is kludgy but it works. converters: { "text script": function() {} "text script": function () { } }, dataFilter: function( response ) { jQuery.globalEval( response, options, doc ); @@ -9952,12 +9937,11 @@ }; jQuery.ajaxSettings.xhr = function() { try { return new window.XMLHttpRequest(); } catch ( e ) {} } catch (e) { } }; var xhrSuccessStatus = { @@ -10037,7 +10021,6 @@ complete( 0, "error" ); } else { complete( // File: protocol always yields status 0; see #8605, #14207 xhr.status, xhr.statusText @@ -10116,8 +10099,6 @@ } ); // Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) jQuery.ajaxPrefilter( function( s ) { if ( s.crossDomain ) { @@ -10184,8 +10165,6 @@ } ); var oldCallbacks = [], rjsonp = /(=)\?(?=&|$)|\?\?/; @@ -10279,8 +10258,6 @@ } ); // Support: Safari 8 only // In Safari 8 documents created via document.implementation.createHTMLDocument // collapse sibling forms: the second one becomes a child of the first one. @@ -10408,8 +10385,6 @@ }; jQuery.expr.pseudos.animated = function( elem ) { return jQuery.grep( jQuery.timers, function( fn ) { return elem === fn.elem; @@ -10417,8 +10392,6 @@ }; jQuery.offset = { setOffset: function( elem, options, i ) { var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition, @@ -10699,8 +10672,6 @@ } ); jQuery.fn.extend( { bind: function( types, data, fn ) { @@ -10740,8 +10711,6 @@ } ); // Support: Android <=4.0 only // Make sure we trim BOM and NBSP var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; @@ -10815,7 +10784,6 @@ }; // Register as a named AMD module, since jQuery can be concatenated with other // files that may use define, but not via a proper concatenation script that // understands anonymous AMD modules. A named AMD is safest and most robust @@ -10836,8 +10804,6 @@ } var // Map over jQuery in case of overwrite @@ -10866,7 +10832,5 @@ } return jQuery; } ); assets/js/medium-zoom.js
@@ -53,7 +53,9 @@ return overlay; }; var cloneTarget = function cloneTarget(template) { var _template$getBounding = template.getBoundingClientRect(), top = _template$getBounding.top, left = _template$getBounding.left, width = _template$getBounding.width, height = _template$getBounding.height; var _template$getBounding = template.getBoundingClientRect(), top = _template$getBounding.top, left = _template$getBounding.left, width = _template$getBounding.width, height = _template$getBounding.height; var clone = template.cloneNode(); var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0; var scrollLeft = window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0; @@ -82,7 +84,9 @@ var mediumZoom = function mediumZoom(selector) { var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var Promise = window.Promise || function Promise(fn) { function noop() {} function noop() { } fn(noop, noop); }; var _handleClick = function _handleClick(event) { @@ -223,7 +227,9 @@ viewportHeight = container.height - container.top - container.bottom - zoomOptions.margin * 2; } else { var zoomContainer = isNode(zoomOptions.container) ? zoomOptions.container : document.querySelector(zoomOptions.container); var _zoomContainer$getBou = zoomContainer.getBoundingClientRect(), _width = _zoomContainer$getBou.width, _height = _zoomContainer$getBou.height, _left = _zoomContainer$getBou.left, _top = _zoomContainer$getBou.top; var _zoomContainer$getBou = zoomContainer.getBoundingClientRect(), _width = _zoomContainer$getBou.width, _height = _zoomContainer$getBou.height, _left = _zoomContainer$getBou.left, _top = _zoomContainer$getBou.top; container = _extends({}, container, { width: _width, height: _height, @@ -237,7 +243,9 @@ var zoomTarget = active.zoomedHd || active.original; var naturalWidth = isSvg(zoomTarget) ? viewportWidth : zoomTarget.naturalWidth || viewportWidth; var naturalHeight = isSvg(zoomTarget) ? viewportHeight : zoomTarget.naturalHeight || viewportHeight; var _zoomTarget$getBoundi = zoomTarget.getBoundingClientRect(), top = _zoomTarget$getBoundi.top, left = _zoomTarget$getBoundi.left, width = _zoomTarget$getBoundi.width, height = _zoomTarget$getBoundi.height; var _zoomTarget$getBoundi = zoomTarget.getBoundingClientRect(), top = _zoomTarget$getBoundi.top, left = _zoomTarget$getBoundi.left, width = _zoomTarget$getBoundi.width, height = _zoomTarget$getBoundi.height; var scaleX = Math.min(naturalWidth, viewportWidth) / width; var scaleY = Math.min(naturalHeight, viewportHeight) / height; var scale = Math.min(scaleX, scaleY); exampleSite/config.toml
exampleSite/content/_index.md
@@ -1,4 +1,3 @@ +++ author = "Hugo Authors" +++ exampleSite/content/about.md
@@ -23,6 +23,3 @@ Websites built with Hugo are extremelly fast, secure and can be deployed anywhere including, AWS, GitHub Pages, Heroku, Netlify and any other hosting provider. Learn more and contribute on [GitHub](https://github.com/gohugoio). exampleSite/content/archives.md
exampleSite/content/post/emoji-support.md
exampleSite/content/post/markdown-syntax.md
@@ -148,4 +148,3 @@ Press <kbd><kbd>CTRL</kbd>+<kbd>ALT</kbd>+<kbd>Delete</kbd></kbd> to end the session. Most <mark>salamanders</mark> are nocturnal, and hunt for insects, worms, and other small creatures. exampleSite/content/post/math-typesetting.md
@@ -44,4 +44,3 @@ $$ \varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } } $$ i18n/ch-zn.toml
i18n/en.toml
i18n/fa.toml
layouts/404.html
layouts/_default/baseof.html
layouts/_default/list.html
layouts/_default/single.html
@@ -3,13 +3,13 @@ <div class="post-content"> <div class="post-title"> <h3>{{ .Title }} </h3> <h3>{{ .Title }}</h3> {{ if eq .Type "post"}} <div class="info"> <i class="fa fa-sun-o"></i> <span class="date">{{ .Date.Format "Mon, Jan 2, 2006" }}</span> <i class="fa fa-clock-o"></i><span class="reading-time">{{ i18n "reading_time" .ReadingTime }}</span> <i class="fa fa-clock-o"></i> <span class="reading-time">{{ i18n "reading_time" .ReadingTime }}</span> </div> {{ end }} </div> layouts/index.html
@@ -6,15 +6,19 @@ <h3><a href="{{ .RelPermalink }}">{{ .Title }}</a> </h3> </div> <div class="post-content"><div class="p_part"><p>{{ .Summary }}</p></div> <div class="post-content"> <div class="p_part"><p>{{ .Summary }}</p></div> <div class="p_part"><p></p></div></div> <div class="p_part"><p></p></div> </div> <div class="post-footer"> <div class="meta"> <div class="info"><i class="fa fa-sun-o"></i><span class="date">{{ .Date.Format "Mon, Jan 2, 2006" }}</span> <div class="info"><i class="fa fa-sun-o"></i><span class="date">{{ .Date.Format "Mon, Jan 2, 2006" }}</span> {{ with .Params.tags }} {{- range $index, $el := . -}} <a class="tag" href="{{ ( printf "tags/%s/" ( . | urlize ) ) | relLangURL }}">{{ . }}</a> <a class="tag" href="{{ ( printf "tags/%s/" ( . | urlize ) ) | relLangURL }}">{{ . }}</a> {{- end -}} {{ end }} </div> layouts/partials/footer.html
@@ -1,11 +1,18 @@ {{ $js := resources.Get "js/jquery.js" }} {{ $secureJS := $js | resources.Minify | resources.Fingerprint }} <script type="text/javascript" src="{{ $secureJS.Permalink }}" integrity="{{ $secureJS.Data.Integrity }}" crossorigin="anonymous"></script> <script type="text/javascript" src="{{ $secureJS.Permalink }}" integrity="{{ $secureJS.Data.Integrity }}" crossorigin="anonymous"></script> {{ $migrate := resources.Get "js/jquery-migrate.js" }} {{ $appear := resources.Get "js/jquery-appear.js" }} {{ $js := slice $migrate $appear | resources.Concat "js/bundle.js" }} {{ $secureJS := $js | resources.Minify | resources.Fingerprint }} <script type="text/javascript" src="{{ $secureJS.Permalink }}" integrity="{{ $secureJS.Data.Integrity }}" crossorigin="anonymous"></script> <script type="text/javascript" src="{{ $secureJS.Permalink }}" integrity="{{ $secureJS.Data.Integrity }}" crossorigin="anonymous"></script> {{- partial "medium-zoom.html" . -}} {{- partial "math.html" . -}} {{- template "_internal/google_analytics_async.html" . -}} layouts/partials/head.html
@@ -1,30 +1,53 @@ <head> <title> {{.Site.Params.author}}{{ with .Title }} | {{ . }}{{ end }} </title> <!-- Meta --> <meta charset="utf-8"> {{- hugo.Generator -}} <meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"> <meta name="description" content="{{ .Site.Params.description }}"> {{- if .Site.Params.googleSiteVerify }} <meta name="google-site-verification" content="{{ .Site.Params.googleSiteVerify }}"> {{- end -}} <!-- CSS --> {{ $style := resources.Get "css/style.css" | resources.Minify | resources.Fingerprint }} <link rel="stylesheet" href="{{ $style.Permalink }}" integrity="{{ $style.Data.Integrity }}" crossorigin="anonymous" type="text/css"> <link rel="stylesheet" href="{{ $style.Permalink }}" integrity="{{ $style.Data.Integrity }}" crossorigin="anonymous" type="text/css"> {{- $css := "" -}} {{- range .Site.Params.customCss -}} {{ $css := resources.Get . | fingerprint }} <link rel="stylesheet" href="{{ $css.Permalink }}" integrity="{{ $css.Data.Integrity }}" crossorigin="anonymous" type="text/css"> <link rel="stylesheet" href="{{ $css.Permalink }}" integrity="{{ $css.Data.Integrity }}" crossorigin="anonymous" type="text/css"> {{- end -}} <link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous"> <link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous"> <!-- Favicons --> <link rel="shortcut icon" href="{{ .Site.Params.favicon | absURL }}favicon.ico" type="image/x-icon"> <link rel="apple-touch-icon" sizes="180x180" href="{{ .Site.Params.favicon | absURL }}apple-touch-icon.png"> <link rel="icon" type="image/png" sizes="32x32" href="{{ .Site.Params.favicon | absURL }}favicon-32x32.png"> <link rel="icon" type="image/png" sizes="16x16" href="{{ .Site.Params.favicon | absURL }}favicon-16x16.png"> <link rel="canonical" href="{{ .Permalink }}"> <!-- RSS --> {{ with .OutputFormats.Get "rss" -}} {{ printf `<link rel="%s" type="%s" href="%s" title="%s" />` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }} {{ end -}} {{ $anatole := resources.Get "js/anatole-header.js" }} {{ $secureJS := $anatole | resources.Minify | resources.Fingerprint }} <script type="text/javascript" src="{{ $secureJS.Permalink }}" integrity="{{ $secureJS.Data.Integrity }}" crossorigin="anonymous"></script> <script type="text/javascript" src="{{ $secureJS.Permalink }}" integrity="{{ $secureJS.Data.Integrity }}" crossorigin="anonymous"></script> {{- $js := "" -}} {{- range .Site.Params.customJs -}} @@ -42,14 +65,12 @@ {{- end -}} {{- end -}} {{- if .Site.Params.googleSiteVerify }} <!-- Google Site Verification --> <meta name="google-site-verification" content="{{ .Site.Params.googleSiteVerify }}"> {{- end -}} {{- if ne $js "" -}} {{- $secureJS := $js | resources.Minify | resources.Fingerprint -}} <script type="text/javascript" src="{{ $secureJS.Permalink }}" integrity="{{ $secureJS.Data.Integrity }}" crossorigin="anonymous"></script> <script type="text/javascript" src="{{ $secureJS.Permalink }}" integrity="{{ $secureJS.Data.Integrity }}" crossorigin="anonymous"></script> {{- end -}} <!-- Twitter Cards --> layouts/partials/math.html
@@ -10,21 +10,35 @@ {{- if eq $use "mathjax" -}} {{- $url := "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-AMS-MML_HTMLorMML" -}} {{- $hash := "sha384-e/4/LvThKH1gwzXhdbY2AsjR3rm7LHWyhIG5C0jiRfn8AN2eTN5ILeztWw0H9jmN" -}} <script defer type="text/javascript" src="{{- $url -}}" integrity="{{- $hash -}}" crossorigin="anonymous"></script> <script type="text/x-mathjax-config">MathJax.Hub.Config({ tex2jax: { inlineMath: [['$','$'], ['\\(','\\)']] } });</script> <script defer type="text/javascript" src="{{- $url -}}" integrity="{{- $hash -}}" crossorigin="anonymous"></script> <script type="text/x-mathjax-config"> MathJax.Hub.Config({ tex2jax: { inlineMath: [['$','$'], ['\\(','\\)']] } }); </script> {{- else -}} {{- $url := "https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.css" -}} {{- $hash := "sha384-zB1R0rpPzHqg7Kpt0Aljp8JPLqbXI3bhnPWROx27a9N0Ll6ZP/+DiW/UqRcLbRjq" -}} <link rel="stylesheet" href="{{- $url -}}" integrity="{{- $hash -}}" crossorigin="anonymous"> <link rel="stylesheet" href="{{- $url -}}" integrity="{{- $hash -}}" crossorigin="anonymous"> {{- $url := "https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.js" -}} {{- $hash := "sha384-y23I5Q6l+B6vatafAwxRu/0oK/79VlbSz7Q9aiSZUvyWYIYsd+qj+o24G5ZU2zJz" -}} <script defer src="{{- $url -}}" integrity="{{- $hash -}}" crossorigin="anonymous"></script> <script defer src="{{- $url -}}" integrity="{{- $hash -}}" crossorigin="anonymous"></script> {{- $url := "https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/contrib/auto-render.min.js" -}} {{- $hash := "sha384-kWPLUVMOks5AQFrykwIup5lo0m3iMkkHrD0uJ4H5cjeGihAutqP0yW0J6dpFiVkI" -}} <script defer src="{{- $url -}}" integrity="{{- $hash -}}" crossorigin="anonymous" <script defer src="{{- $url -}}" integrity="{{- $hash -}}" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script> {{- end -}} {{- end -}} layouts/partials/medium-zoom.html
@@ -1,3 +1,6 @@ {{ $js := resources.Get "js/medium-zoom.js" }} {{ $secureJS := $js | resources.Minify | resources.Fingerprint }} <script type="text/javascript" src="{{ $secureJS.Permalink }}" integrity="{{ $secureJS.Data.Integrity }}" crossorigin="anonymous"></script> <script type="text/javascript" src="{{ $secureJS.Permalink }}" integrity="{{ $secureJS.Data.Integrity }}" crossorigin="anonymous"></script> layouts/partials/navbar.html
@@ -8,11 +8,19 @@ {{ $url := .RelPermalink }} {{ range .Site.Menus.main }} {{ $active := eq $url .URL }} <li><a {{if $active }}class="current"{{end}} href="{{ .URL }}" {{ if strings.HasPrefix .URL "http" }}target="_blank" rel="noopener noreferrer" {{ end }} title="{{ .Title }}">{{ .Name }}</a></li> <li><a {{if $active }}class="current"{{end}} href="{{ .URL }}" {{ if strings.HasPrefix .URL "http" }} target="_blank" rel="noopener noreferrer" {{ end }} title="{{ .Title }}">{{ .Name }}</a></li> {{ end }} {{ if .Site.IsMultiLingual }} {{ range $.Site.Home.AllTranslations }} <li><a href="{{ .Permalink }}" title="{{ .Language.LanguageName }}">{{ .Language.LanguageName }}</a></li> <li><a href="{{ .Permalink }}" title="{{ .Language.LanguageName }}">{{ .Language.LanguageName }}</a> </li> {{ end }} {{ end }} <li class="theme-switch-item"> layouts/partials/taxonomy/categories.html
@@ -1,4 +1,3 @@ <span class="separator"> {{- range $index, $el := . -}} <a class="category" href="{{ ( printf "categories/%s/" ( . | urlize ) ) | relLangURL }}">{{ . }}</a> layouts/partials/taxonomy/tags.html
@@ -1,4 +1,3 @@ <span class="separator"> {{- range $index, $el := . -}} <a class="tag" href="{{ ( printf "tags/%s/" ( . | urlize ) ) | relLangURL }}">{{ . }}</a>