mirror of
https://codeberg.org/vlw/vlw.se.git
synced 2025-09-13 13:03:41 +02:00
144 lines
5 KiB
PHP
144 lines
5 KiB
PHP
<?php
|
|
|
|
use VLW\Database\Models\Work\Work;
|
|
|
|
require_once VV::root("src/Database/Models/Work/Work.php");
|
|
|
|
?>
|
|
<style><?= VV::css("public/assets/css/pages/work/index") ?></style>
|
|
<section class="hero">
|
|
<div class="item vegvisir">
|
|
<div class="wrapper">
|
|
<div class="title">
|
|
<?= VV::embed("public/assets/media/icons/vegvisir.svg") ?>
|
|
<h1>vegvisir</h1>
|
|
</div>
|
|
<p><?= Work::from("vlw/vegvisir")->summary ?></p>
|
|
<div class="actions">
|
|
<a href="https://vegvisir.vlw.se"><button class="inline solid">
|
|
<p>read more</p>
|
|
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
|
|
</button></a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="item reflect">
|
|
<div class="wrapper">
|
|
<div class="title">
|
|
<?= VV::embed("public/assets/media/icons/reflect.svg") ?>
|
|
<h1>reflect</h1>
|
|
</div>
|
|
<p><?= Work::from("vlw/reflect")->summary ?></p>
|
|
<div class="actions">
|
|
<a href="https://reflect.vlw.se"><button class="inline solid">
|
|
<p>read more</p>
|
|
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
|
|
</button></a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
<section class="featured">
|
|
<featured-item>
|
|
<div class="title">
|
|
<?= VV::embed("public/assets/media/icons/vw.svg") ?>
|
|
</div>
|
|
<h3>vlw.se</h3>
|
|
<p>Can I put my own website here, is that cheating? Maybe, but I think this site counts as the most important thing I've personally created. I've only used my own libraries and frameworks to create this website, so it kind of works as a live demonstration of many of my web projects bundled together.</p>
|
|
<div class="actions">
|
|
<a href="https://codeberg.org/vlw/vlw.se"><button class="inline">
|
|
<?= VV::embed("public/assets/media/icons/codeberg.svg") ?>
|
|
<p>view source</p>
|
|
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
|
|
</button></a>
|
|
</div>
|
|
</featured-item>
|
|
<featured-item>
|
|
<div class="title">
|
|
<?= VV::embed("public/assets/media/icons/repo.svg") ?>
|
|
</div>
|
|
<h3>vlw/php-mysql</h3>
|
|
<p><?= Work::from("vlw/php-mysql")->summary ?></p>
|
|
<div class="actions">
|
|
<a href="https://codeberg.org/vlw/php-mysql"><button class="inline">
|
|
<?= VV::embed("public/assets/media/icons/codeberg.svg") ?>
|
|
<p>view source</p>
|
|
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
|
|
</button></a>
|
|
</div>
|
|
</featured-item>
|
|
<featured-item>
|
|
<div class="title">
|
|
<h3>🍰</h3>
|
|
</div>
|
|
<h3>Still Alive</h3>
|
|
<p>I recreated the end credits from the video game Portal using pure JavaScript and browser windows. It was created using my old [abandoned] animation library and some patience. It's not perfect, it notably has a few time-drifting issues.</p>
|
|
<div class="actions">
|
|
<a href="https://blob.vlw.se/0195b948-8cd3-7d7f-8b21-e992a621a4c1.webm" target="_blank"><button class="inline">
|
|
<?= VV::embed("public/assets/media/icons/star.svg") ?>
|
|
<p>demo video</p>
|
|
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
|
|
</button></a>
|
|
<a href="https://codeberg.org/vlw/still-alive" target="_blank"><button class="inline collapse">
|
|
<p>view source</p>
|
|
<?= VV::embed("public/assets/media/icons/codeberg.svg") ?>
|
|
</button></a>
|
|
</div>
|
|
</featured-item>
|
|
</section>
|
|
<section class="heading">
|
|
<h1>web highligts</h1>
|
|
</section>
|
|
<section class="featured">
|
|
<featured-item>
|
|
<div class="title">
|
|
<a href="/work/archive?href=https://icellate.srv.vlw.se"><img src="/assets/media/img/preview-icellate.avif"></a>
|
|
</div>
|
|
<h3>Website for iCellate Medical</h3>
|
|
<p><?= Work::from("icellate/website")->summary ?></p>
|
|
<div class="actions">
|
|
<a href="/work/archive?href=https://icellate.srv.vlw.se"><button class="inline">
|
|
<?= VV::embed("public/assets/media/icons/star.svg") ?>
|
|
<p>preview</p>
|
|
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
|
|
</button></a>
|
|
</div>
|
|
</featured-item>
|
|
<featured-item>
|
|
<div class="title">
|
|
<a href="/work/archive?href=https://genemate.srv.vlw.se"><img src="/assets/media/img/preview-genemate.avif"></a>
|
|
</div>
|
|
<h3>Website for GeneMate by iCellate</h3>
|
|
<p><?= Work::from("icellate/genemate")->summary ?></p>
|
|
<div class="actions">
|
|
<a href="/work/archive?href=https://genemate.srv.vlw.se"><button class="inline">
|
|
<?= VV::embed("public/assets/media/icons/star.svg") ?>
|
|
<p>preview</p>
|
|
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
|
|
</button></a>
|
|
</div>
|
|
</featured-item>
|
|
<featured-item>
|
|
<div class="title">
|
|
<a href="/work/deltaco/asyncapp"><img src="/assets/media/img/preview-deltaco.avif"></a>
|
|
</div>
|
|
<h3>Campaign pages for Deltaco AB</h3>
|
|
<p><?= Work::from("deltaco/asyncapp")->summary ?></p>
|
|
<div class="actions">
|
|
<a href="/work/deltaco/asyncapp"><button class="inline">
|
|
<p>read more</p>
|
|
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
|
|
</button></a>
|
|
</div>
|
|
</featured-item>
|
|
</section>
|
|
<section class="heading">
|
|
<h1>latest projects</h1>
|
|
</section>
|
|
<?= VV::include("public/work/timeline", limit: 4) ?>
|
|
<section class="heading">
|
|
<a href="/work/timeline"><button class="inline solid">
|
|
<p>view full timeline</p>
|
|
<?= VV::embed("public/assets/media/icons/chevron.svg") ?>
|
|
</button></a>
|
|
</section>
|