Add Coolify deployment configuration
This commit is contained in:
@ -12,15 +12,23 @@
|
||||
<nav class="navbar">
|
||||
<div class="nav-container">
|
||||
<div class="nav-logo">
|
||||
<h1>{{.CompanyName}}</h1>
|
||||
<h1><a href="/">Hogeland Linux</a></h1>
|
||||
</div>
|
||||
<div class="nav-links">
|
||||
<a href="/">Home</a>
|
||||
<a href="/contact">Contact</a>
|
||||
<a href="#services">Diensten</a>
|
||||
<a href="#distros">Distributies</a>
|
||||
</div>
|
||||
<button class="mobile-menu-toggle" onclick="toggleMobileMenu()">
|
||||
<span>☰</span>
|
||||
</button>
|
||||
<div class="mobile-menu" id="mobile-menu">
|
||||
<a href="/">Home</a>
|
||||
<a href="/contact">Contact</a>
|
||||
<a href="#services">Diensten</a>
|
||||
<a href="#distros">Distributies</a>
|
||||
</div>
|
||||
<ul class="nav-links">
|
||||
<li><a href="#home">Home</a></li>
|
||||
<li><a href="#voordelen">Voordelen</a></li>
|
||||
<li><a href="#distros">Linux Keuze</a></li>
|
||||
<li><a href="#diensten">Diensten</a></li>
|
||||
<li><a href="/contact">Contact</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
@ -394,5 +402,89 @@
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script>
|
||||
function toggleMobileMenu() {
|
||||
const mobileMenu = document.getElementById('mobile-menu');
|
||||
mobileMenu.classList.toggle('active');
|
||||
}
|
||||
|
||||
// Close mobile menu when clicking outside
|
||||
document.addEventListener('click', function(event) {
|
||||
const mobileMenu = document.getElementById('mobile-menu');
|
||||
const menuToggle = document.querySelector('.mobile-menu-toggle');
|
||||
|
||||
if (!mobileMenu.contains(event.target) && !menuToggle.contains(event.target)) {
|
||||
mobileMenu.classList.remove('active');
|
||||
}
|
||||
});
|
||||
|
||||
// Close mobile menu when clicking on a link
|
||||
document.querySelectorAll('.mobile-menu a').forEach(link => {
|
||||
link.addEventListener('click', function() {
|
||||
document.getElementById('mobile-menu').classList.remove('active');
|
||||
});
|
||||
});
|
||||
|
||||
// Terminal animation
|
||||
const terminalBody = document.querySelector('.terminal-body');
|
||||
const lines = [
|
||||
{ type: 'prompt', content: 'ainrommer@computer ~ $' },
|
||||
{ type: 'command', content: 'neofetch', delay: 1000 },
|
||||
{ type: 'output', content: '\n .-/+oossssoo+/-.\n .:+ssssssssssssssss+:.\n -+ssssssssssssssssssss+-\n -+ssssssssssssssssssssss+-\n -+ssssssssssssssssssssss+-\n -+ssssssssssssssssssssss+-\n -+ssssssssssssssssssssss+-\n -+ssssssssssssssssssssss+-\n -+ssssssssssssssssssssss+-\n-+ssssssssssssssssssssss+-\n`-+ssssssssssssssssssss+-`\n `-+ssssssssssssssssss+-`\n `-+ssssssssssssssss+-`\n `-+ssssssssssssss+-`\n `-+ssssssssssss+-`\n `-+ssssssssss+-`\n `-+ssssssss+-`\n `-+ssssss+-`\n `-+ssss+-`\n `-+ss+-`\n `-+s+-`\n `-+-`\n ``\nOS: Arch Linux x86_64\nKernel: 6.6.8-arch1-1\nUptime: 3 hours, 42 mins\nPackages: 1337 (pacman)\nShell: zsh 5.9\nResolution: 1920x1080\nDE: KDE Plasma 5.27.10\nWM: KWin\nWM Theme: Breeze\nTheme: Breeze Dark [Plasma], Breeze [GTK2/3]\nIcons: Breeze Dark [Plasma], breeze-dark [GTK2/3]\nTerminal: konsole\nCPU: AMD Ryzen 7 5800X (16) @ 3.800GHz\nGPU: NVIDIA GeForce RTX 3070\nMemory: 2847MiB / 32768MiB', delay: 2000 },
|
||||
{ type: 'prompt', content: 'ainrommer@computer ~ $' },
|
||||
{ type: 'command', content: 'sudo pacman -Syu', delay: 3000 },
|
||||
{ type: 'output', content: ':: Synchronizing package databases...\n core 174.7 KiB 623 KiB/s 00:00 [######################] 100%\n extra 1744.4 KiB 1234 KiB/s 00:01 [######################] 100%\n multilib 193.9 KiB 567 KiB/s 00:00 [######################] 100%\n:: Starting full system upgrade...\n:: Replace gtk4 with extra/gtk4? [Y/n] y\nthere is nothing to do', delay: 4000 },
|
||||
{ type: 'prompt', content: 'ainrommer@computer ~ $' },
|
||||
{ type: 'cursor', content: '', delay: 5000 }
|
||||
];
|
||||
|
||||
function typeWriter(text, element, speed = 50) {
|
||||
return new Promise((resolve) => {
|
||||
let i = 0;
|
||||
const timer = setInterval(() => {
|
||||
if (i < text.length) {
|
||||
element.textContent += text.charAt(i);
|
||||
i++;
|
||||
} else {
|
||||
clearInterval(timer);
|
||||
resolve();
|
||||
}
|
||||
}, speed);
|
||||
});
|
||||
}
|
||||
|
||||
function animateTerminal() {
|
||||
terminalBody.innerHTML = '';
|
||||
let currentDelay = 0;
|
||||
|
||||
lines.forEach((line, index) => {
|
||||
setTimeout(() => {
|
||||
const lineElement = document.createElement('div');
|
||||
lineElement.className = 'terminal-line';
|
||||
|
||||
if (line.type === 'prompt') {
|
||||
lineElement.innerHTML = '<span class="prompt">' + line.content + '</span>';
|
||||
} else if (line.type === 'command') {
|
||||
lineElement.innerHTML = '<span class="prompt">ainrommer@computer ~ $ </span><span class="command">' + line.content + '</span>';
|
||||
} else if (line.type === 'output') {
|
||||
lineElement.innerHTML = '<span class="output">' + line.content + '</span>';
|
||||
} else if (line.type === 'cursor') {
|
||||
lineElement.innerHTML = '<span class="prompt">ainrommer@computer ~ $ </span><span class="cursor">█</span>';
|
||||
}
|
||||
|
||||
terminalBody.appendChild(lineElement);
|
||||
terminalBody.scrollTop = terminalBody.scrollHeight;
|
||||
}, currentDelay);
|
||||
|
||||
currentDelay += line.delay || 0;
|
||||
});
|
||||
}
|
||||
|
||||
// Start animation when page loads
|
||||
window.addEventListener('load', () => {
|
||||
setTimeout(animateTerminal, 1000);
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
Reference in New Issue
Block a user