Auto-backup: 2026-03-27 01:56

This commit is contained in:
Sascha 2026-03-27 01:56:13 +01:00
parent 1a07f1feb0
commit 0114e6fc99
4 changed files with 399 additions and 8 deletions

11
bin.code-workspace Normal file
View file

@ -0,0 +1,11 @@
{
"folders": [
{
"path": "../bin"
},
{
"path": "."
}
],
"settings": {}
}

View file

@ -49,6 +49,44 @@
</div>
</div>
<!-- FORTUNE TEASER -->
<div class="fortune-teaser" onclick="document.getElementById('terminal-input').value='fortune'; document.getElementById('terminal-input').focus();">
<span class="fortune-teaser-label">// ORAKEL-SCHNITTSTELLE ERKANNT</span>
<p class="fortune-teaser-text">Das System verfügt über eine interne Weisheitsdatenbank. Zugriffsklassifizierung: <em>möglicherweise erhellend</em>. Nutzung auf eigene Gefahr. Keine Haftung für plötzliche Selbsterkenntnis.</p>
<span class="fortune-teaser-hint">&gt; <code>fortune</code> &nbsp;—&nbsp; falls du es wagen willst.</span>
</div>
<!-- TERMINAL COMMAND CARDS -->
<div class="cmd-cards-section">
<div class="cmd-card">
<img src="<?php echo get_template_directory_uri(); ?>/assets/img/hero_07.png" class="cmd-card-img" alt="Weather Scan">
<div class="cmd-card-body">
<span class="cmd-card-label">[ PROTOKOLL #001 ]</span>
<h3 class="cmd-card-title">&gt; weather</h3>
<p class="cmd-card-text">Das Wetter? Irrelevant. Was zählt ist der Chaos-Level in deinen Schaltkreisen. Dieser Scanner analysiert atmosphärische Destabilisierung, Koffein-Sättigung und die Wahrscheinlichkeit eines kreativen Ausbruchs. Meteorologen hassen diesen Trick.</p>
<span class="cmd-card-hint">Eingabe im Terminal: <code>weather</code></span>
</div>
</div>
<div class="cmd-card">
<img src="<?php echo get_template_directory_uri(); ?>/assets/img/hp_muti_steampunk_01.png" class="cmd-card-img" alt="System Top">
<div class="cmd-card-body">
<span class="cmd-card-label">[ PROTOKOLL #002 ]</span>
<h3 class="cmd-card-title">&gt; top</h3>
<p class="cmd-card-text">Welche dämonischen Prozesse laufen gerade im Hintergrund? KREATIVITAET.exe frisst 94% CPU. PROKRASTINATION.app wurde erfolgreich suspendiert. SELBSTZWEIFEL.exe ist – endlich – terminiert. Ein Blick in den Maschinenraum des Overlords.</p>
<span class="cmd-card-hint">Eingabe im Terminal: <code>top</code></span>
</div>
</div>
<div class="cmd-card">
<img src="<?php echo get_template_directory_uri(); ?>/assets/img/hp_vater_steampunk_01.jpg" class="cmd-card-img" alt="System Uptime">
<div class="cmd-card-body">
<span class="cmd-card-label">[ PROTOKOLL #003 ]</span>
<h3 class="cmd-card-title">&gt; uptime</h3>
<p class="cmd-card-text">Das System läuft seit 1974. Ungeplant. Ohne Handbuch. Mit minimaler Wartung und maximalem Kaffee-Input. Aktuelle Laufzeit in Tagen, Stunden, Minuten – live berechnet. Stabilität: unberechenbar. Status: noch online. Irgendwie.</p>
<span class="cmd-card-hint">Eingabe im Terminal: <code>uptime</code></span>
</div>
</div>
</div>
<div class="content-box">
<div class="content-header">
<h2>PROJEKT-ARCHIV: KLASSIFIZIERT</h2>

View file

@ -203,13 +203,36 @@
});
}
const cmdHistory = [];
let historyIndex = -1;
terminalInput.addEventListener('keydown', function(e) {
if (e.key === 'Enter') {
playKeyClick();
const command = this.value.toLowerCase().trim();
if (command) {
cmdHistory.unshift(command);
if (cmdHistory.length > 50) cmdHistory.pop();
}
historyIndex = -1;
log('> ' + command, 'user-cmd');
this.value = '';
executeCommand(command);
} else if (e.key === 'ArrowUp') {
e.preventDefault();
if (historyIndex < cmdHistory.length - 1) {
historyIndex++;
this.value = cmdHistory[historyIndex];
}
} else if (e.key === 'ArrowDown') {
e.preventDefault();
if (historyIndex > 0) {
historyIndex--;
this.value = cmdHistory[historyIndex];
} else {
historyIndex = -1;
this.value = '';
}
} else if (e.key.length === 1 || e.key === 'Backspace' || e.key === 'Tab') {
playKeyClick();
}
@ -238,6 +261,11 @@
log(' - clear : Log-Speicher löschen');
log(' - say : Text-to-Speech Synthesizer');
log(' - kind: : Projekt-Filter (z.B. kind: all, kind: bash)');
log(' - weather : Atmosphärischer System-Scan');
log(' - top : Aktive Prozesse anzeigen');
log(' - uptime : System-Laufzeit berechnen');
log(' - fortune : Orakel des Overlords befragen');
log(' - brew : Pakete installieren (z.B. brew install ghostty)');
break;
case 'say':
if (!args) {
@ -423,6 +451,133 @@
}
}, 1000);
break;
case 'weather':
log('>> ATMOSPHERIC SCAN INITIATED...', 'warn');
setTimeout(() => {
const conditions = ['KREATIVES CHAOS', 'DIGITALER NEBEL', 'ANARCHIE-FRONT NÄHERT SICH', 'ELEKTRISCHE UNRUHE', 'IDEENSTURM STUFE 3'];
const temps = [Math.floor(Math.random()*15)+10];
const chaos = ['LOW', 'MODERATE', 'CRITICAL', 'MAXIMUM', 'OFF THE CHARTS'];
const humidity = ['KOFFEIN', 'NOSTALGIE', 'ZUKUNFTSANGST', 'KREATIVENERGIE'];
log('╔══════════════════════════════════╗', 'info');
log('║ WETTERSTATION KI-LABOR ║', 'info');
log('╠══════════════════════════════════╣', 'info');
log(' STANDORT : OVERLORD-BUNKER NORD', 'ok');
log(' TEMP : ' + temps[0] + '°C (GEFÜHLT: INTENSIV)', 'ok');
log(' ZUSTAND : ' + conditions[Math.floor(Math.random()*conditions.length)], 'warn');
log(' CHAOS-LVL : ' + chaos[Math.floor(Math.random()*chaos.length)], 'error');
log(' LUFTFEUCHTE: ' + humidity[Math.floor(Math.random()*humidity.length)] + ' 84%', 'ok');
log(' PROGNOSE : PROJEKT-OUTPUT WAHRSCHEINLICH', 'ok');
log('╚══════════════════════════════════╝', 'info');
}, 800);
break;
case 'top':
log('>> SYSTEM-MONITOR AKTIV (q zum Beenden)', 'warn');
setTimeout(() => {
log('╔══════════════════════════════════════════════╗', 'info');
log('║ PID PROZESS CPU MEM ║', 'info');
log('╠══════════════════════════════════════════════╣', 'info');
log(' 001 KREATIVITAET.exe 94% HIGH', 'ok');
log(' 002 KAFFEE-DAEMON 3% KRITISCH', 'warn');
log(' 003 ANARCHIE-KERNEL 12% STABIL', 'ok');
log(' 004 PROKRASTINATION.app 0% SUSPENDIERT', 'info');
log(' 005 IDEEN-BUFFER 67% OVERFLOW', 'warn');
log(' 006 SOCIAL-MEDIA-BLOCKER 99% AKTIV', 'ok');
log(' 007 MUSIK-SYNTHESIZER 31% RUNNING', 'ok');
log(' 008 SELBSTZWEIFEL.exe 0% TERMINATED', 'error');
log(' 009 ZUKUNFT-PLANER 42% IDLE', 'info');
log(' 010 KINDER-CHAOS-MGR 88% ESKALIERT', 'warn');
log('╚══════════════════════════════════════════════╝', 'info');
}, 600);
break;
case 'uptime':
log('>> SYSTEM-LAUFZEIT WIRD BERECHNET...', 'warn');
setTimeout(() => {
const boot = new Date(1974, 0, 1);
const now = new Date();
const ms = now - boot;
const days = Math.floor(ms / (1000 * 60 * 60 * 24));
const years = Math.floor(days / 365);
const hours = Math.floor((ms / (1000 * 60 * 60)) % 24);
const minutes = Math.floor((ms / (1000 * 60)) % 60);
log('╔══════════════════════════════════════╗', 'info');
log('║ SYSTEM: SASCHA RODE v' + years + '.0 ║', 'info');
log('╠══════════════════════════════════════╣', 'info');
log(' BOOT-DATUM : 01.01.1974', 'ok');
log(' LAUFZEIT : ' + days.toLocaleString('de-DE') + ' TAGE', 'ok');
log(' : ' + years + ' JAHRE, ' + hours + ' STD, ' + minutes + ' MIN', 'ok');
log(' STABILITÄT : UNBERECHENBAR', 'warn');
log(' UPDATES : LAUFEND (MANUELL)', 'ok');
log(' KERNEL : KREATIV-ANARCHIE 4.0', 'ok');
log(' STATUS : NOCH ONLINE. IRGENDWIE.', 'crit');
log('╚══════════════════════════════════════╝', 'info');
}, 900);
break;
case 'fortune':
const fortunes = [
'Die Hälfte der Intelligenz besteht darin zu wissen, was man ignorieren kann.',
'Wer früh aufsteht, hat mehr Zeit sich zu fragen warum.',
'Kreativität ist Intelligenz, die Spaß hat. Spaß ist Anarchie, die sich gut anfühlt.',
'Das Internet vergisst nichts. Dein Gehirn alles. Equilibrium.',
'Wenn Plan A scheitert – gut. Plan A war sowieso zu ordentlich.',
'Der Unterschied zwischen Genie und Wahnsinn ist ein funktionierender Deploy.',
'Vertrauen ist gut. Versionskontrolle ist besser.',
'Die Stille vor dem Commit ist die ehrlichste Form der Angst.',
'Jeder hat einen Plan bis der erste User die Seite öffnet.',
'Was nicht dokumentiert ist, war nie wirklich real.',
'Kaffee ist nur Debugging auf chemischer Ebene.',
'Ein leeres Terminal-Fenster ist Zen in seiner reinsten Form.',
'Wer keine Fehler macht, macht nichts. Wer alles macht, macht Fehler. Conclusio: Mach alles.',
'Die Wahrheit liegt im Source-Code. Die Lüge im Kommentar daneben.',
];
log('>> WEISHEITS-GENERATOR AKTIV...', 'warn');
setTimeout(() => {
const f = fortunes[Math.floor(Math.random() * fortunes.length)];
log('╔══════════════════════════════════════════╗', 'info');
log('║ ORAKEL-AUSGABE #' + (Math.floor(Math.random()*9000)+1000) + ' ║', 'info');
log('╠══════════════════════════════════════════╣', 'info');
log(' "' + f + '"', 'crit');
log('╚══════════════════════════════════════════╝', 'info');
log(' -- QUELLE: DIGITALES ORAKEL DES OVERLORDS', 'info');
}, 500);
break;
case 'brew':
if (args && args.toLowerCase().includes('install')) {
const pkg = args.replace(/install\s*/i, '').trim() || 'chaos-engine';
log('>> brew install ' + pkg, 'warn');
log('==> Fetching ' + pkg + '...', 'info');
let progress = 0;
const bar = setInterval(() => {
progress += Math.floor(Math.random() * 18) + 5;
if (progress >= 100) {
progress = 100;
clearInterval(bar);
log('[####################] 100%', 'ok');
setTimeout(() => {
log('==> Installing ' + pkg + '...', 'info');
setTimeout(() => {
log('==> Linking...', 'info');
setTimeout(() => {
log('✓ ' + pkg + ' ' + (Math.floor(Math.random()*9)+1) + '.' + (Math.floor(Math.random()*9)) + '.' + (Math.floor(Math.random()*9)) + ' installed.', 'ok');
log(' Warning: ' + pkg + ' contains traces of digital anarchie.', 'warn');
log(' Recommendation: Reboot universe before use.', 'info');
}, 600);
}, 400);
}, 300);
} else {
const filled = Math.floor(progress / 5);
const bar_str = '[' + '#'.repeat(filled) + '-'.repeat(20-filled) + '] ' + progress + '%';
log(bar_str, 'info');
}
}, 250);
} else {
log('FEHLER: Verwendung: brew install <paketname>', 'error');
}
break;
default:
playErrorBeep();
log('FEHLER: BEFEHL "' + cmd + '" UNBEKANNT.', 'error');
@ -586,10 +741,19 @@
if(specialEvents[year]) {
content.classList.add('omega-node');
content.innerHTML = '<h3 style="color:var(--accent-orange);">[ ' + year + ' ]</h3><p style="color:#fff;"><strong>⚡ OMEGA-KLASSE EREIGNIS ⚡</strong><br>' + specialEvents[year] + '</p>';
content.innerHTML =
'<div class="tc-header">OMEGA-KLASSE &nbsp;&#9670;&nbsp; <span class="tc-stamp omega">!! FREIGEGEBEN !!</span></div>' +
'<h3>[ ' + year + ' ]</h3>' +
'<p><strong>⚡ KRITISCHES SYSTEMEREIGNIS ⚡</strong><br>' + specialEvents[year] + '</p>' +
'<div class="tc-footer">QUELLE: ARCHIV-SEKTOR 7 &nbsp;&#9670;&nbsp; ZUGRIFF: OVERLORD ONLY</div>';
} else {
const bgStory = events[Math.floor(Math.random() * events.length)];
content.innerHTML = '<h3>[ ' + year + ' ]</h3><p>KRITISCHER EINTRAG #' + (Math.floor(Math.random()*9000)+1000) + ': ' + bgStory + ' Weitere Datenquellen als OMEGA-KLASSE klassifiziert.</p>';
const akteNr = Math.floor(Math.random()*9000)+1000;
content.innerHTML =
'<div class="tc-header">AKTE #' + akteNr + ' &nbsp;&#9670;&nbsp; <span class="tc-stamp">KLASSIFIZIERT</span></div>' +
'<h3>[ ' + year + ' ]</h3>' +
'<p>' + bgStory + ' Weitere Datenquellen als OMEGA-KLASSE klassifiziert.</p>' +
'<div class="tc-footer">ZEITSTEMPEL: ' + year + '.01.01 &nbsp;&#9670;&nbsp; INTEGRITAET: FRAGLICH</div>';
}
node.appendChild(content);

View file

@ -448,6 +448,143 @@ body.mode-anarchy .hero-image {
text-decoration: none !important;
}
/* FORTUNE TEASER */
.fortune-teaser {
margin-top: 16px;
padding: 18px 24px;
border: 1px solid #2a2a2a;
border-left: 3px solid var(--accent-gold);
background: rgba(212, 175, 55, 0.03);
cursor: pointer;
transition: background 0.2s, border-color 0.2s;
display: flex;
align-items: baseline;
gap: 24px;
flex-wrap: wrap;
}
.fortune-teaser:hover {
background: rgba(212, 175, 55, 0.07);
border-left-color: var(--accent-orange);
}
.fortune-teaser-label {
color: #444;
font-size: 0.65rem;
letter-spacing: 2px;
white-space: nowrap;
flex-shrink: 0;
}
.fortune-teaser-text {
color: #777;
font-size: 0.8rem;
margin: 0;
flex: 1;
line-height: 1.5;
}
.fortune-teaser-text em {
color: var(--accent-gold);
font-style: normal;
}
.fortune-teaser-hint {
color: #444;
font-size: 0.75rem;
white-space: nowrap;
flex-shrink: 0;
}
.fortune-teaser-hint code {
color: var(--accent-gold);
font-family: 'Courier New', monospace;
}
/* COMMAND CARDS */
.cmd-cards-section {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
margin-top: 40px;
}
.cmd-card {
background: rgba(15, 15, 15, 0.9);
border: 1px solid #333;
border-top: 3px solid var(--accent-orange);
display: flex;
flex-direction: column;
transition: border-color 0.2s, box-shadow 0.2s;
}
.cmd-card:hover {
border-color: var(--accent-gold);
box-shadow: 0 0 20px rgba(212, 175, 55, 0.25);
}
.cmd-card-img {
width: 100%;
height: 180px;
object-fit: cover;
object-position: top;
filter: sepia(0.4) brightness(0.7);
display: block;
}
.cmd-card-body {
padding: 18px;
display: flex;
flex-direction: column;
gap: 8px;
flex: 1;
}
.cmd-card-label {
color: #555;
font-size: 0.65rem;
letter-spacing: 2px;
}
.cmd-card-title {
color: var(--accent-orange);
font-size: 1.1rem;
margin: 0;
font-family: 'Courier New', monospace;
letter-spacing: 1px;
}
.cmd-card-text {
color: #aaa;
font-size: 0.8rem;
line-height: 1.6;
margin: 0;
flex: 1;
}
.cmd-card-hint {
display: block;
color: #444;
font-size: 0.7rem;
border-top: 1px solid #222;
padding-top: 10px;
margin-top: 4px;
letter-spacing: 1px;
}
.cmd-card-hint code {
color: #0f0;
background: rgba(0,255,0,0.05);
padding: 1px 5px;
font-family: 'Courier New', monospace;
}
@media (max-width: 768px) {
.cmd-cards-section {
grid-template-columns: 1fr;
}
}
/* PORTFOLIO GRID */
.portfolio-grid {
display: grid;
@ -633,12 +770,53 @@ body.mode-anarchy .hero-image {
}
.time-content h3 {
margin-top: 0; color: #d4af37;
margin-top: 8px; color: #d4af37;
border-bottom: 1px dashed #b5a642;
padding-bottom: 5px;
text-shadow: 1px 1px 2px #000;
font-size: 1.1rem;
letter-spacing: 2px;
}
.time-content p { font-size: 0.9rem; color: #e8dcc4; line-height: 1.5; text-shadow: 1px 1px 2px #000; margin-bottom: 0; }
/* Akte-Kopfstreifen */
.tc-header {
margin: -25px -25px 12px -25px;
padding: 5px 14px;
background: linear-gradient(90deg, rgba(181,166,66,0.15), rgba(181,166,66,0.05));
border-bottom: 1px solid #b5a642;
font-size: 0.6rem;
letter-spacing: 2px;
color: #8a7a30;
text-transform: uppercase;
}
.tc-stamp {
color: #b5a642;
border: 1px solid #b5a642;
padding: 0 5px;
font-size: 0.55rem;
letter-spacing: 3px;
vertical-align: middle;
}
.tc-stamp.omega {
color: var(--accent-orange);
border-color: var(--accent-orange);
animation: blinker 1.2s infinite;
}
/* Akte-Fußstreifen */
.tc-footer {
margin: 12px -25px -25px -25px;
padding: 5px 14px;
background: linear-gradient(90deg, rgba(181,166,66,0.05), rgba(181,166,66,0.12));
border-top: 1px solid #3a2e10;
font-size: 0.55rem;
letter-spacing: 2px;
color: #5a4e20;
text-transform: uppercase;
}
.time-content p { font-size: 0.9rem; color: #e8dcc4; line-height: 1.5; text-shadow: 1px 1px 2px #000; }
/* OMEGA KNOTEN - Die Überraschung (Elektro-Arc) */
.time-content.omega-node {