Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions src/content/docs/ko/guides/rss.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -161,10 +161,10 @@ items: import.meta.glob('./blog/*.{md,mdx}'),
`content` 필드에는 글의 전체 콘텐츠가 HTML로 포함됩니다. 이를 통해 RSS 피드 리더가 전체 글 콘텐츠를 사용할 수 있도록 할 수 있습니다.

:::tip
[`sanitize-html`](https://www.npmjs.com/package/sanitize-html)과 같은 패키지는 콘텐츠가 적절하게 삭제되고, 이스케이프되고, 인코딩되었는지 확인합니다. 그 과정에서 이러한 패키지는 일부 무해한 요소와 속성도 제거할 수 있으므로 출력을 확인하고 필요에 따라 패키지를 구성하세요.
[`sanitize-html`](https://www.npmjs.com/package/sanitize-html)과 같은 패키지는 콘텐츠가 적절하게 삭제되고, 이스케이프되고, 인코딩되었는지 확인합니다. 그 과정에서 이러한 패키지는 일부 무해한 요소와 속성도 제거할 수 있으므로 출력을 확인하고 필요에 따라 패키지를 구성합니다.
:::

콘텐츠 컬렉션을 사용할 때는 [`markdown-it`](https://github.com/markdown-it/markdown-it)과 같은 표준 마크다운 파서를 사용하여 글의 `body`를 렌더링하고 결과를 이스케이프 처리합니다.
콘텐츠 컬렉션을 사용할 [`markdown-it`](https://github.com/markdown-it/markdown-it)과 같은 표준 Markdown 파서를 사용하여 콘텐츠를 렌더링할 때 필요한 추가 태그 (예: `<img>`)를 포함하여 게시물의 `body`를 렌더링하고 결과를 정리합니다.

```js title="src/pages/rss.xml.js" ins={3, 4, 5, 16}
import rss from '@astrojs/rss';
Expand All @@ -182,7 +182,9 @@ export async function GET(context) {
items: blog.map((post) => ({
link: `/blog/${post.slug}/`,
// 참고: MDX 파일에서 컴포넌트나 JSX는 처리하지 않습니다.
content: sanitizeHtml(parser.render(post.body)),
content: sanitizeHtml(parser.render(post.body), {
allowedTags: sanitizeHtml.defaults.allowedTags.concat(['img'])
}),
...post.data,
})),
});
Expand Down