added gitignore and fixed json field exclusion
This commit is contained in:
@@ -0,0 +1 @@
|
||||
build/**
|
||||
@@ -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
|
||||
|
||||
@@ -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
@@ -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;
|
||||
}
|
||||
@@ -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
@@ -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()
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user