mirror of
https://github.com/lise-henry/crowbook
synced 2024-09-25 20:21:36 +02:00
62 lines
2.1 KiB
Markdown
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_**.)
|