Ryubook

I’m learning how to write fictional books. Although I have a Mac now with iBooks Author at my disposal, I still prefer using the git-based approach by using Markdown to write the content and have it built that way thanks to Gitbook. No Mac required. But Gitbook recently changed their focus more to documentation then books and has deprecated all tools that supported exporting to ePub and other formats.

For a while I wasn’t sure what to do. Then I discovered The Little Go Book. It’s an open source book that it uses Markdown for the content but Pandoc to build the book in ePub and PDF formats. It uses a makefile to streamline the process.

I tried out the makefile and discovered it to be flexible enough to replace Gitbook. I was originally going to use it as a generic Github template but then I realized it would be easier to make a tool instead. And that’s how I came up with Ryubook. It’s now possible to build The Little Go Book with Ryubook after you rename /en to /src and go.md to book.md.

Ryubook is written in C# and uses .NET Core 3.1 LTS as the target SDK. The name Ryu comes from .NET’s RyuJIT. I’ve set it up so it outputs as a self-contained and trimmed executable using the publishing commands but hopefully I can use the standard build process to achieve the same results with .NET 5.

Written on April 22, 2020