Initial commit
This commit is contained in:
commit
1f637ed41e
33 changed files with 832 additions and 0 deletions
101
themes/er/layouts/partials/scripts.html
Normal file
101
themes/er/layouts/partials/scripts.html
Normal file
|
@ -0,0 +1,101 @@
|
|||
{{ if .Site.Params.showtoc | default true }}
|
||||
{{ $headers := findRE "<h[1-6].*?>(.|\n])+?</h[1-6]>" .Content }}
|
||||
{{ $has_headers := ge (len $headers) 1 }}
|
||||
{{ if and $has_headers (ne .Params.toc false) }}
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/tocbot/4.4.2/tocbot.min.js"></script>
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/tocbot/4.4.2/tocbot.css">
|
||||
<style>.is-active-link::before { background-color: var(--secondary-color); }</style>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ if or (.Site.Params.showTagCloud | default true) (.Site.Params.showtoc | default true) (.Site.Params.showScrollToTop | default true) }}
|
||||
<script type="text/javascript">
|
||||
var prevScrollpos = window.pageYOffset;
|
||||
window.onscroll = function() {
|
||||
var currentScrollPos = window.pageYOffset;
|
||||
|
||||
{{ if .Site.Params.showTagCloud | default true }}
|
||||
if (document.getElementById("tag-cloud") !== null) {
|
||||
if (prevScrollpos > currentScrollPos) { // scroll up
|
||||
document.getElementById("tag-cloud").style.visibility = "visible";
|
||||
document.getElementById("tag-cloud").style.opacity = "1";
|
||||
} else {
|
||||
document.getElementById("tag-cloud").style.visibility = "hidden";
|
||||
document.getElementById("tag-cloud").style.opacity = "0";
|
||||
}
|
||||
}
|
||||
{{ end }}
|
||||
|
||||
{{ if .Site.Params.showScrollToTop | default true }}
|
||||
if (document.body.scrollTop > 1000 || document.documentElement.scrollTop > 1000) {
|
||||
document.getElementById("scroll-to-top").style.display = "inline";
|
||||
document.getElementById("scroll-to-top").style.visibility = "visible";
|
||||
document.getElementById("scroll-to-top").style.opacity = "1";
|
||||
} else {
|
||||
document.getElementById("scroll-to-top").style.visibility = "hidden";
|
||||
document.getElementById("scroll-to-top").style.opacity = "0";
|
||||
}
|
||||
{{ end }}
|
||||
prevScrollpos = currentScrollPos;
|
||||
}
|
||||
{{ if .Site.Params.showScrollToTop | default true }}
|
||||
// When the user clicks on the button, scroll to the top of the document
|
||||
function topFunction() {
|
||||
document.body.scrollTop = 0; // For Safari
|
||||
document.documentElement.scrollTop = 0; // For Chrome, Firefox, IE and Opera
|
||||
}
|
||||
{{ end }}
|
||||
|
||||
{{ if .Site.Params.showtoc | default true }}
|
||||
{{ $headers := findRE "<h[1-6].*?>(.|\n])+?</h[1-6]>" .Content }}
|
||||
{{ $has_headers := ge (len $headers) 1 }}
|
||||
{{ if and $has_headers (ne .Params.toc false) }}
|
||||
if (document.getElementById("contents-list") !== null && document.getElementsByClassName("post-content").length !== 0) {
|
||||
tocbot.init({
|
||||
// Where to render the table of contents.
|
||||
tocSelector: '#contents-list',
|
||||
// Where to grab the headings to build the table of contents.
|
||||
contentSelector: '.post-content',
|
||||
// Which headings to grab inside of the contentSelector element.
|
||||
headingSelector: 'h1, h2, h3',
|
||||
});
|
||||
}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</script>
|
||||
{{ end }}
|
||||
|
||||
{{ if .Params.math }}
|
||||
<!-- Load KaTeX -->
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.6.0/katex.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.7.1/contrib/auto-render.min.js" integrity="sha384-dq1/gEHSxPZQ7DdrM82ID4YVol9BYyU7GbWlIwnwyPzotpoc57wDw/guX8EaYGPx" crossorigin="anonymous"></script>
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.6.0/katex.min.css">
|
||||
<script>
|
||||
renderMathInElement(document.body,
|
||||
{
|
||||
delimiters: [
|
||||
{left: "$$", right: "$$", display: true},
|
||||
{left: "$", right: "$", display: false},
|
||||
]
|
||||
}
|
||||
);
|
||||
|
||||
var inlineMathArray = document.querySelectorAll("script[type='math/tex']");
|
||||
for (var i = 0; i < inlineMathArray.length; i++) {
|
||||
var inlineMath = inlineMathArray[i];
|
||||
var tex = inlineMath.innerText || inlineMath.textContent;
|
||||
var replaced = document.createElement("span");
|
||||
replaced.innerHTML = katex.renderToString(tex, {displayMode: false});
|
||||
inlineMath.parentNode.replaceChild(replaced, inlineMath);
|
||||
}
|
||||
|
||||
var displayMathArray = document.querySelectorAll("script[type='math/tex; mode=display']");
|
||||
for (var i = 0; i < displayMathArray.length; i++) {
|
||||
var displayMath = displayMathArray[i];
|
||||
var tex = displayMath.innerHTML;
|
||||
var replaced = document.createElement("span");
|
||||
replaced.innerHTML = katex.renderToString(tex.replace(/%.*/g, ''), {displayMode: true});
|
||||
displayMath.parentNode.replaceChild(replaced, displayMath);
|
||||
}
|
||||
</script>
|
||||
{{end}}
|
Loading…
Add table
Add a link
Reference in a new issue