Эта проблема снова возникла
Просто мысли вслух, но интересно, можем ли мы обойти эту сложную проблему (т. е. преобразование HTML в Markdown). Краткое резюме (чтобы помочь осмыслить это):
-
Discourse поддерживает импорт HTML для создания содержимого постов (например, HTML из WP Discourse).
-
В некоторых случаях пользователь ожидает, что целостность исходного HTML будет сохранена в точности.
-
«Целостность» здесь включает как минимум два аспекта:
- Как отображается содержимое, например, переносы строк.
- Где размещены медиафайлы, например, загрузка изображений на локальный сервер, чтобы избежать битых ссылок, или, возможно, по соображениям безопасности.
-
Преобразование HTML в Markdown потенциально создаёт проблемы для первого типа целостности, однако в настоящее время это необходимо для обеспечения второго типа целостности.
Таким образом, одним из способов решения этой проблемы для некоторых импортированных постов могло бы быть хранение импортированного HTML непосредственно как обработанного содержимого поста, а задача pull_hotlinked_images поддерживала бы загрузку изображений в таком содержимом без преобразования тегов img в Markdown.
Да, проще говоря, возможно, код мог бы поддерживать загрузку изображений по прямым ссылкам без необходимости преобразования тегов img в Markdown. Для таких постов вы бы вставляли URL загруженного изображения в обработанное содержимое вместо исходного.