diff options
Diffstat (limited to 'src/pages/projects.php')
-rw-r--r-- | src/pages/projects.php | 156 |
1 files changed, 156 insertions, 0 deletions
diff --git a/src/pages/projects.php b/src/pages/projects.php new file mode 100644 index 0000000..ab42342 --- /dev/null +++ b/src/pages/projects.php @@ -0,0 +1,156 @@ +<?php + +require_once dirname(__DIR__) . '/layout.php'; + +$i18n = i18n([ + 'de' => [ + 'intro.0' => 'Auflistung aller Projekte, an denen ich arbeite oder arbeiten möchte.', + 'intro.1' => 'Alle genannten Softwareprojekte sollen Open-Source sein.', + 'intro.2' => 'Alle genannten Unternehmungen sollen als (gemeinnützige) Vereine bzw genossenschaftlich organisiert sein.', + 'intro.3' => 'Keine kapitalistischen "Geld ist Selbstzweck" Bestrebungen.', + + 'footnotes.0' => '*Projekt, das ich einfach nur verwirklicht sehen möchte und nicht die persönliche Anforderung habe, dort direkt mitwirken zu müssen', + ], +]); +$t = $i18n['translate']; + +$projects = [ + 'stores_places' => [ + 'title' => 'Läden & Orte', + 'items' => [ + [ + 'title' => 'Repair-Café*', + ], + [ + 'title' => 'Offener, kreativer Begegnungsort*', + ], + [ + 'title' => 'Japanische Kultur-Events', + ], + [ + 'title' => 'Spielwarenladen mit offenem Treffpunkt', + 'description' => 'ausreichend Platz und Tische (für zB Magic the Gathering)', + ], + ], + ], + + 'it' => [ + 'title' => 'Soft- und Hardware', + 'items' => [ + [ + 'title' => 'Lokale, regionale, dezentralisierte Alternative zu Lieferando', + ], + [ + 'title' => 'Nachhaltige:r Server-Hardware-Infrastruktur Lieferant*in/Dienstleister*in', + ], + [ + 'title' => 'Einfaches, niederschwelliges, erweiterbares, flexibles Server-Software-Installations-Management-Interface', + ], + [ + 'title' => 'Modularer Web-Browser*', + 'description' => 'HTML-, JS, CSS-Parser, etc. als standalone Module als Alternativen zu bestehenden tightly-coupled Browsern', + 'link' => 'https://ladybird.dev', + ], + [ + 'title' => 'Single person (Flat-File?) Matrix Server', + ], + [ + 'title' => 'Source-to-Source Compiler Framework', + 'description' => 'In Kombination mit eigener Programmiersprache als Input', + ], + ], + ], + + 'educational' => [ + 'title' => 'Educational', + 'items' => [ + [ + 'title' => 'GPS-Game mit Pflanzen und Tieren', + 'description' => 'Mobile-Game - Pokémon Go-like', + ], + [ + 'title' => 'Elements', + 'description' => 'Tabletop - Nachhaltig produziertes, offenes, educational, Magic-like Kartenspiel mit historischen Referenzmaterialien', + ], + [ + 'title' => 'Historische Kriege und Scharmützel', + 'description' => 'Computerspiel - Fire Emblem-like', + ], + ], + ], + + 'hobby' => [ + 'title' => 'Hobby-Projekte', + 'items' => [ + [ + 'title' => 'BomberTux Story', + 'link' => 'https://gitlab.com/bombertux/bombertux-story', + ], + [ + 'title' => 'BomberTux Hero', + 'link' => 'https://gitlab.com/bombertux/bombertux-hero', + ], + [ + 'title' => 'Flat-File Forms', + 'link' => 'https://gitlab.com/dweipert-3138720606/flat-file-forms', + ], + ], + ], + + 'other' => [ + 'title' => 'Sonstige', + 'items' => [ + [ + 'title' => '"Wie nachhaltig leben?"-Buch', + 'description' => 'Leitfaden für nachhaltiges Leben im Raum Bad Neustadt', + 'link' => 'https://book.dweipert.de', + ], + ], + ], +]; + +ob_start(); +?> +<div class="container"> + <p> + <?php echo $t('intro.0'); ?> + </p> + <p> + <?php echo $t('intro.1'); ?><br> + <?php echo $t('intro.2'); ?><br> + <?php echo $t('intro.3'); ?> + </p> + + <?php foreach ($projects as $project): ?> + <div> + <h2><?php echo $project['title']; ?></h2> + <ul> + <?php foreach ($project['items'] as $item): ?> + <li> + <?php if (isset($item['link'])): ?> + <a href="<?php echo $item['link']; ?>" target="_blank"> + <?php echo $item['title']; ?> + </a> + <?php else: ?> + <span v-else><?php echo $item['title']; ?></span> + <?php endif; ?> + + <?php if (isset($item['description'])): ?> + <span>— <?php echo $item['description']; ?></span> + <?php endif; ?> + </li> + <?php endforeach; ?> + </ul> + </div> + <?php endforeach; ?> + + <p> + <small> + <?php echo $t('footnotes.0'); ?> + </small> + </p> +</div> +<?php +$content = ob_get_clean(); + +layout(content: $content); |