Please enter the commit message for your changes. Lines starting

with '#' will be ignored, and an empty message aborts the commit.

On branch main

Initial commit

Changes to be committed:
	new file:   .DS_Store
	new file:   .env
	new file:   .gitignore
	new file:   ai-worker/Dockerfile
	new file:   ai-worker/requirements.txt
	new file:   ai-worker/worker.py
	new file:   background-worker/Dockerfile
	new file:   background-worker/go.mod
	new file:   background-worker/go.sum
	new file:   background-worker/main.go
	new file:   background-worker/market.go
	new file:   background-worker/rmv.go
	new file:   background-worker/rss.go
	new file:   background-worker/sql_work.go
	new file:   db/Dockerfile
	new file:   db/init.sql
	new file:   docker-compose.yml
	new file:   server-app/dockerfile
	new file:   server-app/go.mod
	new file:   server-app/go.sum
	new file:   server-app/main.go
	new file:   volumes/.DS_Store
	new file:   volumes/db-init/.DS_Store
	new file:   volumes/db-init/data/news_rss_feeds.csv
	new file:   volumes/web/.DS_Store
	new file:   volumes/web/static/css/blog.css
	new file:   volumes/web/static/css/index-lite.css
	new file:   volumes/web/static/css/index.css
	new file:   volumes/web/static/css/mandelbrot.css
	new file:   volumes/web/static/img/minecraft.png
	new file:   volumes/web/static/js/blog.js
	new file:   volumes/web/static/js/index-lite.js
	new file:   volumes/web/static/js/index.js
	new file:   volumes/web/static/js/mandelbrot.js
	new file:   volumes/web/static/media/cantina.mp3
	new file:   volumes/web/static/media/countdowns.json
	new file:   volumes/web/static/media/gong.mp4
	new file:   volumes/web/template/blog.html
	new file:   volumes/web/template/index-lite.html
	new file:   volumes/web/template/index.html
	new file:   volumes/web/template/mandelbrot.html
This commit is contained in:
hubble_dubble
2026-01-26 00:19:54 +01:00
commit 3667c678e4
41 changed files with 3556 additions and 0 deletions

View File

@@ -0,0 +1,13 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<title>Artikel-Galerie</title>
<link rel="stylesheet" href="/static/css/blog.css">
</head>
<body>
<main id="grid" class="grid"></main>
<script src="/static/js/blog.js"></script>
</body>
</html>

View File

@@ -0,0 +1,47 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Live Nachrichtenticker (Lite)</title>
<link rel="stylesheet" href="/static/css/index.css">
</head>
<body>
<header class="page-header">
<div class="header-top">
<span id="hazard-symbol" style="cursor: pointer;">☣ Bunker</span>
<div id="market-ticker" class="market-ticker">
<div id="market-ticker-track" class="market-ticker-track">
<span class="ticker-item">Marktdaten werden geladen...</span>
</div>
</div>
<div class="header-actions">
<a href="#" onclick="zeigeYouTubeVideo(); return false;">▶️</a>
<a href="#" onclick="zeigeGongVideo(); return false;">🦅</a>
<a href="#" onclick="toggleMensaIframe(); return false;">🍽️</a>
<a href="/blog">📖</a>
<a href="/mandelbrot">🌀</a>
<button id="defcon-button">⚠️ DEFCON</button>
</div>
</div>
</header>
<div id="mensa-iframe-container" style="display: none; margin-bottom: 1rem;">
<iframe
id="mensa-iframe"
src="https://www.studierendenwerk-mainz.de/essentrinken/speiseplan2?building_id=1&display_type=1"
style="width: calc(100% - 320px); height: calc(100vh - 100px); border: none; border-radius: 8px; transform: scale(0.95); transform-origin: top left;">
</iframe>
</div>
<div id="content-wrapper" style="display: flex; gap: 2rem; align-items: flex-start;">
<div id="news-container"></div>
<div id="abfahrt-wrapper" style="display: none;">
<h2>🚉 Abfahrten</h2>
<div id="abfahrt-info">Wird geladen...</div>
</div>
</div>
<script src="/static/js/index-lite.js"></script>
</body>
</html>

View File

@@ -0,0 +1,45 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<title>Live Nachrichtenticker + RMV</title>
<link rel="stylesheet" href="/static/css/index.css">
</head>
<body>
<header class="page-header">
<div class="header-top">
<span id="hazard-symbol" style="cursor: pointer;">☣ Bunker</span>
<div id="market-ticker" class="market-ticker">
<div id="market-ticker-track" class="market-ticker-track">
<span class="ticker-item">Marktdaten werden geladen...</span>
</div>
</div>
<div class="header-actions">
<a href="#" onclick="zeigeYouTubeVideo(); return false;">▶️</a>
<a href="#" onclick="zeigeGongVideo(); return false;">🦅</a>
<a href="#" onclick="toggleMensaIframe(); return false;">🍽️</a>
<a href="/blog">📖</a>
<a href="/mandelbrot">🌀</a>
<button id="defcon-button">⚠️ DEFCON</button>
</div>
</div>
</header>
<div id="mensa-iframe-container" style="display: none; margin-bottom: 1rem;">
<iframe
id="mensa-iframe"
src="https://www.studierendenwerk-mainz.de/essentrinken/speiseplan2?building_id=1&display_type=1"
style="width: calc(100% - 320px); height: calc(100vh - 100px); border: none; border-radius: 8px; transform: scale(0.95); transform-origin: top left;">
</iframe>
</div>
<div id="content-wrapper" style="display: flex; gap: 2rem; align-items: flex-start;">
<div id="news-container"></div>
<div id="abfahrt-wrapper" style="display: none;">
<h2>🚉 Abfahrten</h2>
<div id="abfahrt-info">Wird geladen...</div>
</div>
</div>
<script src="/static/js/index.js"></script>
</body>
</html>

View File

@@ -0,0 +1,69 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<title>Mandelbrot</title>
<link rel="stylesheet" href="/static/css/mandelbrot.css">
</head>
<body>
<button id="fullscreen-btn">Vollbild</button>
<div style="position: relative;">
<div class="circle-container">
<div class="circle"></div>
<div class="dot"></div>
<div class="timer">
<div id="main-label"></div>
<div id="main-countdown"></div>
</div>
</div>
<div class="small-circle-container">
<div>
<div class="small-circle" style="border-color: red;" data-timer="timer1">
<div class="small-dot"></div>
<div class="small-timer-text" id="timer1">Countdown 1</div>
</div>
</div>
<div>
<div class="small-circle" style="border-color: blue;" data-timer="timer2">
<div class="small-dot"></div>
<div class="small-timer-text" id="timer2">Countdown 2</div>
</div>
</div>
<div>
<div class="small-circle" style="border-color: green;" data-timer="timer3">
<div class="small-dot"></div>
<div class="small-timer-text" id="timer3">Countdown 3</div>
</div>
</div>
</div>
</div>
<div id="timer-details" class="timer-details hidden"></div>
<audio id="cantina-audio" preload="auto">
<source src="/media/cantina" type="audio/mp3">
Dein Browser unterstützt das Audio-Tag nicht.
</audio>
<div id="twitter-overlay" style="
display: none;
position: fixed;
top: 0; left: 0;
width: 100%; height: 100%;
background-color: rgba(0,0,0,0.85);
z-index: 9999;
justify-content: center;
align-items: center;
flex-direction: column;
">
<video id="gong-video-fullscreen" playsinline style="max-width: 90%; max-height: 90%;" controls>
<source src="/media/gong" type="video/mp4">
Dein Browser unterstützt das Video-Tag nicht.
</video>
</div>
<script src="/static/js/mandelbrot.js"></script>
</body>
</html>