diff --git a/CHANGELOG.md b/CHANGELOG.md index af4bc2b..0431b69 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,20 @@ # Changelog — FlowDeck -## v5.1.6 (2026-09-07) — Placeholder titre "New Page" + placeholder blocs au focus seul +## v5.1.7 (2026-09-07) — Retours à la ligne conservés quand on change de bloc (Entrée) + +> Un bloc multi-lignes (Shift+Entrée) perdait ses retours à la ligne dès qu'on +> appuyait sur Entrée pour créer un nouveau bloc. + +### Cause +- Shift+Entrée insère des `
` ; `sync()` lit `el.textContent`, qui contient + alors des `\n`. `mdEsc()` (render des blocs) échappait le texte mais ne + convertissait pas les `\n`, et le HTML les replie en espace → les lignes + disparaissaient au re-rendu après la scission Entrée. + +### Correctif +- `mdEsc()` convertit désormais les `\n` restants en `
` (après les + remplacements markdown inline) : les retours à la ligne sont conservés dans + tous les types de bloc (paragraphe, listes, to-do, toggle, callout, code…). > Conforme au comportement Notion : le titre affiche « New Page » quand il est > vide ; les aides de blocs (« Press 'space' for AI… », « Heading 1 »…) ne diff --git a/VERSION b/VERSION index 7a3e417..693ad74 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -5.1.6 \ No newline at end of file +5.1.7 \ No newline at end of file diff --git a/app/main.py b/app/main.py index a4c22ae..842c1e7 100644 --- a/app/main.py +++ b/app/main.py @@ -60,7 +60,7 @@ async def lifespan(_app: FastAPI): app = FastAPI( title="FlowDeck", - version="5.1.6", + version="5.1.7", docs_url="/docs" if settings.log_level == "DEBUG" else None, redoc_url=None, lifespan=lifespan, diff --git a/app/templates/_page_editor_scripts.html b/app/templates/_page_editor_scripts.html index 54592ce..9d7512d 100644 --- a/app/templates/_page_editor_scripts.html +++ b/app/templates/_page_editor_scripts.html @@ -27,7 +27,8 @@ .replace(/\*\*([^*]+)\*\*/g,'$1') .replace(/\*([^*]+)\*/g,'$1') .replace(/~~([^~]+)~~/g,'$1') - .replace(/\[([^\]]+)\]\((https?:[^)\s]+)\)/g,'$1'); + .replace(/\[([^\]]+)\]\((https?:[^)\s]+)\)/g,'$1') + .replace(/\n/g,'
'); } const CALLOUT_ICONS=['💡','💡','📌','⚠️','ℹ️','✅','❌','🚀','🔔','📣','⭐','❤️','🔥','💬','👀','🧠','🎯','🔑','📅','💰','💡','📚','🧪','🌍'];