mirror of
https://github.com/ArthurDanjou/artchat.git
synced 2026-01-14 15:54:03 +01:00
- Created a new article on "Understanding AI Agents, LLMs, and RAG" detailing the synergy between AI agents, LLMs, and Retrieval-Augmented Generation. - Added an introductory article on "What is Machine Learning?" covering types, model selection, workflow, and evaluation metrics. chore: setup ESLint and Nuxt configuration - Added ESLint configuration for code quality. - Initialized Nuxt configuration with various modules and settings for the application. chore: initialize package.json and TypeScript configuration - Created package.json for dependency management and scripts. - Added TypeScript configuration for the project. feat: implement API endpoints for activity and stats - Developed API endpoint to fetch user activity from Lanyard. - Created a stats endpoint to retrieve Wakatime coding statistics with caching. feat: add various assets and images - Included multiple images and assets for articles and projects. - Added placeholder files to maintain directory structure. refactor: define types for chat, lanyard, time, and wakatime - Created TypeScript types for chat messages, Lanyard activities, time formatting, and Wakatime statistics.
62 lines
1.4 KiB
TypeScript
62 lines
1.4 KiB
TypeScript
import { defineCollection, z } from '@nuxt/content'
|
|
|
|
export const collections = {
|
|
main: defineCollection({
|
|
type: 'page',
|
|
source: 'home/*.md',
|
|
}),
|
|
projects: defineCollection({
|
|
type: 'page',
|
|
source: 'projects/*.md',
|
|
schema: z.object({
|
|
slug: z.string(),
|
|
title: z.string(),
|
|
description: z.string(),
|
|
publishedAt: z.string(),
|
|
readingTime: z.number().optional(),
|
|
tags: z.array(z.string()),
|
|
cover: z.string(),
|
|
favorite: z.boolean().optional(),
|
|
}),
|
|
}),
|
|
writings: defineCollection({
|
|
type: 'page',
|
|
source: 'writings/*.md',
|
|
schema: z.object({
|
|
slug: z.string(),
|
|
title: z.string(),
|
|
description: z.string(),
|
|
publishedAt: z.string(),
|
|
readingTime: z.number(),
|
|
cover: z.string().optional(),
|
|
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(),
|
|
}),
|
|
carousel: z.string().optional(),
|
|
}),
|
|
}),
|
|
uses: defineCollection({
|
|
type: 'data',
|
|
source: 'uses/*.json',
|
|
schema: z.object({
|
|
name: z.string(),
|
|
description: z.object({
|
|
en: z.string(),
|
|
fr: z.string(),
|
|
es: z.string(),
|
|
}),
|
|
category: z.string(),
|
|
}),
|
|
}),
|
|
}
|