좋습니다. 예시를 하나 만들어 보겠습니다:
워드 프로세서에서 서로 다른 서식으로 몇 줄을 작성했는데, 생성된 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” 과정을 거친 후):
Here is some text. Font family = Calibri, size 12pt
This text is bold.
This text is italicized.
This text is in a larger font
= Calibri, size 18.
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.
원하는 결과
Discourse가 게시글을 처리(cook)하고 현재처럼 표시하는 것은 문제가 없습니다. 하지만 제가 원하는 것은 나중에 게시글을 가져와 원래의 기반 HTML을 다시 얻어오는 것입니다. 즉, 가져오는 데이터는 다음과 같은 형태여야 합니다:
<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>
(등등)
현재 제공해 주신 “raw” 엔드포인트를 사용해도 이 HTML을 제공하지 않습니다. 대신 대부분의 서식과 간격이 제거된 텍스트만 제공합니다.
원래의 기반 HTML을 다시 가져올 수 있는 방법이 있을까요?