저자는 SSG의 불편함을 해소할 방법을 모색했지만, 적합한 기존 솔루션을 찾지 못했습니다. 결국 KDE의 KDialog를 활용하여 간단한 UI를 제공하는 스크립트를 직접 개발하기로 했고, 이를 “Poaster”라 명명했습니다. Poaster는 저자가 한때 배웠던 Ruby 언어로 작성되었습니다. 이 도구는 JSON 설정 파일을 통해 게시물 유형, 프론트매터 필드, 출력 디렉토리 등을 유연하게 사용자 정의할 수 있습니다.
스크립트는 KDialog를 통해 사용자에게 게시물 유형을 선택하게 하고, 필요한 정보와 콘텐츠를 입력받습니다. spawn_radio_list
, spawn_toast
, spawn_input_box
등의 Ruby 메서드들이 KDialog 명령어를 호출하여 대화 상자를 띄우고, ensure_dir_exists
, write_file
을 통해 파일 시스템 작업을 수행합니다. 모든 정보가 수집되면, Poaster는 입력된 데이터를 기반으로 마크다운 게시물 파일을 생성하고, 설정된 빌드 명령어(예: npx @11ty/eleventy
)와 업로드 명령어(예: rsync
)를 실행하여 웹사이트를 로컬에서 빌드하고 서버에 동기화합니다. 이 자동화된 과정 덕분에 사용자는 IDE 작업 없이도 클릭 몇 번으로 게시물을 발행할 수 있게 됩니다.