4.2 KiB
4.2 KiB
Phase 5: @nuxt/content Setup & Renderer - Context
Gathered: 2026-04-21 Status: Ready for planning
## Phase BoundaryInstaller et configurer @nuxt/content pour que le markdown rende fidèlement du contenu technique : blocs de code colorés, images optimisées, tableaux, callouts/alerts — sans configuration supplémentaire dans les phases suivantes.
Cette phase ne crée pas encore les pages blog (Phase 6) ni les articles réels (Phase 8). Elle pose l'infrastructure de rendu.
## Implementation DecisionsStyle du rendu markdown
- D-01: Utiliser
@tailwindcss/typography(plugin officiel). Classeprose dark:prose-invertsur le wrapper<article>. Compatible Tailwind v4, support dark mode natif synchronisé aveccolorModeexistant.
Callouts / Alerts
- D-02: Implémenter via la syntaxe MDC de
@nuxt/content—::alert{type="warning"}dans le markdown appelle un composant Vue dédié (components/content/Alert.vue). Aucun HTML brut dans les fichiers markdown.
Structure content/
- D-03: Dossiers par langue :
content/fr/blog/etcontent/en/blog/. Un fichier markdown par article par langue, avec le même slug. Aligné avec@nuxtjs/i18nstrategyprefix_except_default.
Syntax highlighting
- D-04: Shiki intégré à
@nuxt/contentv3 (zéro dépendance supplémentaire). Langages à déclarer dansnuxt.config.ts: Kotlin, Java, TypeScript, Shell. Thème dark/light synchronisé aveccolorModedu site.
Claude's Discretion
- Choix du thème Shiki exact (ex:
github-dark/github-lightou variante) — cohérence avec la charte dark/light du site. - Nombre et types de callouts MDC à créer au minimum (au moins : info, warning, tip).
- Frontmatter schema exact des articles (title, description, date, tags, image...) — à définir mais pas bloquant pour cette phase.
<canonical_refs>
Canonical References
Downstream agents MUST read these before planning or implementing.
Requirements
.planning/REQUIREMENTS.md§BLOG-01, BLOG-04, BLOG-05 — exigences exactes de cette phase
Stack existant
nuxt.config.ts— configuration actuelle (modules, i18n, colorMode, image) à étendre, ne pas réécrireassets/css/main.css— styles globaux existants, vérifier compatibilité avec prose Tailwind
Documentation externe (à consulter)
@nuxt/contentv3 docs : https://content.nuxt.com — installation, MDC syntax, ContentRenderer@tailwindcss/typography: https://tailwindcss.com/docs/typography-plugin — configuration prose
</canonical_refs>
<code_context>
Existing Code Insights
Reusable Assets
@nuxt/imagedéjà installé et configuré →<NuxtImg>disponible pour les images dans les articles via MDC ou ContentRenderercolorModeconfiguré avec cookie (SSR-safe) → le thème Shiki doit répondre àuseColorMode().value
Established Patterns
- Modules Nuxt déclarés dans
nuxt.config.ts→ ajouter@nuxt/contentdans le tableaumodules - Composants auto-importés depuis
~/componentsavecpathPrefix: false→ les composants MDC danscomponents/content/seront auto-importés
Integration Points
nuxt.config.ts→ ajouter@nuxt/contentdansmodules+ configcontent: {}+shikilangagesassets/css/main.css→ importer@tailwindcss/typographysi nécessairecomponents/content/→ dossier à créer pour les composants MDC (Alert, etc.)content/fr/blog/etcontent/en/blog/→ à créer avec au moins 1 article de test Kotlin
</code_context>
## Specific Ideas- L'article de test (critère de succès) doit contenir un bloc Kotlin coloré, une image, un tableau et un callout — couvre les 4 success criteria de la phase.
- Le callout minimum pour valider :
::alert{type="info"}rendant un composant stylisé Nuxt UI ou Tailwind.
- Pages /blog et /blog/[slug] — Phase 6
- SEO par article (useSeoMeta, JSON-LD Article) — Phase 7
- Articles seed Hytale réels — Phase 8
- Frontmatter complet avec og:image par article — Phase 7
Phase: 05-nuxt-content-setup-renderer Context gathered: 2026-04-21