I'm currently involved on writing The book of OpenLayers3 using the great LeanPub platform. LeanPub has many benefits (I should write a post some day talking about) and one of them are you write the book using the markdown notation (really a slightly extended dialect) and they generate automatically your book in PDF, ePub and mobi formats.
At first, writing a book using markdown notation can seem too much effort or a hipsters' fashion but, in my experience, it is better than to use a WYSIWYG text processor. In software engineering words, decouple the content from its representation is a win.
To write the book in markdown notation I'm using the powerful SublimeText editor and I'm mainly using the next three plugins specially designed to work with markdown.
MarkdownEditing recognizes the markdown syntax and provides a nice theme for its syntax highlighting. You can make the window full screen and write in free distraction mode.
MarkdownPreview creates a HTML version of the content ready to be previewed in the browser, this way you can get a better idea of how your content is growing. Also any changes on the markdown document can be easy updated in the browser refreshing the page.
I write each chapter in a separate file. As it grows it is more complicated to see which sections and subsections I have created.
MarkdownTOC help me with this situation creating (and updating) automatically on top of the document a list with the headers of the markdown document.
The book is written in English language and (I consider) my English is really poor so I have activated the spell checking to avoid great and infamous mistakes.
Due my language limitations I'm worried repeating too much the same introductory words or making the reading tedious, so I'm opened to any writing suggestions, corrections and improvements. No doubt to talk with me.