Ссылка вида [текст](javascript:…) попадала в архив как есть и выполнялась при клике —
опасно, если чат содержит текст из чужого источника. Теперь javascript:, vbscript:, data:
(кроме растровых картинок) заменяются на «#», схема проверяется без учёта регистра и
пробелов.
- declaude/loader.py (экспорт и mapping), markdown.py (рендер), html.py (шаблоны),
site.py (сборка сайта), cli.py (командная строка);
- CSS и JS вынесены из Python-строк в declaude/assets/;
- pyproject.toml: пакет claude-export-html, команда declaude, python -m declaude;
- результат сборки на тестовом экспорте побайтно совпадает со старым declaude.py.