1
0
mirror of https://github.com/lise-henry/crowbook synced 2024-09-20 19:41:36 +02:00
crowbook/guide/misc.md
Elisabeth Henry 6e193a159d Update guide
2016-10-21 19:36:50 +02:00

2.5 KiB

Tips and tricks

Using Crowbook with Emacs' markdown mode

If you use Emacs as a text editor, there is a nice Markdown mode to edit Markdown files.

It is possible to use Crowbook for HTML previewing in this mode, which requires only minimal configuration and tweaking:

(custom-set-variables
 '(markdown-command "crowbook -qs --to html --output /dev/stdout")
 '(markdown-command-needs-filename t))

You can then use markdown-preview (or C-c C-c p) to run Crowbook on this file and preview it in your browser, or run markdown-live-preview-mode to see a live preview (updated each time you save you file) in Emacs' integrated browser.

Some explanations if it looks a bit cryptic to you

We set markdown-command to crowbook, the reason for this is a bit obvious. The arguments we give to crowbook might be a bit less obvious:

  • -qs or --quiet --single tells Crowbook that is a a standalone markdown file, and not a book configuration file, and to be a bit quiet on error/info messages;
  • --to html specifies that HTML must be generated;
  • --output /dev/stdout forces Crowbook to display the result on the stdout, even if you set output.html to some_file.html.

Also, (markdown-command-needs-filename t) is because at this point Crowbook can't read from the stdin and must be specified a file.

Limitations

While it renders correctly, this only works really nicely on standalone Markdown files where you have specified, e.g.:

---
author: Your name
title: Some title
---

Else, it will sets author and title to the default values.

Embedding fonts in an EPUB file

In order to embed fonts in an EPUB file, you'll first have to edit the stylesheet, which you can first obtain with:

$ crowbook --print-template epub.css > my_epub_stylesheet.css

You'll need to use the @font-face attribute:

@font-face {
  font-family: MyFont;
  src: url(data/my_font.ttf);
}

Then you can add my_font.ttf to the files that need to be added to the EPUB zip file:

title: My Book
author: Me

cover: cover.png
output.epub: book.epub

resources.files: my_font.ttf

(Note that you'll have to repeat the process the different font-weight and font-style variants of your font if you want it to display correctly when there is some text in bold, italics, or both.)