feat(ROADMAP): mark Phase 5 as completed and update project state; prepare for Phase 6 planning
This commit is contained in:
+15
-12
@@ -3,13 +3,13 @@ gsd_state_version: 1.0
|
||||
milestone: v1.1
|
||||
milestone_name: SEO Hytale — Autorité & Contenu
|
||||
status: In Progress
|
||||
last_updated: "2026-04-21T00:00:00.000Z"
|
||||
last_updated: "2026-04-22T00:30:00.000Z"
|
||||
progress:
|
||||
total_phases: 4
|
||||
completed_phases: 0
|
||||
total_plans: 0
|
||||
completed_plans: 0
|
||||
percent: 0
|
||||
completed_phases: 1
|
||||
total_plans: 2
|
||||
completed_plans: 2
|
||||
percent: 25
|
||||
---
|
||||
|
||||
# Project State
|
||||
@@ -22,18 +22,21 @@ progress:
|
||||
|
||||
## Current Focus
|
||||
|
||||
Phase: Phase 5 — @nuxt/content Setup & Renderer
|
||||
Phase: Phase 6 — Blog Pages
|
||||
Plan: —
|
||||
Status: Roadmap defined, ready to plan Phase 5
|
||||
Last activity: 2026-04-21 — M1.1 roadmap created (phases 5–8)
|
||||
Status: Ready to plan Phase 6
|
||||
Last activity: 2026-04-22 — Phase 5 verified complete (UAT 7/7 pass after 3 post-UAT fixes)
|
||||
|
||||
## Accumulated Context
|
||||
|
||||
- M1 complet — déployé en production sur killiandalcin.fr (phases 1–4)
|
||||
- Stack : Nuxt 4 SSR + Nuxt UI v3 + Tailwind v4 + pnpm
|
||||
- Blog/CMS était Out of Scope en M1, promu en priorité principale pour M1.1
|
||||
- Renderer markdown doit supporter : syntax highlighting, images, embeds, tables, alerts — utiliser @nuxt/content
|
||||
- Stack : Nuxt 4 SSR + Nuxt UI v3 + Tailwind v4 + pnpm + @nuxt/content v3
|
||||
- Phase 5 shipped: @nuxt/content installé, collections bilingues `blog_fr`/`blog_en`, composants MDC (ProseImg, Alert, ProsePre, Columns, Details, Badge, Video, Clear), Shiki single github-dark, `app/pages/blog/[slug].vue` rend les articles FR/EN
|
||||
- **Gotchas Phase 5 (à retenir)** :
|
||||
- Catch-all `[...slug].vue` + `@nuxtjs/i18n` strategy `prefix` → page component résout à `{}` (Vue warn: missing template). Fix : single-segment `[slug].vue`.
|
||||
- `queryCollection(variable)` pas analysable par le Vite extractor de @nuxt/content → utiliser toujours des littéraux `queryCollection('blog_fr')` / `queryCollection('blog_en')`.
|
||||
- `i18n.baseUrl` requis pour `useLocaleHead` (SEO tags). Ne pas retirer.
|
||||
- Redirection langue-détectée sans langue dans l'URL : `detectBrowserLanguage.redirectOn: 'no prefix'` + `fallbackLocale`. Éviter les `routeRules` `/blog/**` hardcodés (cassent le slug + bloquent la détection navigateur).
|
||||
- Objectif double : ranker sur "Hytale plugin developer" ET capter trafic longue traîne via contenu communauté
|
||||
- Phase 5 ajoute @nuxt/content comme dépendance — vérifier compatibilité Nuxt 4 / compatibilityVersion 4
|
||||
- Articles bilingues : structure FR/EN dans content/ (ex: content/fr/blog/, content/en/blog/)
|
||||
- og:image par article : image frontmatter ou fallback branded — jamais l'og-image.png générique M1
|
||||
|
||||
Reference in New Issue
Block a user