Gitbook으로 전자책 만들어보기

@Frank Oh · July 29, 2018 · 5 min read

1. 개요
1.1 주요 기능
2. Gitbook 설치
3. 사용방법
3.1 첫 GitBook 프로젝트 만들기
3.2 eBooks과 PDF 생성하기
4. 플러그인
4.1 플러그인 찾는 방법
4.2 플로그인 설정 및 설치
4.3 추천 플러그인
5. FAQ
6. GitBook Pages Examples
7. 참조 자료

1. 개요

요즘은 콘텐츠 시대라고 해도 과언이 아닙니다. 특정 방송 회사가 콘텐츠를 만들기보다 개인이 직접 좋은 콘텐츠를 만들어 유튜브와 같은 플랫폼에서 퍼블리쉬하는 시대로 바뀌었습니다. 리디북스 와 같은 eBook 리더기가 보급되고 점점 활성화되면서 eBook 시장에도 개인이 직접 책을 만들 수 있는 여러 도구와 플랫폼이제공되고 있습니다.

본 포스트에서는 마크다운 기반의 전자책 집필 시스템인 GitBook에 대해서 알아봅시다.

1.1 주요 기능

  • Markdown 언어로 집필 (ex. AsciiDoc, Markdown)
  • GitHub 저장소와 프로젝트를 연동하여 저장 가능
  • GitBook Editor 지원 - 웹, GUI(legacy 버전)
  • 여러 전자책 포멧 지원 (ex, PDF, EPUB, MOBI)
  • 여러 플러그인 지원 (ex. etoc, splitter)

2. Gitbook 설치

설치 방법은 맥 OS 기반으로 작성되었습니다. GitBook을 설치 하기 위해는 NodeJS가 기본적으로 설치되어 있어야 합니다. 없는 경우에는 아래 명령어로 설치합니다.

$ brew install nodejs

NPM를 통해 gitbook 패키지를 설치합니다.

$ npm install gitbook-cli -g
$ gitbook --version

전자책 포맷과 PDF를 생성하려면 ebook-convert 명령어가 필요합니다.

$ brew cask install calibre

$PATH 환경변수에 /usr/local/bin 폴더가 포함되어 있어야 합니다.

3. 사용방법

3.1 첫 GitBook 프로젝트 만들기

아래 명령어로 책의 boilerplate를 생성합니다. 기본적으로 README.md와 SUMMARY.md가 생성됩니다.

$ gitbook init

기본적인 boilerplate 대신 조금 더 구체적인 예를 보고 싶으면 아래 github에서 샘플 예제를 다운로드해서 실행해보세요.

$ git clone https://github.com/kenshin579/app-korean-catholic-bible.git
$ cd app-korean-catholic-bible/example/gitbook_markup_sample

아래 명령어로 웹사이트를 생성하여 브라우저에서도 볼 수 있습니다.

$ gitbook serve

image 3

image 4

3.2 eBooks과 PDF 생성하기

여러 전자책 포맷으로 출력할 수 있습니다.

$ gitbook pdf ./ ./mybook.pdf
$ gitbook epub ./ ./mybook.epub
$ gitbook mobi ./ ./mybook.mobi

image 5

image 1

4. 플러그인

GitBook의 여러 기능을 확장해주는 플러그인을 제공합니다. 어떤 플러그인은 있는지 찾는 방법과 설치 방법을 알아봅시다.

4.1 플러그인 찾는 방법

gitbook 플러그인 사이트 에서 원하는 기능을 가진 플러그인을 검색할 수 있습니다.

4.2 플로그인 설정 및 설치

루트 디렉터리에 있는 book.json 파일에 원하는 플러그인을 추가하고 필요하면 각 플러그인에 대한 설정도 같이해줍니다.

$ vi book.json
[
  {
    "plugins": ["myPlugin", "anotherPlugin"]
  },
  {
    "pluginsConfig": {
      "myPlugin": ""
    }
  }
]

설정이후 추가한 플러그인을 아래 명령어로 설치합니다.

$ gitbook install

4.3 추천 플러그인

5. FAQ

  • 루트 디렉터리에 있는 README.md은 GitHub에서도 같이 사용된다. GitBook에서 다른 README.md로 설정하려면 어떻게 해야 하나?

    • book.json를 아래와 같이 수정한다.
$ vi book.json
"structure" : {
  "readme": "INTRO.md"
}

6. GitBook Pages Examples

대학에서나 개인 사이트로 GitBook을 많이 사용하고 있습니다. 아래 예제들을 통해서 어떤 다양한 플러그인을 사용하고 GitBook을 어떻게 꾸몄는지 알아보면 좋을 것 같습니다.

7. 참조 자료

@Frank Oh
안녕하세요. 방문해주셔서 감사합니다. 컴퓨터 관련 스터디한 내용 기록하는 블로그입니다.