Files
Website/www/blog/wilkommen/index.html
T

97 lines
14 KiB
HTML
Raw Normal View History

<!doctype html><html lang=de dir=ltr><head><meta charset=utf-8><meta name=viewport content="width=device-width"><link rel=icon type=image/png href=/avatar.png><title>Willkommen im ThereIsNo.Space</title><script src=https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4></script><link rel=stylesheet type=text/css href=https://cdn.jsdelivr.net/gh/devicons/devicon@latest/devicon.min.css><link rel=stylesheet href=https://cdnjs.cloudflare.com/ajax/libs/font-awesome/7.0.1/css/all.min.css integrity="sha512-2SwdPD6INVrV/lHTZbO2nodKhrnDdJK9/kg2XD1r9uGqPo1cUbujc+IYdlYdEErWNu69gVcYgdxlmVmzTWnetw==" crossorigin=anonymous referrerpolicy=no-referrer><style>@import 'https://fonts.googleapis.com/css2?family=Ubuntu+Sans+Mono:ital,wght@0,400..700;1,400..700&display=swap';.font-jersey{font-family:ubuntu sans mono,monospace;font-optical-sizing:auto;font-style:normal}.md-content .katex-display{max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;padding-left:.25rem;padding-right:.25rem}.md-content .katex-display>.katex{display:inline-block;max-width:100%}.swup-transition-fade{opacity:1;transition:300ms ease-in-out}.is-animating .swup-transition-fade{opacity:0}.swup-transition-fade{opacity:1;transition:opacity 300ms ease-in-out}html.is-animating .swup-transition-fade{opacity:0}html.is-animating{cursor:progress}html.is-leaving .swup-transition-fade{opacity:0}</style><script src=https://unpkg.com/swup@4></script><script src=https://unpkg.com/@swup/preload-plugin@3></script><script src=https://unpkg.com/@swup/progress-plugin@3></script><script>const swup=new Swup({containers:["#swup"],animationSelector:'[class*="swup-transition-"]',cache:!0,preload:!0,animateHistoryBrowsing:!0,plugins:[new SwupPreloadPlugin,new SwupProgressPlugin]});window.swup=swup</script><link rel=stylesheet href=https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.css crossorigin=anonymous><script defer src=https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.js crossorigin=anonymous></script><script defer src=https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/contrib/auto-render.min.js crossorigin=anonymous></script><script>const KATEX_CONFIG={delimiters:[{left:"$$",right:"$$",display:!0},{left:"$",right:"$",display:!1},{left:"\\[",right:"\\]",display:!0},{left:"\\(",right:"\\)",display:!1}],ignoredTags:["script","noscript","style","textarea","pre","code"],throwOnError:!1};function renderKatex(){if(typeof renderMathInElement!="function"){console.log("⏳ Waiting for KaTeX to load...");return}const e=document.getElementById("swup")||document.body;try{renderMathInElement(e,KATEX_CONFIG),console.log("✅ KaTeX rendered successfully")}catch(e){console.error("❌ KaTeX rendering error:",e)}}function renderKatexWithRetry(e=10,t=100){let n=0;const s=()=>{typeof renderMathInElement=="function"?renderKatex():n<e?(n++,setTimeout(s,t)):console.warn("⚠️ KaTeX auto-render not available after",e,"attempts")};s()}function setupSwupIntegration(){window.swup?(window.swup.hooks.on("page:view",()=>{console.log("🔄 Swup transition complete, re-rendering KaTeX..."),setTimeout(()=>renderKatexWithRetry(3,50),50)}),console.log("✅ KaTeX-Swup integration ready")):setTimeout(setupSwupIntegration,100)}document.addEventListener("DOMContentLoaded",function(){console.log("🚀 Initializing KaTeX..."),renderKatexWithRetry(),setupSwupIntegration()}),window.renderKatex=renderKatex</script><script type=module>
2026-09-14 19:30:34 +02:00
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs';
let initialized = false;
function renderMermaid() {
const contentArea = document.getElementById('swup') || document.body;
const mermaidBlocks = contentArea.querySelectorAll('.language-mermaid, .mermaid');
if (mermaidBlocks.length === 0) {
console.log("ℹ️ No mermaid blocks found on this page");
return;
}
if (!initialized) {
mermaid.initialize({startOnLoad: false, theme: 'dark'});
initialized = true;
}
mermaidBlocks.forEach(el => {
if (el.dataset.processed === 'true') {
const source = el.dataset.mermaidSource;
if (source) {
el.innerHTML = source;
el.removeAttribute('data-processed');
}
} else {
el.dataset.mermaidSource = el.textContent;
}
});
mermaid.run({nodes: mermaidBlocks})
.then(() => console.log("✅ Mermaid rendered successfully"))
.catch(err => console.error("❌ Mermaid rendering error:", err));
}
function renderMermaidWithRetry(maxRetries = 10, delay = 100) {
let attempts = 0;
const attempt = () => {
if (typeof mermaid.initialize === "function") {
renderMermaid();
} else if (attempts < maxRetries) {
attempts++;
setTimeout(attempt, delay);
} else {
console.warn("⚠️ Mermaid auto-render not available after", maxRetries, "attempts");
}
};
attempt();
}
function setupSwupIntegration() {
if (window.swup) {
window.swup.hooks.on('page:view', () => {
console.log("🔄 Swup transition complete, re-rendering mermaid...");
setTimeout(() => renderMermaidWithRetry(3, 50), 50);
});
console.log("✅ Mermaid-Swup integration ready");
} else {
setTimeout(setupSwupIntegration, 100);
}
}
document.addEventListener("DOMContentLoaded", function () {
console.log("🚀 Initializing KaTeX...");
renderMermaidWithRetry();
setupSwupIntegration();
});
</script></head><body class="min-h-screen flex flex-col bg-black font-jersey text-white text-3xl"><header><div class="sticky absolute top-0 z-50"><nav class="w-full border-b border-gray-800 bg-[#070709]/95 backdrop-blur-sm text-gray-100"><div class="max-w-6xl mx-auto px-4 sm:px-6"><div class="flex items-center justify-between h-16"><div class="flex items-center gap-3"><a href=https://thereisno.space/ class="flex items-center gap-3 group" aria-label=Homepage><img src=/avatar.jpg alt=ThereIsNo.Space class="w-10 h-10 rounded-sm border-2 border-gray-700 object-cover transition-transform duration-300 transform group-hover:scale-105" style="animation:border-breathe 4s ease-in-out infinite">
<span class="text-white text-lg sm:text-xl md:text-2xl lg:text-3xl font-semibold tracking-wide">ThereIsNo.Space
<span class="inline-block ml-2" style="animation:flicker 1.6s steps(2,end)infinite">_</span></span></a></div><div class="flex items-center gap-4"><div class="hidden md:flex items-center"><nav aria-label=Primary class=w-full><ul class="flex flex-col md:flex-row md:items-center md:space-x-6 space-y-2 md:space-y-0 sm:text-lg md:text-xl lg:text-3xl"><li><a href=/ class="group inline-flex items-center px-3 py-2 rounded-sm text-gray-200 hover:text-white transition-colors duration-200"><span class="relative inline-block"><span>Projekte</span>
<span class="absolute left-0 -bottom-1 h-[2px] w-0 bg-indigo-400 transition-all duration-300 group-hover:w-full"></span></span></a></li><li><a aria-current=true href=/blog/ class="group inline-flex items-center px-3 py-2 rounded-sm text-gray-200 hover:text-white transition-colors duration-200"><span class="relative inline-block"><span>Blog</span>
<span class="absolute left-0 -bottom-1 h-[2px] w-0 bg-indigo-400 transition-all duration-300 group-hover:w-full"></span></span></a></li><li><a href=/ class="group inline-flex items-center px-3 py-2 rounded-sm text-gray-200 hover:text-white transition-colors duration-200"><span class="relative inline-block"><span>Über uns</span>
<span class="absolute left-0 -bottom-1 h-[2px] w-0 bg-indigo-400 transition-all duration-300 group-hover:w-full"></span></span></a></li></ul></nav></div><div class=md:hidden><button id=nav-toggle aria-controls=mobile-menu aria-expanded=false class="inline-flex items-center justify-center p-2 rounded-md focus:outline-none focus:ring-2 focus:ring-indigo-400" aria-label="Open menu">
<svg class="h-6 w-6 text-gray-200" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16"/></svg></button></div></div></div><div id=mobile-menu class="md:hidden hidden pb-4"><nav aria-label=Primary class=w-full><ul class="flex flex-col md:flex-row md:items-center md:space-x-6 space-y-2 md:space-y-0 sm:text-lg md:text-xl lg:text-3xl"><li><a href=/ class="group inline-flex items-center px-3 py-2 rounded-sm text-gray-200 hover:text-white transition-colors duration-200"><span class="relative inline-block"><span>Projekte</span>
<span class="absolute left-0 -bottom-1 h-[2px] w-0 bg-indigo-400 transition-all duration-300 group-hover:w-full"></span></span></a></li><li><a aria-current=true href=/blog/ class="group inline-flex items-center px-3 py-2 rounded-sm text-gray-200 hover:text-white transition-colors duration-200"><span class="relative inline-block"><span>Blog</span>
<span class="absolute left-0 -bottom-1 h-[2px] w-0 bg-indigo-400 transition-all duration-300 group-hover:w-full"></span></span></a></li><li><a href=/ class="group inline-flex items-center px-3 py-2 rounded-sm text-gray-200 hover:text-white transition-colors duration-200"><span class="relative inline-block"><span>Über uns</span>
<span class="absolute left-0 -bottom-1 h-[2px] w-0 bg-indigo-400 transition-all duration-300 group-hover:w-full"></span></span></a></li></ul></nav></div></div></nav><style>@keyframes flicker{0%{opacity:1;transform:translateY(0)}10%{opacity:.2;transform:translateY(-1px)}20%{opacity:1;transform:translateY(0)}100%{opacity:1}}@keyframes border-breathe{0%{box-shadow:0 0 rgba(99,102,241,6%)}50%{box-shadow:0 0 18px 6px rgba(99,102,241,3%)}100%{box-shadow:0 0 rgba(99,102,241,6%)}}</style><script>(function(){const e=document.getElementById("nav-toggle"),t=document.getElementById("mobile-menu");if(!e||!t)return;e.addEventListener("click",()=>{const n=t.classList.toggle("hidden")===!1;e.setAttribute("aria-expanded",n?"true":"false")})})()</script></div></header><main class="flex-1 w-full"><div id=swup class=swup-transition-fade><div class="max-w-3xl lg:max-w-6xl xl:max-w-7xl mx-auto px-5 sm:px-8 lg:px-10 py-10 lg:py-16"><div class="grid grid-cols-12 gap-8"><aside class="hidden lg:block col-span-3"><div class="sticky top-24"><div class="mb-3 text-xs uppercase tracking-widest text-gray-500">Table of contents</div><nav class="toc border border-gray-800/70 bg-[#070709] rounded-sm p-4 text-base text-gray-300"><nav id=TableOfContents></nav></nav></div></aside><article class="col-span-12 lg:col-span-9"><header class=mb-6><h1 class="text-2xl sm:text-3xl md:text-4xl tracking-wide text-white">Willkommen im ThereIsNo.Space</h1><div class="mt-2 flex flex-wrap items-center gap-x-3 gap-y-2 text-sm sm:text-base text-gray-400"><span class=font-mono>Sep 14, 2026 • 00:00</span>
<span class=text-gray-700>/</span>
<span class=font-mono>1 min read</span></div><div class="mt-3 flex flex-wrap gap-2"><a href=/%20tags/hackerspace class="px-2 py-0.5 text-xs sm:text-sm rounded-sm border border-gray-700/70 text-gray-300 bg-black/30 hover:text-white hover:border-indigo-400/40 transition-colors">#hackerspace
</a><a href=/%20tags/makerspace class="px-2 py-0.5 text-xs sm:text-sm rounded-sm border border-gray-700/70 text-gray-300 bg-black/30 hover:text-white hover:border-indigo-400/40 transition-colors">#makerspace</a></div></header><div class="lg:hidden mb-6"><details class="border border-gray-800/70 bg-[#070709] rounded-sm"><summary class="cursor-pointer select-none px-4 py-3 text-gray-200 hover:text-white transition-colors">Table of contents</summary><div class="px-4 pb-4 toc text-base text-gray-300"><nav id=TableOfContents></nav></div></details></div><div class="border border-gray-800/70 bg-[#070709] rounded-sm p-5 sm:p-7"><div class="md-content text-lg sm:text-xl leading-relaxed text-gray-200"><p>#Dies ist der erste Beitrag auf unserer neuen Seite.</p><p><strong>echo &ldquo;Hello, World!&rdquo; > /dev/thereisno.space</strong>
2026-09-14 19:30:34 +02:00
Hier wird künftig über Projekte, Workshops und Events berichtet.
<strong>Stay tuned!</strong></p></div></div></article></div><style>.toc{font-size:.95rem;line-height:1.35}.toc ul{list-style:none;margin:0;padding-left:0}.toc li{position:relative;margin:.35rem 0;padding-left:1.25rem;overflow-wrap:anywhere;word-break:break-word}.toc a{display:block;padding:.15rem 0;color:rgba(209,213,219,.92);text-decoration:none}.toc a:hover{color:#fff;text-decoration:underline;text-decoration-color:rgba(99,102,241,.85);text-underline-offset:3px}.toc ul ul{margin:.4rem 0 .4rem .35rem;padding-left:.9rem;border-left:1px solid rgba(55,65,81,.6)}.toc ul ul>li{padding-left:1.75rem}.toc ul ul>li::before{content:"├";position:absolute;left:.35rem;top:.2rem;color:rgba(99,102,241,.75);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,liberation mono,courier new,monospace}.toc ul ul>li:last-child::before{content:"└"}@media(min-width:1024px){.toc{max-height:calc(100vh - 9rem);overflow:auto;padding-right:.25rem}}.md-content ul,.md-content ol{margin:1rem 0;padding-left:1.35rem}.md-content ul{list-style:disc}.md-content ul ul{list-style:circle}.md-content ul ul ul{list-style:square}.md-content ol{list-style:decimal}.md-content ol ol{list-style:lower-roman}.md-content ol ol ol{list-style:lower-alpha}.md-content li{margin:.35rem 0}.md-content pre,.md-content code{tab-size:4}</style></div></div></main><footer><div class="border-t border-gray-800 bg-[#070709] text-gray-400"><div class="max-w-6xl mx-auto px-4 sm:px-6"><div class="flex flex-col md:flex-row items-center justify-between py-6 space-y-4 md:space-y-0"><div class="text-sm sm:text-base md:text-lg"><span class="relative inline-block">© 2026 ThereIsNo.Space. All rights reserved.<br>Made with <a href=https://gohugo.io target=_blank>Hugo</a> | <a href=https://github.com/Enerhim/enervoid-theme target=_blank>Enervoid</a></span></div><div class="flex items-center space-x-6 text-sm sm:text-base md:text-lg"></div></div></div></div></footer></body></html>