• Stars
    star
    156
  • Rank 239,589 (Top 5 %)
  • Language
    HTML
  • License
    MIT License
  • Created over 11 years ago
  • Updated over 9 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Learn how to craft an ebook using markdown.

This is a book on constructing ebooks using Markdown. No esoteric and complicated formats. No WYSIWYG editors. No PDF hell. Just plaintext.

You'll learn everything from generating a TOC to adding cover images.

It'll teach you the very workflow I used to write this book. A workflow that frees you from the constraints of writing in a complicated format that scarcely resembles text, or writing

You'll learn the following;

  • The differences between various Markdown implementations
  • How to take Markdown and turn it into;
    • epub
    • mobi
    • pdf
    • html
  • How to work with code samples, codeblocks, images, TOC etc
  • How to build custom Markdown extensions using Kramdown. For stuff like;
    • code bubbles
    • notes
    • asides
    • and other nifty little doodads
  • How various html ebook format wrappers (such as ePub, mobi etc) work. No magic!
  • Common markdown pitfalls (I documented all my failures while writing this book)
  • Various techniques for previewing your Markdown output
    • Sublime Text Previewing
    • html previews
    • automatic previews using the guard gem
  • How to mirror the Leanpub workflow using local tools
  • How to customize converters so you have full control of your in-between formats; laTeX (pdf) and HTML (ePub, mobi etc)
  • The minimal laTeX you'll need to get stuff done with PDF

What you need to know already

Some hacker skills are necessary to make full use of this book. To write books using Markdown you'll need to be comfortable getting your hands dirty, breaking things and learning. This book doesn't assume you're skilled in any particular language but it assumes you are skilled in programming. Familiarity with your systems package manager will be necessary.

Can you do this? $ homebrew install

Or if you are on Linux this? $ sudo apt-get install

If this leaves you scratching your head then you are not ready for this book. If you are left feeling comfortable and at ease, not queasy and fearful, then you are ready.

Some rudimentary ability to read and edit Ruby will be necessary. If you are comfortable enough to edit Gemfiles and install gems using bundler then you should be fine.

Table of Contents

  • Hacker meet book. Book meet hacker
  • We are going to need a workflow
    • LaTeX
    • Leanpub
  • Flavors of Markdown
    • Github flavored Markdown
    • MultiMarkdown
    • Markdown Extra
    • You might be tempted
  • Leanpubbin’
    • Leanpub Markdown flavor
    • Previewing Leanpub locally
  • LaTeXing
    • Installing LaTeX
    • Installing LaTeX Packages on Mac
    • Installing LaTeX Packages on Ubuntu (and other Debians)
    • Using Packages
    • LaTeX: A Very Brief Introduction
    • Custom LaTeX Styles
  • Going local
    • All the Markdown in One
    • Creating PDFs
    • Images and Your PDFs
  • Common Customization
    • My God, it’s full of Snippets
    • Including Source Files With Kramdown
    • Including Source Files With Pandoc
    • Including Files via LaTeX
    • Generating a Table of Contents
    • Custom thing a ma bobs
    • A key binding awaits
  • A Sublime Markdown Experience
    • Count my chars, measure my words, tell me the lines, express my worth
    • Getting Sublime
  • Pitfalls
    • Markdown Issues
    • LaTeX to PDF
    • HTML, Epub, Mobi etc
  • Prepping for Publishing
    • Converting to epub
    • From epub to mobi and beyond
    • Cover Images
    • Some brief notes on styling things
  • Wrap Up
    • Notes
    • The End

Planned Chapters

Chapters on the following topics are planned;

  • Using Quarto and PDFKit to generate PDFs from XHTML + CSS
  • Web based books with runnable consoles and code samples

This book is currently in beta

It is considered to be about 90% complete and is still undergoing proofreading, editing and revision. The last 10% can make a big difference in the quality of a work so please be forgiving if it does not meet your expectations.

A quick note on licensing

This book is licensed under a MIT license and is open sourced on Github. This does not mean I want you to read it for free, in fact, I want it to be worth more to you. I recognize that the more permissively licensed the more valuable it becomes. The more free my work is to move the greater the potential impact it can have.

My goal is to make the book as valuable to you as possible. So the less I limit you the better.

Feel free to take my book and use it in whatever way you like, in whatever way furthers your life the most. I only ask that in return, you contribute back to me what I contributed to you.

How much this work is worth to you is up for you to decide. I hope you find it's a lot.

You can purchase this book on Leanpub or if you like you can just drop me some bitcoin: 1csGsaDCFLRPPqugYjX93PEzaStuqXVMu or support me on Gittip

~K-2052

More Repositories

1

vanilla-hn

A Hacker News Reader in Vanilla JavaScript
JavaScript
34
star
2

org-to-markdown

org mode to markdown/mdx
JavaScript
30
star
3

middleman-ebook

A middleman project template for an HTML ebook or a documentation site that needs runnable examples.
CSS
25
star
4

moonscript-mode

An Emacs mode for moonscript
Emacs Lisp
14
star
5

mastering_nooku

An open source book I'm writing while I learn Nooku.
11
star
6

revise

Revise is an authentication gem for Padrino based on Devise.
Ruby
11
star
7

krambook

Kraft your ebooks with Kramdown
Ruby
8
star
8

places-that-have-a-good-hiring-process

7
star
9

whysbook.md

The writings from _why's recent return converted to Markdown
6
star
10

awesome-modern-design-tools

A list of modern design tools, blog posts about them, and people working on them.
6
star
11

godbox

My VagrantFile and chef recipes.
Ruby
4
star
12

spine.padrino

spine.rails3 port to Padrino.
Ruby
4
star
13

filepicker-padrino

Filepicker for Padrino
Ruby
4
star
14

padrino-ebook

Basic example for selling a web based ebook (generated from Markdown) using Padrino + Stripe
JavaScript
4
star
15

MailKit

MailKit is a mail framework Mac OS X based on MailCore.
Objective-C
4
star
16

spine.padrino.infinite

A port of spine.infinite rails example app to Padrino
JavaScript
4
star
17

javascript-allonge.web

A more web friendly version of JavaScript Allongé
JavaScript
4
star
18

stripe.padrino

A very basic example for using Stripe together with Padrino.
JavaScript
3
star
19

dbd_notebook

Source code for notebook.designbreakdown.com a padrino powered site.
JavaScript
3
star
20

rcoredata

RCoreData is an AR-esque wrapper in MacRuby for CoreData.
Ruby
3
star
21

com_forge

Forge Component. Extension management re-imagined.
PHP
3
star
22

kerickson.me

Personal site. Powered by Padrino.
Ruby
2
star
23

mui-themeable

Dynamic themes from images in Material UI
JavaScript
2
star
24

the_science_of_design

The Science of Design. Lets learn it together,
2
star
25

scribble.theme.middleman-blog

Port of the Scribble theme for Jekyll to middleman-blog
JavaScript
2
star
26

padrino-response

DRY up your padrino controllers
Ruby
2
star
27

sse.example.padrino

Ruby
2
star
28

BuildingCoffeeScriptFrameworks

A book on Building CoffeeScript Frameworks. Build your own Backbone.js or Spine.js
2
star
29

color.lua

Helper functions for working with colors. Mostly conversion stuff.
Lua
2
star
30

glitchy

Glitchy is a UI kit. Not ready yet
JavaScript
1
star
31

rgjs

A wrapper around ripgrep
JavaScript
1
star
32

dbd_launch

This is the source code for launch.designbreakdown.com, a padrino powered site.
CSS
1
star
33

next-with-mongoose-mui-kea-nextauth

A next.js starter
JavaScript
1
star
34

REST

A PHP REST client lib.
PHP
1
star
35

markdown-mode.el

Some of my tweaks to http://jblevins.org/projects/markdown-mode
Emacs Lisp
1
star
36

useless.lua

Almost useless Lua utilities. Collection of time saving lua functions.
Lua
1
star
37

rescript-feathers

A starter for ReScript and Feathers
ReScript
1
star
38

raddressbook

Classes to make working with AddressBook in Macruby easier.
Ruby
1
star
39

sdkv

A sd wrapper that takes keys/values and then finds and replaces mustache like tags.
JavaScript
1
star
40

just.makecrap.com

Source for just.makecrap.com
JavaScript
1
star
41

rpreferences

A Preferences controller class for Macruby. Based off of DBPrefsWindowController
Ruby
1
star
42

garry

Garry is an asshole. But Garry is good at paying for things. Garry is an ecommerce framework.
Ruby
1
star
43

arthur

Arthur is a new php framework. Designed to be compatible with Joomla!. Borrows heavily from lithium.
PHP
1
star
44

shapes

My take on boilerplates. All the boilerplates I use for everything
JavaScript
1
star
45

ebook-example.middleman

An example middleman project for building an ebook, with pdf, epub and mobi formats.
Ruby
1
star
46

proCSSor-textmate-bundle

TextMate bundle for http://procssor.com WARNING: Procssor no longer has an API and thus this bundle no longer works
1
star
47

helloworlds.joomla.2.5

Hello World Extension examples for Joomla! 2.5
PHP
1
star
48

psds

My designs, open sourced. Have fun and learn. Licensed under WTFPL
1
star
49

padrino.jasmine

Example app showing how to automate your js testing in your padrino apps.
CSS
1
star
50

orga-stringfiy

Takes Orga AST and turns it into a string
JavaScript
1
star
51

makecrap

Source for makecrap.2052.me
JavaScript
1
star
52

stasis-figwheel-awesomeness-lein-template

An extremely awesome static site template. Uses stasis.
Clojure
1
star
53

beard

Beard is a recode of Mustache-rb, bringing more features like better context handling. Powered by Temple.
Ruby
1
star
54

jenerator

Generate Dummy Joomla! Extensions
Ruby
1
star
55

screeny.spine.padrino.demo

Simple demo app. padrino + spine.js + filepicker.io + rivets.js = awesomeness.
Ruby
1
star