feat(hytale): add HytaleDemoGrid component and demo data

- Introduced HytaleDemoGrid.vue to showcase live Hytale plugins with a responsive layout.
- Created hytaleDemos.ts to manage demo data, including details for VotePipe and GravityFlip plugins.
- Updated Hytale page to include the new demo grid section.
- Enhanced AppFooter and ServicesSection with i18n support for better localization.
- Added new blog post detailing the development process of the GravityFlip plugin, available in both English and French.

This commit enhances the visibility of Hytale plugins and improves the overall user experience on the site.
This commit is contained in:
2026-04-25 15:39:53 +02:00
parent 0d238c5b0d
commit d5dbbb6dff
13 changed files with 646 additions and 40 deletions
+34
View File
@@ -0,0 +1,34 @@
// Live Hytale plugins shipped publicly — featured on /hytale#demos
// Each entry has corresponding i18n keys at hytale.demos.{id}.*
export interface HytaleDemo {
id: string
image: string
github?: string
curseforge?: string
modtale?: string
website?: string
tech: string[]
status: 'live' | 'pending' | 'soon'
featured?: boolean
}
export const hytaleDemos: HytaleDemo[] = [
{
id: 'votepipe',
image: '/images/projects/votepipe.svg',
website: 'https://votepipe.com',
modtale: 'https://modtale.net/mod/votepipe',
curseforge: 'https://www.curseforge.com/hytale/mods/votepipe',
tech: ['Java 25', 'SaaS', 'Webhooks', 'Votifier'],
status: 'live',
featured: true,
},
{
id: 'gravity-flip',
image: '/images/projects/gravityflip.png',
modtale: 'https://modtale.net/mod/gravity-flip',
curseforge: 'https://curseforge.com/hytale/mods/gravity-flip',
tech: ['Java 25', 'Gradle Shadow', 'Hytale API'],
status: 'live',
},
]
+61 -2
View File
@@ -3,6 +3,67 @@ import type { Project } from '~~/shared/types'
// Base project data without translations
// Titles and descriptions are resolved via i18n keys: projects.${id}.title, projects.${id}.description
export const projects: Omit<Project, 'title' | 'description' | 'longDescription'>[] = [
{
id: 'votepipe',
image: '/images/projects/votepipe.svg',
technologies: ['Java 25', 'Hytale Plugin API', 'TypeScript', 'SaaS', 'HTTPS Webhooks', 'Votifier RSA/HMAC'],
category: 'Hytale Plugin',
date: '2026',
featured: true,
buttons: [
{
title: 'Website',
link: 'https://votepipe.com',
},
{
title: 'Modtale',
link: 'https://modtale.net/mod/votepipe',
},
{
title: 'CurseForge',
link: 'https://www.curseforge.com/hytale/mods/votepipe',
},
{
title: 'Documentation',
link: 'https://votepipe.com/docs',
},
],
},
{
id: 'gravity-flip',
image: '/images/projects/gravityflip.png',
technologies: ['Java 25', 'Hytale Plugin API', 'Gradle Shadow', 'JUnit 5'],
category: 'Hytale Plugin',
date: '2026',
featured: true,
buttons: [
{
title: 'Modtale',
link: 'https://modtale.net/mod/gravity-flip',
},
{
title: 'CurseForge',
link: 'https://curseforge.com/hytale/mods/gravity-flip',
},
],
},
{
id: 'playhours',
image: '/images/projects/playhours.png',
technologies: ['Java 17', 'Forge 1.20.1', 'LuckPerms', 'TOML Config'],
category: 'Minecraft Mod',
date: '2025',
buttons: [
{
title: 'CurseForge',
link: 'https://www.curseforge.com/minecraft/mc-mods/playhours',
},
{
title: 'Repository',
link: 'https://gitea.kamisama.ovh/kayjaydee/PlayHours',
},
],
},
{
id: 'virtual-tour',
image: '/images/virtualtour.webp',
@@ -22,7 +83,6 @@ export const projects: Omit<Project, 'title' | 'description' | 'longDescription'
technologies: ['Node.js', 'Discord.js', 'MongoDB', 'Express'],
category: 'Bot Development',
date: '2023',
featured: true,
buttons: [
{
title: 'Invite',
@@ -36,7 +96,6 @@ export const projects: Omit<Project, 'title' | 'description' | 'longDescription'
technologies: ['JavaScript', 'Node.js', 'Canvas', 'npm'],
category: 'Open Source',
date: '2022',
featured: true,
buttons: [
{
title: 'Repository',