Page names containing apostrophes (e.g. "02-Structure d'entrainements.md") broke Alpine.js directives because Jinja2's |e filter doesn't escape single quotes. Replaced ' with ' HTML entity in Alpine expression attributes (showWsContext, wsTouchEnd).