From 30d3523aeb65e0c09b4dc9d078fd94fc50117d67 Mon Sep 17 00:00:00 2001 From: dmitriylaukhin Date: Tue, 22 Sep 2026 15:11:10 +0500 Subject: [PATCH] =?UTF-8?q?docs(CLAUDE):=20=D0=B3=D1=80=D0=B0=D0=B1=D0=BB?= =?UTF-8?q?=D0=B8=20Markdown=20=D0=BF=D1=80=D0=B8=20=D0=BE=D1=82=D0=B2?= =?UTF-8?q?=D0=B5=D1=82=D0=B5=20=D1=81=D1=82=D1=83=D0=B4=D0=B5=D0=BD=D1=82?= =?UTF-8?q?=D1=83=20=D0=B2=20=D0=BA=D0=BE=D0=BC=D0=BC=D0=B5=D0=BD=D1=82?= =?UTF-8?q?=D0=B0=D1=80=D0=B8=D1=8F=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Комментарии к урокам рендерятся через react-markdown + remark-gfm, и это меняет то, как надо писать сами ответы. Проверено на уроке Zotero 2.3: четыре пункта строками через «—» в ответе от 21.09 склеились в один абзац (GFM не считает тире маркером списка), а длинный адрес с параметрами запроса автолинк обрывает на «&». Co-Authored-By: Claude Opus 5 (1M context) --- CLAUDE.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index 6e8f1fe..997e804 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -240,6 +240,11 @@ S3_REGION="eu-central" `**жирный**` в отзыве на ДЗ студент увидит звёздочками. Ссылку там же писать голым адресом можно — `linkify` её поднимет. +Когда сами пишем ответ студенту под уроком, две граблю рендера (проверено боем 20260922, урок Zotero 2.3): + +- **Перечисление строками через «—» склеивается в один абзац.** GFM не считает тире маркером списка: четыре пункта подряд, каждый с новой строки, отрендерились одной сплошной строкой в ответе от 21.09. Список — только `- ` в начале строки. +- **Длинный адрес с `&` оборачивать в `<…>`.** Автолинк GFM на параметрах запроса обрывается; `` даёт кликабельную ссылку целиком. Подчёркивания внутри слова (`url_selector`) курсивом не становятся — их экранировать не нужно. + Безопасность рендера комментариев (не ослаблять «улучшением»): `rehype-sanitize` режет сырой HTML и `javascript:`; картинки с чужих доменов **не грузятся** — компонент `img` отдаёт их ссылкой, чтобы адрес читателя не утекал на сторонний сервер. Свои картинки — через `/api/student/comment-upload`. ### Файлы курсов живут на двух разных доменах