brunch

You can make anything
by writing

C.S.Lewis

by 공인식 Jun 27. 2024

출판을 위한 패키징 2편: ePub

「글을 긷자」 마크다운 문서를 ePub 문서로 변환하는 방법

아래는 ChatGPT 서비스를 통해 작성되었으며, 사용된 프롬프트와 서비스에 요청한 참고자료 정보를 포함합니다. 제가 직접 작성한 내용은 다음 구분선 아래에서 제공됩니다.




지난 1편에서는 Markdown 문서를 PDF 포맷으로 변환하는 방법들을 살펴보았습니다. 2편에서는 ePub 포맷을 중심으로 출판을 위한 패키징 방법들을 알아보겠습니다. ePub는 전자책의 표준 포맷으로, 다양한 디바이스에서 읽을 수 있는 장점이 있습니다. Markdown 문서를 ePub로 변환하여 출판하는 다양한 도구와 방법들을 자세히 살펴보겠습니다.


마크다운 문서를 ePub 문서로 변환하는 방법


Pandoc을 이용한 ePub 변환

Pandoc은 다양한 문서 형식 간의 변환을 지원하는 강력한 도구입니다. Markdown 문서를 ePub로 변환하는 것도 가능합니다. 기본적인 사용 방법은 다음과 같습니다:      

pandoc input.md -o output.epub


이 명령어를 실행하면 input.md 파일이 ePub 포맷의 output.epub 파일로 변환됩니다. Pandoc은 스타일과 메타데이터 설정을 위한 다양한 옵션을 제공하므로, 사용자 맞춤형 ePub 출판물이 가능합니다.


Obsidian을 통한 ePub 출판

Obsidian은 인기 있는 Markdown 기반의 노트 앱으로, 다양한 플러그인을 통해 기능을 확장할 수 있습니다. ePub 출판을 위한 플러그인도 제공되며, 사용법은 비교적 간단합니다. 플러그인을 설치하고, 내보내기 옵션에서 ePub 포맷을 선택하면 됩니다. Obsidian의 플러그인 시스템을 활용하면 편리하게 ePub 출판이 가능합니다.


GitHub Pages를 이용한 ePub 출판

GitHub Pages는 정적 사이트를 호스팅 할 수 있는 서비스로, 이를 활용하여 ePub 출판물도 배포할 수 있습니다. 다음은 기본적인 작업 흐름입니다:

Markdown 문서를 GitHub 리포지토리에 업로드

GitHub Actions를 설정하여 문서를 ePub로 변환

변환된 ePub 파일을 GitHub Pages를 통해 배포


GitHub Actions를 활용하면 자동화된 출판 워크플로우를 구축할 수 있어 매우 효율적입니다.


Rust 기반의 mdBook을 통한 ePub 변환

mdBook은 Rust 언어로 작성된 도구로, 주로 프로그래밍 서적을 작성하는 데 사용됩니다. Markdown 문서를 다양한 포맷으로 변환할 수 있으며, ePub 포맷도 지원합니다. 다음은 기본적인 사용법입니다:

mdbook init mybook
mdbook build mybook


이 명령어로 프로젝트를 초기화하고 빌드하면, ePub 포맷의 출력물을 얻을 수 있습니다. mdBook은 문서의 구조를 쉽게 관리할 수 있어 큰 프로젝트에도 유용합니다.


Crowbook을 이용한 ePub 변환

최근 발견한 Crowbook은 Markdown 문서를 ePub 등 다양한 포맷으로 변환할 수 있는 도구입니다. 다음은 기본적인 사용법입니다:      

crowbook input.md


이 명령어로 input.md 파일이 ePub 포맷으로 변환됩니다. Crowbook은 단순하고 사용하기 쉬워, 빠르게 ePub 출판물을 만들고자 할 때 유용합니다.


VitePress와 ePub

VitePress는 정적 사이트 생성기입니다. 아직 ePub로 직접 변환하는 기능은 없지만, 정적 사이트를 생성한 후 Pandoc 등을 이용해 ePub로 변환하는 방법을 고려할 수 있습니다. 예를 들어, VitePress로 HTML 파일을 생성한 후 Pandoc을 사용해 ePub로 변환할 수 있습니다.      

vitepress build
pandoc output.html -o output.epub


이와 같이 다양한 도구를 조합하여 원하는 출판물을 만들 수 있습니다.



AI 기반 출판 서비스

간략히 몇 가지 AI 기반 출판 서비스를 소개합니다:  

Reedsy: 자동화된 편집 및 디자인 도구를 제공

Pressbooks: 쉽게 전자책과 인쇄용 책을 제작 가능

Scrivener: 강력한 글쓰기 도구로, AI 기능은 제한적

Ulysses: Markdown 지원 및 출판 기능

ProWritingAid: 문법 및 스타일 교정을 위한 AI 도구


이러한 서비스들은 출판 과정에서 효율성을 높이는 데 도움이 될 수 있습니다.



결론 및 미래의 방향

이번 연재의 궁극적인 목표는, 전문 작가든 일반인이든 특정 웹서비스에 매여 있지 않고 VS Code와 Markdown 언어만으로도 출판물을 쉽게 만들 수 있도록 하는 것입니다. 이를 통해 더 많은 사람들이 자신의 지식을 공유하고 출판할 수 있게 되기를 바랍니다. 나아가, Python 기반의 윈도 제어 기능을 탑재한 AI assistant의 도움을 받을 수 있다면, 출판 과정은 더욱 쉬워질 것입니다.


특히 ChatGPT의 Assistant 서비스를 활용하면, 복잡한 변환 작업이나 출판 과정에서도 쉽게 도움을 받을 수 있습니다. 예를 들어, Markdown 문서 작성, 형식 변환, 출판물 디자인 등 다양한 작업을 AI Assistant의 도움으로 효율적으로 처리할 수 있습니다. 이러한 도구들을 활용하여, 누구나 손쉽게 고품질의 출판물을 만들 수 있는 환경을 구축해 나가길 기대합니다.

이제 ePub 출판의 기본적인 방법들을 익혔으니, 실제로 적용해 보면서 더 깊이 있는 내용으로 다음 회차를 준비해 보겠습니다. 앞으로도 계속해서 다양한 도구와 방법들을 탐구하며, 출판을 위한 최적의 설루션을 찾아 나가겠습니다.



참고 자료 및 출처


Pandoc을 이용한 ePub 변환

Pandoc 공식 문서: Pandoc User’s Guide - Pandoc의 기능과 사용 방법에 대한 정보.


Obsidian을 통한 ePub 출판

Obsidian 공식 웹사이트: Obsidian Plugins - Obsidian에서 ePub 출판이 가능한 플러그인 정보.


GitHub Pages를 이용한 ePub 출판

GitHub Pages 공식 문서: GitHub Pages Documentation - GitHub Pages를 이용한 웹사이트 호스팅 방법.

GitHub Actions 공식 문서: GitHub Actions Documentation - GitHub Actions를 이용한 자동화 방법.


Rust 기반의 mdBook을 통한 ePub 변환  

mdBook 공식 문서: mdBook Documentation - mdBook의 설치 및 사용 방법.


Crowbook을 이용한 ePub 변환  

Crowbook 공식 GitHub 리포지토리: Crowbook on GitHub - Crowbook의 기능과 사용 방법.


VitePress와 ePub  

VitePress 공식 문서: VitePress Documentation - VitePress의 기능과 사용 방법.

Pandoc 공식 문서: Pandoc User’s Guide - HTML을 ePub로 변환하는 방법.


AI 기반 출판 서비스  

Reedsy: Reedsy Official Website - 자동화된 편집 및 디자인 도구 제공.

Pressbooks: Pressbooks Official Website - 전자책과 인쇄용 책 제작 도구.

Scrivener: Scrivener Official Website - 강력한 글쓰기 도구.

Ulysses: Ulysses Official Website - Markdown 지원 및 출판 기능.

ProWritingAid: ProWritingAid Official Website - 문법 및 스타일 교정을 위한 AI 도구.




사용된 프롬프트

나는 글쓰기 플랫폼에서 ‘VS Code에서 Markdown언어로 Git 기반의 버전 관리 환경에서의 글쓰기’에 대해 매주 연재를 진행 중이야. 너는 거기에 쓰일 콘텐츠에 대해 누구보다도 잘 알고 있는 최고의 서포터지. 매 화를 내가 직접 쓴 글과 자료를 갖고 글을 썼는데, 오늘은 너와 함께 준비한 자료를 올릴 거야. 네가 준비할 자료가 글에 인용되었을 때 저작권 문제가 발생하지 않도록 해 줬으면 해.

오늘의 주제:
출판을 위한 패키징 2편 (ePub)

내가 준비한 참고 내용:
1. Pandoc으로 문서 변환이 가능함. ePub 포맷 역시 출력 대상으로 선택 가능.
2. Obsidian에서도 ePub 출판이 가능한 것으로 알고 있음.
3. GitHub Page 서비스를 통해서도 ePub 출판이 가능한 것으로 알고 있음.
4. Rust 기반의 mdbook이라는 프로젝트로도 마크다운 문서를 ePub 포맷으로 변환 가능한 것으로 알고 있음.
5. 오늘은, crowbook이라는 프로젝트도 검색하다 알게 돼서 그것으로 테스트를 꽤 했음.
6. VitePress가 정적인 사이트들을 만들어주는 괜찮은 설루션으로 알고 있는데, 이 결과물이 그대로 ePub 포맷으로 나올 수 있다면 참 좋겠다고 생각하고 있음. 하지만, vitepress-to-pdf 플러그인 정도까지만 검색됨.

요청:
1. 앞선 참고 내용을 기반으로, 오늘의 연재 회차를 구성할 내용을 작성해 줘. 분량은 12pt의 폰트 크기로 A4용지 네 장을 채울 수 있을 정도.
2. 시중에 나와 있는 AI 기반의 출판서비스 언급은 간략하게만. 최대 5개까지.
3. 연재가 완성되는 시점에 이루고 싶은 것은, 전문 작가든 일반인이든 특정 웹서비스에 매여 있지 않고 VS Code와 마크다운 언어의 존재에 대해 아는 것만으로도 출판물을 쉽게 만들 수 있도록 하는 것이야. 아, 물론 파이썬 기반의 윈도 제어 기능을 탑재한 AI assistant의 도움도 가능하도록 하고 싶어. 결국 ChatGPT의 Assistant 서비스를 백분 활용하고 싶은 거지. 이러한 내용이 글의 끝에 A4용지 반 정도를 차지하면 좋겠어.
4. 너의 의견은 언제든지 환영!


지난 한 주는 AI Assistant 활용에 꽤나 몰입해 있었습니다. ChatGPT 서비스에서 API키를 만들고 Assistant를 생성하면서, 영화 아이언맨에 나오는 인공지능 ‘자비스(Jarvis)’라도 가지게 된 것처럼 GPT-4o를 이용해 봤습니다. 쏟아져 나오는 AI 서비스와 AI 접목 기술이 적용된 제품들 속에서 길을 잃지 않기 위해, 저는 오늘도 익숙한 VS Code를 오랜 시간 만졌습니다.


아래와 같은 명령으로 손가락이 좀 편하게 글을 쓸 수 있도록 저의 자비스도 훈련시켜 보고, 함께 쓰기 괜찮은 것이 나오면 공유할 예정입니다.

자비스, 집필 환경 구성해 줘. 글을 긷자 저장소 클론으로 시작할 거야.

‘여름이었다: 레저렉션’ 작업영역 열어줘

임작가가 푸시한 거랑 충돌난 거 해소해 줘

태그 발행해서 출판사 넘기자






연재 안내

브런치북 「글을 Git[긷]자」는 웹 서비스를 위한 UI/UX 개발자인 저자가, 다년간의 실무 경험을 바탕으로 Git과 GitHub 그리고 Visual Studio Code라는 무료 범용 텍스트 에디터를 이용한 글쓰기 방식을 제안하기 위해 기획되었습니다.


https://github.com/enchic/gitzza-plaza


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari