All Projects → takahashim → cheepub

takahashim / cheepub

Licence: MIT License
PDF/EPUB generator from Markdown

Programming Languages

ruby
36898 projects - #4 most used programming language
HTML
75241 projects
shell
77523 projects

Projects that are alternatives of or similar to cheepub

iRead
iRead is an EPUB reader for iOS written in Swift
Stars: ✭ 83 (+388.24%)
Mutual labels:  epub, epub3
readium-css
🌈 A set of reference stylesheets for EPUB Reading Systems, starting with Readium Mobile
Stars: ✭ 78 (+358.82%)
Mutual labels:  epub, epub3
epub3guide
台灣 EPUB3 制作指引
Stars: ✭ 95 (+458.82%)
Mutual labels:  epub, epub3
Wedge
可配置的小说下载及电子书生成工具
Stars: ✭ 62 (+264.71%)
Mutual labels:  epub, epub3
Free-Books
Free eBooks about cloud computing and related topics
Stars: ✭ 27 (+58.82%)
Mutual labels:  epub
tibooks-maker
tibooks-maker is customized Re:VIEW-platform for Think IT Books
Stars: ✭ 12 (-29.41%)
Mutual labels:  epub
typeclassopedia-md
Markdown version of the Haskell Typeclassopedia
Stars: ✭ 33 (+94.12%)
Mutual labels:  epub
anime-dl
ADLCore is an API and app for the download of novels, manga, and anime from a plethora of sites. It works on Windows, Linux, OSX, and Android.
Stars: ✭ 70 (+311.76%)
Mutual labels:  epub
ebook-converter
Commandline tool for converting between several e-books formats, based on Calibre project.
Stars: ✭ 21 (+23.53%)
Mutual labels:  epub
epub-package.dart
A dart package to parse EPUB files
Stars: ✭ 21 (+23.53%)
Mutual labels:  epub
PythonStore
基于 Python3 的小爬虫。
Stars: ✭ 19 (+11.76%)
Mutual labels:  epub
Soma
Ulysses.app blueprint for a better ePub stylesheet
Stars: ✭ 23 (+35.29%)
Mutual labels:  epub
HtmlOrMarkdownConvertedToPdf
📚 NodeJS爬虫 + percollate获取网络教程并转成PDF电子书,持续更新
Stars: ✭ 62 (+264.71%)
Mutual labels:  epub
Wenku8ToEpub-Online
基于flask的wenku8的epub下载网站,能够缓存wenku8网站有/无版权小说,Material Design界面,人性化使用前端。
Stars: ✭ 49 (+188.24%)
Mutual labels:  epub
bookery
Manage all your ebooks and send them to your reader
Stars: ✭ 35 (+105.88%)
Mutual labels:  epub
r2-testapp-kotlin
No description or website provided.
Stars: ✭ 131 (+670.59%)
Mutual labels:  epub
Linux-Voice-issues
collection of freely available issues of Linux Voice (http://www.linuxvoice.com) and MagPi (https://www.raspberrypi.org/magpi/)
Stars: ✭ 18 (+5.88%)
Mutual labels:  epub
bookworm
The Universally Accessible document Reader
Stars: ✭ 50 (+194.12%)
Mutual labels:  epub
EpubConv Python
Use python convert epub file from Simplified Chinese to Traditional Chinese on windows
Stars: ✭ 75 (+341.18%)
Mutual labels:  epub
jncep
Simple command-line tool to generate EPUB files for J-Novel Club pre-pub novels
Stars: ✭ 18 (+5.88%)
Mutual labels:  epub

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].