brunch

You can make anything
by writing

C.S.Lewis

by 공인식 Aug 22. 2024

Paged.js 소개

「글을 긷자」 작품을 관통하는 타임라인, 페이지네이션

무언가를 준비하기 위해 이것저것 찾다 보면 뜻밖의 정보가 툭 튀어나오기도 합니다. 얼마 전 알게 된 Paged.js라는 오픈소스 프로젝트가 그랬습니다. Paged.js는 출판을 고려해 제작된 웹 문서 하나를 그대로 출력해서 제본만 하면 책이 뚝딱하고 만들어질 수 있을 만큼 아주 강력한 접근을 하고 있는 자바스크립트 라이브러리입니다. 지난주에는 이 라이브러리를 VitePress에 적용하다가 실패를 했고, 이번 화에서는 짧게 프로젝트 소개만 해 드리겠습니다.


Paged.js

Paged.js는 페이지가 매겨진 콘텐츠를 브라우저에 표시하고 웹 기술을 사용하여 인쇄본을 생성하는 오픈 소스 라이브러리입니다. (구글 번역)
원문: Paged.js is an open-source library to display paginated content in the browser and to generate print books using web technology.


프로젝트 소개를 하려고 보니 ‘페이지 매김’ 처리 또한 책에서 아주 중요한 역할을 하고 있다는 생각이 들었습니다. ‘숫자 매김 처리된 페이지의 연속’이라는 타임라인이 있어, 그 위에서 작가와 독자가 싱크를 맞추며 함께 호흡할 수 있겠다고 정리하고 있습니다.


아래 경로의 문서는 표지를 포함해 총 236페이지의 책 전문을 펼쳐놓은 모양을 하고 있습니다. 웹 브라우저를 통해 확인할 수 있는 각 페이지의 내용과 인쇄용의 것이 정확히 일치하며, 각 페이지의 숫자가 매 페이지별로 자동으로 들어가 있는 것을 볼 수 있습니다. 심지어, 17 페이지에서처럼 숫자 앞에 현재 페이지 세트가 속해 있는 챕터명이 자동으로 들어가도록 할 수 있습니다.

https://s3.amazonaws.com/pagedmedia/pagedjs/examples/polyfill.html

출처: GitHub 프로젝트 저장소(https://github.com/pagedjs/pagedjs), MIT license






이런저런 변화의 시기를 맞고 있어서인지 계획해 둔 여러 일의 진행이 쉽지 않지만, 그 와중에도 회사의 일이 줄고 있지 않는 것을 다행이라고 여기고 있습니다.


기계적으로 빠르게 생산하는 대신 손에 힘주어 가며 종이에 꾹꾹 눌러쓰듯 콘텐츠를 준비 중입니다. 생업과 개인사 또한 진한 흔적을 남기며 제 삶에 중력을 더하고 있어 우선순위를 정하는 것이 쉽지 않습니다. 연재는 꾸준히 이어갈 계획입니다. 생을 위한 독자님의 중력도 더욱 강해지고 있기를 바랍니다. 손 볼 데가 많은 콘텐츠를 꾸준히 먼저 찾아 주셔서 고맙습니다.

이전 14화 전자책 출판을 위한 VitePress - 분할과 병합
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari