56 lines
1.6 KiB
Smarty
56 lines
1.6 KiB
Smarty
<!doctype html>
|
|
<html>
|
|
<head>
|
|
<title>Zk | %title%</title>
|
|
<link rel="stylesheet" type="text/css" href="/style.css" />
|
|
<meta name="viewport" content="width=device-width" />
|
|
<meta charset="utf-8" />
|
|
</head>
|
|
<body>
|
|
<main>
|
|
<header>
|
|
<h1>Zk | %title%</h1>
|
|
</header>
|
|
<article class="content">
|
|
%content%
|
|
<span class="control">Expand all</span>
|
|
</article>
|
|
<footer>
|
|
<p>Page generated on %date%</p>
|
|
</footer>
|
|
</main>
|
|
<script type="text/javascript">
|
|
document.querySelectorAll('li').forEach(el => {
|
|
if (el.querySelectorAll('li').length !== 0) {
|
|
el.classList.add('has-nested', 'closed');
|
|
el.innerHTML = `<span class="toggle"></span> ${el.innerHTML}`;
|
|
}
|
|
});
|
|
document.querySelectorAll('.toc .has-nested').forEach(el => {
|
|
el.classList.remove('has-nested', 'closed');
|
|
});
|
|
document.querySelectorAll('li.has-nested').forEach(el => {
|
|
el.querySelector('.toggle').addEventListener('click', () => {
|
|
el.classList.toggle('closed');
|
|
});
|
|
});
|
|
let expanded = false;
|
|
document.querySelector('.control').addEventListener('click', (e) => {
|
|
expanded = !expanded;
|
|
if (expanded) {
|
|
e.target.innerText = 'Collapse all';
|
|
} else {
|
|
e.target.innerText = 'Expand all';
|
|
}
|
|
document.querySelectorAll('.has-nested').forEach((el) => {
|
|
if (expanded) {
|
|
el.classList.remove('closed');
|
|
} else {
|
|
el.classList.add('closed')
|
|
}
|
|
});
|
|
});
|
|
</script>
|
|
</body>
|
|
</html>
|