diff --git a/.env.example b/.env.example index 7d4f160..8a6a391 100644 --- a/.env.example +++ b/.env.example @@ -1,6 +1,4 @@ # Generated by Shelve CLI -NUXT_PUBLIC_STUDIO_TOKENS=your_value -NUXT_PUBLIC_MEETING_LINK=your_value NUXT_PRIVATE_RESEND_API_KEY=your_value NUXT_PRIVATE_GITHUB_TOKEN=your_value -NUXT_PRIVATE_NOTES_PASSWORD=your_value \ No newline at end of file +NUXT_PRIVATE_NOTES_PASSWORD=your_value diff --git a/app/app.config.ts b/app/app.config.ts index 451259c..6bc681d 100644 --- a/app/app.config.ts +++ b/app/app.config.ts @@ -1,7 +1,10 @@ export default defineAppConfig({ + global: { + meetingLink: 'https://cal.com/hugorcd/15min', + }, profile: { name: 'Hugo Richard', - job: 'Frontend Architect and Designer', + job: '[Frontend Engineer at [Nuxtlabs](https://nuxtlabs.com)]{.text-accent}', email: 'contact@hrcd.fr', phone: '(+33) 6 21 56 22 18', picture: 'https://avatars.githubusercontent.com/u/71938701?v=4' diff --git a/app/components/content/Hero.vue b/app/components/content/Hero.vue index 5dde7e8..0fe3a5c 100644 --- a/app/components/content/Hero.vue +++ b/app/components/content/Hero.vue @@ -17,9 +17,7 @@ const { profile } = useAppConfig()

{{ profile.name }}

-

- {{ profile.job }} -

+

diff --git a/content/1.works/canvas.json b/content/1.works/canvas.json index a2c0300..b47dbbd 100644 --- a/content/1.works/canvas.json +++ b/content/1.works/canvas.json @@ -1,8 +1,8 @@ { "name": "Canvas", - "category": "personal", + "category": "featured", "description": "A premium portfolio template, with a minimal and clean design", "link": "https://canvas.hrcd.fr/", "release": "2024", - "date": "2024" + "date": "10/01/2024" } diff --git a/content/1.works/eslint-config.json b/content/1.works/eslint-config.json new file mode 100644 index 0000000..c15755b --- /dev/null +++ b/content/1.works/eslint-config.json @@ -0,0 +1,8 @@ +{ + "name": "@hrcd/eslint-config", + "category": "personal", + "description": "My personal ESLint Flat Config, crafted for TS, Vue, and Nuxt development.", + "link": "https://github.com/HugoRCD/eslint-config", + "release": "2024", + "date": "23/03/2024" +} diff --git a/content/1.works/inkly.json b/content/1.works/inkly.json new file mode 100644 index 0000000..b7c4194 --- /dev/null +++ b/content/1.works/inkly.json @@ -0,0 +1,8 @@ +{ + "name": "Inkly", + "category": "personal", + "description": "The most simple open-source email signature generator", + "link": "https://inkly.hrcd.fr/", + "release": "2024", + "date": "20/06/2024" +} diff --git a/content/1.works/mockline.json b/content/1.works/mockline.json index c595a24..7f8b73d 100644 --- a/content/1.works/mockline.json +++ b/content/1.works/mockline.json @@ -6,5 +6,5 @@ "description": "The most customizable opinionated UI library for Nuxt and Vue", "link": "https://mockline.dev/", "release": "Soon", - "date": "2025" + "date": "Soon" } diff --git a/content/1.works/nuppets.json b/content/1.works/nuppets.json index 5a5f365..5d381d3 100644 --- a/content/1.works/nuppets.json +++ b/content/1.works/nuppets.json @@ -4,5 +4,5 @@ "description": "A universal hub for Nuxt and Vue snippets - Available for Raycast, VS Code, and more", "link": "https://nuppets.dev", "release": "2025", - "date": "2025" + "date": "08/02/2025" } diff --git a/content/1.works/nuxt-visitors.json b/content/1.works/nuxt-visitors.json new file mode 100644 index 0000000..c57031b --- /dev/null +++ b/content/1.works/nuxt-visitors.json @@ -0,0 +1,8 @@ +{ + "name": "Nuxt Visitors", + "category": "personal", + "description": "Add real-time visitor tracking to your Nuxt app with one line of code. WebSocket made easy", + "link": "https://nuxt-visitors.nuxt.dev/", + "release": "2025", + "date": "28/01/2025" +} diff --git a/content/1.works/shelve.json b/content/1.works/shelve.json index 2db31ea..c6230a2 100644 --- a/content/1.works/shelve.json +++ b/content/1.works/shelve.json @@ -1,8 +1,8 @@ { "name": "Shelve", - "category": "personal", + "category": "featured", "description": "Easily kick off and oversee team projects with just a few clicks!", "link": "https://shelve.cloud/", "release": "2024", - "date": "2025" + "date": "29/02/2024" } diff --git a/content/index.md b/content/index.md index aa3fe92..a785552 100644 --- a/content/index.md +++ b/content/index.md @@ -3,7 +3,7 @@ They say the devil is in the details. I say that's where the magic happens. Want :: ::section-item{:number='1' title="Works"} -Currently building two tools I'm proud of: :icon{name="custom:shelve"} [***Shelve***](https://shelve.cloud){.link}, simplifying how teams share and manage environment variables, and :icon{name="custom:mockline"} [***Mockline***](https://mockline.dev){.link}, a component library that makes beautiful development effortless. Explore my work: [***/works***](/works){.link} +Working on [**Nuxt UI**](https://ui3.nuxt.dev/getting-started) and [**UI Pro**](https://ui3.nuxt.dev/getting-started), while building :icon{name="custom:shelve"} [***Shelve***](https://shelve.cloud){.link}, an all-in-one workspace for modern development collaboration. Deeply engaged in the Nuxt ecosystem, creating the next generation of developer tools. Explore my work: [***/works***](/works){.link} :: ::section-item{:number='2' title="Writing"} diff --git a/content/works.md b/content/works.md index 15c7731..bbde220 100644 --- a/content/works.md +++ b/content/works.md @@ -3,14 +3,21 @@ title: Works description: List of all my works, projects, and contributions. --- -::section-item{:number='1' size="w-full" title="Nuxt Ecosystem"} -:::works{category="ecosystem"} -::: +::section-item{:number='1' size="w-full" title="Featured"} + :::works{category="featured"} + ::: +:: + +--- + +::section-item{:number='2' size="w-full" title="Nuxt Ecosystem"} + :::works{category="ecosystem"} + ::: :: --- -::section-item{:number='2' size="w-full" title="Personal Projects"} +::section-item{:number='3' size="w-full" title="Personal Projects"} :::works{category="personal"} ::: :: diff --git a/nuxt.schema.ts b/nuxt.schema.ts index ece56e1..acb5433 100644 --- a/nuxt.schema.ts +++ b/nuxt.schema.ts @@ -2,6 +2,20 @@ import { field, group } from '@nuxt/content/preview' export default defineNuxtSchema({ appConfig: { + global: group({ + title: 'Website', + description: 'Global website configuration', + icon: 'lucide:settings', + fields: { + meetingLink: field({ + type: 'string', + title: 'Meeting link', + description: 'Your meeting link.', + icon: 'lucide:calendar', + default: 'https://schedule.rdv.fr', + }), + }, + }), profile: group({ title: 'Personal information', description: 'Personal information configuration',