mirror of
https://gitverse.ru/kpa39l/vesti.git
synced 2026-09-29 18:05:03 +00:00
1.9 KiB
1.9 KiB
rss-formatting-preserve
Сохранять форматирование RSS-новостей (абзацы, разметка) при скачивании и в предпросмотре.
Why
Пользователь: в RSS omarchy внутри текста новости есть HTML-символы, мы их выкидываем из текста, поэтому вся новость в предпросмотре — сплошной текст, ничего не понять. Нужно при скачивании из RSS сохранять заложенное форматирование.
What Changes
- crawler/rss_crawler.py: html_to_text() вставляет переносы вокруг блочных тегов (p/li/h1-6/blockquote/pre), чтобы абзацы и списки сохранялись; parse_entries() больше не схлопывает все пробелы в один — нормализует: 3+ переноса → 2, пробелы по краям строк убираются, внутренние сохраняются.
- web/app.py: новый фильтр
safe_html(bleach.clean allowlist + linkify) для безопасного рендера HTML-разметки исходных RSS-текстов в предпросмотре. - web/templates/candidates.html / selected.html:
| safe_htmlдляselected.text. - requirements.txt: +bleach.
Impact
- Тексты в БД: появляются абзацы (\n\n), форматирование сохраняется читаемым.
- Предпросмотр кандидатов/отобранных: разметка (b/i/a/списки) рендерится безопасно.
- Markdown-пересказы (rewritten_text) и комментарии не задеваются — md_filter без изменений.
- Публикация (card.py) — plain text, абзацы \n\n дойдут в Telegram.