DEV Community

Cover image for Introducing: BookDown and the Bellefonte trilogy

Introducing: BookDown and the Bellefonte trilogy

forstmeier profile image John Forstmeier Updated on ・2 min read

This is sort of a dual show-and-tell of two little side projects I've put together.

First off, I have a very active imagination and I'm a huge fan of fiction, especially science fiction. As a result of these two characteristics, I've been gradually putting together a short story over the years called the Bellefonte trilogy, the first book of which can be found here. It's been accumulated at a very unhurried pace and it's an enjoyable way to exercise mindless and unbounded creativity. is the first place I've announced it publicly! 🎉

Originally, I had hosted the project on GitBook but moved off of the platform; then I tried Leanpub but ultimately opted to host it on GitHub Pages. Hugo provides a bunch of great themes but I wanted something super simple and minimal for my little book. MarkText might also be an option, I just haven't explored it yet (for generating HTML).

To that end, I built BookDown, a small command line tool for generating HTML from Markdown (much like other static generators) with the intent of hosting the output on GitHub Pages. There's a binary attached to the release that you can download and try out!

GitHub logo forstmeier / bookdown

Turn Markdown books into publishable HTML 📖


Get your book out there 📖

Go Report Card


BookDown is a Go command line application that turns Markdown files into a HTML files formatted and ready for publishing somehwere like GitHub Pages to be read as a book. I originally built this to create a clean/simple format to publish a side project of my own work. Hugo has some great themes but none of them were quite what I wanted and I felt like building something from the ground up.


Right now the options for usage are fairly limited but can be seen below.

  [ --title ]
  [ --dest ]
  [ --color ]
  [ --exclude ]
  [ --author ]
  [ --desc ]
  [ --keywords ]
  [ --darktheme ]
  [ <files> ]

Note: at least one file should be provided either as a command line argument or in the directory in which bookdown is being run.

I'd love feedback and contributions on both the book and the command line tool; I think I'll keep the Issues active on GitHub for the book in case people have comments/suggestions there and of course PRs are always welcome. There are definitely areas where I need to clean up (typos, duplicate words, etc) so if you find them, let me know. It's always enjoyable to work on and get feedback for non-software related side projects.

Thanks for reading!


Editor guide