Merge branch 'main' of github.com:welpo/tabi

This commit is contained in:
Jeremiah Russell 2025-02-21 14:33:12 +00:00
commit 89ebc6d253
No known key found for this signature in database
GPG key ID: E576B835ACE207E5
50 changed files with 861 additions and 227 deletions

View file

@ -14,13 +14,8 @@
<meta charset="utf-8"/>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<!-- The base URL is assumed to be the first URL in the sitemap. -->
<xsl:variable name="baseUrl" select="(sitemap:urlset/sitemap:url)[1]/sitemap:loc"/>
<!-- Remove http[s]:// -->
<xsl:variable name="baseUrlWithoutProtocol" select="substring-after($baseUrl, '://')"/>
<!-- Remove trailing slash -->
<xsl:variable name="clean_base_url" select="substring-before($baseUrlWithoutProtocol, '/')"/>
<link rel="stylesheet" href="{$baseUrl}main.css"/>
<xsl:variable name="baseUrl" select="/atom:feed/tabi:metadata/tabi:base_url"/>
<link rel="stylesheet" href="{$baseUrl}/main.css"/>
<link rel="stylesheet" href="{/atom:feed/atom:link[@rel='extra-stylesheet']/@href}" />
</head>

View file

@ -1,20 +0,0 @@
document.addEventListener("DOMContentLoaded", function() {
document.querySelectorAll('.code-source').forEach(function(marker) {
let sourceUrl = marker.getAttribute('data-source');
let nextPre = marker.nextElementSibling;
if (nextPre && nextPre.tagName === 'PRE') {
let codeElement = nextPre.querySelector('code');
if (codeElement) {
// Use a span element for the source path if it's not a link.
let sourceElement = document.createElement(sourceUrl.startsWith('http') ? 'a' : 'span');
sourceElement.textContent = sourceUrl;
sourceElement.className = 'source-path';
if (sourceUrl.startsWith('http')) {
sourceElement.href = sourceUrl;
}
codeElement.prepend(sourceElement);
}
}
});
});

View file

@ -1 +0,0 @@
document.addEventListener("DOMContentLoaded",function(){document.querySelectorAll(".code-source").forEach(function(t){var e,n=t.getAttribute("data-source"),t=t.nextElementSibling;t&&"PRE"===t.tagName&&(t=t.querySelector("code"))&&((e=document.createElement(n.startsWith("http")?"a":"span")).textContent=n,e.className="source-path",n.startsWith("http")&&(e.href=n),t.prepend(e))})});

View file

@ -0,0 +1,36 @@
document.addEventListener("DOMContentLoaded", function() {
// Convert URLs in data-name to links.
document.querySelectorAll('code[data-name]').forEach(function(code) {
const name = code.getAttribute('data-name');
if (name.startsWith('http')) {
const link = document.createElement('a');
link.href = name;
link.className = 'source-path';
link.textContent = name;
code.insertBefore(link, code.firstChild);
// Remove data-name to avoid overlap with Zola's native display.
code.removeAttribute('data-name');
code.parentElement?.removeAttribute('data-name');
}
});
// Legacy support for old shortcode. https://github.com/welpo/tabi/pull/489
document.querySelectorAll('.code-source').forEach(function(marker) {
const sourceUrl = marker.getAttribute('data-source');
const nextPre = marker.nextElementSibling;
if (nextPre?.tagName === 'PRE') {
const code = nextPre.querySelector('code');
if (code) {
if (sourceUrl.startsWith('http')) {
const link = document.createElement('a');
link.href = sourceUrl;
link.className = 'source-path';
link.textContent = sourceUrl;
code.insertBefore(link, code.firstChild);
} else {
code.setAttribute('data-name', sourceUrl);
}
}
}
});
});

1
static/js/codeBlockNameLinks.min.js vendored Normal file
View file

@ -0,0 +1 @@
document.addEventListener("DOMContentLoaded",function(){document.querySelectorAll("code[data-name]").forEach(function(e){var t,a=e.getAttribute("data-name");a.startsWith("http")&&((t=document.createElement("a")).href=a,t.className="source-path",t.textContent=a,e.insertBefore(t,e.firstChild),e.removeAttribute("data-name"),e.parentElement?.removeAttribute("data-name"))}),document.querySelectorAll(".code-source").forEach(function(e){var t,a=e.getAttribute("data-source");"PRE"===(e=e.nextElementSibling)?.tagName&&(e=e.querySelector("code"))&&(a.startsWith("http")?((t=document.createElement("a")).href=a,t.className="source-path",t.textContent=a,e.insertBefore(t,e.firstChild)):e.setAttribute("data-name",a))})});