You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

130 lines
3.7 KiB
Svelte

<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;
background: rgba(14,1,20,0.9);
box-shadow: 0px 0px 60px 60px rgba(14,1,20,0.9);
border-radius: 50px;
}
.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>