feat(extension): rendu Markdown dans la prévisualisation + zone agrandie v0.4.3
All checks were successful
CI / Lint, Unit Tests & Build (push) Successful in 7m24s
CI / Deploy production (on server) (push) Successful in 23s

Avant : renderConfirm() échappait le résumé et l'extrait avec escapeHtml(),
donc les **gras**, *italique*, [liens](), listes, titres du Markdown
produit par l'IA s'affichaient en texte brut (littéral « **gras** »).

Maintenant : renderMarkdownSafe() parse le Markdown en HTML limité
et sûr (escapeHtml d'abord, puis regex sur le texte échappé — pas de
HTML brut autorisé).

+ Refonte du panneau de prévisualisation :
  - .preview-block avec header sticky (label Résumé / Extrait)
  - .excerpt-block : min-height 180px, max-height 360px, scroll si long
  - .summary-block : fond bleuté léger, bordure gauche sky
  - markdown-h3/h4/h5 stylés (serif pour titres), strong/em/code/ul/a
  - Polices 14px, line-height 1.7, word-break pour texte long

+ Nouvelle clé i18n summaryLabel dans les 15 locales.
+ Version 0.4.2 → 0.4.3.
This commit is contained in:
Antigravity
2026-07-18 10:35:00 +00:00
parent 1987b084c3
commit bff060ad20
58 changed files with 886 additions and 341 deletions

View File

@@ -192,6 +192,9 @@
},
"bannerDismiss": {
"message": "Dismiss"
},
"summaryLabel": {
"message": "Summary"
}
},
"fr": {
@@ -385,6 +388,9 @@
},
"bannerDismiss": {
"message": "Ignorer"
},
"summaryLabel": {
"message": "Résumé"
}
},
"de": {
@@ -578,6 +584,9 @@
},
"bannerDismiss": {
"message": "Schließen"
},
"summaryLabel": {
"message": "Zusammenfassung"
}
},
"es": {
@@ -771,6 +780,9 @@
},
"bannerDismiss": {
"message": "Cerrar"
},
"summaryLabel": {
"message": "Resumen"
}
},
"it": {
@@ -964,6 +976,9 @@
},
"bannerDismiss": {
"message": "Chiudi"
},
"summaryLabel": {
"message": "Riepilogo"
}
},
"pt": {
@@ -1157,6 +1172,9 @@
},
"bannerDismiss": {
"message": "Fechar"
},
"summaryLabel": {
"message": "Resumo"
}
},
"nl": {
@@ -1350,6 +1368,9 @@
},
"bannerDismiss": {
"message": "Sluiten"
},
"summaryLabel": {
"message": "Samenvatting"
}
},
"pl": {
@@ -1543,6 +1564,9 @@
},
"bannerDismiss": {
"message": "Zamknij"
},
"summaryLabel": {
"message": "Streszczenie"
}
},
"ru": {
@@ -1736,6 +1760,9 @@
},
"bannerDismiss": {
"message": "Закрыть"
},
"summaryLabel": {
"message": "Сводка"
}
},
"zh": {
@@ -1929,6 +1956,9 @@
},
"bannerDismiss": {
"message": "关闭"
},
"summaryLabel": {
"message": "摘要"
}
},
"ja": {
@@ -2122,6 +2152,9 @@
},
"bannerDismiss": {
"message": "閉じる"
},
"summaryLabel": {
"message": "要約"
}
},
"ko": {
@@ -2315,6 +2348,9 @@
},
"bannerDismiss": {
"message": "닫기"
},
"summaryLabel": {
"message": "요약"
}
},
"ar": {
@@ -2508,6 +2544,9 @@
},
"bannerDismiss": {
"message": "إغلاق"
},
"summaryLabel": {
"message": "ملخص"
}
},
"fa": {
@@ -2701,6 +2740,9 @@
},
"bannerDismiss": {
"message": "بستن"
},
"summaryLabel": {
"message": "خلاصه"
}
},
"hi": {
@@ -2894,6 +2936,9 @@
},
"bannerDismiss": {
"message": "बंद करें"
},
"summaryLabel": {
"message": "सारांश"
}
}
}