Skills display

This commit is contained in:
matthieu42morin 2024-02-13 16:45:04 +01:00
parent 242ae655a6
commit a4620a399a
3 changed files with 231 additions and 10 deletions

View File

@ -1,12 +1,19 @@
const skills = { type Skill = {
programming: ['Svelte', 'TypeScript', 'React.js', 'Svelte.js', 'Go', 'Electron'], title: string;
Devops: [], list: string[];
Linux: ['', ''],
IoT: ['Raspberry Pi', 'Arduino', 'ESP32', 'ESP8266', 'lots of sensors','MQTT', 'LoRa', 'BLE', 'NFC', 'RFID', 'WiFi', ],
databases: ['MongoDB', 'PostgreSQL'],
Tools: [],
languages: ['Italian', 'English'],
other: ['Figma', 'UI design']
}; };
export default skills; // prettier-ignore
const skills: Skill[] = [
{title:'Langs/Frameworks', list: ['Svelte', 'SvelteKit', 'JavaScript/TypeScript', 'Python', 'C/C++']},
{title:'Devops', list: ['Git', 'Terraform', 'Ansible', 'Docker', 'Docker Compose', 'K8s']},
{title:'Linux', list: ['Debian', 'Ubuntu', 'Arch Linux', 'Alpine', 'Raspbian']},
{title:'SysAdmin', list: ['Systemd', 'nginx', 'User acc management', 'basic networking tools, ...']},
{title:'Databases', list: ['PostgreSQL', 'MariaDB', 'SQLite' ]},
{title:'Cloud', list: ['AWS', 'Azure', 'DigitalOcean', 'Vercel', 'Hetzner Cloud']},
{title:'IoT', list: ['Raspberry Pi', 'Arduino', 'ESP32', 'ESP8266', '...sensors', 'MQTT', 'LoRa', 'BLE', 'NFC', 'WiFi', ]},
{title:'Languages', list: ['English', 'Czech', 'French', 'German']},
{title:'other', list: ['Figma', 'UI/UX', 'Wireframing', 'Prototyping', 'Adobe InDesign, Illustrator, Inkscape, ...',]}
];
export default skills;

View File

@ -0,0 +1,18 @@
<script lang="ts">
import skills from '$content/skills';
</script>
<div
class="card flex flex-col items-center justify-center mx-auto w-3/4 bg-surface-50 bg-opacity-50 p-8 m-8"
id="skills"
>
<h2 class="h2 m-2">My skillset</h2>
{#each skills as skill}
<div class="text-lg font-bold m-2">{skill.title}</div>
<div class="flex flex-wrap justify-center space-x-2 m-2">
{#each skill.list as s}
<div class="chip variant-outline-primary">{s}</div>
{/each}
</div>
{/each}
</div>

196
src/routes/+page.svelte Normal file
View File

@ -0,0 +1,196 @@
<script lang="ts">
import { Avatar } from '@skeletonlabs/skeleton';
import SkillContainer from '$lib/components/SkillContainer.svelte';
const socialLinks = [
{
title: 'LinkedIn',
href: 'https://www.linkedin.com/in/matthieu-morin-7524731a9/',
icon: 'fa-brands fa-linkedin'
},
{ title: 'Matrix', href: '', icon: './MatrixLogo' },
{ title: 'Gitea', href: 'https://git.mattmor.in', icon: './GiteaLogo' },
{ title: 'X (Twitter)', href: 'https://x.com/SkeletonUI', icon: 'fa-brands fa-x-twitter' },
{ title: 'RSS', href: '/blog/feed', icon: 'fa-regular fa-square-rss' }
];
import * as config from '$lib/config';
import GiteaLogo from '$lib/components/logos/GiteaLogo.svelte';
</script>
<svelte:head>
<title>Matt Morin</title>
<meta property="og:type" content="website" />
<meta name="description" content={config.description} />
<meta property="og:title" content={config.title} />
<meta property="og:type" content="article" />
<meta property="og:description" content={config.description} />
<meta property="og:url" content={config.url} />
<meta property="og:image" content="/images/profile-pic.png" />
</svelte:head>
<div class="container h-full mx-auto flex-col justify-center items-center md:w-3/4">
<!-- <div class="space-y-10 mt-4 text-center flex flex-col items-center">
<h1 class="h1">I make the wheels turn.</h1>
<figure>
<section class="img-bg" />
<img
src="/images/profile-pic.png"
class="w-8 h-8 md:h-[200px] md:w-[200px]"
alt="Profile picture"
/>
</figure>
<img
src="/animations/infinity-loop-icon.svg"
alt="Icon"
class="w-16 md:w-32 lg:w-48 h-full rounded-full"
/>
<h2 class="h2">My github contributions</h2>
</div> -->
<section class="grid grid-cols-1 md:grid-cols-2 space-y-4 mx-4">
<!-- Logo and buttons-->
<div class="order-2">
<figure>
<section class="img-bg w-32 aspect-square md:w-[400px]" />
<img
class="rounded-full hidden md:w-24 md:block aspect-square overflow-hidden shadow-xl"
src="/images/profile-pic.png"
alt="Profile picture"
/>
</figure>
<div class="flex justify-center space-x-2">
<a class="btn variant-ghost-primary" href="/blog" target="_blank" rel="noreferrer">
Look at my blog
</a>
<a class="btn variant-ghost-primary" href="/blog" target="_blank" rel="noreferrer">
Download my CV
</a>
</div>
</div>
<!-- Text and links-->
<div class="order-1 max-w-2xl space-y-8">
<h1 class="h1">Hello, I&#39;m Matt.</h1>
<p class="text-2xl opacity-75" data-svelte-h="svelte-169iyno">
A dev with an array of skills from from frontend and design to devops. I have a
strong passion for innovation and change in tech, automation ♾️ and solving 👾
problems .
<br />From wearing a lot of 🤠 hats in past projects and startups I became a
generalist, now I am actively deepening my knowledge in software:
<span
class=" text-4xl bg-gradient-to-r from-primary-400 via-secondary-400 to-tertiary-400 text-transparent bg-clip-text"
>DevOps, CyberSec and AI.</span
>
</p>
<div class="flex space-x-4">
<a
class="btn btn-icon variant-soft-primary hover:variant-filled-primary"
href={config.socialLinks[2].href}
target="_blank"
rel="noreferrer"
title="Gitea - private github"
><GiteaLogo clazz="w-6" />
</a><a
class="btn btn-icon variant-soft-primary hover:variant-filled-primary"
href={config.socialLinks[0].href}
target="_blank"
rel="noreferrer"
title="LinkedIn"
><i class="fa-brands fa-linkedin" />
</a><a
class="btn btn-icon variant-soft-primary hover:variant-filled-primary"
href="mailto:{config.email}"
target=""
rel="noreferrer"
title="Email"
><i class="fa-solid fa-envelope" />
</a>
</div>
</div>
</section>
<SkillContainer />
<section data-svelte-h="svelte-191ndy9">
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-10 text-center md:text-left">
<div class="space-y-1">
<span class="font-heading-token text-7xl">20+</span>
<p class="text-primary-500">Years Experience</p>
</div>
<div class="space-y-1">
<span class="font-heading-token text-7xl">100+</span>
<p class="text-primary-500">Contributions</p>
</div>
<div class="space-y-1">
<span class="font-heading-token text-7xl">10k+</span>
<p class="text-primary-500">Commits</p>
</div>
<div class="space-y-1">
<span class="font-heading-token text-7xl">3k+</span>
<p class="text-primary-500">GitHub Stars</p>
</div>
</div>
</section>
<section class="grid grid-cols-1 md:grid-cols-3 gap-4 lg:gap-8" data-svelte-h="svelte-1u9sn7t">
<div class="card variant-ringed-hollow p-4 md:p-8 space-y-4">
<i class="fa-solid fa-screwdriver-wrench text-4xl text-primary-500" />
<h3 class="h3">Development</h3>
<p class="opacity-75">
I possess a wide range of skills that enable me to develop visually appealing and
interactive user interfaces for web applications.
</p>
</div>
<div class="card variant-ringed-hollow p-4 md:p-8 space-y-4">
<i class="fa-solid fa-palette text-4xl text-primary-500" />
<h3 class="h3">Design</h3>
<p class="opacity-75">
Over the years, I have honed my ability to create visually appealing interfaces that
are both user-friendly and intuitive.
</p>
</div>
<div class="card variant-ringed-hollow p-4 md:p-8 space-y-4">
<i class="fa-solid fa-users text-4xl text-primary-500" />
<h3 class="h3">User Experience</h3>
<p class="opacity-75">
I understand the importance of creating a seamless UX for end-users. Which includes
a solid understanding user behavior.
</p>
</div>
</section>
</div>
<style lang="postcss">
figure {
@apply flex relative flex-col;
}
.img-bg {
@apply absolute z-[-1] rounded-full blur-[100px] transition-all;
animation: pulse 5s cubic-bezier(0, 30, 150, 1) infinite, glow 5s linear infinite;
}
@keyframes glow {
0% {
@apply bg-primary-400/50;
}
33% {
@apply bg-secondary-400/50;
}
66% {
@apply bg-tertiary-400/50;
}
100% {
@apply bg-primary-400/50;
}
}
@keyframes pulse {
50% {
transform: scale(1.5);
}
}
.quick-link {
@apply btn btn-icon variant-soft-primary hover:variant-filled-primary;
}
</style>