overhaul. blog taken down. links to Ebba
This commit is contained in:
parent
1b1f403f8d
commit
9a062fd815
37 changed files with 5416 additions and 982 deletions
311
docs/blog.html
311
docs/blog.html
|
|
@ -2,7 +2,7 @@
|
|||
<html xmlns="http://www.w3.org/1999/xhtml" lang="da" xml:lang="da"><head>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta name="generator" content="quarto-1.3.450">
|
||||
<meta name="generator" content="quarto-1.4.554">
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
|
||||
|
||||
|
|
@ -51,7 +51,13 @@ ul.task-list li input[type="checkbox"] {
|
|||
"collapse-after": 3,
|
||||
"panel-placement": "end",
|
||||
"type": "overlay",
|
||||
"limit": 20,
|
||||
"limit": 50,
|
||||
"keyboard-shortcut": [
|
||||
"f",
|
||||
"/",
|
||||
"s"
|
||||
],
|
||||
"show-item-context": false,
|
||||
"language": {
|
||||
"search-no-results-text": "Ingen resultater",
|
||||
"search-matching-documents-text": "Matchende dokumenter",
|
||||
|
|
@ -60,6 +66,7 @@ ul.task-list li input[type="checkbox"] {
|
|||
"search-more-match-text": "andet resultat i dette dokument",
|
||||
"search-more-matches-text": "andre resultater i dette dokument",
|
||||
"search-clear-button-title": "Ryd",
|
||||
"search-text-placeholder": "",
|
||||
"search-detached-cancel-button-title": "Fortryd",
|
||||
"search-submit-button-title": "Indsend",
|
||||
"search-label": "Søg"
|
||||
|
|
@ -99,6 +106,33 @@ ul.task-list li input[type="checkbox"] {
|
|||
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml-full.js" type="text/javascript"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
const typesetMath = (el) => {
|
||||
if (window.MathJax) {
|
||||
// MathJax Typeset
|
||||
window.MathJax.typeset([el]);
|
||||
} else if (window.katex) {
|
||||
// KaTeX Render
|
||||
var mathElements = el.getElementsByClassName("math");
|
||||
var macros = [];
|
||||
for (var i = 0; i < mathElements.length; i++) {
|
||||
var texText = mathElements[i].firstChild;
|
||||
if (mathElements[i].tagName == "SPAN") {
|
||||
window.katex.render(texText.data, mathElements[i], {
|
||||
displayMode: mathElements[i].classList.contains('display'),
|
||||
throwOnError: false,
|
||||
macros: macros,
|
||||
fleqn: false
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
window.Quarto = {
|
||||
typesetMath
|
||||
};
|
||||
</script>
|
||||
|
||||
<link rel="stylesheet" href="styles.css">
|
||||
</head>
|
||||
|
||||
|
|
@ -106,9 +140,9 @@ ul.task-list li input[type="checkbox"] {
|
|||
|
||||
<div id="quarto-search-results"></div>
|
||||
<header id="quarto-header" class="headroom fixed-top">
|
||||
<nav class="navbar navbar-expand-lg navbar-dark ">
|
||||
<nav class="navbar navbar-expand-lg " data-bs-theme="dark">
|
||||
<div class="navbar-container container-fluid">
|
||||
<div class="navbar-brand-container">
|
||||
<div class="navbar-brand-container mx-auto">
|
||||
<a class="navbar-brand" href="./index.html">
|
||||
<span class="navbar-title">Familien G Damsbo</span>
|
||||
</a>
|
||||
|
|
@ -120,28 +154,28 @@ ul.task-list li input[type="checkbox"] {
|
|||
<div class="collapse navbar-collapse" id="navbarCollapse">
|
||||
<ul class="navbar-nav navbar-nav-scroll me-auto">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="./index.html" rel="" target="">
|
||||
<span class="menu-text">Start</span></a>
|
||||
<a class="nav-link" href="./index.html">
|
||||
<span class="menu-text">Start</span></a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="./food.html" rel="" target="">
|
||||
<span class="menu-text">Opskrifter</span></a>
|
||||
<a class="nav-link" href="./food.html">
|
||||
<span class="menu-text">Opskrifter</span></a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" href="./blog.html" rel="" target="" aria-current="page">
|
||||
<span class="menu-text">Blog</span></a>
|
||||
<a class="nav-link" href="https://ebba.gdamsbo.dk/">
|
||||
<span class="menu-text">Ebbas side</span></a>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="navbar-nav navbar-nav-scroll ms-auto">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="https://github.com/agdamsbo/familien.gdamsbo" rel="" target="">
|
||||
<span class="menu-text">Kildekode</span></a>
|
||||
<a class="nav-link" href="https://github.com/agdamsbo/familien.gdamsbo">
|
||||
<span class="menu-text">Kildekode</span></a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="quarto-navbar-tools">
|
||||
</div> <!-- /navcollapse -->
|
||||
<div class="quarto-navbar-tools">
|
||||
<a href="" class="quarto-color-scheme-toggle quarto-navigation-tool px-1" onclick="window.quartoToggleColorScheme(); return false;" title="Skift mørk tilstand"><i class="bi"></i></a>
|
||||
</div>
|
||||
</div> <!-- /navcollapse -->
|
||||
</div> <!-- /container-fluid -->
|
||||
</nav>
|
||||
</header>
|
||||
|
|
@ -170,8 +204,10 @@ ul.task-list li input[type="checkbox"] {
|
|||
</div>
|
||||
|
||||
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<div class="topbr">
|
||||
<p>Her handler det om alle mulige familieprojekter. Det kommer nok til at lugte lidt af kode og IT også.</p>
|
||||
</div>
|
||||
|
|
@ -181,7 +217,7 @@ ul.task-list li input[type="checkbox"] {
|
|||
|
||||
<div class="quarto-listing quarto-listing-container-grid" id="listing-listing">
|
||||
<div class="list grid quarto-listing-cols-3">
|
||||
<div class="g-col-1" data-index="0" data-categories="Canada,BC,Vancouver,Camper,Børn" data-listing-date-sort="1691013600000" data-listing-file-modified-sort="1691122836210" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="2">
|
||||
<div class="g-col-1" data-index="0" data-categories="Canada,BC,Vancouver,Camper,Børn" data-listing-date-sort="1691013600000" data-listing-file-modified-sort="1691122836210" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="2" data-listing-word-count-sort="278">
|
||||
<a href="./blog/4_vancouver_og_camper.html" class="quarto-grid-link">
|
||||
<div class="quarto-grid-item card h-100 card-left">
|
||||
<div class="listing-item-img-placeholder card-img-top" style="height: 150px;"> </div>
|
||||
|
|
@ -221,7 +257,7 @@ Andreas
|
|||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="g-col-1" data-index="1" data-categories="Canada,Rejse,Tog" data-listing-date-sort="1689285600000" data-listing-file-modified-sort="1689249727226" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="1">
|
||||
<div class="g-col-1" data-index="1" data-categories="Canada,Rejse,Tog" data-listing-date-sort="1689285600000" data-listing-file-modified-sort="1689249727226" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="1" data-listing-word-count-sort="131">
|
||||
<a href="./blog/3_checked_in.html" class="quarto-grid-link">
|
||||
<div class="quarto-grid-item card h-100 card-left">
|
||||
<div class="listing-item-img-placeholder card-img-top" style="height: 150px;"> </div>
|
||||
|
|
@ -255,7 +291,7 @@ Andreas
|
|||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="g-col-1" data-index="2" data-categories="Canada,Rejse,Forberedelser" data-listing-date-sort="1689026400000" data-listing-file-modified-sort="1689099570380" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="1">
|
||||
<div class="g-col-1" data-index="2" data-categories="Canada,Rejse,Forberedelser" data-listing-date-sort="1689026400000" data-listing-file-modified-sort="1689099570380" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="1" data-listing-word-count-sort="35">
|
||||
<a href="./blog/2_snart_klar.html" class="quarto-grid-link">
|
||||
<div class="quarto-grid-item card h-100 card-left">
|
||||
<p class="card-img-top">
|
||||
|
|
@ -291,7 +327,7 @@ Andreas
|
|||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="g-col-1" data-index="3" data-categories="Canada,Rejse,Børn,R" data-listing-date-sort="1687903200000" data-listing-file-modified-sort="1689099570379" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="3">
|
||||
<div class="g-col-1" data-index="3" data-categories="Canada,Rejse,Børn,R" data-listing-date-sort="1687903200000" data-listing-file-modified-sort="1689099570379" data-listing-date-modified-sort="NaN" data-listing-reading-time-sort="3" data-listing-word-count-sort="506">
|
||||
<a href="./blog/1_canada_camper.html" class="quarto-grid-link">
|
||||
<div class="quarto-grid-item card h-100 card-left">
|
||||
<p class="card-img-top">
|
||||
|
|
@ -378,6 +414,33 @@ window.document.addEventListener("DOMContentLoaded", function (event) {
|
|||
}
|
||||
}
|
||||
}
|
||||
const toggleGiscusIfUsed = (isAlternate, darkModeDefault) => {
|
||||
const baseTheme = document.querySelector('#giscus-base-theme')?.value ?? 'light';
|
||||
const alternateTheme = document.querySelector('#giscus-alt-theme')?.value ?? 'dark';
|
||||
let newTheme = '';
|
||||
if(darkModeDefault) {
|
||||
newTheme = isAlternate ? baseTheme : alternateTheme;
|
||||
} else {
|
||||
newTheme = isAlternate ? alternateTheme : baseTheme;
|
||||
}
|
||||
const changeGiscusTheme = () => {
|
||||
// From: https://github.com/giscus/giscus/issues/336
|
||||
const sendMessage = (message) => {
|
||||
const iframe = document.querySelector('iframe.giscus-frame');
|
||||
if (!iframe) return;
|
||||
iframe.contentWindow.postMessage({ giscus: message }, 'https://giscus.app');
|
||||
}
|
||||
sendMessage({
|
||||
setConfig: {
|
||||
theme: newTheme
|
||||
}
|
||||
});
|
||||
}
|
||||
const isGiscussLoaded = window.document.querySelector('iframe.giscus-frame') !== null;
|
||||
if (isGiscussLoaded) {
|
||||
changeGiscusTheme();
|
||||
}
|
||||
}
|
||||
const toggleColorMode = (alternate) => {
|
||||
// Switch the stylesheets
|
||||
const alternateStylesheets = window.document.querySelectorAll('link.quarto-color-scheme.quarto-color-alternate');
|
||||
|
|
@ -444,13 +507,15 @@ window.document.addEventListener("DOMContentLoaded", function (event) {
|
|||
return localAlternateSentinel;
|
||||
}
|
||||
}
|
||||
let localAlternateSentinel = 'alternate';
|
||||
const darkModeDefault = true;
|
||||
let localAlternateSentinel = darkModeDefault ? 'alternate' : 'default';
|
||||
// Dark / light mode switch
|
||||
window.quartoToggleColorScheme = () => {
|
||||
// Read the current dark / light value
|
||||
let toAlternate = !hasAlternateSentinel();
|
||||
toggleColorMode(toAlternate);
|
||||
setStyleSentinel(toAlternate);
|
||||
toggleGiscusIfUsed(toAlternate, darkModeDefault);
|
||||
};
|
||||
// Ensure there is a toggle, if there isn't float one in the top right
|
||||
if (window.document.querySelector('.quarto-color-scheme-toggle') === null) {
|
||||
|
|
@ -529,10 +594,32 @@ window.document.addEventListener("DOMContentLoaded", function (event) {
|
|||
// clear code selection
|
||||
e.clearSelection();
|
||||
});
|
||||
function tippyHover(el, contentFn) {
|
||||
var localhostRegex = new RegExp(/^(?:http|https):\/\/localhost\:?[0-9]*\//);
|
||||
var mailtoRegex = new RegExp(/^mailto:/);
|
||||
var filterRegex = new RegExp('/' + window.location.host + '/');
|
||||
var isInternal = (href) => {
|
||||
return filterRegex.test(href) || localhostRegex.test(href) || mailtoRegex.test(href);
|
||||
}
|
||||
// Inspect non-navigation links and adorn them if external
|
||||
var links = window.document.querySelectorAll('a[href]:not(.nav-link):not(.navbar-brand):not(.toc-action):not(.sidebar-link):not(.sidebar-item-toggle):not(.pagination-link):not(.no-external):not([aria-hidden]):not(.dropdown-item):not(.quarto-navigation-tool)');
|
||||
for (var i=0; i<links.length; i++) {
|
||||
const link = links[i];
|
||||
if (!isInternal(link.href)) {
|
||||
// undo the damage that might have been done by quarto-nav.js in the case of
|
||||
// links that we want to consider external
|
||||
if (link.dataset.originalHref !== undefined) {
|
||||
link.href = link.dataset.originalHref;
|
||||
}
|
||||
// target, if specified
|
||||
link.setAttribute("target", "_blank");
|
||||
if (link.getAttribute("rel") === null) {
|
||||
link.setAttribute("rel", "noopener");
|
||||
}
|
||||
}
|
||||
}
|
||||
function tippyHover(el, contentFn, onTriggerFn, onUntriggerFn) {
|
||||
const config = {
|
||||
allowHTML: true,
|
||||
content: contentFn,
|
||||
maxWidth: 500,
|
||||
delay: 100,
|
||||
arrow: false,
|
||||
|
|
@ -542,8 +629,17 @@ window.document.addEventListener("DOMContentLoaded", function (event) {
|
|||
interactive: true,
|
||||
interactiveBorder: 10,
|
||||
theme: 'quarto',
|
||||
placement: 'bottom-start'
|
||||
placement: 'bottom-start',
|
||||
};
|
||||
if (contentFn) {
|
||||
config.content = contentFn;
|
||||
}
|
||||
if (onTriggerFn) {
|
||||
config.onTrigger = onTriggerFn;
|
||||
}
|
||||
if (onUntriggerFn) {
|
||||
config.onUntrigger = onUntriggerFn;
|
||||
}
|
||||
window.tippy(el, config);
|
||||
}
|
||||
const noterefs = window.document.querySelectorAll('a[role="doc-noteref"]');
|
||||
|
|
@ -555,7 +651,130 @@ window.document.addEventListener("DOMContentLoaded", function (event) {
|
|||
try { href = new URL(href).hash; } catch {}
|
||||
const id = href.replace(/^#\/?/, "");
|
||||
const note = window.document.getElementById(id);
|
||||
return note.innerHTML;
|
||||
if (note) {
|
||||
return note.innerHTML;
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
});
|
||||
}
|
||||
const xrefs = window.document.querySelectorAll('a.quarto-xref');
|
||||
const processXRef = (id, note) => {
|
||||
// Strip column container classes
|
||||
const stripColumnClz = (el) => {
|
||||
el.classList.remove("page-full", "page-columns");
|
||||
if (el.children) {
|
||||
for (const child of el.children) {
|
||||
stripColumnClz(child);
|
||||
}
|
||||
}
|
||||
}
|
||||
stripColumnClz(note)
|
||||
if (id === null || id.startsWith('sec-')) {
|
||||
// Special case sections, only their first couple elements
|
||||
const container = document.createElement("div");
|
||||
if (note.children && note.children.length > 2) {
|
||||
container.appendChild(note.children[0].cloneNode(true));
|
||||
for (let i = 1; i < note.children.length; i++) {
|
||||
const child = note.children[i];
|
||||
if (child.tagName === "P" && child.innerText === "") {
|
||||
continue;
|
||||
} else {
|
||||
container.appendChild(child.cloneNode(true));
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (window.Quarto?.typesetMath) {
|
||||
window.Quarto.typesetMath(container);
|
||||
}
|
||||
return container.innerHTML
|
||||
} else {
|
||||
if (window.Quarto?.typesetMath) {
|
||||
window.Quarto.typesetMath(note);
|
||||
}
|
||||
return note.innerHTML;
|
||||
}
|
||||
} else {
|
||||
// Remove any anchor links if they are present
|
||||
const anchorLink = note.querySelector('a.anchorjs-link');
|
||||
if (anchorLink) {
|
||||
anchorLink.remove();
|
||||
}
|
||||
if (window.Quarto?.typesetMath) {
|
||||
window.Quarto.typesetMath(note);
|
||||
}
|
||||
// TODO in 1.5, we should make sure this works without a callout special case
|
||||
if (note.classList.contains("callout")) {
|
||||
return note.outerHTML;
|
||||
} else {
|
||||
return note.innerHTML;
|
||||
}
|
||||
}
|
||||
}
|
||||
for (var i=0; i<xrefs.length; i++) {
|
||||
const xref = xrefs[i];
|
||||
tippyHover(xref, undefined, function(instance) {
|
||||
instance.disable();
|
||||
let url = xref.getAttribute('href');
|
||||
let hash = undefined;
|
||||
if (url.startsWith('#')) {
|
||||
hash = url;
|
||||
} else {
|
||||
try { hash = new URL(url).hash; } catch {}
|
||||
}
|
||||
if (hash) {
|
||||
const id = hash.replace(/^#\/?/, "");
|
||||
const note = window.document.getElementById(id);
|
||||
if (note !== null) {
|
||||
try {
|
||||
const html = processXRef(id, note.cloneNode(true));
|
||||
instance.setContent(html);
|
||||
} finally {
|
||||
instance.enable();
|
||||
instance.show();
|
||||
}
|
||||
} else {
|
||||
// See if we can fetch this
|
||||
fetch(url.split('#')[0])
|
||||
.then(res => res.text())
|
||||
.then(html => {
|
||||
const parser = new DOMParser();
|
||||
const htmlDoc = parser.parseFromString(html, "text/html");
|
||||
const note = htmlDoc.getElementById(id);
|
||||
if (note !== null) {
|
||||
const html = processXRef(id, note);
|
||||
instance.setContent(html);
|
||||
}
|
||||
}).finally(() => {
|
||||
instance.enable();
|
||||
instance.show();
|
||||
});
|
||||
}
|
||||
} else {
|
||||
// See if we can fetch a full url (with no hash to target)
|
||||
// This is a special case and we should probably do some content thinning / targeting
|
||||
fetch(url)
|
||||
.then(res => res.text())
|
||||
.then(html => {
|
||||
const parser = new DOMParser();
|
||||
const htmlDoc = parser.parseFromString(html, "text/html");
|
||||
const note = htmlDoc.querySelector('main.content');
|
||||
if (note !== null) {
|
||||
// This should only happen for chapter cross references
|
||||
// (since there is no id in the URL)
|
||||
// remove the first header
|
||||
if (note.children.length > 0 && note.children[0].tagName === "HEADER") {
|
||||
note.children[0].remove();
|
||||
}
|
||||
const html = processXRef(null, note);
|
||||
instance.setContent(html);
|
||||
}
|
||||
}).finally(() => {
|
||||
instance.enable();
|
||||
instance.show();
|
||||
});
|
||||
}
|
||||
}, function(instance) {
|
||||
});
|
||||
}
|
||||
let selectedAnnoteEl;
|
||||
|
|
@ -599,6 +818,7 @@ window.document.addEventListener("DOMContentLoaded", function (event) {
|
|||
}
|
||||
div.style.top = top - 2 + "px";
|
||||
div.style.height = height + 4 + "px";
|
||||
div.style.left = 0;
|
||||
let gutterDiv = window.document.getElementById("code-annotation-line-highlight-gutter");
|
||||
if (gutterDiv === null) {
|
||||
gutterDiv = window.document.createElement("div");
|
||||
|
|
@ -624,6 +844,32 @@ window.document.addEventListener("DOMContentLoaded", function (event) {
|
|||
});
|
||||
selectedAnnoteEl = undefined;
|
||||
};
|
||||
// Handle positioning of the toggle
|
||||
window.addEventListener(
|
||||
"resize",
|
||||
throttle(() => {
|
||||
elRect = undefined;
|
||||
if (selectedAnnoteEl) {
|
||||
selectCodeLines(selectedAnnoteEl);
|
||||
}
|
||||
}, 10)
|
||||
);
|
||||
function throttle(fn, ms) {
|
||||
let throttle = false;
|
||||
let timer;
|
||||
return (...args) => {
|
||||
if(!throttle) { // first call gets through
|
||||
fn.apply(this, args);
|
||||
throttle = true;
|
||||
} else { // all the others get throttled
|
||||
if(timer) clearTimeout(timer); // cancel #2
|
||||
timer = setTimeout(() => {
|
||||
fn.apply(this, args);
|
||||
timer = throttle = false;
|
||||
}, ms);
|
||||
}
|
||||
};
|
||||
}
|
||||
// Attach click handler to the DT
|
||||
const annoteDls = window.document.querySelectorAll('dt[data-target-cell]');
|
||||
for (const annoteDlNode of annoteDls) {
|
||||
|
|
@ -681,20 +927,6 @@ window.document.addEventListener("DOMContentLoaded", function (event) {
|
|||
});
|
||||
}
|
||||
}
|
||||
var localhostRegex = new RegExp(/^(?:http|https):\/\/localhost\:?[0-9]*\//);
|
||||
var filterRegex = new RegExp('/' + window.location.host + '/');
|
||||
var isInternal = (href) => {
|
||||
return filterRegex.test(href) || localhostRegex.test(href);
|
||||
}
|
||||
// Inspect non-navigation links and adorn them if external
|
||||
var links = window.document.querySelectorAll('a[href]:not(.nav-link):not(.navbar-brand):not(.toc-action):not(.sidebar-link):not(.sidebar-item-toggle):not(.pagination-link):not(.no-external):not([aria-hidden]):not(.dropdown-item)');
|
||||
for (var i=0; i<links.length; i++) {
|
||||
const link = links[i];
|
||||
if (!isInternal(link.href)) {
|
||||
// target, if specified
|
||||
link.setAttribute("target", "_blank");
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</div> <!-- /content -->
|
||||
|
|
@ -703,7 +935,9 @@ window.document.addEventListener("DOMContentLoaded", function (event) {
|
|||
<div class="nav-footer-left">
|
||||
|
||||
</div>
|
||||
<div class="nav-footer-center">Lavet med <a href="https://quarto.org/">Quarto</a> i <a href="https://posit.co/download/rstudio-desktop/">RStudio</a> | <a href="LICENSE.html">Licens: CC-BY 4.0 <i class="fa-brands fa-creative-commons" aria-label="creative-commons"></i> <i class="fa-brands fa-creative-commons-by" aria-label="creative-commons-by"></i></a> | Statistik med <a href="https://analytics.gdamsbo.dk/share/DXB70SBStpd77c3Y/Familie-side">Umami</a></div>
|
||||
<div class="nav-footer-center">
|
||||
<p>Lavet med <a href="https://quarto.org/">Quarto</a> i <a href="https://posit.co/download/rstudio-desktop/">RStudio</a> | <a href="LICENSE.html">Licens: CC-BY 4.0</a> <i class="fa-brands fa-creative-commons" aria-label="creative-commons"></i> <i class="fa-brands fa-creative-commons-by" aria-label="creative-commons-by"></i> | Statistik med <a href="https://analytics.gdamsbo.dk/share/DXB70SBStpd77c3Y/Familie-side">Umami</a></p>
|
||||
</div>
|
||||
<div class="nav-footer-right">
|
||||
|
||||
</div>
|
||||
|
|
@ -712,4 +946,5 @@ window.document.addEventListener("DOMContentLoaded", function (event) {
|
|||
|
||||
|
||||
|
||||
|
||||
</body></html>
|
||||
Loading…
Add table
Add a link
Reference in a new issue