Мне нужна ваша помощь в решении проблемы. У нас в базе данных (raw_data) хранится множество тем в формате HTML, который был «мигрирован» из другой системы. Это было сделано до запуска нашего сайта, и мы никогда бы не выбрали такой подход. Наша цель — преобразовать HTML-строку, содержащую теги <div>, <link>, <br />, <span>, <blockquote>, <small> (но без <p>), а также элементы, не являющиеся HTML, например [quote][/quote], в формат Markdown, а затем перегенерировать посты, чтобы привести их к стилю HTML, используемому в Discourse. Это позволит оптимизировать их для Discourse (например, для представления, ориентированного на поисковых роботов). В настоящее время используется обычный HTML-контент (cooked_method=2), что приводит к множеству проблем с индексацией и ошибкам soft404 в Google Search Console.
Нам нужно выполнить эту работу примерно для 4–5 миллионов постов, поэтому задача будет очень затратной.
У нас есть встроенная библиотека для конвертации HTML в Markdown. Она не идеальна, но справляется с задачей функции цитирования.
В принципе, можно было бы пропустить через неё все посты, но то, что вы описываете, по-моему, требует значительной доработки. Я бы порекомендовал обратиться к сообществу в канале Marketplace и указать стоимость этой работы.
На самом деле, ваш парсер html2markdown мне очень нравится, и я хотел бы использовать его за пределами Discourse в своей повседневной работе. Есть ли какие-то советы по выделению его в отдельный инструмент для работы с текстовым полем?