From 856e771c1b94b0d55e34ff10a262476811edbf73 Mon Sep 17 00:00:00 2001 From: Pihkaal Date: Sun, 23 Nov 2025 13:06:33 +0100 Subject: [PATCH] feat(projects): remove thumbnail and preview field to get images by content id --- app/stores/projects.ts | 6 ++++-- content.config.ts | 2 -- content/projects/biobleud.md | 2 -- content/projects/lbf-bot.md | 2 -- content/projects/lilou-cat.md | 2 -- content/projects/pihkaal-me.md | 2 -- content/projects/raylib-speedruns.md | 2 -- content/projects/s3pweb.md | 2 -- content/projects/simple-qr.md | 2 -- content/projects/tlock.md | 2 -- public/images/biobleud-game.png | Bin 75291 -> 0 bytes public/images/projects/previews/biobleud.webp | Bin 0 -> 1228 bytes .../previews/lbf-bot.webp} | Bin .../previews/lilou-cat.webp} | Bin .../previews/pihkaal-me.webp} | Bin .../previews/raylib-speedruns.webp} | Bin .../previews/s3pweb.webp} | Bin .../previews/simple-qr.webp} | Bin .../previews/tlock.webp} | Bin .../projects/{ => thumbnails}/biobleud.webp | Bin .../projects/{ => thumbnails}/lbf-bot.webp | Bin .../projects/{ => thumbnails}/lilou-cat.webp | Bin .../projects/{ => thumbnails}/pihkaal-me.webp | Bin .../{ => thumbnails}/raylib-speedruns.webp | Bin .../projects/{ => thumbnails}/s3pweb.webp | Bin .../projects/{ => thumbnails}/simple-qr.webp | Bin .../images/projects/{ => thumbnails}/tlock.webp | Bin 27 files changed, 4 insertions(+), 20 deletions(-) delete mode 100644 public/images/biobleud-game.png create mode 100644 public/images/projects/previews/biobleud.webp rename public/images/{lbf-bot-game.webp => projects/previews/lbf-bot.webp} (100%) rename public/images/{lilou-cat-game.webp => projects/previews/lilou-cat.webp} (100%) rename public/images/{pihkaal-me-game.webp => projects/previews/pihkaal-me.webp} (100%) rename public/images/{raylib-speedruns-game.webp => projects/previews/raylib-speedruns.webp} (100%) rename public/images/{s3pweb-game.webp => projects/previews/s3pweb.webp} (100%) rename public/images/{simple-qr-game.webp => projects/previews/simple-qr.webp} (100%) rename public/images/{tlock-game.webp => projects/previews/tlock.webp} (100%) rename public/images/projects/{ => thumbnails}/biobleud.webp (100%) rename public/images/projects/{ => thumbnails}/lbf-bot.webp (100%) rename public/images/projects/{ => thumbnails}/lilou-cat.webp (100%) rename public/images/projects/{ => thumbnails}/pihkaal-me.webp (100%) rename public/images/projects/{ => thumbnails}/raylib-speedruns.webp (100%) rename public/images/projects/{ => thumbnails}/s3pweb.webp (100%) rename public/images/projects/{ => thumbnails}/simple-qr.webp (100%) rename public/images/projects/{ => thumbnails}/tlock.webp (100%) diff --git a/app/stores/projects.ts b/app/stores/projects.ts index b73d35f..89f7c89 100644 --- a/app/stores/projects.ts +++ b/app/stores/projects.ts @@ -79,10 +79,12 @@ export const useProjectsStore = defineStore("projects", { this.projects = []; for (const project of projects.value) { + const parts = project.id.replace(".md", "").split("/"); + const id = parts[parts.length - 1]!; this.projects.push({ description: project.description, - thumbnail: project.thumbnail, - preview: createImage(project.preview), + thumbnail: `/images/projects/thumbnails/${id}.webp`, + preview: createImage(`/images/projects/previews/${id}.webp`), url: project.url, body: simplifyMarkdownAST(project.body), }); diff --git a/content.config.ts b/content.config.ts index 51704f0..43a3716 100644 --- a/content.config.ts +++ b/content.config.ts @@ -9,8 +9,6 @@ export default defineContentConfig({ schema: z.object({ description: z.string(), url: z.url().nullable(), - thumbnail: z.string(), - preview: z.string(), order: z.number(), }), }), diff --git a/content/projects/biobleud.md b/content/projects/biobleud.md index 5d693e4..eaba19e 100644 --- a/content/projects/biobleud.md +++ b/content/projects/biobleud.md @@ -1,7 +1,5 @@ --- description: Biobleud - Automated Excel imports\nfor an ERP system url: null -thumbnail: /images/projects/biobleud.webp -preview: /images/biobleud-game.png order: 100 --- diff --git a/content/projects/lbf-bot.md b/content/projects/lbf-bot.md index ec58029..35f1b0f 100644 --- a/content/projects/lbf-bot.md +++ b/content/projects/lbf-bot.md @@ -1,7 +1,5 @@ --- description: LBF Bot - Custom Discord bot for\na gaming group url: https://github.com/pihkaal/lbf-bot -thumbnail: /images/projects/lbf-bot.webp -preview: /images/lbf-bot-game.webp order: 50 --- diff --git a/content/projects/lilou-cat.md b/content/projects/lilou-cat.md index 8b95e87..baa43a6 100644 --- a/content/projects/lilou-cat.md +++ b/content/projects/lilou-cat.md @@ -1,7 +1,5 @@ --- description: lilou.cat - My cat's website url: https://lilou.cat -thumbnail: /images/projects/lilou-cat.webp -preview: /images/lilou-cat-game.webp order: 40 --- diff --git a/content/projects/pihkaal-me.md b/content/projects/pihkaal-me.md index 6a45a24..20fb4cb 100644 --- a/content/projects/pihkaal-me.md +++ b/content/projects/pihkaal-me.md @@ -1,8 +1,6 @@ --- description: pihkaal.me - my personal website url: https://pihkaal.me -thumbnail: /images/projects/pihkaal-me.webp -preview: /images/pihkaal-me-game.webp order: 10 --- diff --git a/content/projects/raylib-speedruns.md b/content/projects/raylib-speedruns.md index 7a96224..6c440ee 100644 --- a/content/projects/raylib-speedruns.md +++ b/content/projects/raylib-speedruns.md @@ -1,8 +1,6 @@ --- description: Raylib Speedruns - Collection of simple\nRaylib setups in multiple languages url: https://github.com/pihkaal/raylib-speedruns -thumbnail: /images/projects/raylib-speedruns.webp -preview: /images/raylib-speedruns-game.webp order: 60 --- diff --git a/content/projects/s3pweb.md b/content/projects/s3pweb.md index 1e51cfd..efb9574 100644 --- a/content/projects/s3pweb.md +++ b/content/projects/s3pweb.md @@ -1,7 +1,5 @@ --- description: S3PWeb - Intership and\napprenticeship url: null -thumbnail: /images/projects/s3pweb.webp -preview: /images/s3pweb-game.webp order: 80 --- diff --git a/content/projects/simple-qr.md b/content/projects/simple-qr.md index b3f261b..25a0418 100644 --- a/content/projects/simple-qr.md +++ b/content/projects/simple-qr.md @@ -1,7 +1,5 @@ --- description: Simple QR - Simple QR code generator\nwith straightforward API url: https://simple-qr.com -thumbnail: /images/projects/simple-qr.webp -preview: /images/simple-qr-game.webp order: 30 --- diff --git a/content/projects/tlock.md b/content/projects/tlock.md index 1702568..3e1b95e 100644 --- a/content/projects/tlock.md +++ b/content/projects/tlock.md @@ -1,7 +1,5 @@ --- description: tlock - fully customizable and cross-\nplatform terminal based clock url: https://github.com/pihkaal/tlock -thumbnail: /images/projects/tlock.webp -preview: /images/tlock-game.webp order: 20 --- diff --git a/public/images/biobleud-game.png b/public/images/biobleud-game.png deleted file mode 100644 index ba43472da931c70bfd82b06ecd726c2d523cb51e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 75291 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 G_x}N!&iao4 diff --git a/public/images/projects/previews/biobleud.webp b/public/images/projects/previews/biobleud.webp new file mode 100644 index 0000000000000000000000000000000000000000..b386f8876981cbc4528d21b4daf925c2773a2292 GIT binary patch literal 1228 zcmV;-1T*_mNk&G*1ONb6MM6+kP&iDt1ONapk-#4SmC&)ZH_qO85iY%kugogaXAfRk z+VrXCIiMA6P3~;#n^3UxIMYgeZ-IdTmBq4-w zHPe5HlC9Qlj^syhaKV-VxsxCG5uiPz^_90j`*?$2p#CAhL~yh}#1h%J*8ix%)7#kqDUK zGgb;&=*jNEKVljt-sA;y^UE%y-?{(f#Dki&Yr-tO^M7!;@O<;n0q|OBx6JFB#fmGj z!mHGffx+5i@hcS0j9#(!AV6wqzUDlizZ-T=NJ@FXpEcqct>l*F|MEcy2`)d3QNYTuMs-7F-X1H6PW?Rt3y+cJ5}FQ ztB$}gnS;aLj(yfU+RnTs#%Do1(ia_qU34vwZF;_)Y))~eh@VJ!Y9CCf@T$ZW&va|) z7MV?RYMMc)A*#BCmQ$n)YKo^qg+oPUT>M5$TTnDSyXz1x891g9-e%#*L7`Ph_HkVW zX;~;Ec446MUBO#Wjsj@a6y>#i(=_Er7BoFC;$8EysCofHcVOn-|L0kj>Hwji6ydZ) zel7w%x=OJE_}WPCx9g~@0|@$&fiNyc+;J4g(v)bC5jETtX8{ttxYeyJ5xNl_=+-fD zNiswkA@PFSFh*pEG8OE>XLwsoJjj4cZ{3)1rL8&25tlAE2<3gL7Xz7d1&}PtmD5pn zrM$$NDMyKI>n4a&)3R#^xtj-O zu3StJbZ7g(GLxoQa2l z$3a^FA=|4EV}c6_SYrA}-Ev5{IEgWl4NJU~WA>D!sE;p7;CWZrjFW!|0nK zH9i0fac`4j_C_DCt#8o$%nU-Vke?j+-