From c24c001d799742ba6dd0ce0be2b84a67f7a78081 Mon Sep 17 00:00:00 2001 From: Jieiku Date: Wed, 15 Jun 2022 02:51:03 -0700 Subject: Update SCSS for Zola's linenos and hl_lines --- content/overview-markdown-and-style.md | 17 +++++++++++++++-- sass/include/_table.scss | 30 ++++++++++++++---------------- sass/include/_zola.scss | 23 +++++++++++++++++++++++ static/abridge-switcher.min.js | 2 +- static/abridge.min.js | 2 +- static/codecopy.js | 17 ++++++++++++++--- 6 files changed, 68 insertions(+), 23 deletions(-) diff --git a/content/overview-markdown-and-style.md b/content/overview-markdown-and-style.md index 7a03d28..08f7f21 100644 --- a/content/overview-markdown-and-style.md +++ b/content/overview-markdown-and-style.md @@ -60,8 +60,6 @@ and optionally with in-line changes such as annotations and abbreviations. > All men by nature desire to know.
> ― Aristotle[^2] -## Blockquote with author - > Power comes in response to a need, not a desire.
> — *Goku* @@ -130,6 +128,21 @@ See [the docs](https://www.getzola.org/documentation/content/syntax-highlighting ``` +## Line Numbers, Highlighting + +```html,linenos,hl_lines=5 7-9 + + + + + Example HTML5 Document + + +

Test

+ + +``` + ## Inline Code block If we want, we can also `specify inline code` which is useful for `the small stuff`. diff --git a/sass/include/_table.scss b/sass/include/_table.scss index e141b7e..0c4befc 100644 --- a/sass/include/_table.scss +++ b/sass/include/_table.scss @@ -3,23 +3,21 @@ table { border-collapse: collapse; width: 100%; text-indent: 0; /* Remove text indentation from table contents in Chrome, Edge, and Safari. */ -} -table caption { - margin-bottom: .5rem; -} -tr { - border-bottom: var(--bw) solid var(--c3); -} -td, -th { - padding: var(--s1); -} -th { - text-align: left; -} + caption { + margin-bottom: .5rem; + } + tr { + border-bottom: var(--bw) solid var(--c3); + } + td, + th { + padding: var(--s1); + } + th { + text-align: left; + } -// Striped -table { + // Striped tbody tr:nth-child(even) { background-color: var(--c2); } diff --git a/sass/include/_zola.scss b/sass/include/_zola.scss index c18c82d..f188b99 100644 --- a/sass/include/_zola.scss +++ b/sass/include/_zola.scss @@ -23,3 +23,26 @@ pre code[data-lang]::before { right: 0px; font-size: .8rem; } + +// Table Override, this is used for Zola's linenos and hl_lines +code table { + font-size: .8rem; + td, th, tr { + padding: 0; + border-bottom: none; + } + tbody tr td:first-child { + text-align: center; + user-select: none; + } + tbody tr:nth-child(even), thead tr { + background-color: unset; + } + // Highlighted text + mark { + display: block; + background-color: var(--c2); + color: unset; + padding: 0; + } +} diff --git a/static/abridge-switcher.min.js b/static/abridge-switcher.min.js index b435a84..5d7f60d 100644 --- a/static/abridge-switcher.min.js +++ b/static/abridge-switcher.min.js @@ -1 +1 @@ -const items=document.querySelectorAll(".preStyle");function ccb(e){const t=document.createElement("button"),n=(t.className="cc ",t.type="button",t.innerHTML="Copy",t.addEventListener("click",()=>ccc(t,e)),document.createElement("div"));n.className="ccw",n.appendChild(t),e.parentNode.insertBefore(n,e),n.appendChild(e)}async function ccc(e,t){var n=t.querySelector(":last-child > code").innerText;try{"granted"==(result=await navigator.permissions.query({name:"clipboard-write"})).state||"prompt"==result.state?await navigator.clipboard.writeText(n):cce(n,t)}catch(e){cce(n,t)}finally{e.blur(),e.innerHTML="Copied",setTimeout(function(){e.innerHTML="Copy"},2e3)}}function cce(e,t){const n=document.createElement("textArea"),o=(n.contentEditable="true",n.readOnly="false",n.className="copyable-text-area",n.value=e,t.insertBefore(n,t.firstChild),document.createRange()),i=(o.selectNodeContents(n),window.getSelection());i.removeAllRanges(),i.addRange(o),n.setSelectionRange(0,999999),document.execCommand("copy"),t.removeChild(n)}function closeSearchNow(){const e=document.querySelector("main");e.innerHTML=window.main}function goSearchNow(){const e=document.querySelector("main");window.main||(window.main=e.innerHTML);var t=document.getElementById("suggestions"),n=t.cloneNode(!0),o=(n.id="results",document.createElement("div")),i='

Results For: '.concat(document.getElementById("userinput").value,"

");return o.innerHTML=i,n.insertBefore(o,n.firstChild),e.innerHTML=n.outerHTML,t.innerHTML="",document.getElementById("userinput").value="",!1}items.forEach(e=>{e.rel="stylesheet"}),document.querySelectorAll("pre").forEach(e=>ccb(e)),document.getElementById("mode").addEventListener("click",()=>{document.documentElement.classList.toggle("light"),localStorage.setItem("theme",document.documentElement.classList.contains("light")?"light":"dark")}),function(){function m(e){var t=new m.Index;return t.pipeline.add(m.trimmer,m.stopWordFilter,m.stemmer),e&&e.call(t,t),t}var l,c,e,t,d,h,f,p,g,y,v,S,x,w,b,E,I,F,D,C,k,N,L,_,n;m.version="0.9.5",((lunr=m).utils={}).warn=(n=this,function(e){n.console&&console.warn&&console.warn(e)}),m.utils.toString=function(e){return null==e?"":e.toString()},(m.EventEmitter=function(){this.events={}}).prototype.addListener=function(){var e=Array.prototype.slice.call(arguments),t=e.pop();if("function"!=typeof t)throw new TypeError("last argument must be a function");e.forEach(function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(t)},this)},m.EventEmitter.prototype.removeListener=function(e,t){this.hasHandler(e)&&-1!==(t=this.events[e].indexOf(t))&&(this.events[e].splice(t,1),0==this.events[e].length&&delete this.events[e])},m.EventEmitter.prototype.emit=function(e){var t;this.hasHandler(e)&&(t=Array.prototype.slice.call(arguments,1),this.events[e].forEach(function(e){e.apply(void 0,t)},this))},m.EventEmitter.prototype.hasHandler=function(e){return e in this.events},(m.tokenizer=function(e){return arguments.length&&null!=e?Array.isArray(e)?(t=(t=e.filter(function(e){return null!=e})).map(function(e){return m.utils.toString(e).toLowerCase()}),n=[],t.forEach(function(e){e=e.split(m.tokenizer.seperator);n=n.concat(e)},this),n):e.toString().trim().toLowerCase().split(m.tokenizer.seperator):[];var t,n}).defaultSeperator=/[\s\-]+/,m.tokenizer.seperator=m.tokenizer.defaultSeperator,m.tokenizer.setSeperator=function(e){null!=e&&"object"==typeof e&&(m.tokenizer.seperator=e)},m.tokenizer.resetSeperator=function(){m.tokenizer.seperator=m.tokenizer.defaultSeperator},m.tokenizer.getSeperator=function(){return m.tokenizer.seperator},(m.Pipeline=function(){this._queue=[]}).registeredFunctions={},m.Pipeline.registerFunction=function(e,t){t in m.Pipeline.registeredFunctions&&m.utils.warn("Overwriting existing registered function: "+t),e.label=t,m.Pipeline.registeredFunctions[t]=e},m.Pipeline.getRegisteredFunction=function(e){return e in m.Pipeline.registeredFunctions!=1?null:m.Pipeline.registeredFunctions[e]},m.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||m.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},m.Pipeline.load=function(e){var n=new m.Pipeline;return e.forEach(function(e){var t=m.Pipeline.getRegisteredFunction(e);if(!t)throw new Error("Cannot load un-registered function: "+e);n.add(t)}),n},m.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach(function(e){m.Pipeline.warnIfFunctionNotRegistered(e),this._queue.push(e)},this)},m.Pipeline.prototype.after=function(e,t){m.Pipeline.warnIfFunctionNotRegistered(t);e=this._queue.indexOf(e);if(-1===e)throw new Error("Cannot find existingFn");this._queue.splice(e+1,0,t)},m.Pipeline.prototype.before=function(e,t){m.Pipeline.warnIfFunctionNotRegistered(t);e=this._queue.indexOf(e);if(-1===e)throw new Error("Cannot find existingFn");this._queue.splice(e,0,t)},m.Pipeline.prototype.remove=function(e){e=this._queue.indexOf(e);-1!==e&&this._queue.splice(e,1)},m.Pipeline.prototype.run=function(e){for(var t=[],n=e.length,o=this._queue.length,i=0;iu[o]&&o++:(t.add(s[n]),n++,o++);return t},lunr.SortedSet.prototype.clone=function(){var e=new lunr.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},lunr.SortedSet.prototype.union=function(e){for(var t,e=this.length>=e.length?(t=this,e):(t=e,this),n=t.clone(),o=0,i=e.toArray();o",a=n.querySelector("a"),t=n.querySelector("span:first-child"),d=n.querySelector("span:nth-child(2)"),a.href=e.ref,t.textContent=e.doc.title,d.innerHTML=function(e,t){var n=t.map(function(e){return elasticlunr.stemmer(e.toLowerCase())}),o=!1,i=0,r=[],s=e.toLowerCase().split(". ");for(p in s){var u,a=s[p].split(/[\s\n]/),l=8;for(u in a){if(0<(x=a[u]).length){for(var c in n)elasticlunr.stemmer(x).startsWith(n[c])&&(l=40,o=!0);r.push([x,l,i]),l=2}i=i+x.length+1}i+=1}if(0===r.length)return void 0!==e.length&&300m&&(m=d[p],g=p);for(var y=[],v=r[g][2],p=g;p"),v=x[2]+x[0].length;40!==x[1]&&12<=x[0].length&&!/^[\x00-\xff]+$/.test(x[0])?(S=substringByByte(e.substring(x[2],v),12),y.push(S)):y.push(e.substring(x[2],v)),40===x[1]&&y.push("")}return y.push("…"),y.join("")}(e.doc.body,s),suggestions.appendChild(n))});for(;i.length>r;)suggestions.removeChild(i[0])},!0),suggestions.addEventListener("click",function(){for(;suggestions.lastChild;)suggestions.removeChild(suggestions.lastChild);return!1},!0)}(); \ No newline at end of file +const items=document.querySelectorAll(".preStyle");function ccb(e){const t=document.createElement("button"),n=(t.className="cc ",t.type="button",t.innerHTML="Copy",t.addEventListener("click",()=>ccc(t,e)),document.createElement("div"));n.className="ccw",n.appendChild(t),e.parentNode.insertBefore(n,e),n.appendChild(e)}async function ccc(e,t){var n=t.querySelectorAll("table")["length"];let o="";if(0 tr > td:last-child");i.forEach(e=>{o+=e.innerText,console.log(o)})}else{const o=t.querySelector(":last-child > code").innerText}try{"granted"==(result=await navigator.permissions.query({name:"clipboard-write"})).state||"prompt"==result.state?await navigator.clipboard.writeText(o):cce(o,t)}catch(e){cce(o,t)}finally{e.innerHTML="Copied",setTimeout(function(){e.innerHTML="Copy"},2e3)}}function cce(e,t){const n=document.createElement("textArea"),o=(n.contentEditable="true",n.readOnly="false",n.className="copyable-text-area",n.value=e,t.insertBefore(n,t.firstChild),document.createRange()),i=(o.selectNodeContents(n),window.getSelection());i.removeAllRanges(),i.addRange(o),n.setSelectionRange(0,999999),document.execCommand("copy"),t.removeChild(n)}function closeSearchNow(){const e=document.querySelector("main");e.innerHTML=window.main}function goSearchNow(){const e=document.querySelector("main");window.main||(window.main=e.innerHTML);var t=document.getElementById("suggestions"),n=t.cloneNode(!0),o=(n.id="results",document.createElement("div")),i='

Results For: '.concat(document.getElementById("userinput").value,"

");return o.innerHTML=i,n.insertBefore(o,n.firstChild),e.innerHTML=n.outerHTML,t.innerHTML="",document.getElementById("userinput").value="",!1}items.forEach(e=>{e.rel="stylesheet"}),document.querySelectorAll("pre").forEach(e=>ccb(e)),document.getElementById("mode").addEventListener("click",()=>{document.documentElement.classList.toggle("light"),localStorage.setItem("theme",document.documentElement.classList.contains("light")?"light":"dark")}),function(){function m(e){var t=new m.Index;return t.pipeline.add(m.trimmer,m.stopWordFilter,m.stemmer),e&&e.call(t,t),t}var a,c,e,t,d,h,f,p,g,y,v,S,x,w,b,E,I,F,D,C,k,N,L,_,n;m.version="0.9.5",((lunr=m).utils={}).warn=(n=this,function(e){n.console&&console.warn&&console.warn(e)}),m.utils.toString=function(e){return null==e?"":e.toString()},(m.EventEmitter=function(){this.events={}}).prototype.addListener=function(){var e=Array.prototype.slice.call(arguments),t=e.pop();if("function"!=typeof t)throw new TypeError("last argument must be a function");e.forEach(function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(t)},this)},m.EventEmitter.prototype.removeListener=function(e,t){this.hasHandler(e)&&-1!==(t=this.events[e].indexOf(t))&&(this.events[e].splice(t,1),0==this.events[e].length&&delete this.events[e])},m.EventEmitter.prototype.emit=function(e){var t;this.hasHandler(e)&&(t=Array.prototype.slice.call(arguments,1),this.events[e].forEach(function(e){e.apply(void 0,t)},this))},m.EventEmitter.prototype.hasHandler=function(e){return e in this.events},(m.tokenizer=function(e){return arguments.length&&null!=e?Array.isArray(e)?(t=(t=e.filter(function(e){return null!=e})).map(function(e){return m.utils.toString(e).toLowerCase()}),n=[],t.forEach(function(e){e=e.split(m.tokenizer.seperator);n=n.concat(e)},this),n):e.toString().trim().toLowerCase().split(m.tokenizer.seperator):[];var t,n}).defaultSeperator=/[\s\-]+/,m.tokenizer.seperator=m.tokenizer.defaultSeperator,m.tokenizer.setSeperator=function(e){null!=e&&"object"==typeof e&&(m.tokenizer.seperator=e)},m.tokenizer.resetSeperator=function(){m.tokenizer.seperator=m.tokenizer.defaultSeperator},m.tokenizer.getSeperator=function(){return m.tokenizer.seperator},(m.Pipeline=function(){this._queue=[]}).registeredFunctions={},m.Pipeline.registerFunction=function(e,t){t in m.Pipeline.registeredFunctions&&m.utils.warn("Overwriting existing registered function: "+t),e.label=t,m.Pipeline.registeredFunctions[t]=e},m.Pipeline.getRegisteredFunction=function(e){return e in m.Pipeline.registeredFunctions!=1?null:m.Pipeline.registeredFunctions[e]},m.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||m.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},m.Pipeline.load=function(e){var n=new m.Pipeline;return e.forEach(function(e){var t=m.Pipeline.getRegisteredFunction(e);if(!t)throw new Error("Cannot load un-registered function: "+e);n.add(t)}),n},m.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach(function(e){m.Pipeline.warnIfFunctionNotRegistered(e),this._queue.push(e)},this)},m.Pipeline.prototype.after=function(e,t){m.Pipeline.warnIfFunctionNotRegistered(t);e=this._queue.indexOf(e);if(-1===e)throw new Error("Cannot find existingFn");this._queue.splice(e+1,0,t)},m.Pipeline.prototype.before=function(e,t){m.Pipeline.warnIfFunctionNotRegistered(t);e=this._queue.indexOf(e);if(-1===e)throw new Error("Cannot find existingFn");this._queue.splice(e,0,t)},m.Pipeline.prototype.remove=function(e){e=this._queue.indexOf(e);-1!==e&&this._queue.splice(e,1)},m.Pipeline.prototype.run=function(e){for(var t=[],n=e.length,o=this._queue.length,i=0;iu[o]&&o++:(t.add(s[n]),n++,o++);return t},lunr.SortedSet.prototype.clone=function(){var e=new lunr.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},lunr.SortedSet.prototype.union=function(e){for(var t,e=this.length>=e.length?(t=this,e):(t=e,this),n=t.clone(),o=0,i=e.toArray();o",a=n.querySelector("a"),t=n.querySelector("span:first-child"),d=n.querySelector("span:nth-child(2)"),a.href=e.ref,t.textContent=e.doc.title,d.innerHTML=function(e,t){var n=t.map(function(e){return elasticlunr.stemmer(e.toLowerCase())}),o=!1,i=0,r=[],s=e.toLowerCase().split(". ");for(p in s){var u,l=s[p].split(/[\s\n]/),a=8;for(u in l){if(0<(x=l[u]).length){for(var c in n)elasticlunr.stemmer(x).startsWith(n[c])&&(a=40,o=!0);r.push([x,a,i]),a=2}i=i+x.length+1}i+=1}if(0===r.length)return void 0!==e.length&&300m&&(m=d[p],g=p);for(var y=[],v=r[g][2],p=g;p"),v=x[2]+x[0].length;40!==x[1]&&12<=x[0].length&&!/^[\x00-\xff]+$/.test(x[0])?(S=substringByByte(e.substring(x[2],v),12),y.push(S)):y.push(e.substring(x[2],v)),40===x[1]&&y.push("")}return y.push("…"),y.join("")}(e.doc.body,s),suggestions.appendChild(n))});for(;i.length>r;)suggestions.removeChild(i[0])},!0),suggestions.addEventListener("click",function(){for(;suggestions.lastChild;)suggestions.removeChild(suggestions.lastChild);return!1},!0)}(); \ No newline at end of file diff --git a/static/abridge.min.js b/static/abridge.min.js index aefaa2c..885104e 100644 --- a/static/abridge.min.js +++ b/static/abridge.min.js @@ -1 +1 @@ -const items=document.querySelectorAll(".preStyle");function ccb(e){const t=document.createElement("button"),n=(t.className="cc ",t.type="button",t.innerHTML="Copy",t.addEventListener("click",()=>ccc(t,e)),document.createElement("div"));n.className="ccw",n.appendChild(t),e.parentNode.insertBefore(n,e),n.appendChild(e)}async function ccc(e,t){var n=t.querySelector(":last-child > code").innerText;try{"granted"==(result=await navigator.permissions.query({name:"clipboard-write"})).state||"prompt"==result.state?await navigator.clipboard.writeText(n):cce(n,t)}catch(e){cce(n,t)}finally{e.blur(),e.innerHTML="Copied",setTimeout(function(){e.innerHTML="Copy"},2e3)}}function cce(e,t){const n=document.createElement("textArea"),o=(n.contentEditable="true",n.readOnly="false",n.className="copyable-text-area",n.value=e,t.insertBefore(n,t.firstChild),document.createRange()),i=(o.selectNodeContents(n),window.getSelection());i.removeAllRanges(),i.addRange(o),n.setSelectionRange(0,999999),document.execCommand("copy"),t.removeChild(n)}function closeSearchNow(){const e=document.querySelector("main");e.innerHTML=window.main}function goSearchNow(){const e=document.querySelector("main");window.main||(window.main=e.innerHTML);var t=document.getElementById("suggestions"),n=t.cloneNode(!0),o=(n.id="results",document.createElement("div")),i='

Results For: '.concat(document.getElementById("userinput").value,"

");return o.innerHTML=i,n.insertBefore(o,n.firstChild),e.innerHTML=n.outerHTML,t.innerHTML="",document.getElementById("userinput").value="",!1}items.forEach(e=>{e.rel="stylesheet"}),document.querySelectorAll("pre").forEach(e=>ccb(e)),function(){function m(e){var t=new m.Index;return t.pipeline.add(m.trimmer,m.stopWordFilter,m.stemmer),e&&e.call(t,t),t}var c,l,e,t,d,h,f,p,g,y,v,S,x,w,b,E,I,F,D,C,N,k,_,L,n;m.version="0.9.5",((lunr=m).utils={}).warn=(n=this,function(e){n.console&&console.warn&&console.warn(e)}),m.utils.toString=function(e){return null==e?"":e.toString()},(m.EventEmitter=function(){this.events={}}).prototype.addListener=function(){var e=Array.prototype.slice.call(arguments),t=e.pop();if("function"!=typeof t)throw new TypeError("last argument must be a function");e.forEach(function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(t)},this)},m.EventEmitter.prototype.removeListener=function(e,t){this.hasHandler(e)&&-1!==(t=this.events[e].indexOf(t))&&(this.events[e].splice(t,1),0==this.events[e].length&&delete this.events[e])},m.EventEmitter.prototype.emit=function(e){var t;this.hasHandler(e)&&(t=Array.prototype.slice.call(arguments,1),this.events[e].forEach(function(e){e.apply(void 0,t)},this))},m.EventEmitter.prototype.hasHandler=function(e){return e in this.events},(m.tokenizer=function(e){return arguments.length&&null!=e?Array.isArray(e)?(t=(t=e.filter(function(e){return null!=e})).map(function(e){return m.utils.toString(e).toLowerCase()}),n=[],t.forEach(function(e){e=e.split(m.tokenizer.seperator);n=n.concat(e)},this),n):e.toString().trim().toLowerCase().split(m.tokenizer.seperator):[];var t,n}).defaultSeperator=/[\s\-]+/,m.tokenizer.seperator=m.tokenizer.defaultSeperator,m.tokenizer.setSeperator=function(e){null!=e&&"object"==typeof e&&(m.tokenizer.seperator=e)},m.tokenizer.resetSeperator=function(){m.tokenizer.seperator=m.tokenizer.defaultSeperator},m.tokenizer.getSeperator=function(){return m.tokenizer.seperator},(m.Pipeline=function(){this._queue=[]}).registeredFunctions={},m.Pipeline.registerFunction=function(e,t){t in m.Pipeline.registeredFunctions&&m.utils.warn("Overwriting existing registered function: "+t),e.label=t,m.Pipeline.registeredFunctions[t]=e},m.Pipeline.getRegisteredFunction=function(e){return e in m.Pipeline.registeredFunctions!=1?null:m.Pipeline.registeredFunctions[e]},m.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||m.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},m.Pipeline.load=function(e){var n=new m.Pipeline;return e.forEach(function(e){var t=m.Pipeline.getRegisteredFunction(e);if(!t)throw new Error("Cannot load un-registered function: "+e);n.add(t)}),n},m.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach(function(e){m.Pipeline.warnIfFunctionNotRegistered(e),this._queue.push(e)},this)},m.Pipeline.prototype.after=function(e,t){m.Pipeline.warnIfFunctionNotRegistered(t);e=this._queue.indexOf(e);if(-1===e)throw new Error("Cannot find existingFn");this._queue.splice(e+1,0,t)},m.Pipeline.prototype.before=function(e,t){m.Pipeline.warnIfFunctionNotRegistered(t);e=this._queue.indexOf(e);if(-1===e)throw new Error("Cannot find existingFn");this._queue.splice(e,0,t)},m.Pipeline.prototype.remove=function(e){e=this._queue.indexOf(e);-1!==e&&this._queue.splice(e,1)},m.Pipeline.prototype.run=function(e){for(var t=[],n=e.length,o=this._queue.length,i=0;iu[o]&&o++:(t.add(s[n]),n++,o++);return t},lunr.SortedSet.prototype.clone=function(){var e=new lunr.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},lunr.SortedSet.prototype.union=function(e){for(var t,e=this.length>=e.length?(t=this,e):(t=e,this),n=t.clone(),o=0,i=e.toArray();o",a=n.querySelector("a"),t=n.querySelector("span:first-child"),d=n.querySelector("span:nth-child(2)"),a.href=e.ref,t.textContent=e.doc.title,d.innerHTML=function(e,t){var n=t.map(function(e){return elasticlunr.stemmer(e.toLowerCase())}),o=!1,i=0,r=[],s=e.toLowerCase().split(". ");for(p in s){var u,a=s[p].split(/[\s\n]/),c=8;for(u in a){if(0<(x=a[u]).length){for(var l in n)elasticlunr.stemmer(x).startsWith(n[l])&&(c=40,o=!0);r.push([x,c,i]),c=2}i=i+x.length+1}i+=1}if(0===r.length)return void 0!==e.length&&300m&&(m=d[p],g=p);for(var y=[],v=r[g][2],p=g;p"),v=x[2]+x[0].length;40!==x[1]&&12<=x[0].length&&!/^[\x00-\xff]+$/.test(x[0])?(S=substringByByte(e.substring(x[2],v),12),y.push(S)):y.push(e.substring(x[2],v)),40===x[1]&&y.push("")}return y.push("…"),y.join("")}(e.doc.body,s),suggestions.appendChild(n))});for(;i.length>r;)suggestions.removeChild(i[0])},!0),suggestions.addEventListener("click",function(){for(;suggestions.lastChild;)suggestions.removeChild(suggestions.lastChild);return!1},!0)}(); \ No newline at end of file +const items=document.querySelectorAll(".preStyle");function ccb(e){const t=document.createElement("button"),n=(t.className="cc ",t.type="button",t.innerHTML="Copy",t.addEventListener("click",()=>ccc(t,e)),document.createElement("div"));n.className="ccw",n.appendChild(t),e.parentNode.insertBefore(n,e),n.appendChild(e)}async function ccc(e,t){var n=t.querySelectorAll("table")["length"];let o="";if(0 tr > td:last-child");i.forEach(e=>{o+=e.innerText,console.log(o)})}else{const o=t.querySelector(":last-child > code").innerText}try{"granted"==(result=await navigator.permissions.query({name:"clipboard-write"})).state||"prompt"==result.state?await navigator.clipboard.writeText(o):cce(o,t)}catch(e){cce(o,t)}finally{e.innerHTML="Copied",setTimeout(function(){e.innerHTML="Copy"},2e3)}}function cce(e,t){const n=document.createElement("textArea"),o=(n.contentEditable="true",n.readOnly="false",n.className="copyable-text-area",n.value=e,t.insertBefore(n,t.firstChild),document.createRange()),i=(o.selectNodeContents(n),window.getSelection());i.removeAllRanges(),i.addRange(o),n.setSelectionRange(0,999999),document.execCommand("copy"),t.removeChild(n)}function closeSearchNow(){const e=document.querySelector("main");e.innerHTML=window.main}function goSearchNow(){const e=document.querySelector("main");window.main||(window.main=e.innerHTML);var t=document.getElementById("suggestions"),n=t.cloneNode(!0),o=(n.id="results",document.createElement("div")),i='

Results For: '.concat(document.getElementById("userinput").value,"

");return o.innerHTML=i,n.insertBefore(o,n.firstChild),e.innerHTML=n.outerHTML,t.innerHTML="",document.getElementById("userinput").value="",!1}items.forEach(e=>{e.rel="stylesheet"}),document.querySelectorAll("pre").forEach(e=>ccb(e)),function(){function m(e){var t=new m.Index;return t.pipeline.add(m.trimmer,m.stopWordFilter,m.stemmer),e&&e.call(t,t),t}var a,c,e,t,d,h,f,p,g,y,v,S,x,w,b,E,I,F,D,C,N,k,_,L,n;m.version="0.9.5",((lunr=m).utils={}).warn=(n=this,function(e){n.console&&console.warn&&console.warn(e)}),m.utils.toString=function(e){return null==e?"":e.toString()},(m.EventEmitter=function(){this.events={}}).prototype.addListener=function(){var e=Array.prototype.slice.call(arguments),t=e.pop();if("function"!=typeof t)throw new TypeError("last argument must be a function");e.forEach(function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(t)},this)},m.EventEmitter.prototype.removeListener=function(e,t){this.hasHandler(e)&&-1!==(t=this.events[e].indexOf(t))&&(this.events[e].splice(t,1),0==this.events[e].length&&delete this.events[e])},m.EventEmitter.prototype.emit=function(e){var t;this.hasHandler(e)&&(t=Array.prototype.slice.call(arguments,1),this.events[e].forEach(function(e){e.apply(void 0,t)},this))},m.EventEmitter.prototype.hasHandler=function(e){return e in this.events},(m.tokenizer=function(e){return arguments.length&&null!=e?Array.isArray(e)?(t=(t=e.filter(function(e){return null!=e})).map(function(e){return m.utils.toString(e).toLowerCase()}),n=[],t.forEach(function(e){e=e.split(m.tokenizer.seperator);n=n.concat(e)},this),n):e.toString().trim().toLowerCase().split(m.tokenizer.seperator):[];var t,n}).defaultSeperator=/[\s\-]+/,m.tokenizer.seperator=m.tokenizer.defaultSeperator,m.tokenizer.setSeperator=function(e){null!=e&&"object"==typeof e&&(m.tokenizer.seperator=e)},m.tokenizer.resetSeperator=function(){m.tokenizer.seperator=m.tokenizer.defaultSeperator},m.tokenizer.getSeperator=function(){return m.tokenizer.seperator},(m.Pipeline=function(){this._queue=[]}).registeredFunctions={},m.Pipeline.registerFunction=function(e,t){t in m.Pipeline.registeredFunctions&&m.utils.warn("Overwriting existing registered function: "+t),e.label=t,m.Pipeline.registeredFunctions[t]=e},m.Pipeline.getRegisteredFunction=function(e){return e in m.Pipeline.registeredFunctions!=1?null:m.Pipeline.registeredFunctions[e]},m.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||m.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},m.Pipeline.load=function(e){var n=new m.Pipeline;return e.forEach(function(e){var t=m.Pipeline.getRegisteredFunction(e);if(!t)throw new Error("Cannot load un-registered function: "+e);n.add(t)}),n},m.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach(function(e){m.Pipeline.warnIfFunctionNotRegistered(e),this._queue.push(e)},this)},m.Pipeline.prototype.after=function(e,t){m.Pipeline.warnIfFunctionNotRegistered(t);e=this._queue.indexOf(e);if(-1===e)throw new Error("Cannot find existingFn");this._queue.splice(e+1,0,t)},m.Pipeline.prototype.before=function(e,t){m.Pipeline.warnIfFunctionNotRegistered(t);e=this._queue.indexOf(e);if(-1===e)throw new Error("Cannot find existingFn");this._queue.splice(e,0,t)},m.Pipeline.prototype.remove=function(e){e=this._queue.indexOf(e);-1!==e&&this._queue.splice(e,1)},m.Pipeline.prototype.run=function(e){for(var t=[],n=e.length,o=this._queue.length,i=0;iu[o]&&o++:(t.add(s[n]),n++,o++);return t},lunr.SortedSet.prototype.clone=function(){var e=new lunr.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},lunr.SortedSet.prototype.union=function(e){for(var t,e=this.length>=e.length?(t=this,e):(t=e,this),n=t.clone(),o=0,i=e.toArray();o",a=n.querySelector("a"),t=n.querySelector("span:first-child"),d=n.querySelector("span:nth-child(2)"),a.href=e.ref,t.textContent=e.doc.title,d.innerHTML=function(e,t){var n=t.map(function(e){return elasticlunr.stemmer(e.toLowerCase())}),o=!1,i=0,r=[],s=e.toLowerCase().split(". ");for(p in s){var u,l=s[p].split(/[\s\n]/),a=8;for(u in l){if(0<(x=l[u]).length){for(var c in n)elasticlunr.stemmer(x).startsWith(n[c])&&(a=40,o=!0);r.push([x,a,i]),a=2}i=i+x.length+1}i+=1}if(0===r.length)return void 0!==e.length&&300m&&(m=d[p],g=p);for(var y=[],v=r[g][2],p=g;p"),v=x[2]+x[0].length;40!==x[1]&&12<=x[0].length&&!/^[\x00-\xff]+$/.test(x[0])?(S=substringByByte(e.substring(x[2],v),12),y.push(S)):y.push(e.substring(x[2],v)),40===x[1]&&y.push("")}return y.push("…"),y.join("")}(e.doc.body,s),suggestions.appendChild(n))});for(;i.length>r;)suggestions.removeChild(i[0])},!0),suggestions.addEventListener("click",function(){for(;suggestions.lastChild;)suggestions.removeChild(suggestions.lastChild);return!1},!0)}(); \ No newline at end of file diff --git a/static/codecopy.js b/static/codecopy.js index 7163cdb..4d100a8 100644 --- a/static/codecopy.js +++ b/static/codecopy.js @@ -1,4 +1,5 @@ // https://aaronluna.dev/blog/add-copy-button-to-code-blocks-hugo-chroma/ +// Further modified for Zola by Jieiku: https://github.com/Jieiku // create copy button function ccb(highlightDiv) { @@ -20,8 +21,18 @@ function ccb(highlightDiv) { // copy code clipboard async function ccc(button, highlightDiv) { - const codeToCopy = highlightDiv.querySelector(":last-child > code") - .innerText; + //look for table, if so do it different + const { length } = highlightDiv.querySelectorAll("table"); + let codeToCopy = ""; + if (length > 0) { + const items = highlightDiv.querySelectorAll(":last-child > tr > td:last-child"); + items.forEach(item => { + codeToCopy = codeToCopy + item.innerText; + console.log(codeToCopy); + }); + } else { + const codeToCopy = highlightDiv.querySelector(":last-child > code").innerText; + } try { result = await navigator.permissions.query({ name: "clipboard-write" }); if (result.state == "granted" || result.state == "prompt") { @@ -33,7 +44,7 @@ async function ccc(button, highlightDiv) { cce(codeToCopy, highlightDiv);//copyCodeBlockExecCommand } finally { //codeWasCopied - button.blur(); + //button.blur(); button.innerHTML = "Copied"; setTimeout(function () { button.innerHTML = "Copy"; -- cgit v1.3.1