Remove unused binary assets: cursor.webp and datagrip.webp

This commit is contained in:
2025-07-24 19:44:01 +02:00
parent 4c05ddf143
commit 55669af5a6
23 changed files with 429 additions and 687 deletions

View File

@@ -30,7 +30,7 @@ defineProps({
size="20"
/>
<span
class="duration-300 underline-offset-2 font-bold text-md text-black dark:text-white underline decoration-gray-300 dark:decoration-neutral-700 group-hover:decoration-black dark:group-hover:decoration-white"
class="duration-300 underline-offset-2 font-semibold text-md text-black dark:text-white underline decoration-gray-300 dark:decoration-neutral-700 group-hover:decoration-black dark:group-hover:decoration-white"
>
{{ label }}
</span>

View File

@@ -1,6 +1,5 @@
<script lang="ts" setup>
import type { UsesItem } from '#components'
import type { PropType } from 'vue'
defineProps({
item: {

View File

@@ -1,16 +1,18 @@
<script lang="ts" setup>
defineProps({
title: {
type: String,
type: Object as PropType<{ en: string; fr: string; es: string }>,
required: true,
},
})
const { locale } = useI18n()
</script>
<template>
<div class="space-y-8">
<USeparator
:label="title"
:label="locale === 'en' ? title.en : locale === 'es' ? title.es : title.fr"
size="xs"
/>
<ul class="space-y-8">

View File

@@ -9,30 +9,17 @@ useSeoMeta({
})
const { data: items } = await useAsyncData('uses', async () => await queryCollection('uses').all())
const hardware = items.value!.filter(item => item.category === 'hardware')
const software = items.value!.filter(item => item.category === 'software')
const ide = items.value!.filter(item => item.category === 'ide')
const stack = items.value!.filter(item => item.category === 'stack')
const homelab = items.value!.filter(item => item.category === 'homelab')
const { data: categories } = await useAsyncData('categories', async () => await queryCollection('categories').all())
const photos = [
{
src: '/uses/jetbrains.webp',
caption: 'caption.jetbrains',
},
{
src: '/uses/cursor.webp',
caption: 'caption.cursor',
},
{
src: '/uses/pycharm.webp',
caption: 'caption.pycharm',
},
{
src: '/uses/datagrip.webp',
caption: 'caption.datagrip',
},
]
</script>
@@ -42,27 +29,15 @@ const photos = [
:description="t('description')"
:title="t('title')"
/>
<div class="mt-12 space-y-12">
<UsesList :title="t('hardware')">
<div v-if="items" class="mt-12 space-y-12">
<UsesList v-for="category in categories" :title="category.name" :key="category.id">
<UsesItem
v-for="(item, id) in hardware"
v-for="(item, id) in items.filter(item => item.category === String(category.meta.title).toLowerCase())"
:key="id"
:item="item"
/>
</UsesList>
<UsesList :title="t('software')">
<UsesItem
v-for="(item, id) in software"
:key="id"
:item="item"
/>
</UsesList>
<ul class="space-y-8">
<USeparator
:label="t('ide')"
size="xs"
/>
<div class="relative">
<div class="relative">
<UCarousel
v-slot="{ item }"
arrows
@@ -81,26 +56,6 @@ const photos = [
/>
</UCarousel>
</div>
<UsesItem
v-for="(item, id) in ide"
:key="id"
:item="item"
/>
</ul>
<UsesList :title="t('stack')">
<UsesItem
v-for="(item, id) in stack"
:key="id"
:item="item"
/>
</UsesList>
<UsesList :title="t('homelab')">
<UsesItem
v-for="(item, id) in homelab"
:key="id"
:item="item"
/>
</UsesList>
</div>
</main>
</template>

View File

@@ -31,6 +31,18 @@ export const collections = {
tags: z.array(z.string()),
}),
}),
categories: defineCollection({
type: 'data',
source: 'uses/categories/*.json',
schema: z.object({
id: z.string(),
name: z.object({
en: z.string(),
fr: z.string(),
es: z.string(),
}),
}),
}),
uses: defineCollection({
type: 'data',
source: 'uses/*.json',

View File

@@ -0,0 +1,9 @@
{
"name": "Programming",
"description": {
"en": "Java, Python, Html, Css, JavaScript, TypeScript, SQL.",
"fr": "Java, Python, Html, Css, JavaScript, TypeScript, SQL.",
"es": "Java, Python, Html, Css, JavaScript, TypeScript, SQL."
},
"category": "stack"
}

View File

@@ -0,0 +1,9 @@
{
"name": "FrontEnd",
"description": {
"en": "Nuxt Stack (Framework, UI, Hub, Content, Studio), VueJS, TailwindCSS, Vite.",
"fr": "Nuxt Stack (Framework, UI, Hub, Content, Studio), VueJS, TailwindCSS, Vite.",
"es": "Nuxt Stack (Framework, UI, Hub, Content, Studio), VueJS, TailwindCSS, Vite."
},
"category": "stack"
}

View File

@@ -0,0 +1,9 @@
{
"name": "BackEnd",
"description": {
"en": "AdonisJs, Nuxt (powered by Nitro), PostgreSQL, Redis, MariaDB.",
"fr": "AdonisJs, Nuxt (powered by Nitro), PostgreSQL, Redis, MariaDB.",
"es": "AdonisJs, Nuxt (powered by Nitro), PostgreSQL, Redis, MariaDB."
},
"category": "stack"
}

View File

@@ -0,0 +1,9 @@
{
"name": "Self-Hosted Software",
"description": {
"en": "Uptime Kuma, Beszel, Traefik, Cloudflare, MySpeed, AdGuard Home, Portainer, Home Assistant, Minio, Immich, Vaultwarden, Tailscale, Palmr and Cap.so",
"fr": "Uptime Kuma, Beszel, Traefik, Cloudflare, MySpeed, AdGuard Home, Portainer, Home Assistant, Minio, Immich, Vaultwarden, Tailscale, Palmr et Cap.so",
"es": "Uptime Kuma, Beszel, Traefik, Cloudflare, MySpeed, AdGuard Home, Portainer, Home Assistant, Minio, Immich, Vaultwarden, Tailscale, Palmr y Cap.so"
},
"category": "homelab"
}

View File

@@ -0,0 +1,9 @@
{
"name": "DevOps",
"description": {
"en": "Docker, Git, GitHub, Traefik.",
"fr": "Docker, Git, GitHub, Traefik.",
"es": "Docker, Git, GitHub, Traefik."
},
"category": "stack"
}

View File

@@ -0,0 +1,9 @@
{
"name": "Python Frameworks",
"description": {
"en": "Pytorch, Scikit-learn, Tensorflow, Numpy, Matplotlib, Pandas, Seaborn.",
"fr": "Pytorch, Scikit-learn, Tensorflow, Numpy, Matplotlib, Pandas, Seaborn.",
"es": "Pytorch, Scikit-learn, Tensorflow, Numpy, Matplotlib, Pandas, Seaborn."
},
"category": "stack"
}

View File

@@ -0,0 +1,8 @@
{
"id": "hardware",
"name": {
"en": "Hardware",
"fr": "Matériel",
"es": "Material"
}
}

View File

@@ -0,0 +1,8 @@
{
"id": "software",
"name": {
"en": "Software",
"fr": "Logiciel",
"es": "Programas"
}
}

View File

@@ -0,0 +1,8 @@
{
"id": "ide",
"name": {
"en": "IDE & Font",
"fr": "IDE & Police",
"es": "IDE y Fuente"
}
}

View File

@@ -0,0 +1,8 @@
{
"id": "homelab",
"name": {
"en": "My personal HomeLab",
"fr": "Mon HomeLab personnel",
"es": "Mi HomeLab personal"
}
}

View File

@@ -0,0 +1,8 @@
{
"id": "stack",
"name": {
"en": "Stack",
"fr": "Stack",
"es": "Stack"
}
}

View File

@@ -1,9 +0,0 @@
{
"name": "FrontEnd & BackEnd",
"description": {
"en": "I use TypeScript, Vue 3 with Nuxt 3, Nuxt Stack (UI, Hub, Content, Studio) & TailwindCss for FrontEnd. Nuxt (powered by Nitro) and AdonisJs are used for BackEnd depending on project complexity. PostgreSQL are used for database, Redis for caching. Docker is used for containerization. Apps are deployed on NuxtHub (powered by CloudFlare) or Vercel.",
"fr": "J'utilise TypeScript, Vue 3 avec Nuxt 3, Nuxt Stack (UI, Hub, Content, Studio) & TailwindCss pour le FrontEnd. Nuxt (alimenté par Nitro) et AdonisJs sont utilisés pour le BackEnd en fonction de la complexité du projet. PostgreSQL est utilisé pour la base de données, Redis pour le caching. Docker est utilisé pour la conteneurisation. Les applications sont déployées sur NuxtHub (alimenté par CloudFlare) ou Vercel.",
"es": "Uso TypeScript, Vue 3 con Nuxt 3, Nuxt Stack (UI, Hub, Content, Studio) & TailwindCss para el FrontEnd. Nuxt (alimentado por Nitro) y AdonisJs se utilizan para el BackEnd dependiendo de la complejidad del proyecto. PostgreSQL se utiliza para la base de datos, Redis para el caching. Docker se utiliza para la contenerización. Las aplicaciones se despliegan en NuxtHub (alimentado por CloudFlare) o Vercel."
},
"category": "stack"
}

View File

@@ -24,12 +24,12 @@
"@nuxt/ui": "3.2.0",
"@nuxthub/core": "^0.9.0",
"@nuxtjs/google-fonts": "^3.2.0",
"@nuxtjs/i18n": "10.0.0",
"@nuxtjs/i18n": "10.0.1",
"@vueuse/core": "^13.5.0",
"better-sqlite3": "^12.2.0",
"drizzle-orm": "^0.44.3",
"h3-zod": "^0.5.3",
"nuxt": "^4.0.0",
"nuxt": "^4.0.1",
"nuxt-visitors": "1.2.2",
"rehype-katex": "^7.0.1",
"remark-math": "^6.0.0",
@@ -42,13 +42,13 @@
"@antfu/eslint-config": "^4.17.0",
"@iconify-json/devicon": "^1.2.32",
"@tailwindcss/typography": "^0.5.16",
"@types/node": "^24.0.15",
"@types/node": "^24.1.0",
"@vueuse/math": "^13.5.0",
"@vueuse/nuxt": "^13.5.0",
"drizzle-kit": "^0.31.4",
"eslint": "^9.31.0",
"typescript": "^5.8.3",
"vue-tsc": "^3.0.3",
"wrangler": "^4.25.0"
"wrangler": "^4.25.1"
}
}

929
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 169 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 165 KiB