Markdown에서 목차, 챕터 및 표지가 있는 EPUB을 한 번의 API 호출로 생성

출판 산업은 책 생산을 위한 정교한 도구 체인을 구축하는 데 수십 년을 보냈습니다. 원고는 여러 전문가와 각 단계마다 여러 소프트웨어 라이선스를 포함하는 파이프라인을 통해 워드 프로세서에서 페이지 레이아웃 소프트웨어를 거쳐 PDF 생성기에서 인쇄 준비 파일로 이동했습니다. 전자책이 도착했을 때, 파이프라인은 단순화되기보다는 추가적인 복잡성을 얻었습니다. 동일한 원고가 인쇄 준비 PDF와 반사 가능 EPUB을 모두 생성해야 했으며, 콘텐츠를 표시하는 방법에 대해 근본적으로 다른 철학을 가진 형식입니다. 인쇄 형식은 모든 것을 제자리에 잠급니다. 전자책 형식은 모든 것이 흐르게 합니다. 단일 소스에서 둘 다 생성하는 것은 기존 출판 도구 체인이 조각보 이불의 모든 우아함으로 처리하는 문제입니다.

자비로 출판하는 저자는 기존 출판사가 제공하는 제도적 지원 없이 이 도구 체인의 복잡성에 직면합니다. 원고는 Word 문서 또는 Google Doc으로 존재합니다. 적절하게 포맷된 EPUB으로 변환하려면 전문 전자책 제작 소프트웨어(Calibre, Sigil, Vellum)를 배우거나 프로젝트당 비용을 청구하는 포맷터를 지불해야 합니다. 책에 창의적 가치를 추가하지 않는 포맷 단계는 원고 완성과 독자에게 제공 사이의 병목 지점이 됩니다. 여러 책을 출판하는 저자의 경우, 이 포맷 단계의 누적 비용과 시간은 상당하며 완전히 예측 가능하여 자동화의 이상적인 후보입니다.

Ebooks API는 전체 변환 프로세스를 단일 API 호출로 축소합니다. 모든 텍스트 편집기가 생성할 수 있고 모든 저자가 10분 안에 배울 수 있는 형식인 Markdown에서 책을 작성하세요. 메타데이터와 선택적 표지 이미지와 함께 Markdown 콘텐츠를 보내세요. 구조화된 목차, 적절하게 구분된 챕터, 포함된 표지 이미지 및 전자책 소매업체와 라이브러리가 필요로 하는 모든 메타데이터가 포함된 전문적인 EPUB 파일을 받습니다. 하나의 입력, 하나의 호출, 하나의 출력. 전체 출판 도구 체인이 HTTP 요청으로 압축됩니다.

Markdown이 책 작성의 이상적인 형식인 이유

리치 텍스트 편집기에 익숙한 저자에게는 책 쓰기를 위한 Markdown의 적합성이 즉시 분명하지 않습니다. 이 형식은 Word 또는 Google Docs의 포맷된 보기와 비교할 때 단순해 보이고 거의 원시적입니다. 그러나 이 겉보기 단순성은 정확히 장형 글쓰기의 강점입니다. Markdown은 콘텐츠와 프레젠테이션을 완전히 분리하므로 저자는 어떻게 보일지로 인해 산만해지거나 제약받지 않고 자신이 말하는 내용에 집중합니다. 프레젠테이션 결정은 변환 프로세스 중에 나중에 발생하며, 원고에 건드리지 않고 일관되게 적용하고 도매로 변경할 수 있습니다.

Markdown의 챕터 제목은 해시 기호로 표시됩니다. 단일 해시는 책 제목을 나타냅니다. 이중 해시는 챕터 제목을 나타냅니다. 삼중 해시는 챕터 내의 섹션 제목을 나타냅니다. 이 계층 구조는 EPUB의 네비게이션 구조에 직접 매핑됩니다. 챕터 제목은 목차의 항목이 되고, 섹션 제목은 하위 항목이 되며, 책 제목은 최상위 네비게이션 요소가 됩니다. 저자는 제목을 표시하는 간단한 행동을 통해 책의 구조를 만들고, API는 그 구조를 EPUB의 네비게이션 프레임워크로 자동 변환합니다.

단락은 빈 줄로 구분됩니다. 강조는 별표로 표시됩니다. 블록 인용은 각괄호로 표시됩니다. 링크는 대괄호와 괄호로 표시됩니다. 이러한 Markdown 규칙들 각각은 EPUB의 내부 HTML에서 직접 동등하며, 변환은 결정론적입니다. 동일한 Markdown 입력은 항상 동일한 EPUB 구조를 생성합니다. 이 예측 가능성은 개정판 또는 업데이트된 판을 발행하는 저자에게 중요합니다. Markdown의 변경사항으로 인해 포맷 부작용을 도입하지 않고 EPUB에서 대응되는 정확한 변경이 생성되기 때문입니다.

Markdown 파일의 이식성은 또 다른 중요한 장점입니다. Markdown으로 작성된 원고는 모든 운영 체제에서 모든 도구로 열고, 편집하고, 버전 제어할 수 있는 일반 텍스트 파일입니다. 특정 워드 프로세서 버전에 잠기지 않으며, 액세스하기 위해 특정 소프트웨어 라이선스가 필요하지 않으며, 소프트웨어 형식이 진화함에 따라 시간이 지남에 따라 저하되지 않습니다. 오늘 작성된 Markdown 원고는 10년 또는 20년 후에 정확히 동일한 형식으로 읽을 수 있습니다. 이는 독점 문서 형식으로는 말할 수 없습니다. 저자가 오랜 기간 동안 자신의 작업을 유지하고 업데이트할 계획이라면, 이 형식의 수명은 의미 있는 이점입니다.

메타데이터 및 EPUB을 전문적으로 만드는 것

전문적인 EPUB 파일에는 책의 콘텐츠 이상이 포함됩니다. 책을 배포, 카탈로그 및 표시하는 시스템에 책을 설명하는 메타데이터가 포함됩니다. 제목, 저자, 발행자, 언어, 발행 날짜, ISBN, 설명 및 주제 범주는 모두 전자책 소매업체, 라이브러리 시스템 및 읽기 응용프로그램이 책을 올바르게 카탈로그하고 표시하는 데 사용하는 구조화된 메타데이터로 EPUB 파일에 포함됩니다.

API는 Markdown 콘텐츠와 함께 이 메타데이터를 수락하고 EPUB 메타데이터를 구조화하는 방법을 정의하는 OPF(Open Packaging Format) 사양에 따라 EPUB에 포함시킵니다. 메타데이터는 단순히 파일 헤더에 붙여넣지 않습니다. EPUB이 사용하는 Dublin Core 메타데이터 표준에 따라 형식화되며, 유효성 검사 도구 및 소매 플랫폼이 예상하는 올바른 요소 유형, 속성 및 네임스페이스 선언을 포함합니다. 올바르게 구조화된 메타데이터가 있는 EPUB은 Amazon KDP, Apple Books, Kobo, Google Play Books 및 기타 모든 주요 소매 플랫폼에서 수정 없이 수락됩니다.

표지 이미지는 잠재적 독자가 소매 환경에서 먼저 보는 것이기 때문에 특히 중요한 메타데이터 요소입니다. API는 표지 이미지 파일(JPEG 또는 PNG)을 수락하고 읽기 응용프로그램이 책의 표지로 표시하도록 하는 적절한 매니페스트 항목, 스파인 참조 및 메타데이터 선언을 사용하여 EPUB에 포함시킵니다. 이미지는 소매 플랫폼이 부과하는 크기 및 파일 크기 요구 사항을 충족하기 위해 필요에 따라 크기 조정 및 최적화되어 EPUB이 수동 이미지 처리 없이 소매 준비가 되도록 합니다.

ISBN 포함은 책을 글로벌 도서 거래 인프라에 연결하는 식별자이기 때문에 특별한 언급을 받을 자격이 있습니다. 적절하게 포함된 ISBN이 있는 EPUB은 라이브러리에서 카탈로그될 수 있고, 소매업체에서 추적되고, 검토 사이트에서 참조되며, 책이 논의되거나 판매되는 모든 맥락에서 명확하게 식별될 수 있습니다. API는 국제 ISBN 기관이 지정한 형식을 사용하여 EPUB의 메타데이터에 ISBN을 포함시켜 ISBN을 식별 및 카탈로그 관리에 사용하는 시스템과의 호환성을 보장합니다.

목차 및 챕터 구조

EPUB의 목차는 인쇄된 책의 목차와 다른 두 가지 기능을 수행합니다. 인쇄된 책에서 TOC는 챕터 제목과 페이지 번호를 나열하는 페이지입니다. EPUB에서 TOC는 모든 챕터 또는 섹션으로 직접 이동할 수 있게 하는 네비게이션 요소이며, 렌더링된 페이지가 아닌 읽기 응용프로그램의 네비게이션 인터페이스에 의해 표시됩니다. 잘 구조화된 EPUB TOC는 구조가 잘 된 웹 사이트가 탐색할 수 있는 것과 같은 방식으로 책을 탐색할 수 있게 합니다. 독자는 전체 책을 순차적으로 스크롤하지 않고 모든 챕터로 직접 이동할 수 있습니다.

API는 Markdown 콘텐츠의 제목 구조에서 TOC를 생성합니다. 각 레벨 2 제목(이중 해시)은 TOC의 챕터 항목이 됩니다. 각 레벨 3 제목(삼중 해시)은 상위 챕터 아래의 하위 항목이 됩니다. 이 2단계 네비게이션 구조는 대부분의 책에 충분한 세분화를 제공하면서 네비게이션 인터페이스를 과도한 하위 항목으로 압도하지 않습니다. TOC는 네비게이션 요소(EPUB2 호환성을 위한 NCX 및 EPUB3을 위한 Navigation Document)로 생성되어 책이 이전 전자책 리더 및 최신 읽기 응용프로그램에서 올바르게 작동함을 보장합니다.

생성된 EPUB의 챕터 구분은 Markdown의 레벨 2 제목에 해당합니다. 각 챕터는 전자책 리더의 새 페이지에서 시작되어 독자가 기대하는 챕터 간의 시각적 분리를 제공합니다. API는 전자책 리더가 각 챕터를 연속 스크롤이 아닌 별도의 네비게이션 단위로 취급하도록 적절한 XHTML 페이지 나누기 및 스파인 항목을 삽입합니다. 이 챕터 분리를 통해 전자책 리더는 읽기 진행률 표시기에 챕터 제목을 표시할 수도 있어 독자에게 현재 읽고 있는 챕터와 진행 상황을 보여줍니다.

여러 챕터, 부록 또는 전문 섹션을 포함하는 부분과 같은 복잡한 구조를 가진 책의 경우, Markdown 제목 계층은 이러한 구조에 자연스럽게 적응합니다. 레벨 1 제목은 부분을 나타낼 수 있고, 레벨 2 제목은 부분 내의 챕터를 나타내고, 레벨 3 제목은 챕터 내의 섹션을 나타냅니다. API는 이 계층을 EPUB의 네비게이션 구조에 충실하게 매핑하여 저자가 사용하는 중첩 레벨 수에 관계없이 책의 조직 논리를 반영하는 TOC를 생성합니다.

하나의 호출 및 API 요청의 모습

EPUB을 생성하는 API 호출은 Markdown 콘텐츠, 메타데이터 필드 및 선택적으로 표지 이미지 파일을 포함하는 POST 요청입니다. Markdown 콘텐츠는 저자가 사용하는 제목, 단락 및 기타 Markdown 요소로 표시된 책의 본문입니다. 메타데이터 필드는 키-값 쌍입니다: 제목, 저자, 언어, 설명, ISBN, 발행 날짜 및 저자가 포함하려는 추가 Dublin Core 필드. 표지 이미지가 제공되면 파일 첨부로 업로드됩니다.

응답은 다운로드, 배포 또는 소매 플랫폼으로 업로드할 준비가 된 EPUB 파일 자체입니다. 파일은 EPUB 3 사양과 EPUB 2 호환성 폴백을 준수하여 모든 최신 전자책 리더 및 읽기 응용프로그램은 물론 이전 표준만 지원하는 이전 장치에서도 작동합니다. 파일은 오류 없이 EPUB 유효성 검사(epubcheck)를 통과하며, 이는 대부분의 소매 플랫폼에 제출하기 위한 요구 사항이며 구조적 정확성의 강력한 지표입니다.

여러 책 또는 여러 판을 가진 저자의 경우, API 호출을 자동화된 출판 파이프라인에 통합할 수 있습니다. Markdown 원고는 버전 제어(예: Git)에 저장되고, 메타데이터는 구성 파일에 저장되며, 새 버전을 생성해야 할 때마다 빌드 스크립트가 API에 둘 다 보냅니다. 이 자동화된 파이프라인은 수동 포맷 워크플로우가 필요로 하는 시간 또는 일이 아닌 분 단위로 수정, 업데이트 및 새 판을 생성하고 배포할 수 있음을 의미합니다. 오타 수정에는 30초가 걸립니다. Markdown을 편집하고, 빌드 스크립트를 실행하고, 새 EPUB을 소매 플랫폼으로 업로드합니다.

API 호출의 단순성은 그 뒤에서 일어나는 작업의 복잡성을 숨깁니다. API는 Markdown을 파싱하고, 각 챕터에 대한 XHTML 콘텐츠 파일을 생성하고, OPF 매니페스트 및 스파인을 만들고, NCX 및 Navigation Document를 생성하고, 표지 이미지를 포함하고 참조하고, Dublin Core 및 EPUB 사양에 따라 모든 메타데이터를 구조화하고, 모든 것을 EPUB 컨테이너 형식(실제로는 특수하게 구조화된 ZIP 파일)으로 패키징하고, EPUB 사양에 대해 결과를 검증합니다. 이러한 각 작업은 수동 EPUB 생성의 잠재적 실패 지점을 나타내며 매번 자동으로 안정적으로 처리됩니다.

자주 묻는 질문

EPUB이 Kindle 기기에서 작동합니까

Amazon Kindle 기기는 EPUB이 아닌 MOBI 및 KFX 형식을 기본적으로 읽습니다. 그러나 Amazon KDP(Kindle Direct Publishing)는 업로드용 EPUB 파일을 수락하고 자동으로 Kindle 형식으로 변환합니다. 생성된 EPUB 파일을 수정 없이 KDP에 직접 업로드할 수 있습니다. Amazon의 변환은 형식 변환을 처리하고, EPUB에 포함된 메타데이터 및 구조는 Kindle 버전으로 전달됩니다.

책 콘텐츠에 이미지를 포함할 수 있습니까

예. Markdown 이미지 구문(느낌표, 대괄호, 괄호)을 사용하여 콘텐츠 내의 이미지를 참조할 수 있습니다. 참조된 이미지는 Markdown 콘텐츠와 함께 제공되어야 하며 적절한 매니페스트 항목으로 EPUB 파일에 포함됩니다. 이미지는 Markdown에서 지정된 위치의 텍스트 흐름에 배치되며, EPUB의 반사 가능한 레이아웃은 독자의 화면 크기를 기반으로 이미지 표시를 조정합니다.

어떤 Markdown 확장이 지원됩니까

API는 제목, 단락, 강조(굵게 및 기울임), 링크, 이미지, 블록 인용, 순서가 지정된 목록 및 순서가 지정되지 않은 목록, 수평선 및 코드 블록을 포함한 표준 Markdown 구문을 지원합니다. 표 및 각주와 같은 확장 구문 요소는 명확한 EPUB 동등물이 있는 곳에서 지원됩니다. 설명서에는 예제가 있는 지원되는 모든 요소가 나열되어 있습니다.

EPUB에 헌사 또는 전문과 같은 전문 사항이 포함될 수 있습니까

예. 전문 섹션은 첫 번째 챕터 제목 전의 Markdown에 포함되며 EPUB의 별도 섹션으로 취급됩니다. "헌사", "전문" 또는 "감사의 말"에 레벨 2 제목을 사용하면 목차에 표시되고 전자책 리더에서 별도의 페이지로 렌더링되는 탐색 가능한 섹션이 생성됩니다.

Markdown 입력에 크기 제한이 있습니까

API는 실제적인 책 길이의 Markdown 파일을 수락합니다. 80,000 ~ 100,000 단어의 소설과 유사하거나 더 큰 길이의 논픽션 작품은 문제 없이 처리됩니다. 포함된 이미지가 있는 매우 큰 작품은 이미지 파일을 포함한 총 요청 크기가 API 참조에 설명된 API의 업로드 제한 내에 있는지 확인해야 합니다.

같은 Markdown이 EPUB과 PDF를 모두 생성할 수 있습니까

예. 동일한 Markdown 콘텐츠를 다른 API 끝점으로 전송하여 동일한 소스에서 EPUB 및 PDF 출력을 생성할 수 있습니다. PDF 책 생성기는 고정 레이아웃 출력을 처리하는 반면 EPUB 끝점은 반사 가능한 레이아웃 출력을 처리합니다. 두 형식에 동일한 소스를 사용하면 배포 채널 전체에서 콘텐츠 일관성이 보장됩니다.