Хорошо. Вот моя попытка привести пример:
Я написал несколько строк с разным форматированием в текстовом процессоре, и получившийся HTML выглядел так:
Исходный HTML:
<style>
...
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin:0in;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:"Calibri",sans-serif;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;}
</style>
<![endif]-->
</head>
<body lang=EN-US style='tab-interval:.5in;word-wrap:break-word'>
<!--StartFragment-->
<p class=MsoNormal>Here is some text. Font family = Calibri, size 12pt<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal><b>This text is bold</b>.<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal><i>This text is italicized</i>.<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal><span style='font-size:18.0pt'>This text is in a larger font
= Calibri, size 18</span>.<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal align=center style='text-align:center'><span
style='font-size:11.0pt;font-family:"Garamond",serif'>And here is some more random
text that is centered = Garamond, size 11. Lorem ipsum dolor sit amet,
consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea commodo consequat.<o:p></o:p></span></p>
<!--EndFragment-->
</body>
</html>
Обработанный пост в Discourse:
Если я вставлю этот HTML в пост на Discourse, он будет выглядеть так (после прохождения процесса «cook»):
Вот некоторый текст. Шрифт = Calibri, размер 12pt
Этот текст жирный.
Этот текст курсивом.
Этот текст крупнее
= Calibri, размер 18.
А вот еще немного случайного
tекста, выровненного по центру = Garamond, размер 11. Lorem ipsum dolor sit amet,
consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea commodo consequat.
Что я пытаюсь восстановить
Для Discourse нормально «обрабатывать» пост и отображать его так, как он это делает. Но теперь мне нужно иметь возможность позже взять пост и получить обратно исходный, базовый HTML. Так что данные, которые я получаю обратно, должны выглядеть так:
<body lang=EN-US style='tab-interval:.5in;word-wrap:break-word'>
<!--StartFragment-->
<p class=MsoNormal>Вот некоторый текст. Шрифт = Calibri, размер 12pt<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal><b>Этот текст жирный</b>.<o:p></o:p></p>
(и т.д.)
Сейчас, если я использую «сырой» endpoint, который вы предоставили, он не предоставляет этот HTML. Скорее, он просто предоставляет текст с, похоже, удалённым большинством форматирования и пробелов.
Возможно ли получить обратно исходный, базовый HTML?