РЕДАКТИРОВАНИЕ: ошибка в моём первоначальном сообщении. Я имел в виду поле cooked, а не поле raw (ИСПРАВЛЕНО).
Недавно я получил данные JSON с форума Discourse, где данные постов находятся в формате «cooked». Я wondered, есть ли способ конвертировать их обратно в Markdown? Я новичок в Discourse, искал, но не смог найти способ сделать это. Поскольку данные в формате cooked, по-видимому, используются для создания HTML, я предполагаю, что альтернативный путь — использовать функцию, преобразующую cooked в HTML, а затем конвертировать HTML в Markdown.
У меня уже есть данные, я не могу их получить снова. Они были с форума, который был закрыт. Я пытаюсь очистить данные, чтобы их можно было восстановить.
Если под «raw» вы имеете в виду поле с названием raw, то вы смотрите на исходный код Markdown, который мы храним. В качестве примера, этот — JSON-эндпоинт для вашего последнего сообщения.
Поле raw там содержит именно тот текст, который вы набрали в редакторе Markdown, и мы храним его в неизменном виде, чтобы он был настолько «чистым», насколько это возможно.
Если же вы в общем смысле имеете в виду «сырой HTML», полученный путём парсинга без использования JSON-эндпоинтов, то вы можете преобразовать этот HTML в Markdown внешними средствами с помощью pandoc, как было предложено выше, или любого другого программного обеспечения.
А, теперь всё становится на свои места. Поле cooked — это HTML, сгенерированный из Markdown.
Вы можете просто передать его через pandoc, чтобы получить Markdown; полная идентичность соответствующему полю raw не гарантируется, так как некоторые нестандартные теги Markdown, такие как [quote], преобразуются в определённые HTML-шаблоны. Однако, если вам нужно просто получить содержимое в формате Markdown, pandoc должен справиться вполне хорошо.