mirror of
https://gitverse.ru/kpa39l/vesti.git
synced 2026-09-29 09:55:03 +00:00
Initial import: vesti.nixg.ru — новостной апрув-проект (web, crawler, classifier, publisher, openspec)
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
## 1. Зависимость и фильтр
|
||||
|
||||
- [x] 1.1 `pip install Markdown` в .venv, добавить в requirements.txt
|
||||
- [x] 1.2 Добавить Jinja2-фильтр `markdown` в `web/app.py` (экранирование HTML + nl2br + sane_lists)
|
||||
- [x] 1.3 Проверка: `python -c "from web.app import tpl; print(tpl.filters['markdown']('**b**'))"` — фильтр есть
|
||||
|
||||
## 2. Шаблоны
|
||||
|
||||
- [x] 2.1 `candidates.html`: заменить `{{ (p.text or '')[:500] }}` на `{{ (p.text or '')[:2000] | markdown }}`
|
||||
- [x] 2.2 Проверить `published.html`/`metrics.html` — применить фильтр к тексту/анонсам при наличии
|
||||
- [x] 2.3 Проверка: пост с `**жирный**` и ссылкой отображается разметкой, а не сырым md
|
||||
|
||||
## 3. Безопасность и регресс
|
||||
|
||||
- [x] 3.1 Тест XSS: `<script>` в тексте поста не исполняется (отображается как текст)
|
||||
- [x] 3.2 Тест регресса: список кандидатов и published рендерятся без ошибок
|
||||
- [x] 3.3 `grep -rn "p.text\|\.text" web/templates/` — все места обработаны
|
||||
Reference in New Issue
Block a user