From 75ac95cadb7d638480ae3942ddc4bdcff179d222 Mon Sep 17 00:00:00 2001 From: Mathis HERRIOT <197931332+0x485254@users.noreply.github.com> Date: Wed, 14 Jan 2026 18:02:45 +0100 Subject: [PATCH 1/2] feat(ci): enhance deploy workflow with separate lint and build steps Split linting and building into distinct steps for backend, frontend, and documentation in `deploy.yml`. --- .gitea/workflows/deploy.yml | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index c69d15f..35a47f6 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -37,11 +37,23 @@ jobs: - name: Install dependencies run: pnpm install - - name: Lint all projects - run: pnpm run lint + - name: Lint - Backend + run: pnpm run lint:back - - name: Build all projects - run: pnpm run build + - name: Build - Backend + run: pnpm run build:back + + - name: Lint - Frontend + run: pnpm run lint:front + + - name: Build - Frontend + run: pnpm run build:front + + - name: Lint - Documentation + run: pnpm run lint:docs + + - name: Build - Documentation + run: pnpm run build:docs - name: Deploy with Docker Compose run: | From 24eb99093c27b2363b7c508c7477f5f00e29798d Mon Sep 17 00:00:00 2001 From: Mathis HERRIOT <197931332+0x485254@users.noreply.github.com> Date: Wed, 14 Jan 2026 18:04:31 +0100 Subject: [PATCH 2/2] feat(docs): reorganize imports and improve formatting for readability Streamline import orders in MDX components and layout files. Adjust text formatting in the homepage and configuration files for consistent structure and enhanced clarity. Add new accessibility-focused linting rules in `biome.json`. --- documentation/biome.json | 10 ++- documentation/next.config.mjs | 4 +- documentation/src/app/(home)/page.tsx | 84 +++++++++++++++++++------ documentation/src/lib/layout.shared.tsx | 2 +- documentation/src/mdx-components.tsx | 10 +-- 5 files changed, 82 insertions(+), 28 deletions(-) diff --git a/documentation/biome.json b/documentation/biome.json index 383bfff..7a60e1c 100644 --- a/documentation/biome.json +++ b/documentation/biome.json @@ -17,7 +17,15 @@ "linter": { "enabled": true, "rules": { - "recommended": true + "recommended": true, + "a11y": { + "useAriaPropsForRole": "warn", + "useSemanticElements": "warn", + "useFocusableInteractive": "warn" + }, + "suspicious": { + "noUnknownAtRules": "off" + } }, "domains": { "next": "recommended", diff --git a/documentation/next.config.mjs b/documentation/next.config.mjs index 649208d..d3f7c05 100644 --- a/documentation/next.config.mjs +++ b/documentation/next.config.mjs @@ -4,8 +4,8 @@ const withMDX = createMDX(); /** @type {import('next').NextConfig} */ const config = { - reactStrictMode: true, - output: 'standalone', + reactStrictMode: true, + output: "standalone", }; export default withMDX(config); diff --git a/documentation/src/app/(home)/page.tsx b/documentation/src/app/(home)/page.tsx index f70999c..46dfec9 100644 --- a/documentation/src/app/(home)/page.tsx +++ b/documentation/src/app/(home)/page.tsx @@ -1,5 +1,13 @@ +import { + ArrowRight, + Code, + Database, + Scale, + Server, + Shield, + Zap, +} from "lucide-react"; import Link from "next/link"; -import { Shield, Scale, Zap, Database, Server, Code, ArrowRight } from "lucide-react"; export default function HomePage() { return ( @@ -33,8 +41,9 @@ export default function HomePage() { La Bible Technique de MemeGoat đ
- Parce que partager des MEME de qualité demande une infrastructure qui ne broute pas. - Découvrez comment nous avons bùti le futur du rire avec une pointe de sérieux (mais pas trop). + Parce que partager des MEME de qualité demande une infrastructure qui ne + broute pas. Découvrez comment nous avons bùti le futur du rire avec une + pointe de sérieux (mais pas trop).
Une plateforme bĂątie pour tenir
@@ -68,21 +79,27 @@ export default function HomePage() { {[ { name: "Coffre-Fort BĂȘĂȘĂȘĂȘ-ton", - description: "Chiffrement PGP au repos et hachage Argon2id. Vos donnĂ©es sont plus en sĂ©curitĂ© ici que dans un enclos fermĂ© Ă double tour.", + description: + "Chiffrement PGP au repos et hachage Argon2id. Vos donnĂ©es sont plus en sĂ©curitĂ© ici que dans un enclos fermĂ© Ă double tour.", icon: Shield, }, { name: "RGPD & Relax", - description: "Droit Ă l'oubli et portabilitĂ©. On respecte votre vie privĂ©e autant que vous respectez un bon mĂšme bien placĂ©.", + description: + "Droit Ă l'oubli et portabilitĂ©. On respecte votre vie privĂ©e autant que vous respectez un bon mĂšme bien placĂ©.", icon: Scale, }, { name: "Vitesse Turbo-ChĂšvre", - description: "Transcodage WebP/WebM instantanĂ©. Vos GIFs se chargent plus vite que votre ombre, mĂȘme sur le vieux smartphone de mamie.", + description: + "Transcodage WebP/WebM instantanĂ©. Vos GIFs se chargent plus vite que votre ombre, mĂȘme sur le vieux smartphone de mamie.", icon: Zap, }, ].map((feature) => ( -Technologies de pointe
@@ -111,13 +130,22 @@ export default function HomePage() {- Memegoat n'est pas qu'un site pour scroller Ă l'infini. C'est un site qui as pour but de partager des MEME de qualitĂ© sans surconsommer les ressources mondiales avec des fichiers beaucoup trop gros et des requĂȘtes trop nombreuses. + Memegoat n'est pas qu'un site pour scroller Ă l'infini. C'est un site + qui as pour but de partager des MEME de qualitĂ© sans surconsommer les + ressources mondiales avec des fichiers beaucoup trop gros et des + requĂȘtes trop nombreuses.
- Plongez dans le code (garanti sans crottin)
Référence API
-
+