1
0
Fork 0
mirror of https://github.com/lise-henry/crowbook synced 2024-05-25 11:06:09 +02:00
crowbook/docs/book/html/chapter_007.html
Elisabeth Henry f05bb3019d Update guide
2018-06-01 18:15:28 +02:00

263 lines
14 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="generator" content="crowbook">
<meta name="author" content="Élisabeth Henry">
<meta name="viewport" content="width=device-width">
<link rel = "icon" href = "images/image_1.svg">
<title>Crowbook User Guide - 8. Tips and tricks</title>
<link rel = "stylesheet" href = "stylesheet.css" type = "text/css"
/>
<link rel = "stylesheet" href = "print.css" type = "text/css"
media = "print" />
<script>
function on(name) {
var elements = document.getElementsByClassName(name);
for (var i = 0; i < elements.length; i++) {
var elem = elements[i];
elem.style.backgroundColor = "pink";
}
}
function off(name) {
var elements = document.getElementsByClassName(name);
for (var i = 0; i < elements.length; i++) {
var elem = elements[i];
elem.style.backgroundColor = "white";
}
}
var display_menu = false;
function toggle() {
if (display_menu == true) {
display_menu = false;
document.getElementById("nav").style.left = "-21%";
document.getElementById("content").style.marginLeft = "0%";
document.getElementById("menu").style.left = "1em";
/* if(document.getElementById("top")) {
document.getElementById("top").style.left = "0";
}
if(document.getElementById("footer")) {
document.getElementById("footer").style.marginLeft = "0%";
}*/
} else {
display_menu = true;
document.getElementById("nav").style.left = "0";
document.getElementById("content").style.marginLeft = "20%";
document.getElementById("menu").style.left = "20%";
/* if(document.getElementById("top")) {
document.getElementById("top").style.left = "20%";
}
if(document.getElementById("footer")) {
document.getElementById("footer").style.marginLeft = "20%";
}*/
}
}
</script>
</head>
<body>
<script type = 'application/ld+json'>
{
"@context": "http://schema.org/",
"@type": "Book",
"author": "Élisabeth Henry",
"name": "Crowbook User Guide",
"version": "0.14.1",
"license": "This guide is published under the Creative Commons Attribution-ShareAlike 4.0-International license.",
"about": "Crowbook allows to render a book written in Markdown in various formats. This is some kind of manual for it, and a way to demonstrate and test it.",
"inLanguage": "en"
}
</script>
<nav id = "nav">
<h2><a href = "index.html">Crowbook User Guide</a></h2>
<ul>
<li><a href="chapter_000.html#link-1">1. Crowbook</a>
<ul><li><a href="chapter_000.html#link-2">1.1. Example</a></li>
<li><a href="chapter_000.html#link-3">1.2. Installing</a></li>
<li><a href="chapter_000.html#link-6">1.3. Dependencies</a></li>
<li><a href="chapter_000.html#link-7">1.4. Quick tour</a></li>
<li><a href="chapter_000.html#link-8">1.5. Current features</a></li>
<li><a href="chapter_000.html#link-18">1.6. Contributors</a></li>
<li><a href="chapter_000.html#link-19">1.7. Acknowledgements</a></li>
<li><a href="chapter_000.html#link-20">1.8. ChangeLog</a></li>
<li><a href="chapter_000.html#link-21">1.9. Contributing</a></li>
<li><a href="chapter_000.html#link-22">1.10. Library</a></li>
<li><a href="chapter_000.html#link-23">1.11. License</a></li>
</ul>
</li>
<li><a href="chapter_001.html#link-24">2. Arguments</a>
<ul><li><a href="chapter_001.html#link-25">2.1. <code>--create</code></a></li>
<li><a href="chapter_001.html#link-26">2.2. <code>--single</code></a></li>
<li><a href="chapter_001.html#link-27">2.3. <code>--set</code></a></li>
<li><a href="chapter_001.html#link-28">2.4. <code>--list-options</code></a></li>
<li><a href="chapter_001.html#link-29">2.5. <code>--print-template</code></a></li>
<li><a href="chapter_001.html#link-30">2.6. <code>--stats</code></a></li>
<li><a href="chapter_001.html#link-31">2.7. <code>--proofread</code></a></li>
<li><a href="chapter_001.html#link-32">2.8. <code>--autograph</code></a></li>
<li><a href="chapter_001.html#link-34">2.9. <code>--verbose</code></a></li>
<li><a href="chapter_001.html#link-35">2.10. <code>--to</code></a></li>
<li><a href="chapter_001.html#link-37">2.11. <code>--output</code></a></li>
<li><a href="chapter_001.html#link-38">2.12. <code>--lang</code></a></li>
</ul>
</li>
<li><a href="chapter_002.html#link-40">3. The configuration file</a>
<ul><li><a href="chapter_002.html#link-41">3.1. Configuration in an inline YAML block</a></li>
<li><a href="chapter_002.html#link-42">3.2. The list of files</a></li>
<li><a href="chapter_002.html#link-45">3.3. Crowbook options</a></li>
<li><a href="chapter_002.html#link-60">3.4. Full list of options</a></li>
</ul>
</li>
<li><a href="chapter_003.html#link-77">4. Markdown format</a>
<ul><li><a href="chapter_003.html#link-78">4.1. Tables</a></li>
<li><a href="chapter_003.html#link-79">4.2. Footnotes</a></li>
<li><a href="chapter_003.html#link-80">4.3. Superscript and subscript</a></li>
<li><a href="chapter_003.html#link-81">4.4. “Standalone” images</a></li>
<li><a href="chapter_003.html#link-82">4.5. Interactive fiction</a></li>
</ul>
</li>
<li><a href="chapter_004.html#link-83">5. Templates</a>
<ul><li><a href="chapter_004.html#link-84">5.1. Create and edit template</a></li>
<li><a href="chapter_004.html#link-88">5.2. List of templates</a></li>
<li><a href="chapter_004.html#link-102">5.3. List of accessible variables</a></li>
</ul>
</li>
<li><a href="chapter_005.html#link-106">6. Proofreading with Crowbook</a>
<ul><li><a href="chapter_005.html#link-107">6.1. Enabling proofreading</a></li>
<li><a href="chapter_005.html#link-108">6.2. Repetition detection</a></li>
<li><a href="chapter_005.html#link-109">6.3. Grammar checking</a></li>
</ul>
</li>
<li><a href="chapter_006.html#link-112">7. Interactive fiction</a>
<ul><li><a href="chapter_006.html#link-113">7.1. Basics</a></li>
<li><a href="chapter_006.html#link-114">7.2. The interactive fiction renderer</a></li>
<li><a href="chapter_006.html#link-115">7.3. Using Javascript in your interactive fiction</a></li>
<li><a href="chapter_006.html#link-116">7.4. Embedding Makdown in your Javascript code embedded in your Markdown</a></li>
<li><a href="chapter_006.html#link-117">7.5. Conditional blocks</a></li>
<li><a href="chapter_006.html#link-118">7.6. Interactive fiction options</a></li>
</ul>
</li>
<li><a href="chapter_007.html#link-119">8. Tips and tricks</a>
<ul><li><a href="chapter_007.html#link-120">8.1. Using Crowbook with Emacs markdown mode</a></li>
<li><a href="chapter_007.html#link-122">8.2. Embedding fonts in an EPUB file</a></li>
</ul>
</li>
<li><a href="chapter_008.html#link-123">9. Contributing</a>
<ul><li><a href="chapter_008.html#link-124">9.1. Internationalization</a></li>
</ul>
</li>
<li><a href="chapter_009.html#link-125">ChangeLog</a>
<ul><li><a href="chapter_009.html#link-126">unreleased</a></li>
<li><a href="chapter_009.html#link-127">0.14.0 (2017-11-26)</a></li>
<li><a href="chapter_009.html#link-128">0.14.0-beta (2017-10-08)</a></li>
<li><a href="chapter_009.html#link-129">0.13.0 (2017-07-14)</a></li>
<li><a href="chapter_009.html#link-130">0.12.0 (2017-06-05)</a></li>
<li><a href="chapter_009.html#link-131">0.11.4 (2017-03-21)</a></li>
<li><a href="chapter_009.html#link-132">0.11.3 (2017-03-19)</a></li>
<li><a href="chapter_009.html#link-133">0.11.2 (2017-03-05)</a></li>
<li><a href="chapter_009.html#link-134">0.11.1 (2017-01-05)</a></li>
<li><a href="chapter_009.html#link-135">0.11.0 (2016-12-31)</a></li>
<li><a href="chapter_009.html#link-136">0.10.4 (2016-12-16)</a></li>
<li><a href="chapter_009.html#link-137">0.10.3 (2016-11-19)</a></li>
<li><a href="chapter_009.html#link-138">0.10.2 (2016-10-21)</a></li>
<li><a href="chapter_009.html#link-139">0.10.1 (2016-10-18)</a></li>
<li><a href="chapter_009.html#link-140">0.10.0 (2016-10-18)</a></li>
<li><a href="chapter_009.html#link-141">0.9.1 (2016-09-29)</a></li>
<li><a href="chapter_009.html#link-142">0.9.0 (2016-09-23)</a></li>
<li><a href="chapter_009.html#link-143">0.8.0 (2016-09-19)</a></li>
<li><a href="chapter_009.html#link-144">0.7.0 (2016-09-11)</a></li>
<li><a href="chapter_009.html#link-145">0.6.0 (2016-09-09)</a></li>
<li><a href="chapter_009.html#link-146">0.5.1 (2016-04-14)</a></li>
<li><a href="chapter_009.html#link-147">0.5.0 (2016-04-02)</a></li>
<li><a href="chapter_009.html#link-148">0.4.0 (2016-03-01)</a></li>
<li><a href="chapter_009.html#link-149">0.3.0 (2016-02-27)</a></li>
<li><a href="chapter_009.html#link-150">0.2.2 (2016-02-25)</a></li>
<li><a href="chapter_009.html#link-151">0.2.1 (2016-02-25)</a></li>
<li><a href="chapter_009.html#link-152">0.2.0 (2016-02-25)</a></li>
<li><a href="chapter_009.html#link-153">0.1.0 (2016-02-21)</a></li>
</ul>
</li>
<li><a href="chapter_010.html#link-154">GNU LESSER GENERAL PUBLIC LICENSE</a></li>
</ul>
</nav>
<div id = "content">
<div id = "top"><p id = "para-360">Crowbook User Guide 0.14.1</p>
</div>
<div id = "page">
<header>
<div id = "menu">
<img id = "menu-button" onclick="toggle();"
src="menu.svg" alt = "Table of contents" title = "Table of contents" />
</div>
</header>
<p class = "prev_chapter">
<a href = "chapter_006.html">
« 7. Interactive fiction
</a>
</p>
<h1 id = 'link-119'><span class = 'chapter-header'>Chapter 8</span><br />Tips and tricks</h1><h2 id = "link-120">8.1. Using Crowbook with Emacs markdown mode</h2>
<p id = "para-264">If you use <a href = "https://www.gnu.org/software/emacs/">Emacs</a> as a text editor, there is a nice <a href = "http://jblevins.org/projects/markdown-mode/">Markdown mode</a> to edit Markdown files.</p>
<p id = "para-265">It is possible to use Crowbook for HTML previewing in this mode, which <a href = "http://xkcd.com/1742/">requires only minimal configuration and tweaking</a>:</p>
<pre><span style="color:#839496;">(custom</span><span style="color:#657b83;">-</span><span style="color:#859900;">set</span><span style="color:#657b83;">-</span><span style="color:#839496;">variables
&#39;(markdown</span><span style="color:#657b83;">-</span><span style="color:#839496;">command &quot;</span><span style="color:#2aa198;">crowbook - -qs --to html --output -</span><span style="color:#839496;">&quot;))
</span></pre><p id = "para-266">You can then use <code>markdown-preview</code> (or <code>C-c C-c p</code>) to run Crowbook on this file and preview it in your browser, or run <code>markdown-live-preview-mode</code> to see a live preview (updated each time you save your file) in Emacs integrated browser.</p>
<h3 id = "link-121">Some explanations if it looks a bit cryptic to you</h3>
<p id = "para-267">We set <code>markdown-command</code> to <code>crowbook</code>, the reason for this is a bit obvious. The arguments we give to crowbook might be a bit less obvious:</p>
<ul>
<li>the fist argument, <code>-</code>, is actually the book file: it tells <code>crowbook</code> to read it from standard input.</li>
<li><code>-qs</code> or <code>--quiet --single</code> 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;</li>
<li><code>--to html</code> specifies that HTML must be generated;</li>
<li><code>--output -</code> tells Crowbook to display the result on the stdout, even if you set <code>output.html</code> to <code>some_file.html</code>.</li>
</ul>
<h2 id = "link-122">8.2. Embedding fonts in an EPUB file</h2>
<p id = "para-268">In order to embed fonts in an EPUB file, youll first have to edit the stylesheet, which you can first obtain with:</p>
<pre><span style="color:#b58900;">$</span><span style="color:#839496;"> crowbook</span><span style="color:#268bd2;"> --print-template</span><span style="color:#839496;"> epub.css </span><span style="color:#657b83;">&gt;</span><span style="color:#839496;"> my_epub_stylesheet.css
</span></pre><p id = "para-269">Youll need to use the <a href = "https://developer.mozilla.org/fr/docs/Web/CSS/@font-face"><code>@font-face</code> attribute</a>:</p>
<pre><span style="color:#859900;">@font-face </span><span style="color:#657b83;">{
</span><span style="color:#859900;">font-family</span><span style="color:#839496;">: </span><span style="color:#2aa198;">MyFont</span><span style="color:#839496;">;
</span><span style="color:#859900;">src</span><span style="color:#839496;">: </span><span style="color:#859900;">url</span><span style="color:#839496;">(</span><span style="color:#2aa198;">data/my_font.ttf</span><span style="color:#839496;">);
</span><span style="color:#657b83;">}
</span></pre><p id = "para-270">Then you can add <code>my_font.ttf</code> to the files that need to be added to the EPUB zip file:</p>
<pre><span style="color:#268bd2;">title</span><span style="color:#839496;">: </span><span style="color:#268bd2;">My Book
author</span><span style="color:#839496;">: </span><span style="color:#268bd2;">Me
cover</span><span style="color:#839496;">: </span><span style="color:#268bd2;">cover.png
output.epub</span><span style="color:#839496;">: </span><span style="color:#268bd2;">book.epub
resources.files</span><span style="color:#839496;">: [</span><span style="color:#2aa198;">my_font.ttf</span><span style="color:#839496;">]
</span></pre><p id = "para-271">(Note that youll have to repeat the process for the different <code>font-weight</code> and <code>font-style</code> variants of your font if you want it to display correctly when there is some text in <b>bold</b>, <em>italics</em>, or <b><em>both</em></b>.)</p>
<p class = "next_chapter">
<a href = "chapter_008.html">
9. Contributing »
</a>
</p>
</div>
<footer id = "footer"><p id = "para-359">Generated by <a href = "https://github.com/lise-henry/crowbook">Crowbook</a> 0.14.1</p>
</footer>
</div>
</body>
</html>