인클루드

개요

인클루드는 여러 문서에서 콘텐츠를 재사용할 수 있는 편리한 방법입니다. 일반 마크다운뿐 아니라 실행 가능한 코드 셀이 있는 .qmd 파일에도 사용할 수 있습니다(단, 모든 셀은 동일한 엔진을 사용해야 하므로 knitr와 jupyter를 동시에 섞을 수는 없습니다).

파일을 포함하려면 문서에서 원하는 위치에 {{< include >}} 숏코드를 추가합니다.

{{< include _content.qmd >}}
Important

인클루드 숏코드는 포함된 파일의 텍스트를 그대로 복사해 본문에 붙여 넣는 것과 같습니다. 포함된 파일 안의 상대 참조(링크, 이미지, 다른 인클루드 등)는 포함 파일이 아니라 본문 파일의 디렉터리를 기준으로 해석됩니다. 포함 파일에서 링크·이미지·다른 인클루드를 사용할 때는 프로젝트 루트 기준 절대 경로를 사용해 올바르게 해석되도록 하세요(예: [A Figure Reused](/path/to/image.png), {{< include /path/to/_file.qmd >}}).

또한 포함 파일에 메타데이터 블록이 있으면 해당 블록이 모든 포함 파일에 적용됩니다. 대부분의 경우 포함 파일에 메타데이터 블록이 있으면 예상치 못한 동작이 발생합니다.

Important

인클루드 숏코드는 한 줄에 단독으로 존재해야 하며, 위아래에 빈 줄이 있어야 합니다. 즉, 글머리 기호 항목 같은 마크다운 구문 안에서는 사용할 수 없습니다.

콘텐츠

예를 들어 하나의 주제에 대한 여러 글이 공통 도입부를 공유한다면 인클루드를 사용할 수 있습니다. 아래 예시는 “Revealjs Presentations”라는 글에서 Revealjs에 특화되지 않은 기본 정보를 _basics.qmd로 포함하는 사례입니다. 실행하지 않고 보여 주고 싶은 데모 코드를 스크립트로 저장해 _demo.R, _demo.py를 코드 블록 안에 포함할 수도 있습니다.

---
title: "Revealjs Presentations"
---

## Overview

Revealjs Presentations are a great way to
present your ideas to others!

{{< include _basics.qmd >}}

## Revealjs Options

More content here...

## Do it yourself with R

```r 
{{< include _demo.R >}}
```

Copy the R code above in your session.

## Do it yourself with Python

```python
{{< include _demo.py >}}
```

Copy the Python code above and run it.

포함할 파일에는 밑줄(_) 접두사를 사용하고 있습니다. 프로젝트를 quarto render로 렌더링할 때 포함 파일이 독립 문서로 처리되지 않도록 항상 밑줄 접두사를 붙이세요.

계산

실행 셀이 있는 파일도 포함할 수 있습니다. 예를 들어 여러 문서에서 공유하고 싶은 데이터 전처리 .qmd를 포함할 수 있습니다.

---
title: "My Document"
---

{{< include _data.qmd >}}


Use the data...

포함되는 내용은 다음과 같습니다.

_data.qmd

Load the `sp500` from [`great_tables`](https://posit-dev.github.io/great-tables/)

```{python}
import great_tables as gt
from great_tables.data import sp500
sp500.head()
```

계산형 인클루드를 사용할 때는 다음을 기억하세요.

  1. 모든 계산은 여전히 하나의 엔진(knitr 또는 jupyter)만 공유합니다.

  2. 계산형 인클루드는 .qmd에서만 작동합니다(.ipynb 노트북에서는 작동하지 않습니다).

include 숏코드는 실행 코드 블록 내부에서는 사용할 수 없습니다. 위 예시처럼 실행 코드 블록은 포함되는 문서 안에 있어야 합니다.