|
|
|
<script>
|
|
|
|
import HomeIcons from './home-icons.svelte';
|
|
|
|
import Project from './project.svelte';
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<div class="content-slim">
|
|
|
|
<div class="item">
|
|
|
|
<HomeIcons />
|
|
|
|
</div>
|
|
|
|
<div class="item home-greeting">
|
|
|
|
<h1>Welcome to my internet space</h1>
|
|
|
|
</div>
|
|
|
|
<div class="item home-description">
|
|
|
|
<p>
|
|
|
|
Hello, I'm Trivernis, a german software developer, working on way too many projects at once.
|
|
|
|
My pronouns are he/they. I primarily use Rust because it's just the best programming language.
|
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
<div class="item github-stats">
|
|
|
|
<img
|
|
|
|
alt="Dynamically generated by GitHub readme stats. It displays my total stars earned, total commits, PRs, issues and repositories."
|
|
|
|
src="https://github-readme-stats.vercel.app/api?username=trivernis&show_icons=true&theme=tokyonight"
|
|
|
|
/>
|
|
|
|
<img
|
|
|
|
alt="Dynamically generated by GitHub readme stats. It displays my most used languages. At the time of writing this it's rust with 53%."
|
|
|
|
src="https://github-readme-stats.vercel.app/api/top-langs/?username=trivernis&hide=html&show_icons=true&theme=tokyonight"
|
|
|
|
/>
|
|
|
|
</div>
|
|
|
|
<div class="item projects">
|
|
|
|
<h1>Some Projects</h1>
|
|
|
|
<Project
|
|
|
|
name="Mediarepo"
|
|
|
|
href="https://mediarepo.trivernis.dev"
|
|
|
|
description="A media management tool written in Rust and Angular.
|
|
|
|
It uses tags to sort images into categories and can be run fully headless.
|
|
|
|
Furthermore it can be run in a classic server-client fashion as well as a single
|
|
|
|
desktop application."
|
|
|
|
/>
|
|
|
|
<Project
|
|
|
|
name="2b-rs"
|
|
|
|
href="https://git.trivernis.net/Trivernis/2b-rs"
|
|
|
|
description="A discord bot written in Rust.
|
|
|
|
It provides commands for playing music, searching for xkcd comics, finding image sources etc."
|
|
|
|
/>
|
|
|
|
<Project
|
|
|
|
name="rusty-value"
|
|
|
|
href="https://git.trivernis.net/Trivernis/rusty-value"
|
|
|
|
description="A Rust libary to get a generic representation for any rust type.
|
|
|
|
The library features a derive trait to create a rusty value from any type. The value can
|
|
|
|
be inspected by using match expressions."
|
|
|
|
/>
|
|
|
|
<Project
|
|
|
|
name="multi-trait-object"
|
|
|
|
href="https://git.trivernis.net/Trivernis/multi-trait-object"
|
|
|
|
description="A Rust library to store all traits alongside a dynamic value.
|
|
|
|
Usually dyn types in rust only support one non-marker trait since the fat pointer representation
|
|
|
|
of a dyn type only includes one pointer to the data and one pointer to the v-table of the trait.
|
|
|
|
This libary creates even fatter pointers for trait objects to store multiple v-table pointers alongside
|
|
|
|
a data pointer. This way you can create dyn objects that are both Clone and Debug.
|
|
|
|
Also this libary is super unsafe."
|
|
|
|
/>
|
|
|
|
<Project
|
|
|
|
name="Snekdown"
|
|
|
|
href="https://git.trivernis.net/Trivernis/snekdown"
|
|
|
|
description="A custom markdown flavour with a parser and html renderer written entirely in Rust."
|
|
|
|
/>
|
|
|
|
<h4>And there's even more on my Git and GitHub...</h4>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<style lang="scss">
|
|
|
|
.content-slim {
|
|
|
|
display: flex;
|
|
|
|
flex-direction: column;
|
|
|
|
margin: 5% 15% 5em;
|
|
|
|
}
|
|
|
|
|
|
|
|
.item {
|
|
|
|
flex-basis: 66%;
|
|
|
|
margin: auto;
|
|
|
|
}
|
|
|
|
|
|
|
|
.home-greeting {
|
|
|
|
display: flex;
|
|
|
|
margin: auto;
|
|
|
|
width: 100%;
|
|
|
|
|
|
|
|
h1 {
|
|
|
|
font-size: 3em;
|
|
|
|
text-align: center;
|
|
|
|
width: 100%;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.home-description {
|
|
|
|
width: 100%;
|
|
|
|
font-size: 1.5em;
|
|
|
|
margin: auto;
|
|
|
|
text-align: center;
|
|
|
|
}
|
|
|
|
|
|
|
|
.github-stats {
|
|
|
|
margin: auto;
|
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
flex-wrap: wrap;
|
|
|
|
width: 100%;
|
|
|
|
|
|
|
|
img {
|
|
|
|
padding: 5px;
|
|
|
|
margin: auto;
|
|
|
|
display: flex;
|
|
|
|
max-width: 100%;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@media screen and (max-width: 1000px) {
|
|
|
|
.home-greeting {
|
|
|
|
h1 {
|
|
|
|
font-size: 2em;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
.home-description {
|
|
|
|
font-size: 1.2em;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</style>
|