refactor: migrer les fichiers de configuration de JSON à Markdown pour une meilleure lisibilité et gestion des données

This commit is contained in:
2025-11-13 11:20:27 +01:00
parent 758fe2bc66
commit c62b4fc20a
41 changed files with 107 additions and 127 deletions

View File

@@ -18,26 +18,18 @@ export default defineContentConfig({
}), }),
usesCategories: defineCollection({ usesCategories: defineCollection({
type: 'data', type: 'data',
source: 'uses/categories/*.json', source: 'uses/categories/*.md',
schema: z.object({ schema: z.object({
slug: z.string(), slug: z.string(),
name: z.object({ name: z.string()
en: z.string(),
fr: z.string(),
es: z.string()
})
}) })
}), }),
uses: defineCollection({ uses: defineCollection({
type: 'data', type: 'data',
source: 'uses/*.json', source: 'uses/*.md',
schema: z.object({ schema: z.object({
name: z.string(), name: z.string(),
description: z.object({ description: z.string(),
en: z.string(),
fr: z.string(),
es: z.string()
}),
category: z.string() category: z.string()
}) })
}), }),
@@ -47,11 +39,7 @@ export default defineContentConfig({
schema: z.object({ schema: z.object({
body: z.array(z.object({ body: z.array(z.object({
id: z.string(), id: z.string(),
name: z.object({ name: z.string(), // TODO: replace in content dir
en: z.string(),
fr: z.string(),
es: z.string()
}),
items: z.array(z.object({ items: z.array(z.object({
name: z.string(), name: z.string(),
icon: z.string() icon: z.string()
@@ -63,21 +51,13 @@ export default defineContentConfig({
type: 'data', type: 'data',
source: 'experiences/*.md', source: 'experiences/*.md',
schema: z.object({ schema: z.object({
title: z.object({ title: z.string(),
en: z.string(),
fr: z.string(),
es: z.string()
}),
company: z.string(), company: z.string(),
companyUrl: z.string().url().optional(), companyUrl: z.string().url().optional(),
startDate: z.string(), startDate: z.string(),
endDate: z.string().optional(), endDate: z.string().optional(),
location: z.string(), location: z.string(),
description: z.object({ description: z.string(),
en: z.string(),
fr: z.string(),
es: z.string()
}),
tags: z.array(z.string()) tags: z.array(z.string())
}) })
}) })

View File

@@ -1,5 +0,0 @@
{
"name": "Beelink EQR6 AMD Ryzen",
"description": "I use my Beelink as the main server in my homelab, running Proxmox, to host self-hosted services, run Docker containers, and test open-source tools.",
"category": "homelab"
}

View File

@@ -0,0 +1,5 @@
---
name: Beelink EQR6 AMD Ryzen
description: I use my Beelink as the main server in my homelab, running Proxmox, to host self-hosted services, run Docker containers, and test open-source tools.
category: homelab
---

View File

@@ -1,5 +0,0 @@
{
"name": "Switch TP-Link 5 ports",
"description": "I use my 5-port TP-Link switch to connect my various network devices to my main server and ensure fast, stable local communication.",
"category": "homelab"
}

View File

@@ -0,0 +1,5 @@
---
name: Switch TP-Link 5 ports
description: I use my 5-port TP-Link switch to connect my various network devices to my main server and ensure fast, stable local communication.
category: homelab
---

View File

@@ -1,5 +0,0 @@
{
"name": "UGREEN NASync DXP4800 Plus",
"description": "I bought a UGREEN 4-bay NAS to store and manage my data centrally, while ensuring regular backups and optimal accessibility. For now, I've installed 2 8TB hard drives, but I plan to add two more drives in the future to increase storage capacity.",
"category": "homelab"
}

View File

@@ -0,0 +1,5 @@
---
name: UGREEN NASync DXP4800 Plus
description: I bought a UGREEN 4-bay NAS to store and manage my data centrally, while ensuring regular backups and optimal accessibility. For now, I've installed 2 8TB hard drives, but I plan to add two more drives in the future to increase storage capacity.
category: homelab
---

View File

@@ -1,5 +0,0 @@
{
"name": "Self-Hosted Services",
"description": "I run services such as Uptime Kuma, Beszel, Traefik, Cloudflare, MySpeed, AdGuard Home, Portainer, Home Assistant, Minio, Immich, Vaultwarden, Tailscale, Palmr and Cap.so",
"category": "homelab"
}

View File

@@ -0,0 +1,5 @@
---
name: Self-Hosted Services
description: I run services such as Uptime Kuma, Beszel, Traefik, Cloudflare, MySpeed, AdGuard Home, Portainer, Home Assistant, Minio, Immich, Vaultwarden, Tailscale, Palmr and Cap.so
category: homelab
---

View File

@@ -1,5 +0,0 @@
{
"name": "Apple AirPods Pro",
"description": "Probably my most used item after my phone and laptop. I use them for everything from listening to music to taking calls. They are super convenient and the sound quality is great.",
"category": "hardware"
}

View File

@@ -0,0 +1,5 @@
---
name: Apple AirPods Pro
description: Probably my most used item after my phone and laptop. I use them for everything from listening to music to taking calls. They are super convenient and the sound quality is great.
category: hardware
---

View File

@@ -1,5 +0,0 @@
{
"name": "Apple iPad Air",
"description": "I use my iPad to read books, watch movies, and browse the web, but also to take notes and write some equations during my math classes.",
"category": "hardware"
}

View File

@@ -0,0 +1,5 @@
---
name: Apple iPad Air
description: I use my iPad to read books, watch movies, and browse the web, but also to take notes and write some equations during my math classes.
category: hardware
---

View File

@@ -1,5 +0,0 @@
{
"name": "Apple iPhone 14 Pro",
"description": "I don't upgrade my phone every year, but when I do, I go for the best. The iPhone 14 Pro is the best phone on the market, and I'm excited to get my hands on it.",
"category": "hardware"
}

View File

@@ -0,0 +1,5 @@
---
name: Apple iPhone 14 Pro
description: I don't upgrade my phone every year, but when I do, I go for the best. The iPhone 14 Pro is the best phone on the market, and I'm excited to get my hands on it.
category: hardware
---

View File

@@ -1,5 +0,0 @@
{
"name": "Apple MacBook Pro 13'",
"description": "My main programming computer is a MacBook Pro 13' 2020 with the Apple M1 Chip and 16Go RAM. I use MacOS Sorona.",
"category": "hardware"
}

View File

@@ -0,0 +1,5 @@
---
name: Apple MacBook Pro 13'
description: My main programming computer is a MacBook Pro 13' 2020 with the Apple M1 Chip and 16Go RAM. I use MacOS Sorona.
category: hardware
---

View File

@@ -1,5 +0,0 @@
{
"name": "Apple Suite",
"description": "I'm using the Apple Suite including Mail, Calendar, Notes, Music and Reminders for my daily organization.",
"category": "software"
}

View File

@@ -0,0 +1,5 @@
---
name: Apple Suite
description: I'm using the Apple Suite including Mail, Calendar, Notes, Music and Reminders for my daily organization.
category: software
---

View File

@@ -1,5 +0,0 @@
{
"name": "Discord",
"description": "I'm using Discord for chatting and talking with my friends and my customers and discussing with some community members.",
"category": "software"
}

5
content/uses/discord.md Normal file
View File

@@ -0,0 +1,5 @@
---
name: Discord
description: I'm using Discord for chatting and talking with my friends and my customers and discussing with some community members.
category: software
---

5
content/uses/firefox.md Normal file
View File

@@ -0,0 +1,5 @@
---
name: Firefox Browser
description: I'm using Firefox for browsing, the dev tool, and the extension market.
category: software
---

View File

@@ -1,5 +0,0 @@
{
"name": "Custom Built Gaming PC",
"description": "I have bought a customized computer for the gaming. I have chosen an Intel Core i5-10400F, with 16Go DDR4 and my graphical card is a RTX 2060. I use Windows 11.",
"category": "hardware"
}

View File

@@ -0,0 +1,5 @@
---
name: Custom Built Gaming PC
description: I have bought a customized computer for the gaming. I have chosen an Intel Core i5-10400F, with 16Go DDR4 and my graphical card is a RTX 2060. I use Windows 11.
category: hardware
---

View File

@@ -1,5 +0,0 @@
{
"name": "Firefox Browser",
"description": "I'm using Firefox for browsing, the dev tool, and the extension market.",
"category": "software"
}

View File

@@ -1,5 +0,0 @@
{
"name": "JetBrains Suite (IntelliJ IDEA Ultimate, PyCharm Professional, WebStorm, DataGrip)",
"description": "I use JetBrains Suite for development for 7 years. It's the best IDEs for Java, Python, JavaScript, SQL, and more. I used this suite to develop and to create this website.",
"category": "ide"
}

View File

@@ -0,0 +1,5 @@
---
name: JetBrains Suite (IntelliJ IDEA Ultimate, PyCharm Professional, WebStorm, DataGrip)
description: I use JetBrains Suite for development for 7 years. It's the best IDEs for Java, Python, JavaScript, SQL, and more. I used this suite to develop and to create this website.
category: ide
---

View File

@@ -1,5 +0,0 @@
{
"name": "Logitech G203 LightSync Black",
"description": "This gaming mouse is designed to be the perfect gaming companion. With a classic design and simple layout, this mouse is perfect for any gamer.",
"category": "hardware"
}

View File

@@ -0,0 +1,5 @@
---
name: Logitech G203 LightSync Black
description: This gaming mouse is designed to be the perfect gaming companion. With a classic design and simple layout, this mouse is perfect for any gamer.
category: hardware
---

View File

@@ -1,5 +0,0 @@
{
"name": "Notion & Notion Calendar",
"description": "Notion is my all-in-one tool for note-taking, kanban boards, wikis, and drafts. I use Notion Calendar to sync my databases with my calendar.",
"category": "software"
}

5
content/uses/notion.md Normal file
View File

@@ -0,0 +1,5 @@
---
name: Notion & Notion Calendar
description: Notion is my all-in-one tool for note-taking, kanban boards, wikis, and drafts. I use Notion Calendar to sync my databases with my calendar.
category: software
---

View File

@@ -1,5 +0,0 @@
{
"name": "RayCast",
"description": "Raycast is my extendable launcher replacing Apple Spotlight. It lets me complete tasks, calculate, share common links, and much more thanks to the extensions.",
"category": "software"
}

5
content/uses/raycast.md Normal file
View File

@@ -0,0 +1,5 @@
---
name: RayCast
description: Raycast is my extendable launcher replacing Apple Spotlight. It lets me complete tasks, calculate, share common links, and much more thanks to the extensions.
category: software
---

View File

@@ -1,5 +0,0 @@
{
"name": "SteelSeries Apex 9 TKL",
"description": "This TKL keyboard is a great choice for gamers who want a compact keyboard with a lot of features.",
"category": "hardware"
}

View File

@@ -0,0 +1,5 @@
---
name: SteelSeries Apex 9 TKL
description: This TKL keyboard is a great choice for gamers who want a compact keyboard with a lot of features.
category: hardware
---

View File

@@ -1,5 +0,0 @@
{
"name": "Theme and Font",
"description": "My theme is Catppuccin Macchiato, a community-driven pastel theme that aims to be the middle ground between low and high contrast themes. My main font is JetBrains Mono",
"category": "ide"
}

View File

@@ -0,0 +1,5 @@
---
name: Theme and Font
description: My theme is Catppuccin Macchiato, a community-driven pastel theme that aims to be the middle ground between low and high contrast themes. My main font is JetBrains Mono
category: ide
---

View File

@@ -1,5 +0,0 @@
{
"name": "Visual Studio Code",
"description": "Built for flexibility and performance, Visual Studio Code is my main development environment. Lightweight yet powerful, it supports Python, JavaScript, TypeScript, SQL, and more. I rely on its extensions and AI integrations to code faster, better, and with full control over my workspace.",
"category": "ide"
}

5
content/uses/vscode.md Normal file
View File

@@ -0,0 +1,5 @@
---
name: Visual Studio Code
description: Built for flexibility and performance, Visual Studio Code is my main development environment. Lightweight yet powerful, it supports Python, JavaScript, TypeScript, SQL, and more. I rely on its extensions and AI integrations to code faster, better, and with full control over my workspace.
category: ide
---

View File

@@ -1,5 +0,0 @@
{
"name": "Warp",
"description": "Warp is a modern, Rust-based terminal reimagined with AI and collaborative tools for better productivity. I'm loving it so far!",
"category": "software"
}

5
content/uses/warp.md Normal file
View File

@@ -0,0 +1,5 @@
---
name: Warp
description: Warp is a modern, Rust-based terminal reimagined with AI and collaborative tools for better productivity. I'm loving it so far!
category: software
---