Compare commits

..

5 commits

Author SHA1 Message Date
f6820f1fd8
changed contact e-mail address 2026-06-24 19:17:46 +02:00
63ee34abcb
fixed broken header 2026-06-03 19:35:54 +02:00
2a278a4945
some current goals 2026-05-21 15:26:45 +02:00
983b96a967
simple screenshot gallery 2026-05-21 15:14:40 +02:00
Yaloalo
55b98d4916 Members page, Top bar updates 2026-01-21 20:44:17 +01:00
13 changed files with 208 additions and 44 deletions

View file

@ -8,3 +8,27 @@ find src -name "*.html" | while read f; do
preproc/buildpage.sh "$f"
done
mkdir -p www/team
for member in src/team/*.md; do
slug=$(basename "$member" .md)
handle=$(sed -n 's/^##[[:space:]]*//p' "$member" | head -n1 | sed 's/^@//')
name=$(sed -n 's/^###[[:space:]]*//p' "$member" | head -n1)
photo="/assets/logo.png"
for ext in png jpg jpeg webp; do
if [ -f "src/assets/team/$slug.$ext" ]; then
photo="/assets/team/$slug.$ext"
break
fi
done
export DATA_MEMBER_SLUG="$slug"
export DATA_MEMBER_HANDLE="$handle"
export DATA_MEMBER_NAME="$name"
export DATA_MEMBER_PHOTO="$photo"
export DATA_MEMBER_MD="$member"
export DATA_PAGE_TITLE="KarlOS - $name"
awk -Pf preproc/interp.awk src/member_page.inc | sh > "www/team/$slug.html"
done

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View file

@ -1,19 +0,0 @@
BEGIN {
FS="\t"
print "<table class=\"listing\">"
print "<th>Date</th>"
print "<th>File Size</th>"
print "<th>Flavour</th>"
}
{
print "<tr>"
for (i = 1; i <= NF; i++) {
print "<td>", $i, "</td>"
}
print "</tr>"
}
END {
print "</table>"
}

View file

@ -3,16 +3,19 @@
<html>
<head>
<title>%[PAGE_TITLE]</title>
<meta charset="UTF-8"/>
<link rel="stylesheet" href="/style.css"/>
<link rel="icon" type="image/x-icon" href="/assets/favicon.png"/>
</head>
<body>
<div class="navbar">
<div class="navbutton">
<div class="logo">
<img src="assets/logo.png" alt="logo"/>
</div>
Karl<strong>OS</strong>
<a class="logo-link" href="/index.html">
<div class="logo">
<img src="/assets/logo.png" alt="logo"/>
</div>
Karl<strong>OS</strong>
</a>
</div>
<div class="navbutton">
@ -24,6 +27,14 @@
</div>
<div class="navbutton">
<a href="/code/">Code</a>
<a href="https://karlsruhe-os.de/code/karlos/karlos">Code</a>
</div>
<div class="navbutton">
<a href="https://karlsruhe-os.de/code/karlos/karlos/releases">Build</a>
</div>
<div class="navbutton">
<a href="/team.html">Members</a>
</div>
</div>

View file

@ -12,7 +12,21 @@
</div>
<div class="softpage">
<h2>Current Goals</h2>
<i>More information coming soon</i>
<p>
For more detailed information, see
<a href="https://docmost.karlsruhe-os.de/share/ec4wruvza2/p/karl-os-jnaBwGMoVx">Docs</a>.
</p>
<h3>Short-term Goals</h3>
<ul>
<li>entering userspace, ELF parsing</li>
<li>full multicore support</li>
<li>block device driver</li>
</ul>
<h3>Long-term Goals</h3>
<ul>
<li>process/task abstraction</li>
<li>tag-based file system</li>
</ul>
</div>
<div class="softpage">
@ -20,15 +34,25 @@
We meet in the computer science building on Wednesday at 19:00 in room -107. Feel free to drop by — wed be happy to see you.
</div>
<div class="softpage">
<h2>Gallery</h2>
<div class="gallery">
<img src="assets/screenshots/sc1.png" alt="The desktop of KarlOS. Shows the KarlOS logo in the center, as well as the app launcher on the top left."/>
<img src="assets/screenshots/sc2.png" alt="KarlOS desktop with verlapping windows opened. In the foreground there is a calculator window. In the background there is a window showing the kernel message log."/>
<img src="assets/screenshots/sc3.png" alt="KarlOS desktop with hex editor window."/>
<img src="assets/screenshots/sc4.png" alt="KarlOS desktop with several game windows opened: a paint canvas, a tron game, and a snake game."/>
<div>
</div>
<div class="softpage" id="contact">
<h2>Contact us</h2>
<strong>E-Mail:</strong>&emsp;
<span>
karlos.borrowing760
uosfz
<div class="logo">
<img src="assets/arobas.png" alt="at"/>
</div>
passmail.net
student.kit.edu
</span>
</div>
</div>

20
src/member_page.inc Normal file
View file

@ -0,0 +1,20 @@
%~ include src/header.inc
<div class="banner member-banner">
<h1>%[MEMBER_NAME]</h1>
<h3>@%[MEMBER_HANDLE]</h3>
</div>
<div class="content member-profile">
<div class="member-card member-card--profile">
<div class="member-avatar">
<img src="%[MEMBER_PHOTO]" alt="%[MEMBER_NAME]"/>
</div>
<div class="member-text">
<div class="member-name">%[MEMBER_NAME]</div>
<div class="member-handle">@%[MEMBER_HANDLE]</div>
</div>
</div>
<div class="member-bio">
%~ include_md "$DATA_MEMBER_MD"
</div>
</div>
%~ include src/footer.inc

View file

@ -3,7 +3,26 @@
<div class="content">
<div class="softpage">
<h1>Releases</h1>
%~ for release in src/releases/*; do awk -f src/format_release.awk "$release"; done
<table class="listing">
<tr>
<th>Date</th>
<th>Release</th>
<th>Checksum</th>
<th>Signature</th>
</tr>
<tr>
<td>2025-10-18</td>
<td><a href="">KarlOS Preview Snapshot #1 Live Image</a></td>
<td><a href="">sha256</a></td>
<td><a href="">minisign</a></td>
</tr>
<tr>
<td>2025-12-24</td>
<td><a href="">KarlOS Christmas Special Edition</a></td>
<td><a href="">sha256</a></td>
<td><a href="">minisign</a></td>
</tr>
</table>
</div>
</div>
%~ include src/footer.inc

View file

@ -1,7 +0,0 @@
Do 30. Okt 10:34:21 UTC 2025 17M karlos_2025-10-30_live.img
Do 30. Okt 10:34:21 UTC 2025 124K karlos_2025-10-30_live.img.xz
Do 30. Okt 10:34:21 UTC 2025 17M karlos_2025-10-30_live.iso
Do 30. Okt 10:34:21 UTC 2025 124K karlos_2025-10-30_live.iso.xz
Do 30. Okt 10:34:21 UTC 2025 648K karlos_2025-10-30_live.qcow2
Do 30. Okt 10:34:22 UTC 2025 4,0K karlos_2025-10-30_manifest.txt
Do 30. Okt 10:34:22 UTC 2025 4,0K sha256sum.txt

View file

@ -7,7 +7,7 @@
%COLOR_BLOCK_ALT:rgb(35, 36, 42)
html {
color-scheme: dark;
color-scheme: dark;
scroll-behavior: smooth;
}
body {
@ -99,6 +99,13 @@ h2 {
width: 100%;
height: 100%;
}
.logo-link {
color: inherit;
text-decoration: none;
display: inline-flex;
align-items: center;
gap: 0.4em;
}
.impressum {
text-align: center;
font-size: 14px;
@ -106,13 +113,82 @@ h2 {
.listing td {
padding: 0 1em;
}
.listing th {
padding: 0 1em;
text-align: center;
}
.listing {
background-color: %[COLOR_BLOCK];
}
.listing tr:nth-child(even) {
background-color: %[COLOR_BLOCK_ALT];
}
.members-grid {
display: flex;
flex-wrap: wrap;
gap: 1.5em;
justify-content: center;
padding: 2em 0 4em;
}
.member-card {
background-color: %[COLOR_BLOCK];
border: 1px solid %[COLOR_BLOCK_ALT];
border-radius: 0.6em;
display: flex;
gap: 1em;
align-items: center;
padding: 1em 1.2em;
text-decoration: none;
color: %[COLOR_TEXT];
box-shadow: 0 0.6em 1.5em rgba(0, 0, 0, 0.35);
transition: transform 120ms ease, box-shadow 120ms ease;
width: min(20em, 100%);
}
.member-card:hover {
transform: translateY(-4px);
box-shadow: 0 0.8em 1.8em rgba(0, 0, 0, 0.45);
}
.member-card .member-avatar {
width: 4em;
height: 4em;
border-radius: 50%;
overflow: hidden;
background-color: %[COLOR_BLOCK_ALT];
display: flex;
align-items: center;
justify-content: center;
}
.member-card .member-avatar img {
width: 100%;
height: 100%;
object-fit: cover;
}
.member-card .member-text {
text-align: left;
line-height: 1.4;
}
.member-card .member-name {
font-weight: bold;
font-size: 1.1em;
}
.member-card .member-handle {
color: %[COLOR_SPECIAL];
font-size: 0.9em;
}
.member-banner {
margin-bottom: 2em;
}
.member-profile {
padding-bottom: 4em;
}
.member-card--profile {
max-width: 22em;
margin: 0 auto 2em;
justify-content: flex-start;
}
.member-bio {
background-color: %[COLOR_BLOCK];
padding: 1.5em;
border-radius: 0.6em;
box-shadow: 0 0.6em 1.5em rgba(0, 0, 0, 0.35);
}
.gallery img {
width: 100%;
}

View file

@ -1,9 +1,25 @@
%PAGE_TITLE:KarlOS - Our Team
%PAGE_TITLE:KarlOS - Members
%~ include src/header.inc
<div class="banner">
<h1>Our Team</h1>
<h1>Our Members</h1>
<h3>Click a member to see their profile</h3>
</div>
<div class="content">
%~ for member in src/team/*; do printf "<div class=\"softpage\">\n"; include_md "$member"; printf "</div>\n"; done
<div class="content members-grid">
%~ for member in src/team/*.md; do
%~ slug=$(basename "$member" .md)
%~ handle=$(sed -n 's/^##[[:space:]]*//p' "$member" | head -n1 | sed 's/^@//')
%~ name=$(sed -n 's/^###[[:space:]]*//p' "$member" | head -n1)
%~ photo="assets/logo.png"
%~ for ext in png jpg jpeg webp; do
%~ if [ -f "src/assets/team/$slug.$ext" ]; then photo="assets/team/$slug.$ext"; break; fi
%~ done
%~ printf '<a class="member-card" href="/team/%s.html">\n' "$slug"
%~ printf ' <div class="member-avatar"><img src="/%s" alt="%s"/></div>\n' "$photo" "$name"
%~ printf ' <div class="member-text">\n'
%~ printf ' <div class="member-name">%s</div>\n' "$name"
%~ printf ' <div class="member-handle">@%s</div>\n' "$handle"
%~ printf ' </div>\n'
%~ printf '</a>\n'
%~ done
</div>
%~ include src/footer.inc