diff --git a/documentation/content/docs/conception/index.fr.mdx b/documentation/content/docs/conception/index.fr.mdx
deleted file mode 100644
index 71e3e2e..0000000
--- a/documentation/content/docs/conception/index.fr.mdx
+++ /dev/null
@@ -1,116 +0,0 @@
----
-title: Conception de la Base de Données
-description: MCD, MLD et MPD de MemeGoat.
----
-
-## Modèle Conceptuel des Données (MCD)
-Le MCD définit les entités et leurs relations.
-
-```mermaid
-erDiagram
- UTILISATEUR ||--o{ MEME : "crée"
- UTILISATEUR ||--o{ COMMENTAIRE : "écrit"
- MEME ||--o{ COMMENTAIRE : "reçoit"
- MEME }o--o{ TAG : "possède"
-
- UTILISATEUR {
- string pseudo
- string email
- string mot_de_passe
- datetime date_creation
- }
- MEME {
- string titre
- string url_image
- datetime date_creation
- }
- TAG {
- string nom
- }
- COMMENTAIRE {
- string contenu
- datetime date_creation
- }
-```
-
-## Modèle Logique des Données (MLD)
-Le MLD traduit le MCD en tables avec les clés étrangères.
-
-```mermaid
-erDiagram
- users ||--o{ memes : "user_id"
- users ||--o{ comments : "user_id"
- memes ||--o{ comments : "meme_id"
- memes ||--o{ meme_tags : "meme_id"
- tags ||--o{ meme_tags : "tag_id"
-
- users {
- uuid id PK
- varchar username
- varchar email
- text password_hash
- timestamp created_at
- }
- memes {
- uuid id PK
- varchar title
- text image_url
- uuid user_id FK
- timestamp created_at
- }
- tags {
- uuid id PK
- varchar name
- }
- meme_tags {
- uuid meme_id FK
- uuid tag_id FK
- }
- comments {
- uuid id PK
- text content
- uuid user_id FK
- uuid meme_id FK
- timestamp created_at
- }
-```
-
-## Modèle Physique des Données (MPD)
-Implémentation SQL pour PostgreSQL.
-
-```sql
-CREATE TABLE users (
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
- username VARCHAR(50) UNIQUE NOT NULL,
- email VARCHAR(255) UNIQUE NOT NULL,
- password_hash TEXT NOT NULL,
- created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
-);
-
-CREATE TABLE memes (
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
- title VARCHAR(255) NOT NULL,
- image_url TEXT NOT NULL,
- user_id UUID REFERENCES users(id) ON DELETE SET NULL,
- created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
-);
-
-CREATE TABLE tags (
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
- name VARCHAR(50) UNIQUE NOT NULL
-);
-
-CREATE TABLE meme_tags (
- meme_id UUID REFERENCES memes(id) ON DELETE CASCADE,
- tag_id UUID REFERENCES tags(id) ON DELETE CASCADE,
- PRIMARY KEY (meme_id, tag_id)
-);
-
-CREATE TABLE comments (
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
- content TEXT NOT NULL,
- user_id UUID REFERENCES users(id) ON DELETE SET NULL,
- meme_id UUID REFERENCES memes(id) ON DELETE CASCADE,
- created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
-);
-```
diff --git a/documentation/content/docs/conception/index.mdx b/documentation/content/docs/conception/index.mdx
deleted file mode 100644
index 67509b4..0000000
--- a/documentation/content/docs/conception/index.mdx
+++ /dev/null
@@ -1,116 +0,0 @@
----
-title: Database Design
-description: MCD, MLD and MPD for MemeGoat.
----
-
-## Conceptual Data Model (MCD)
-The MCD defines entities and their relationships.
-
-```mermaid
-erDiagram
- USER ||--o{ MEME : "creates"
- USER ||--o{ COMMENT : "writes"
- MEME ||--o{ COMMENT : "receives"
- MEME }o--o{ TAG : "has"
-
- USER {
- string username
- string email
- string password
- datetime created_at
- }
- MEME {
- string title
- string image_url
- datetime created_at
- }
- TAG {
- string name
- }
- COMMENT {
- string content
- datetime created_at
- }
-```
-
-## Logical Data Model (MLD)
-The MLD translates the MCD into tables with foreign keys.
-
-```mermaid
-erDiagram
- users ||--o{ memes : "user_id"
- users ||--o{ comments : "user_id"
- memes ||--o{ comments : "meme_id"
- memes ||--o{ meme_tags : "meme_id"
- tags ||--o{ meme_tags : "tag_id"
-
- users {
- uuid id PK
- varchar username
- varchar email
- text password_hash
- timestamp created_at
- }
- memes {
- uuid id PK
- varchar title
- text image_url
- uuid user_id FK
- timestamp created_at
- }
- tags {
- uuid id PK
- varchar name
- }
- meme_tags {
- uuid meme_id FK
- uuid tag_id FK
- }
- comments {
- uuid id PK
- text content
- uuid user_id FK
- uuid meme_id FK
- timestamp created_at
- }
-```
-
-## Physical Data Model (MPD)
-SQL implementation for PostgreSQL.
-
-```sql
-CREATE TABLE users (
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
- username VARCHAR(50) UNIQUE NOT NULL,
- email VARCHAR(255) UNIQUE NOT NULL,
- password_hash TEXT NOT NULL,
- created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
-);
-
-CREATE TABLE memes (
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
- title VARCHAR(255) NOT NULL,
- image_url TEXT NOT NULL,
- user_id UUID REFERENCES users(id) ON DELETE SET NULL,
- created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
-);
-
-CREATE TABLE tags (
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
- name VARCHAR(50) UNIQUE NOT NULL
-);
-
-CREATE TABLE meme_tags (
- meme_id UUID REFERENCES memes(id) ON DELETE CASCADE,
- tag_id UUID REFERENCES tags(id) ON DELETE CASCADE,
- PRIMARY KEY (meme_id, tag_id)
-);
-
-CREATE TABLE comments (
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
- content TEXT NOT NULL,
- user_id UUID REFERENCES users(id) ON DELETE SET NULL,
- meme_id UUID REFERENCES memes(id) ON DELETE CASCADE,
- created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
-);
-```
diff --git a/documentation/content/docs/conception/meta.en.json b/documentation/content/docs/conception/meta.en.json
deleted file mode 100644
index 3eb69fa..0000000
--- a/documentation/content/docs/conception/meta.en.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "title": "Design"
-}
diff --git a/documentation/content/docs/conception/meta.json b/documentation/content/docs/conception/meta.json
deleted file mode 100644
index 4ef1132..0000000
--- a/documentation/content/docs/conception/meta.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "title": "Conception"
-}
diff --git a/documentation/content/docs/index.fr.mdx b/documentation/content/docs/index.fr.mdx
deleted file mode 100644
index 5484829..0000000
--- a/documentation/content/docs/index.fr.mdx
+++ /dev/null
@@ -1,13 +0,0 @@
----
-title: Introduction
-description: Bienvenue sur MemeGoat, la bibliothèque de MEME et GIF.
----
-
-MemeGoat est un site bibliothèque de MEME et de GIF.
-Le but est de permettre de retrouver une image adaptée à son besoin par une simple recherche.
-Il est aussi possible de créer du contenu sur le site.
-
-## Objectifs
-- Recherche rapide et intuitive.
-- Partage de contenu original.
-- Bibliothèque communautaire.
diff --git a/documentation/content/docs/index.mdx b/documentation/content/docs/index.mdx
index 53457a3..1ede18e 100644
--- a/documentation/content/docs/index.mdx
+++ b/documentation/content/docs/index.mdx
@@ -1,13 +1,13 @@
---
-title: Introduction
-description: Welcome to MemeGoat, the MEME and GIF library.
+title: Hello World
+description: Your first document
---
-MemeGoat is a MEME and GIF library website.
-The goal is to allow finding an image suited to one's needs through a simple search.
-It is also possible to create content on the site.
+Welcome to the docs! You can start writing documents in `/content/docs`.
-## Goals
-- Fast and intuitive search.
-- Sharing original content.
-- Community-driven library.
+## What is Next?
+
+
+
+
+
diff --git a/documentation/content/docs/stack/index.fr.mdx b/documentation/content/docs/stack/index.fr.mdx
deleted file mode 100644
index be8fc61..0000000
--- a/documentation/content/docs/stack/index.fr.mdx
+++ /dev/null
@@ -1,17 +0,0 @@
----
-title: Stack Technique
-description: Choix technologiques pour MemeGoat.
----
-
-## Frontend
-- **Framework**: Next.js 15
-- **Style**: Tailwind CSS
-- **Bibliothèque UI**: Lucide React, Radix UI
-
-## Backend
-- **Langage**: Node.js (TypeScript) / NestJS ou Go
-- **Base de données**: PostgreSQL
-- **Stockage d'images**: S3 ou similaire (Cloudinary, Uploadcare)
-
-## Documentation
-- **Framework**: Fumadocs
diff --git a/documentation/content/docs/stack/index.mdx b/documentation/content/docs/stack/index.mdx
deleted file mode 100644
index 2bbeb15..0000000
--- a/documentation/content/docs/stack/index.mdx
+++ /dev/null
@@ -1,17 +0,0 @@
----
-title: Tech Stack
-description: Technological choices for MemeGoat.
----
-
-## Frontend
-- **Framework**: Next.js 15
-- **Style**: Tailwind CSS
-- **UI Library**: Lucide React, Radix UI
-
-## Backend
-- **Language**: Node.js (TypeScript) / NestJS or Go
-- **Database**: PostgreSQL
-- **Image Storage**: S3 or similar (Cloudinary, Uploadcare)
-
-## Documentation
-- **Framework**: Fumadocs
diff --git a/documentation/content/docs/stack/meta.en.json b/documentation/content/docs/stack/meta.en.json
deleted file mode 100644
index 3c7c4f4..0000000
--- a/documentation/content/docs/stack/meta.en.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "title": "Stack"
-}
diff --git a/documentation/content/docs/stack/meta.json b/documentation/content/docs/stack/meta.json
deleted file mode 100644
index 3c7c4f4..0000000
--- a/documentation/content/docs/stack/meta.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "title": "Stack"
-}
diff --git a/documentation/content/docs/test.mdx b/documentation/content/docs/test.mdx
new file mode 100644
index 0000000..f475f4a
--- /dev/null
+++ b/documentation/content/docs/test.mdx
@@ -0,0 +1,17 @@
+---
+title: Components
+description: Components
+---
+
+## Code Block
+
+```js
+console.log('Hello World');
+```
+
+## Cards
+
+
+
+
+
diff --git a/documentation/package.json b/documentation/package.json
index 51813e9..c7d6802 100644
--- a/documentation/package.json
+++ b/documentation/package.json
@@ -1,5 +1,5 @@
{
- "name": "@memegoat/documentation",
+ "name": "@bypass/documentation",
"version": "0.0.1",
"private": true,
"scripts": {
@@ -16,14 +16,11 @@
"fumadocs-mdx": "14.2.4",
"fumadocs-ui": "16.4.3",
"lucide-react": "^0.562.0",
- "mermaid": "^11.12.2",
"next": "16.1.1",
- "next-themes": "^0.4.6",
"react": "^19.2.3",
"react-dom": "^19.2.3"
},
"devDependencies": {
- "@biomejs/biome": "^2.3.10",
"@tailwindcss/postcss": "^4.1.18",
"@types/mdx": "^2.0.13",
"@types/node": "^24.10.2",
@@ -31,6 +28,7 @@
"@types/react-dom": "^19.2.3",
"postcss": "^8.5.6",
"tailwindcss": "^4.1.18",
- "typescript": "^5.9.3"
+ "typescript": "^5.9.3",
+ "@biomejs/biome": "^2.3.10"
}
}
diff --git a/documentation/src/app/[lang]/(home)/layout.tsx b/documentation/src/app/(home)/layout.tsx
similarity index 60%
rename from documentation/src/app/[lang]/(home)/layout.tsx
rename to documentation/src/app/(home)/layout.tsx
index ddf6cd0..5959b87 100644
--- a/documentation/src/app/[lang]/(home)/layout.tsx
+++ b/documentation/src/app/(home)/layout.tsx
@@ -1,6 +1,6 @@
import { HomeLayout } from "fumadocs-ui/layouts/home";
import { baseOptions } from "@/lib/layout.shared";
-export default function Layout({ children }: { children: React.ReactNode; params: Promise<{ lang: string }>}) {
+export default function Layout({ children }: LayoutProps<"/">) {
return {children};
}
diff --git a/documentation/src/app/[lang]/(home)/page.tsx b/documentation/src/app/(home)/page.tsx
similarity index 82%
rename from documentation/src/app/[lang]/(home)/page.tsx
rename to documentation/src/app/(home)/page.tsx
index 77065d7..60cd663 100644
--- a/documentation/src/app/[lang]/(home)/page.tsx
+++ b/documentation/src/app/(home)/page.tsx
@@ -6,7 +6,7 @@ export default function HomePage() {
Hello World
You can open{" "}
-
+
/docs
{" "}
and see the documentation.
diff --git a/documentation/src/app/[lang]/layout.tsx b/documentation/src/app/[lang]/layout.tsx
deleted file mode 100644
index 8167380..0000000
--- a/documentation/src/app/[lang]/layout.tsx
+++ /dev/null
@@ -1,38 +0,0 @@
-import { RootProvider } from "fumadocs-ui/provider/next";
-import "./global.css";
-import { Inter } from "next/font/google";
-import { defineI18nUI } from "fumadocs-ui/i18n";
-import { i18n } from "@/lib/i18n";
-
-const inter = Inter({
- subsets: ["latin"],
-});
-
-const { provider } = defineI18nUI(i18n, {
- translations: {
- en: {
- displayName: "English",
- },
- fr: {
- displayName: "French",
- },
- },
-});
-
-export default async function RootLayout({
- params,
- children,
-}: {
- params: Promise<{ lang: string }>;
- children: React.ReactNode;
-}) {
- const lang = (await params).lang;
-
- return (
-
-
- {children}
-
-
- );
-}
diff --git a/documentation/src/app/api/search/route.ts b/documentation/src/app/api/search/route.ts
index e19bc5b..766a760 100644
--- a/documentation/src/app/api/search/route.ts
+++ b/documentation/src/app/api/search/route.ts
@@ -2,8 +2,6 @@ import { source } from "@/lib/source";
import { createFromSource } from "fumadocs-core/search/server";
export const { GET } = createFromSource(source, {
- localeMap: {
- fr: { language: 'french' },
- en: { language: 'english' },
- },
+ // https://docs.orama.com/docs/orama-js/supported-languages
+ language: "english",
});
diff --git a/documentation/src/app/[lang]/docs/[[...slug]]/page.tsx b/documentation/src/app/docs/[[...slug]]/page.tsx
similarity index 79%
rename from documentation/src/app/[lang]/docs/[[...slug]]/page.tsx
rename to documentation/src/app/docs/[[...slug]]/page.tsx
index 5ce974c..5ed8891 100644
--- a/documentation/src/app/[lang]/docs/[[...slug]]/page.tsx
+++ b/documentation/src/app/docs/[[...slug]]/page.tsx
@@ -10,9 +10,9 @@ import { getMDXComponents } from "@/mdx-components";
import type { Metadata } from "next";
import { createRelativeLink } from "fumadocs-ui/mdx";
-export default async function Page(props: { params: Promise<{ lang: string; slug?: string[]; }> }) {
+export default async function Page(props: PageProps<"/docs/[[...slug]]">) {
const params = await props.params;
- const page = source.getPage(params.slug, params.lang);
+ const page = source.getPage(params.slug);
if (!page) notFound();
const MDX = page.data.body;
@@ -38,10 +38,10 @@ export async function generateStaticParams() {
}
export async function generateMetadata(
- props: PageProps<"/docs/[[...slug]]"> & { params: Promise<{ lang: string; }> },
+ props: PageProps<"/docs/[[...slug]]">,
): Promise {
const params = await props.params;
- const page = source.getPage(params.slug, params.lang);
+ const page = source.getPage(params.slug);
if (!page) notFound();
return {
diff --git a/documentation/src/app/[lang]/docs/layout.tsx b/documentation/src/app/docs/layout.tsx
similarity index 76%
rename from documentation/src/app/[lang]/docs/layout.tsx
rename to documentation/src/app/docs/layout.tsx
index 392fc28..b162e35 100644
--- a/documentation/src/app/[lang]/docs/layout.tsx
+++ b/documentation/src/app/docs/layout.tsx
@@ -2,7 +2,7 @@ import { source } from "@/lib/source";
import { DocsLayout } from "fumadocs-ui/layouts/docs";
import { baseOptions } from "@/lib/layout.shared";
-export default function Layout({ children }: { children: React.ReactNode }) {
+export default function Layout({ children }: LayoutProps<"/docs">) {
return (
{children}
diff --git a/documentation/src/app/[lang]/global.css b/documentation/src/app/global.css
similarity index 100%
rename from documentation/src/app/[lang]/global.css
rename to documentation/src/app/global.css
diff --git a/documentation/src/app/layout.tsx b/documentation/src/app/layout.tsx
new file mode 100644
index 0000000..3f18935
--- /dev/null
+++ b/documentation/src/app/layout.tsx
@@ -0,0 +1,17 @@
+import { RootProvider } from "fumadocs-ui/provider/next";
+import "./global.css";
+import { Inter } from "next/font/google";
+
+const inter = Inter({
+ subsets: ["latin"],
+});
+
+export default function Layout({ children }: LayoutProps<"/">) {
+ return (
+
+
+ {children}
+
+
+ );
+}
diff --git a/documentation/src/app/og/docs/[...slug]/route.tsx b/documentation/src/app/og/docs/[...slug]/route.tsx
index fdfc67e..6c3fa71 100644
--- a/documentation/src/app/og/docs/[...slug]/route.tsx
+++ b/documentation/src/app/og/docs/[...slug]/route.tsx
@@ -17,7 +17,7 @@ export async function GET(
,
{
width: 1200,
diff --git a/documentation/src/components/mdx/mermaid.tsx b/documentation/src/components/mdx/mermaid.tsx
deleted file mode 100644
index beb5fee..0000000
--- a/documentation/src/components/mdx/mermaid.tsx
+++ /dev/null
@@ -1,56 +0,0 @@
-'use client';
-
-import { use, useEffect, useId, useState } from 'react';
-import { useTheme } from 'next-themes';
-
-export function Mermaid({ chart }: { chart: string }) {
- const [mounted, setMounted] = useState(false);
-
- useEffect(() => {
- setMounted(true);
- }, []);
-
- if (!mounted) return;
- return ;
-}
-
-const cache = new Map>();
-
-function cachePromise(key: string, setPromise: () => Promise): Promise {
- const cached = cache.get(key);
- if (cached) return cached as Promise;
-
- const promise = setPromise();
- cache.set(key, promise);
- return promise;
-}
-
-function MermaidContent({ chart }: { chart: string }) {
- const id = useId();
- const { resolvedTheme } = useTheme();
- const { default: mermaid } = use(cachePromise('mermaid', () => import('mermaid')));
-
- mermaid.initialize({
- startOnLoad: false,
- securityLevel: 'loose',
- fontFamily: 'inherit',
- themeCSS: 'margin: 1.5rem auto 0;',
- theme: resolvedTheme === 'dark' ? 'dark' : 'default',
- });
-
- const { svg, bindFunctions } = use(
- cachePromise(`${chart}-${resolvedTheme}`, () => {
- return mermaid.render(id, chart.replaceAll('\\n', '\n'));
- }),
- );
-
- return (
- {
- if (container) bindFunctions?.(container);
- }}
- // biome-ignore lint/security/noDangerouslySetInnerHtml: correct usage.
- dangerouslySetInnerHTML={{ __html: svg }}
- />
- );
-}
\ No newline at end of file
diff --git a/documentation/src/lib/i18n.ts b/documentation/src/lib/i18n.ts
deleted file mode 100644
index 6906259..0000000
--- a/documentation/src/lib/i18n.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-import { defineI18n } from "fumadocs-core/i18n";
-
-export const i18n = defineI18n({
- defaultLanguage: "en",
- languages: ["en", "fr"],
-});
diff --git a/documentation/src/lib/layout.shared.tsx b/documentation/src/lib/layout.shared.tsx
index f963462..777daa1 100644
--- a/documentation/src/lib/layout.shared.tsx
+++ b/documentation/src/lib/layout.shared.tsx
@@ -1,11 +1,9 @@
import type { BaseLayoutProps } from "fumadocs-ui/layouts/shared";
-import {i18n} from "@/lib/i18n";
export function baseOptions(): BaseLayoutProps {
return {
- i18n,
nav: {
- title: "MemeGoat",
+ title: "My App",
},
};
}
diff --git a/documentation/src/lib/source.ts b/documentation/src/lib/source.ts
index f38beed..72b1158 100644
--- a/documentation/src/lib/source.ts
+++ b/documentation/src/lib/source.ts
@@ -1,11 +1,9 @@
import { docs } from "fumadocs-mdx:collections/server";
import { type InferPageType, loader } from "fumadocs-core/source";
import { lucideIconsPlugin } from "fumadocs-core/source/lucide-icons";
-import {i18n} from "@/lib/i18n";
// See https://fumadocs.dev/docs/headless/source-api for more info
export const source = loader({
- i18n,
baseUrl: "/docs",
source: docs.toFumadocsSource(),
plugins: [lucideIconsPlugin()],
diff --git a/documentation/src/mdx-components.tsx b/documentation/src/mdx-components.tsx
index 357a053..3cf87db 100644
--- a/documentation/src/mdx-components.tsx
+++ b/documentation/src/mdx-components.tsx
@@ -1,22 +1,9 @@
import defaultMdxComponents from "fumadocs-ui/mdx";
import type { MDXComponents } from "mdx/types";
-import { Mermaid } from "@/components/mdx/mermaid";
export function getMDXComponents(components?: MDXComponents): MDXComponents {
return {
...defaultMdxComponents,
...components,
- pre: ({ children, ...props }: any) => {
- if (
- children &&
- typeof children === "object" &&
- "type" in children &&
- (children as any).type === "code" &&
- (children as any).props.className === "language-mermaid"
- ) {
- return ;
- }
- return {children};
- },
};
}
diff --git a/documentation/src/proxy.ts b/documentation/src/proxy.ts
deleted file mode 100644
index 2dbd7b7..0000000
--- a/documentation/src/proxy.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import { createI18nMiddleware } from "fumadocs-core/i18n/middleware";
-import { i18n } from "@/lib/i18n";
-
-export default createI18nMiddleware(i18n);
-
-export const config = {
- // Matcher ignoring `/_next/` and `/api/`
- //TODO Adjust it to ignore static assets in `/public` folder
- matcher: ["/((?!api|_next/static|_next/image|favicon.ico).*)"],
-};