Compare commits
1 commit
main
...
releases-p
| Author | SHA1 | Date | |
|---|---|---|---|
| 5512ca239b |
13 changed files with 44 additions and 208 deletions
|
|
@ -8,27 +8,3 @@ find src -name "*.html" | while read f; do
|
||||||
preproc/buildpage.sh "$f"
|
preproc/buildpage.sh "$f"
|
||||||
done
|
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.
|
Before Width: | Height: | Size: 22 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 70 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 59 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 21 KiB |
19
src/format_release.awk
Normal file
19
src/format_release.awk
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
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>"
|
||||||
|
}
|
||||||
|
|
@ -3,19 +3,16 @@
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>%[PAGE_TITLE]</title>
|
<title>%[PAGE_TITLE]</title>
|
||||||
<meta charset="UTF-8"/>
|
|
||||||
<link rel="stylesheet" href="/style.css"/>
|
<link rel="stylesheet" href="/style.css"/>
|
||||||
<link rel="icon" type="image/x-icon" href="/assets/favicon.png"/>
|
<link rel="icon" type="image/x-icon" href="/assets/favicon.png"/>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div class="navbar">
|
<div class="navbar">
|
||||||
<div class="navbutton">
|
<div class="navbutton">
|
||||||
<a class="logo-link" href="/index.html">
|
|
||||||
<div class="logo">
|
<div class="logo">
|
||||||
<img src="/assets/logo.png" alt="logo"/>
|
<img src="assets/logo.png" alt="logo"/>
|
||||||
</div>
|
</div>
|
||||||
Karl<strong>OS</strong>
|
Karl<strong>OS</strong>
|
||||||
</a>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="navbutton">
|
<div class="navbutton">
|
||||||
|
|
@ -27,14 +24,6 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="navbutton">
|
<div class="navbutton">
|
||||||
<a href="https://karlsruhe-os.de/code/karlos/karlos">Code</a>
|
<a href="/code/">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>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -12,21 +12,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="softpage">
|
<div class="softpage">
|
||||||
<h2>Current Goals</h2>
|
<h2>Current Goals</h2>
|
||||||
<p>
|
<i>More information coming soon</i>
|
||||||
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>
|
||||||
|
|
||||||
<div class="softpage">
|
<div class="softpage">
|
||||||
|
|
@ -34,25 +20,15 @@
|
||||||
We meet in the computer science building on Wednesday at 19:00 in room -107. Feel free to drop by — we’d be happy to see you.
|
We meet in the computer science building on Wednesday at 19:00 in room -107. Feel free to drop by — we’d be happy to see you.
|
||||||
</div>
|
</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">
|
<div class="softpage" id="contact">
|
||||||
<h2>Contact us</h2>
|
<h2>Contact us</h2>
|
||||||
<strong>E-Mail:</strong> 
|
<strong>E-Mail:</strong> 
|
||||||
<span>
|
<span>
|
||||||
uosfz
|
karlos.borrowing760
|
||||||
<div class="logo">
|
<div class="logo">
|
||||||
<img src="assets/arobas.png" alt="at"/>
|
<img src="assets/arobas.png" alt="at"/>
|
||||||
</div>
|
</div>
|
||||||
student.kit.edu
|
passmail.net
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
%~ 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
|
|
||||||
|
|
@ -3,26 +3,7 @@
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<div class="softpage">
|
<div class="softpage">
|
||||||
<h1>Releases</h1>
|
<h1>Releases</h1>
|
||||||
<table class="listing">
|
%~ for release in src/releases/*; do awk -f src/format_release.awk "$release"; done
|
||||||
<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>
|
||||||
</div>
|
</div>
|
||||||
%~ include src/footer.inc
|
%~ include src/footer.inc
|
||||||
|
|
|
||||||
7
src/releases/karlos_2025-10-30_manifest.txt
Normal file
7
src/releases/karlos_2025-10-30_manifest.txt
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
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
|
||||||
|
|
@ -99,13 +99,6 @@ h2 {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
.logo-link {
|
|
||||||
color: inherit;
|
|
||||||
text-decoration: none;
|
|
||||||
display: inline-flex;
|
|
||||||
align-items: center;
|
|
||||||
gap: 0.4em;
|
|
||||||
}
|
|
||||||
.impressum {
|
.impressum {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
|
|
@ -113,82 +106,13 @@ h2 {
|
||||||
.listing td {
|
.listing td {
|
||||||
padding: 0 1em;
|
padding: 0 1em;
|
||||||
}
|
}
|
||||||
|
.listing th {
|
||||||
|
padding: 0 1em;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
.listing {
|
.listing {
|
||||||
background-color: %[COLOR_BLOCK];
|
background-color: %[COLOR_BLOCK];
|
||||||
}
|
}
|
||||||
.listing tr:nth-child(even) {
|
.listing tr:nth-child(even) {
|
||||||
background-color: %[COLOR_BLOCK_ALT];
|
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%;
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -1,25 +1,9 @@
|
||||||
%PAGE_TITLE:KarlOS - Members
|
%PAGE_TITLE:KarlOS - Our Team
|
||||||
%~ include src/header.inc
|
%~ include src/header.inc
|
||||||
<div class="banner">
|
<div class="banner">
|
||||||
<h1>Our Members</h1>
|
<h1>Our Team</h1>
|
||||||
<h3>Click a member to see their profile</h3>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="content members-grid">
|
<div class="content">
|
||||||
%~ for member in src/team/*.md; do
|
%~ for member in src/team/*; do printf "<div class=\"softpage\">\n"; include_md "$member"; printf "</div>\n"; done
|
||||||
%~ 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>
|
</div>
|
||||||
%~ include src/footer.inc
|
%~ include src/footer.inc
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue