From 15bc3ce30cb00c090c6a9d180bdf50070d4d9d5e Mon Sep 17 00:00:00 2001 From: matthieu42morin Date: Thu, 18 Apr 2024 20:40:48 +0200 Subject: [PATCH] config & skills content --- src/content/skills.ts | 153 +++++++++++++++++++++++++++++++++++++----- src/lib/config.ts | 4 ++ 2 files changed, 139 insertions(+), 18 deletions(-) diff --git a/src/content/skills.ts b/src/content/skills.ts index d07a0e8..604204e 100644 --- a/src/content/skills.ts +++ b/src/content/skills.ts @@ -1,22 +1,139 @@ -type Skill = { - title: string; - list: string[]; -}; +export type SkillLevel = 'A' | 'B' | 'C'; // A: Proficient, B: Experienced, C: limited Experience +export interface Skill { + title: string; + level: SkillLevel; +} +export interface SkillSubCategory { + title: string; + level: number; + skills: Skill[]; +} +export interface SkillCategory { + title: string; + level: number; + subCategories: SkillSubCategory[]; +} // prettier-ignore -const skills: Skill[] = [ - {title:'Langs', list: ['JavaScript/TypeScript', 'Python', 'a bit of C/C++', 'Bash', 'SQL', '...']}, - {title:'Frontend', list: ['Svelte', 'SvelteKit']}, - {title:'Devops', list: ['Git', 'Terraform', 'Ansible', 'Docker', 'Docker Compose', 'K8s', 'Grafana']}, - {title:'CI/CD', list: ['GitHub Actions', 'Gitea Actors', 'Gitlab', 'SFTP', ]}, - {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', 'Cloudflare', 'DigitalOcean', 'Vercel', 'Hetzner Cloud']}, - {title:'IoT', list: ['Raspberry Pi', 'Arduino', 'ESP32', 'ESP8266', '...sensors', 'MQTT', 'LoRa', 'BLE', 'NFC', 'WiFi', ]}, - {title:'other tools', list: ['HC Vault / AWS Secrets Manager', 'AWS Lambda']}, - {title:'Languages', list: ['English', 'Czech', 'French', 'German']}, - {title:'design', list: ['Figma', 'UI/UX', 'Wireframing', 'Prototyping', 'Adobe InDesign, Illustrator, Inkscape, ...',]} +const skillCategories: SkillCategory[] = [ + {title:'Software Development', level: 70, subcategories: [ + {title:'Programming Languages', level: 75, skills: [ + { title: 'JavaScript/TypeScript', level: 'A' }, + { title: 'Python', level: 'B' }, + { title: 'Rust', level: 'C' }, + { title: 'Bash', level: 'B' }, + { title: 'SQL', level: 'B' }, + { title: 'LaTeX', level: 'B' }, + ]}, + {title:'Web Frameworks', level: 70, skills: [ + { title: 'Svelte(Kit)', level: 'A' }, + { title: 'React', level: 'C'}, + ]}, + {title:'Configuration and Performance', level: 70, skills: [ + { title: 'SEO', level: 'B'}, + { title: 'Performance', level: 'B'}, + { title: 'Obfuscation', level: 'B'}, + ]}, + {title:'Databases', level: 70, skills: [ + { title: 'PostgreSQL', level: 'A' }, + { title: 'MariaDB', level: 'B' }, + { title: 'MongoDB', level: 'C' } + ]}, + {title:'Testing & Validation', level: 50, skills: [ + { title: 'ajv', level: 'A' }, + { title: 'Playwright', level: 'B'}, + { title: 'SEO, performance optimizations', level: 'B'}, + ]}, + ]}, + {title:'DevOps', level: 70, subcategories: [ + {title:'Infrastructure & Configuration Management', level: 80, skills: [ + { title: 'Terraform & tooling', level: 'A'}, + { title: 'Ansible', level: 'A'}, + { title: 'Docker, Docker-Compose', level: 'A' }, + { title: 'Kubernetes', level: 'C'}, + ]}, + { title: 'Version Control & CI/CD', level: 90, skills: [ + { title: 'Git', level: 'A' }, + { title: 'GitHub Ecosystem', level: 'A' }, + { title: 'Gitea', level: 'A' }, + { title: 'Gitlab Ecosystem', level: 'B' } + ]}, + { title: 'Monitoring & Observability ', level: 90, skills: [ + { title: 'Grafana', level: 'B' }, + { title: 'Prometheus', level: 'B' }, + ]}, + {title:'Vercel', level: 100, skills: []}, + ]}, + {title:'Cloud Computing', level: 70, subcategories: [ + {title:'AWS', level: 80, skills: [ + { title: 'EC2', level: 'A' }, + { title: 'RDS', level: 'A'}, + { title: 'S3', level: 'A'}, + { title: 'CloudFormation', level: 'C'}, + ]}, + { title: 'Azure (C)', skills: [ + { title: 'Azure OpenAI API', level: 'B' }, + { title: 'AKS', level: 'B' } + ]}, + { title: 'Hashicorp', skills: [ + { title: 'Vault', level: 'B' }, + { title: 'Consul', level: 'C' }, + ]}, + {title:'Vercel', level: 100, skills: []}, + {title:'DigitalOcean', level: 100, skills: []}, + ]}, + {title:'System Administration', level: 75, subcategories: [ + {title:'Operating Systems', level: 80, skills: [ + { title: 'Debian / Ubuntu', level: 'A' }, + { title: 'Nix(OS)', level: 'B' }, + { title: 'Arch Linux', level: 'B' }, + { title: 'Alpine', level: 'B' }, + { title: 'MicroSuck Winbloats', level: 'B' }, + ]}, + { title: 'Version Control & CI/CD', level: 90, skills: [ + { title: 'Git', level: 'A' }, + { title: 'GitHub & Gitea Ecosystem', level: 'A' }, + { title: 'Gitlab Ecosystem', level: 'B' } + ]}, + { title: 'Monitoring & Observability ', level: 90, skills: [ + { title: 'Grafana', level: 'B' }, + { title: 'Prometheus', level: 'B' }, + ]}, + { title: 'Secrets Man. & Cryptography', level: 70, skills: [ + { title: 'Hashicorp Vault', level: 'A' }, + { title: 'Sops', level: 'B' }, + { title: 'AWS Secrets Manager', level: 'B' }, + ]} + ]}, + {title:"Some fun geek skillz", level: 70, subcategories: [ + {title:'mini hardware', level: 80, skills: [ + { title: 'Raspberry Pi', level: 'A' }, + { title: 'ESP8266, ESP32', level: 'A' }, + { title: 'Arduino', level: 'A' }, + { title: 'MQTT', level: 'B' }, + { title: 'Wifi & BLE', level: 'B' } + ]}, + { title: '3D printing', level: 90, skills: [ + { title: 'knowledge, theory', level: 'A' }, + { title: 'materials - PLA, PETG', level: 'A' }, + { title: 'Autodesk Inventor', level: 'B' }, + { title: 'OctoPrint and Klipper', level: 'B' }, + { title: 'Ultimaker Cura', level: 'B' }, + ]}, + ]}, + {title:'Languages', level: 70, skills: [ + { title: 'English', level: 'A' }, + { title: 'Czech', level: 'A' }, + { title: 'French', level: 'B' }, + { title: 'German', level: 'C' } + ]}, + {title:'Design', level: 70, skills: [ + { title: 'Figma', level: 'A' }, + { title: 'UI/UX', level: 'B' }, + { title: 'LaTeX', level: 'C' }, + { title: 'Wireframing & Prototyping', level: 'B' }, + { title: 'Myriads of image manipulation and generation tools', level: 'B' }, + ]} ]; -export default skills; +export default skillCategories; diff --git a/src/lib/config.ts b/src/lib/config.ts index db6b7c1..5beaec4 100644 --- a/src/lib/config.ts +++ b/src/lib/config.ts @@ -7,6 +7,10 @@ export const url = dev ? 'http://localhost:5174' : 'https://mattmor.in'; export const author = 'Matt Morin'; export const backgroundColor = '#111827'; export const themeColor = '#3b82f6'; +export const logo = '/Logo.png'; +export const keywords = 'Dev, FOSS, Nix, Philosopher, DevOps, Climate'; +export const ogLanguage = 'en_US'; +export const siteLanguage = 'en-US'; // prettier-ignore export const socialLinks = [