added gitignore and fixed json field exclusion

This commit is contained in:
2026-06-27 18:03:25 +02:00
parent e7911b2ca7
commit 951f5b0acd
8 changed files with 24 additions and 290 deletions
+1
View File
@@ -0,0 +1 @@
build/**
+6 -2
View File
@@ -1,10 +1,14 @@
.PHONY: all clean
all:
@mkdir -p build
@cp src/*.css build
mkdir -p build
cp src/*.css build
cp -r res/* build
python src/site_gen.py > build/index.html
echo "[!] Done"
open: all
firefox build/index.html
clean:
@rm -fr build
-127
View File
@@ -1,127 +0,0 @@
<!doctype html>
<html data-theme="nord">
<head>
<meta charset="utf-8" />
<title>Projects</title>
<link rel="stylesheet" href="themes.css">
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="container">
<div class="title"><center><h1>
<span style="color: var(--language)">> </span><!--
--><span style="color: var(--accent)">echo</span><!--
--><span style="color: var(--muted)"> $(</span><!--
--><span style="color: var(--highlight)">projects</span><!--
--><span style="color: var(--muted)">)</span>
</h1></center></div>
<div class="card">
<a href="https://git.magnusku.de/Magnus/tea_showcase">
<h2>tea showcase</h2>
</a>
<p>A static site generator pulling from my gitea profile and creating a nice website showcasing my public projects. </p>
<div class="tag">
<span>CSS</span>
</div>
</div>
<div class="card">
<a href="https://git.magnusku.de/Magnus/stored">
<h2>stored</h2>
</a>
<p>A simple, non-persistent, multithreaded Key-Value server supporting TCP, UDS, MessageQueue and Shared Memory connections. Client with interactive REPL. Created for an university project.</p>
<div class="tag">
<span>C</span>
</div>
</div>
<div class="card">
<a href="https://git.magnusku.de/Magnus/p4wnp1_gb_autoplay">
<h2>p4wnp1 gb autoplay</h2>
</a>
<p>This repo contains the files for our university projects p4wnp1 HID and MSC demo. Automatically playing Pokémon Yellow Edition.</p>
<div class="tag">
<span>JavaScript</span>
</div>
</div>
<div class="card">
<a href="https://git.magnusku.de/Magnus/gb_breakout">
<h2>gb breakout</h2>
</a>
<p>An gameboy z80 assembly implementation of the classic breakout game. </p>
<div class="tag">
<span>Assembly</span>
</div>
</div>
<div class="card">
<a href="https://git.magnusku.de/Magnus/syscall_counter_module">
<h2>syscall counter module</h2>
</a>
<p>A linux kernel module for counting all executed syscalls. </p>
<div class="tag">
<span>C</span>
</div>
</div>
<div class="card">
<a href="https://git.magnusku.de/Magnus/garden_chaos">
<h2>garden chaos</h2>
</a>
<p>My entry for the solodev gamejam 2025. Theme was "Chaos"</p>
<div class="tag">
<span>GDScript</span>
</div>
</div>
<div class="card">
<a href="https://git.magnusku.de/Magnus/pytracer">
<h2>pytracer</h2>
</a>
<p>A simple python 3D software raytracer made for a school project</p>
<div class="tag">
<span>Python</span>
</div>
</div>
<div class="card">
<a href="https://git.magnusku.de/Magnus/rubber_ducky">
<h2>rubber ducky</h2>
</a>
<p>Project files for our custom-built rubber ducky based on the RP2040 One running CircuitPython.</p>
<div class="tag">
<span>Python</span>
</div>
</div>
<div class="card">
<a href="https://git.magnusku.de/Magnus/chip8_interpreter">
<h2>chip8 interpreter</h2>
</a>
<p>An simple chip-8 interpreter with raylib frontend</p>
<div class="tag">
<span>Rust</span>
</div>
</div>
</div>
</body>
<div class="footer"><center>Thanks for checking them out! :)</center></div>
</html>
-100
View File
@@ -1,100 +0,0 @@
* {
box-sizing: border-box;
}
body {
zoom: 80%;
font-family: "Source Code Pro";
background: var(--bg);
color: var(--text);
line-height: 1.5;
margin: 0;
}
h1 {
font-size: 2rem;
margin-bottom: 1.5rem;
}
a {
color: var(--accent);
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
.container {
max-width: 850px;
margin: 60px auto;
padding: 0 20px;
}
.card {
background: var(--card);
border: 2px solid var(--border);
border-radius: 12px;
padding: 16px 18px;
margin-bottom: 12px;
transition: transform 0.12s ease, border-color 0.12s ease;
box-shadow: 0 10px 12px rgba(0, 0, 0, 0.35);
transition: transform 0.12s ease, border-color 0.12s ease, box-shadow 0.12s ease;
}
.card:hover {
transform: translateY(-2px);
border-color: var(--accent);
box-shadow: 0 20px 20px rgba(0, 0, 0, 0.45);
}
.card h2 {
margin: 0 0 6px 0;
font-size: 1.2rem;
}
.card p {
margin: 0 0 10px 0;
color: var(--muted);
}
.tag {
font-size: 0.85rem;
color: var(--language);
display: flex;
gap: 10px;
}
.title {
color: var(--highlight);
margin-bottom: 50px;
}
.footer {
margin-bottom: 50px;
color: var(--muted);
}
.sidebar_left {
position: fixed;
top: 0;
left: 0;
height: 100vh;
width: 100px;
background: var(--card);
border-right: 1px solid var(--border);
padding: 24px 16px;
}
.sidebar_right {
position: fixed;
top: 0;
right: 0;
height: 100vh;
width: 100px;
background: var(--card);
border-right: 1px solid var(--border);
padding: 24px 16px;
}
-54
View File
@@ -1,54 +0,0 @@
[data-theme="tokyo"] {
--bg: #0f111a;
--card: #161a23;
--text: #e6e6e6;
--muted: #9aa4b2;
--accent: #7aa2f7;
--border: #2a2f3a;
--language: #9ece6a;
--highlight: #e0af68;
}
[data-theme="gruvbox"] {
--bg: #32302f;
--card: #3c3836;
--text: #fbf1c7;
--muted: #bdae93;
--accent: #fe8019;
--border: #7c6f64;
--language: #b8bb26;
--highlight: #fabd2f;
}
[data-theme="catppuccin"] {
--bg: #1e1e2e;
--card: #313244;
--text: #cdd6f4;
--muted: #a6adc8;
--accent: #89b4fa;
--border: #45475a;
--language: #a6e3a1;
--highlight: #fab387;
}
[data-theme="dracula"] {
--bg: #282a36;
--card: #313244;
--text: #f8f8f2;
--muted: #6272a4;
--accent: #bd93f9;
--border: #44475a;
--language: #50fa7b;
--highlight: #ffb86c;
}
[data-theme="nord"] {
--bg: #2e3440;
--card: #3b4252;
--text: #eceff4;
--muted: #d8dee9;
--accent: #88c0d0;
--border: #4c566a;
--language: #a3be8c;
--highlight: #ebcb8b;
}
Binary file not shown.
+9 -7
View File
@@ -1,4 +1,4 @@
import json, requests
import json, requests, sys
USER="Magnus"
DOMAIN="git.magnusku.de"
@@ -37,16 +37,20 @@ footer = """
"""
def generate():
response = requests.get(f"https://{DOMAIN}/api/v1/users/{USER}/repos");
try:
response = requests.get(f"https://{DOMAIN}/api/v1/users/{USER}/repos", timeout=(5, 15));
except:
print("No connection!")
sys.exit(1)
response.raise_for_status()
data = response.json()
print(header)
for project in reversed(data):
if project["private"] == "true": continue
if project["fork"] == "true": continue
if project["template"] == "true": continue
if project["private"]: continue
if project["fork"]: continue
if project["template"]: continue
if project["name"] == ".profile": continue
name = project["name"].replace("_", " ").replace("-", " ")
@@ -70,6 +74,4 @@ def generate():
print(footer)
generate()
+8
View File
@@ -1,3 +1,11 @@
@font-face {
font-family: "Source Code Pro";
src: url("fonts/SourceCodePro-Regular.woff2") format("woff2"),
url("fonts/SourceCodePro-Regular.ttf") format("truetype");
font-weight: normal;
font-style: normal;
}
* {
box-sizing: border-box;
}