mirror of
https://github.com/ArthurDanjou/artsite.git
synced 2026-01-20 14:22:20 +01:00
Remove unused binary assets: cursor.webp and datagrip.webp
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<script lang="ts" setup>
|
||||
import type { UsesItem } from '#components'
|
||||
import type { PropType } from 'vue'
|
||||
|
||||
defineProps({
|
||||
item: {
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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',
|
||||
|
||||
9
content/uses/0.stack-programming-languages.json
Normal file
9
content/uses/0.stack-programming-languages.json
Normal 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"
|
||||
}
|
||||
9
content/uses/1.stack-frontend.json
Normal file
9
content/uses/1.stack-frontend.json
Normal 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"
|
||||
}
|
||||
9
content/uses/2.stack-backend.json
Normal file
9
content/uses/2.stack-backend.json
Normal 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"
|
||||
}
|
||||
9
content/uses/3.homelab-softwares.json
Normal file
9
content/uses/3.homelab-softwares.json
Normal 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"
|
||||
}
|
||||
9
content/uses/3.stack-devops.json
Normal file
9
content/uses/3.stack-devops.json
Normal 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"
|
||||
}
|
||||
9
content/uses/4.stack-python.json
Normal file
9
content/uses/4.stack-python.json
Normal 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"
|
||||
}
|
||||
8
content/uses/categories/1.hardware.json
Normal file
8
content/uses/categories/1.hardware.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"id": "hardware",
|
||||
"name": {
|
||||
"en": "Hardware",
|
||||
"fr": "Matériel",
|
||||
"es": "Material"
|
||||
}
|
||||
}
|
||||
8
content/uses/categories/2.software.json
Normal file
8
content/uses/categories/2.software.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"id": "software",
|
||||
"name": {
|
||||
"en": "Software",
|
||||
"fr": "Logiciel",
|
||||
"es": "Programas"
|
||||
}
|
||||
}
|
||||
8
content/uses/categories/3.ide.json
Normal file
8
content/uses/categories/3.ide.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"id": "ide",
|
||||
"name": {
|
||||
"en": "IDE & Font",
|
||||
"fr": "IDE & Police",
|
||||
"es": "IDE y Fuente"
|
||||
}
|
||||
}
|
||||
8
content/uses/categories/4.homelab.json
Normal file
8
content/uses/categories/4.homelab.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"id": "homelab",
|
||||
"name": {
|
||||
"en": "My personal HomeLab",
|
||||
"fr": "Mon HomeLab personnel",
|
||||
"es": "Mi HomeLab personal"
|
||||
}
|
||||
}
|
||||
8
content/uses/categories/5.stack.json
Normal file
8
content/uses/categories/5.stack.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"id": "stack",
|
||||
"name": {
|
||||
"en": "Stack",
|
||||
"fr": "Stack",
|
||||
"es": "Stack"
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
@@ -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
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 |
Reference in New Issue
Block a user