변수

개요

Quarto로 렌더링한 문서에는 여러 방식으로 동적 변수를 포함할 수 있습니다. 이는 상황에 따라 달라지는 콘텐츠를 외부화하거나, 여러 위치에서 같은 값을 반복하는 대신 사용할 수 있는 방법입니다(예: 버전 번호).

예를 들어 다음 코드는 문서 메타데이터의 title 값을 출력합니다.

{{< meta title >}}

여기서 사용한 {{< meta >}} 구문은 숏코드의 한 예입니다. Quarto는 다음 숏코드를 통해 동적 변수를 지원합니다.

숏코드 설명
var _variables.yml 파일의 값
meta 문서 메타데이터 값
env 시스템 환경 변수 값

var

Quarto 프로젝트를 사용하는 경우 var 숏코드로 프로젝트 루트의 _variables.yml 파일에서 콘텐츠를 가져올 수 있습니다. _quarto.yml과 같은 위치에 파일을 만들고, 프로젝트의 어느 문서든 해당 변수를 참조하세요.

변수는 단순 값 또는 마크다운 콘텐츠일 수 있습니다. 프로젝트 루트에 _variables.yml을 아래와 같이 작성합니다.

version: 1.2

email:
  info: info@example.com
  support: support@example.com

engine:
  jupyter: "[Jupyter](https://jupyter.org)"
  knitr: "[Knitr](<https://yihui.name/knitr>)"

engine 변수 값에는 하이퍼링크를 위한 마크다운이 포함되어 있습니다. 마크다운은 올바른 형식이어야 하며, 변수가 삽입되는 주변 구조를 변경할 수 없습니다(예: 변수 삽입 전 열린 div를 닫는 등의 작업 금지).

변수 값을 포함하려면 {{< var >}} 숏코드를 사용합니다.

Version {{< var version >}} is a minor upgrade.

Please contact us at {{< var email.info >}}.

Quarto includes {{< var engine.jupyter >}} and 
{{< var engine.knitr >}} computation engines.

meta

meta 숏코드는 Pandoc 메타데이터(문서 상단 YAML이나 _quarto.yml)에서 값을 삽입합니다.

예를 들어 다음 숏코드는 메타데이터 title 값을 삽입합니다.

{{< meta title >}}

점(.) 구분자를 사용해 하위 키를 참조할 수 있습니다.

{{< meta labels.description >}}

또한 점(.) 구분자를 사용해 배열 요소를 인덱싱할 수도 있습니다. 예를 들어 첫 번째 작성자를 가져오려면 다음과 같습니다.

{{< meta author.1 >}}

필드 이름에 점(.)이 포함돼 있다면 두 개의 백슬래시(\\)로 이스케이프하세요. 예를 들어 field.with.dots 값을 가져오려면 다음과 같습니다.

{{< meta field\\.with\\.dots >}}

env

env 숏코드는 환경 변수 값을 읽어옵니다.

Version {{< env PRODUCT_VERSION >}} is a minor upgrade.

환경 변수가 설정되지 않았을 때 사용할 기본값을 두 번째 인자로 전달할 수 있습니다.

Version {{< env PRODUCT_VERSION "*.*" >}} is a minor upgrade.

Quarto 프로젝트에서 환경 변수를 설정하는 방법은 환경 변수를 참고하세요.

이스케이프

변수 숏코드 사용법을 문서화할 때(예: 이 문서처럼) 숏코드가 실제로 처리되지 않도록 막아야 할 수 있습니다. 방법은 두 가지입니다.

  1. 다음과 같이 중괄호를 추가해 숏코드 참조를 이스케이프합니다.

    {{{< var version >}}}
  2. 숏코드 처리를 막고 싶은 코드 블록에 shortcodes=false 속성을 추가합니다.

    ```{shortcodes=false}
    {{< var version >}}
    ```