확장 만들기

개요

Quarto 확장은 Quarto의 동작을 수정하거나 확장하는 강력한 방법이며, 누구나 만들고 배포할 수 있습니다. 사용 가능한 확장 유형은 다음과 같습니다.

확장 설명
쇼트코드 다양한 유형의 콘텐츠를 생성하는 특수 마크다운 지시문입니다. 예를 들어 문서에 트윗이나 비디오를 임베드하는 쇼트코드를 만들 수 있습니다.
필터 새로운 전역 동작 및/또는 새로운 마크다운 렌더링 동작을 도입하기 위한 유연하고 강력한 도구입니다. 예를 들어 출력 접기, 이미지 캐러셀 등 원하는 거의 모든 동작을 필터로 만들 수 있습니다.
저널 아티클 마크다운으로 전문 저널 아티클을 작성하고, LaTeX(PDF)와 HTML 버전을 생성할 수 있도록 지원합니다.
커스텀 형식 문서 옵션, 템플릿, 스타일시트 및 기타 콘텐츠를 묶어 새로운 출력 형식을 만듭니다.
Revealjs 플러그인 Revealjs로 만든 HTML 프레젠테이션의 기능을 확장합니다.
프로젝트 타입 표준 콘텐츠와 옵션을 묶은 새로운 프로젝트 타입을 만들거나, 커스텀 HTML 형식에 대한 웹사이트를 쉽게 만들 수 있게 합니다.
스타터 템플릿 템플릿과 예제 콘텐츠를 제공해 사용자가 새 프로젝트를 쉽게 시작하도록 돕습니다. 스타터 템플릿은 엄밀히 말해 확장이 아니며(즉 _extensions 디렉터리에 설치되지 않음), 커스텀 형식 및 프로젝트 타입과 함께 자주 사용됩니다.
메타데이터 기존 Quarto 프로젝트에 병합할 수 있는 YAML 구성을 제공합니다.
브랜드 brand.yml 파일과 자산을 배포합니다.

개발

확장 유형마다 개발 요구 사항이 다릅니다. 일부 확장은 YAML 메타데이터만으로 만들 수 있지만, 많은 경우 Lua로 사용자 정의 스크립팅을 하게 됩니다.

다음 문서는 확장 개발에 필요한 Lua 학습과 사용을 자세히 설명합니다.

  • Lua 개발은 확장 제작에 사용되는 언어인 Lua를 시작하는 데 도움이 됩니다.

  • Lua API 문서는 확장 제작에 사용되는 Pandoc 및 Quarto Lua API 문서를 제공합니다.

배포

최종 사용자에게 확장을 배포하는 방법은 두 가지가 있습니다.

  • 공개 GitHub 저장소에 확장을 배포

  • 확장을 .zip 또는 .tar.gz 아카이브로 묶기

확장 배포에서는 GitHub와 일반 gzip 아카이브를 사용해 확장을 패키징하고 배포하는 방법을 자세히 설명합니다.

예시

위 문서에는 각 확장 유형에 대한 간단한 예제가 포함되어 있습니다. 이를 이해한 뒤, 더 고급 예시를 보려면 다음을 참고하세요.

Quarto Extensions GitHub 조직은 Quarto 핵심 팀이 개발한 확장 모음을 제공합니다. 이 확장들은 자주 요청되는 기능을 구현하고 있으며, 모두 확장 구현의 좋은 예시가 됩니다.

Quarto Journals GitHub 조직은 Quarto 핵심 팀이 개발했거나 서드파티가 기여한 저널 아티클 형식 모음을 포함합니다.

마지막으로 대부분의 공개 확장은 GitHub에 호스팅되어 있으므로 학습에 활용할 수 있는 소스 코드가 있습니다.