Refactor experiences data format from JSON to Markdown

- Updated content.config.ts to change experiences source from JSON to Markdown files.
- Deleted JSON files for experiences: artdanjproduction, erisium, picard, and sevetys.
- Created corresponding Markdown files for each experience with structured front matter.
- Added new API endpoints for fetching experiences and projects in Markdown format.
- Removed unused ping API endpoint.
- Updated package.json with new dependencies for AI SDK and Zod.
- Added new resume files in PDF format for M1 2026 in English and French.
This commit is contained in:
2025-11-12 23:23:05 +01:00
parent 853f19a2ee
commit 74d747e29a
19 changed files with 258 additions and 81 deletions

View File

@@ -0,0 +1,10 @@
import { queryCollection } from '@nuxt/content/server'
export default defineCachedEventHandler(async (event) => {
return await queryCollection(event, 'experiences')
.where('extension', '=', 'md')
.all()
}, {
name: 'experiences-list',
maxAge: 3600 // 1 hour
})

View File

@@ -1,5 +0,0 @@
export default eventHandler(() => {
return {
body: 'pong'
}
})

View File

@@ -0,0 +1,10 @@
import { queryCollection } from '@nuxt/content/server'
export default defineCachedEventHandler(async (event) => {
return await queryCollection(event, 'projects')
.where('extension', '=', 'md')
.all()
}, {
name: 'projects-list',
maxAge: 3600 // 1 hour
})

3
server/api/skills.get.ts Normal file
View File

@@ -0,0 +1,3 @@
export default defineEventHandler(async (event) => {
return 'Hello Nitro'
})

3
server/api/uses.get.ts Normal file
View File

@@ -0,0 +1,3 @@
export default defineEventHandler(async (event) => {
return 'Hello Nitro'
})

32
server/routes/mcp.ts Normal file
View File

@@ -0,0 +1,32 @@
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'
import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js'
function createServer() {
const server = new McpServer({
name: 'nuxt-ui',
version: '1.0.0'
})
server.registerResource('', '', )
return server
}
export default defineEventHandler(async (event) => {
const server = createServer()
const transport: StreamableHTTPServerTransport = new StreamableHTTPServerTransport({
sessionIdGenerator: undefined
})
event.node.res.on('close', () => {
transport.close()
server.close()
})
await server.connect(transport)
const body = await readBody(event)
await transport.handleRequest(event.node.req, event.node.res, body)
})