1
0
mirror of https://github.com/lise-henry/crowbook synced 2024-09-25 20:21:36 +02:00
crowbook/guide/07_miscellaneous.md
2020-01-08 18:13:24 +01:00

62 lines
2.1 KiB
Markdown

# Tips and tricks
## Using Crowbook with Emacs' markdown mode
If you use
[Emacs](https://www.gnu.org/software/emacs/)
as a text editor, there is a nice
[Markdown mode](http://jblevins.org/projects/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](http://xkcd.com/1742/):
```lisp
(custom-set-variables
'(markdown-command "crowbook - -qs --to html --output -"))
```
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 your 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:
* the fist argument, `-`, is actually the book file:
it tells `crowbook` to read it from standard input.
* `-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 -` tells Crowbook to display the result on the stdout, even if you set `output.html` to `some_file.html`.
## 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:
```bash
$ crowbook --print-template epub.css > my_epub_stylesheet.css
```
You'll need to use the [`@font-face` attribute](https://developer.mozilla.org/fr/docs/Web/CSS/@font-face):
```css
@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:
```yaml
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 for 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_**.)