Конвертация HTML в Markdown и повторная сборка

Мне нужна ваша помощь в решении проблемы. У нас в базе данных (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 и указать стоимость этой работы.

Это как раз то, чем я занимаюсь. Вы можете написать на Jay@literatecomputing.com.

На самом деле, ваш парсер html2markdown мне очень нравится, и я хотел бы использовать его за пределами Discourse в своей повседневной работе. Есть ли какие-то советы по выделению его в отдельный инструмент для работы с текстовым полем?

Парсеров html2markdown хоть отбавляй. Вспомните хотя бы тот, что написал Аарон Сварц.

Разница в том, что я доверяю вашему: он делает ровно то, что нужно, — ни больше, ни меньше.

Спасибо.

LQ