157 lines
5.2 KiB
Plaintext
Raw Normal View History

2025-02-15 10:19:38 +01:00
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="/assets/styles/layout.css">
<link rel="stylesheet" type="text/css" href="/assets/styles/typography.css">
<link rel="stylesheet" type="text/css" href="/assets/styles/style.css">
<link rel="stylesheet" type="text/css" href="/assets/styles/paged.css">
2025-03-01 16:38:05 +01:00
<link rel="stylesheet" type="text/css" href="/assets/styles/media.css">
2025-02-15 10:19:38 +01:00
<link rel="stylesheet" type="text/css" href="/assets/styles/paged-interface.css">
<meta name="format-detection" content="telephone=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<link rel="shortcut icon" type="image/x-icon" href="/assets/favicon.ico">
<link rel="apple-touch-icon" sizes="76x76" href="/assets/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/assets/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/assets/favicon-16x16.png">
<link rel="manifest" href="/site.webmanifest">
<link rel="mask-icon" href="/assets/safari-pinned-tab.svg" color="#5bbad5">
<meta name="msapplication-TileColor" content="#ffc40d">
<meta name="theme-color" content="#000">
<meta name="keywords" content="">
<meta name="robots" content="noarchive, noimageindex">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Fira+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap" rel="stylesheet">
<!-- TODO make local-->
<!-- Paged.js-->
<script src="https://unpkg.com/pagedjs/dist/paged.polyfill.js"></script>
<script>
class MyHandler extends Paged.Handler {
constructor(chunker, polisher, caller) {
super(chunker, polisher, caller);
}
2025-02-16 13:52:06 +01:00
afterRendered(pages) {
2025-03-09 20:58:44 +01:00
let storedTHead = []
2025-02-16 13:52:06 +01:00
pages.forEach((p) => {
2025-03-09 20:58:44 +01:00
p.element.querySelectorAll("table:has(thead)").forEach((th) => {
storedTHead.push(th);
});
p.element.querySelectorAll("table:not(:has(thead))").forEach((table) => {
let splitFrom = table.getAttribute("data-split-from");
let matchedHead = storedTHead.filter((th) => {
return th.getAttribute("data-split-to") === splitFrom;
})[0]
if(matchedHead) {
let head = matchedHead.querySelector("thead").cloneNode(true);
if(head) {
table.appendChild(head);
}
}
})
2025-02-16 13:52:06 +01:00
p.element.querySelectorAll(".sample").forEach((el) => {
2025-03-01 16:38:05 +01:00
el.addEventListener("click", function (e) {
const audioEl = e.currentTarget.querySelector("audio");
if(audioEl.paused) {
document.querySelectorAll(".sample").forEach((s) => {
s.removeAttribute("active");
s.querySelector("audio").pause();
})
e.currentTarget.setAttribute("active", true)
audioEl.play();
} else {
audioEl.pause();
e.currentTarget.removeAttribute("active")
2025-02-15 10:19:38 +01:00
2025-03-01 16:38:05 +01:00
}
})
})
2025-02-16 13:52:06 +01:00
})
2025-03-01 16:38:05 +01:00
2025-02-16 13:52:06 +01:00
}
2025-02-15 10:19:38 +01:00
beforeParsed(content) {
let count = 0;
content.querySelectorAll(`a[role="doc-noteref"]`).forEach((ref) =>{
2025-03-01 16:38:05 +01:00
2025-02-15 10:19:38 +01:00
const href = ref.getAttribute("href");
let note = content.querySelector(".footnotes " + href);
if(note) {
2025-03-01 16:38:05 +01:00
2025-02-15 10:19:38 +01:00
note.setAttribute("count", ref.querySelector("sup").textContent);
ref.appendChild(note);
}
})
2025-03-01 16:38:05 +01:00
let filter = [];
let bib = content.querySelector('[template-type="bib"]');
if(bib) {
content.querySelectorAll(".csl-entry").forEach((e) => {
console.log(e)
if (filter.indexOf(e.id) == -1) {
filter.push(e.id);
bib.appendChild(e);
} else {
e.parentNode.removeChild(e);
}
})}
2025-02-15 10:19:38 +01:00
}
}
Paged.registerHandlers(MyHandler);
</script>
{% block title %}
{%- if page['title'] -%}
2025-03-11 22:04:07 +01:00
<title>{{ page['title'] }} {{documents['meta']['version']}}</title>
2025-02-15 10:19:38 +01:00
{%- else -%}
<title>I dont have a title</title>
{%- endif -%}
{% endblock %}
</head>
<body>
<main>
<section>
{%- block content %}{% endblock -%}
</section>
{% block aside %}
<aside>
{% macro render_list(name, title) -%}
{% if documents[name]|length > 0 %}
<h3>{{ title}}</h3>
<ul>
{% for item in documents[name] %}
<li>
<a href="/{{ name }}/{{ item['slug'] }}.html">{{ item['title'] }}</a>
</li>
{% endfor %}
</ul>
{% endif %}
{%- endmacro %}
<p>{{ render_list('repair-logs', 'Repair Logs') }}</p>
<p>{{ render_list('events', 'Events') }}</p>
{% block footer %}
<p>Find the code on Klankservers <a target="_blank"
href="https://code.klank.school/vitrinekast/klank-docs">Git!</a>.</p>
{% endblock %}
</aside>
{% endblock %}
</main>
<dialog>
<img src="" alt="">
<p></p>
</dialog>
</body>
<script type="text/javascript" src="/assets/app.js"></script>
</html>