노트북 필터
개요
Quarto를 염두에 두지 않고 만든 기존 Jupyter 노트북을 렌더링하는 경우, 마크다운으로 변환하기 전에 노트북을 전처리하고 싶을 수 있습니다. 이는 하나 이상의 ipynb-filters를 지정해 수행할 수 있습니다. 이 필터들은 노트북의 JSON 표현을 stdin으로 받고, 변환된 JSON을 stdout으로 출력해야 합니다.
Note
노트북 필터의 목적은 기존 .ipynb 파일을 Quarto에서 사용할 수 있게 변환하는 것입니다. 따라서 노트북 필터는 원본 입력이 .ipynb일 때만 실행되며(.qmd에는 실행되지 않습니다).
예제
예를 들어, 다음 노트북 필터는 nbformat 패키지로 노트북을 읽고 각 코드 셀의 소스 앞에 주석을 추가한 뒤 stdout으로 다시 출력합니다:
import sys
import nbformat
# stdin에서 노트북 읽기
nb = nbformat.reads(sys.stdin.read(), as_version = 4)
# 각 셀의 소스에 주석 추가
for index, cell in enumerate(nb.cells):
if cell.cell_type == 'code':
cell.source = "# comment\n" + cell.source
# stdout으로 노트북 출력
nbformat.write(nb, sys.stdout)이 필터는 ipynb-filters 옵션(문서 또는 프로젝트 수준에서 지정)으로 실행되도록 구성할 수 있습니다:
---
ipynb-filters:
- filter.py
---필터의 현재 작업 디렉터리는 입력 노트북의 위치로 설정됩니다.