Project

cheepub

0.01
No release in over 3 years
Low commit activity in last 3 years
Simple EPUB/PDF generator from Markdown. Inspired by denden converter
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

Runtime

~> 1.2
~> 1.0.2
>= 1.0.1, < 1.2.0
>= 2.15, < 4.0
>= 0
 Project Readme

Cheepub

Gem Version Build Status Maintainability

Cheepub is EPUB/PDF generator from Markdown. When you have markdown file, you can generate EPUB3 file with just one command: cheepub sample.md.

Installation

You can install just use gem command:

$ gem install cheepub

If you use the gem in your project, add this line to your application's Gemfile:

gem 'cheepub'

Usage

You can add options --title and --author.

$ cheepub --title foo --author bar source.md

With --latex option, you can generate PDF with LaTeX.

$ cheepub --title foo --author bar --latex source.md

If you use front-matter section like Jekyll, you can execute without any options:

$ cheepub source.md

Options

  • -v, --version print version
  • --author AUTOR set author of the book
  • --title TITLE set title of the book
  • --config CONFIG set configuration file
  • --latex generate PDF (with LaTeX) file
  • --debug set debug mode
  • -o, --out OUTFILE set output filename
  • --[no-]titlepage add titlepage or not
  • --page-direction PAGE_DIRECTION set page direction (ltr or rtl)
  • --json output JSON AST and exit
  • -h, --help print help

Markdown extensions

Cheepub uses Kramdown and Gepub. So you can use Kramdown extensions and some other extensions from DenDenMarkdown.

  • newpage (separate files): ex. === or ------.
  • tate-chu-yoko (horizontal in vertical): ex. ^30^ or ^!?^.
  • footnote: ex. [^1] and [^1]: some notes about it.
  • ruby: ex. {some base text|some ruby text}

Configuration

You can define configration with in front-matter or --config option.

Front Matter

Cheepub supports front-matter like Jekyll.

You can write author and title (and other configuration) at front of the markdown file.

---
title: The Last Leaf
author: O. Henry
---

In a little district west of Washington Square the streets have run crazy and broken themselves into small strips called "places." (...)

Configuration items

  • id: identifier
  • title: title of the book
  • author: author of the book
  • date: publishing date
  • lastModified: last modified date-time
  • pageDirection: ltr (horizontal) or rtl (vertical)
  • titlepage: add titlepage
  • colophone: add colophon page
  • colophone_before, colophone_after: some notes before/after colophon table
  • (LaTeX) latexCommand: command name of LaTeX (uplatex or lualatex)
  • (LaTeX) documentClass: document class and options. (ex. ["jlreq", "tate,book,a4paper,twocolumn,openany"])

History

0.14.1

  • fix some warnings in Ruby

0.14.0

  • update kramdown

0.13.0

  • update kramdown, gepub and rb_latex

0.12.0

  • support colophon_(before|after) in EPUB

0.11.0

  • support titlepage in LaTeX
  • support colophon in LaTeX

0.10.0

  • support Images in EPUB

0.9.0

  • support Markdown (pipe) table
    • cannot omit leading and trailing pipes (different with original kramdown)

0.8.0

  • support option --json

0.7.1

  • show backtrace when --debug mode
  • use rouge for EPUB instead of coderay
  • add more samples
  • add scripts conv_entity.rb

0.7.0

  • support option --debug
  • support documentClass for LaTeX in frontmatter

0.6.0

  • (experimental) generate PDF file with LaTeX

0.5.1

  • fix to generate valid epub file

0.5.0

  • support titlepage

0.4.0

  • fix writing-mode (pageDirection)
  • fix to generate nav.xhtml

0.3.0

  • add option --out

0.2.0

  • add option --title, --author, --config

0.1.0

  • First release.

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake test to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/takahashim/cheepub.