1
0
Fork 0
mirror of https://github.com/lise-henry/crowbook synced 2024-05-24 18:26:08 +02:00
crowbook/docs/book/html/chapter_000.html
2020-07-07 01:17:22 +02:00

598 lines
38 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 - 1. Crowbook</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.15.0",
"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>
<ul><li><a href="chapter_000.html#link-4">1.2.1. Binaries</a></li>
<li><a href="chapter_000.html#link-5">1.2.2. Using Cargo</a></li>
</ul>
</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>
<ul><li><a href="chapter_000.html#link-9">1.5.1. Output formats</a></li>
<li><a href="chapter_000.html#link-10">1.5.2. Input format</a></li>
<li><a href="chapter_000.html#link-11">1.5.3. Typographic “cleaning”</a></li>
<li><a href="chapter_000.html#link-12">1.5.4. Links handling</a></li>
<li><a href="chapter_000.html#link-13">1.5.5. Inline YAML blocks</a></li>
<li><a href="chapter_000.html#link-14">1.5.6. Proofreading</a></li>
<li><a href="chapter_000.html#link-15">1.5.7. Interactive fiction</a></li>
<li><a href="chapter_000.html#link-16">1.5.8. Customization</a></li>
<li><a href="chapter_000.html#link-17">1.5.9. Bugs</a></li>
</ul>
</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>
<ul><li><a href="chapter_001.html#link-33">2.8.1. Example</a></li>
</ul>
</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>
<ul><li><a href="chapter_001.html#link-36">2.10.1. Examples</a></li>
</ul>
</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>
<ul><li><a href="chapter_001.html#link-39">2.12.1. Example</a></li>
</ul>
</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>
<ul><li><a href="chapter_002.html#link-43">3.2.1. Parts</a></li>
<li><a href="chapter_002.html#link-44">3.2.2. Subchapters</a></li>
</ul>
</li>
<li><a href="chapter_002.html#link-45">3.3. Crowbook options</a>
<ul><li><a href="chapter_002.html#link-46">3.3.1. Metadata</a></li>
<li><a href="chapter_002.html#link-47">3.3.2. The <code>import</code> special option</a></li>
<li><a href="chapter_002.html#link-48">3.3.3. Output options</a>
<ul><li><a href="chapter_002.html#link-49">3.3.3.1. The <code>output</code> option</a></li>
<li><a href="chapter_002.html#link-50">3.3.3.2. <code>output.base_path</code></a></li>
</ul>
</li>
<li><a href="chapter_002.html#link-51">3.3.4. Input options</a></li>
<li><a href="chapter_002.html#link-52">3.3.5. Generic options for rendering</a></li>
<li><a href="chapter_002.html#link-53">3.3.6. HTML Options</a>
<ul><li><a href="chapter_002.html#link-54">3.3.6.1. Options for standalone HTML</a></li>
</ul>
</li>
<li><a href="chapter_002.html#link-55">3.3.7. Options for LaTeX/PDF rendering</a></li>
<li><a href="chapter_002.html#link-56">3.3.8. Options for EPUB rendering</a></li>
<li><a href="chapter_002.html#link-57">3.3.9. Resources options</a>
<ul><li><a href="chapter_002.html#link-58">3.3.9.1. <code>resources.files</code></a></li>
<li><a href="chapter_002.html#link-59">3.3.9.2. <code>resources.out_path</code></a></li>
</ul>
</li>
</ul>
</li>
<li><a href="chapter_002.html#link-60">3.4. Full list of options</a>
<ul><li><a href="chapter_002.html#link-61">3.4.1. Metadata</a>
<ul><li><a href="chapter_002.html#link-62">3.4.1.1. <code>author</code></a></li>
<li><a href="chapter_002.html#link-63">3.4.1.2. <code>title</code></a></li>
<li><a href="chapter_002.html#link-64">3.4.1.3. <code>lang</code></a></li>
<li><a href="chapter_002.html#link-65">3.4.1.4. <code>subject</code></a></li>
<li><a href="chapter_002.html#link-66">3.4.1.5. <code>description</code></a></li>
<li><a href="chapter_002.html#link-67">3.4.1.6. <code>cover</code></a></li>
</ul>
</li>
<li><a href="chapter_002.html#link-68">3.4.2. Additional metadata</a>
<ul><li><a href="chapter_002.html#link-69">3.4.2.1. <code>subtitle</code></a></li>
<li><a href="chapter_002.html#link-70">3.4.2.2. <code>license</code></a></li>
<li><a href="chapter_002.html#link-71">3.4.2.3. <code>version</code></a></li>
<li><a href="chapter_002.html#link-72">3.4.2.4. <code>date</code></a></li>
</ul>
</li>
<li><a href="chapter_002.html#link-73">3.4.3. Output options</a>
<ul><li><a href="chapter_002.html#link-74">3.4.3.1. <code>output</code></a></li>
<li><a href="chapter_002.html#link-75">3.4.3.2. <code>output.epub</code></a></li>
<li><a href="chapter_002.html#link-76">3.4.3.3. <code>output.html</code></a></li>
<li><a href="chapter_002.html#link-77">3.4.3.4. <code>output.html.dir</code></a></li>
<li><a href="chapter_002.html#link-78">3.4.3.5. <code>output.tex</code></a></li>
<li><a href="chapter_002.html#link-79">3.4.3.6. <code>output.pdf</code></a></li>
<li><a href="chapter_002.html#link-80">3.4.3.7. <code>output.odt</code></a></li>
<li><a href="chapter_002.html#link-81">3.4.3.8. <code>output.html.if</code></a></li>
<li><a href="chapter_002.html#link-82">3.4.3.9. <code>output.base_path</code></a></li>
</ul>
</li>
<li><a href="chapter_002.html#link-83">3.4.4. Rendering options</a>
<ul><li><a href="chapter_002.html#link-84">3.4.4.1. <code>rendering.highlight</code></a></li>
<li><a href="chapter_002.html#link-85">3.4.4.2. <code>rendering.highlight.theme</code></a></li>
<li><a href="chapter_002.html#link-86">3.4.4.3. <code>rendering.initials</code></a></li>
<li><a href="chapter_002.html#link-87">3.4.4.4. <code>rendering.inline_toc</code></a></li>
<li><a href="chapter_002.html#link-88">3.4.4.5. <code>rendering.inline_toc.name</code></a></li>
<li><a href="chapter_002.html#link-89">3.4.4.6. <code>rendering.num_depth</code></a></li>
<li><a href="chapter_002.html#link-90">3.4.4.7. <code>rendering.chapter</code></a></li>
<li><a href="chapter_002.html#link-91">3.4.4.8. <code>rendering.part</code></a></li>
<li><a href="chapter_002.html#link-92">3.4.4.9. <code>rendering.chapter.roman_numerals</code></a></li>
<li><a href="chapter_002.html#link-93">3.4.4.10. <code>rendering.part.roman_numerals</code></a></li>
<li><a href="chapter_002.html#link-94">3.4.4.11. <code>rendering.part.reset_counter</code></a></li>
<li><a href="chapter_002.html#link-95">3.4.4.12. <code>rendering.chapter.template</code></a></li>
<li><a href="chapter_002.html#link-96">3.4.4.13. <code>rendering.part.template</code></a></li>
</ul>
</li>
<li><a href="chapter_002.html#link-97">3.4.5. Special option</a>
<ul><li><a href="chapter_002.html#link-98">3.4.5.1. <code>import</code></a></li>
</ul>
</li>
<li><a href="chapter_002.html#link-99">3.4.6. HTML options</a>
<ul><li><a href="chapter_002.html#link-100">3.4.6.1. <code>html.icon</code></a></li>
<li><a href="chapter_002.html#link-101">3.4.6.2. <code>html.highlight.theme</code></a></li>
<li><a href="chapter_002.html#link-102">3.4.6.3. <code>html.header</code></a></li>
<li><a href="chapter_002.html#link-103">3.4.6.4. <code>html.footer</code></a></li>
<li><a href="chapter_002.html#link-104">3.4.6.5. <code>html.css</code></a></li>
<li><a href="chapter_002.html#link-105">3.4.6.6. <code>html.css.add</code></a></li>
<li><a href="chapter_002.html#link-106">3.4.6.7. <code>html.css.colors</code></a></li>
<li><a href="chapter_002.html#link-107">3.4.6.8. <code>html.js</code></a></li>
<li><a href="chapter_002.html#link-108">3.4.6.9. <code>html.css.print</code></a></li>
<li><a href="chapter_002.html#link-109">3.4.6.10. <code>html.highlight.js</code></a></li>
<li><a href="chapter_002.html#link-110">3.4.6.11. <code>html.highlight.css</code></a></li>
<li><a href="chapter_002.html#link-111">3.4.6.12. <code>html.side_notes</code></a></li>
<li><a href="chapter_002.html#link-112">3.4.6.13. <code>html.escape_nb_spaces</code></a></li>
<li><a href="chapter_002.html#link-113">3.4.6.14. <code>html.chapter.template</code></a></li>
<li><a href="chapter_002.html#link-114">3.4.6.15. <code>html.part.template</code></a></li>
</ul>
</li>
<li><a href="chapter_002.html#link-115">3.4.7. Standalone HTML options</a>
<ul><li><a href="chapter_002.html#link-116">3.4.7.1. <code>html.standalone.template</code></a></li>
<li><a href="chapter_002.html#link-117">3.4.7.2. <code>html.standalone.one_chapter</code></a></li>
<li><a href="chapter_002.html#link-118">3.4.7.3. <code>html.standalone.js</code></a></li>
</ul>
</li>
<li><a href="chapter_002.html#link-119">3.4.8. Multifile HTML options</a>
<ul><li><a href="chapter_002.html#link-120">3.4.8.1. <code>html.dir.template</code></a></li>
</ul>
</li>
<li><a href="chapter_002.html#link-121">3.4.9. Interactive fiction HTML options</a>
<ul><li><a href="chapter_002.html#link-122">3.4.9.1. <code>html.if.js</code></a></li>
<li><a href="chapter_002.html#link-123">3.4.9.2. <code>html.if.new_turn</code></a></li>
<li><a href="chapter_002.html#link-124">3.4.9.3. <code>html.if.end_turn</code></a></li>
<li><a href="chapter_002.html#link-125">3.4.9.4. <code>html.if.new_game</code></a></li>
</ul>
</li>
<li><a href="chapter_002.html#link-126">3.4.10. EPUB options</a>
<ul><li><a href="chapter_002.html#link-127">3.4.10.1. <code>epub.version</code></a></li>
<li><a href="chapter_002.html#link-128">3.4.10.2. <code>epub.highlight.theme</code></a></li>
<li><a href="chapter_002.html#link-129">3.4.10.3. <code>epub.css</code></a></li>
<li><a href="chapter_002.html#link-130">3.4.10.4. <code>epub.css.add</code></a></li>
<li><a href="chapter_002.html#link-131">3.4.10.5. <code>epub.chapter.xhtml</code></a></li>
<li><a href="chapter_002.html#link-132">3.4.10.6. <code>epub.toc.extras</code></a></li>
<li><a href="chapter_002.html#link-133">3.4.10.7. <code>epub.escape_nb_spaces</code></a></li>
</ul>
</li>
<li><a href="chapter_002.html#link-134">3.4.11. LaTeX options</a>
<ul><li><a href="chapter_002.html#link-135">3.4.11.1. <code>tex.highlight.theme</code></a></li>
<li><a href="chapter_002.html#link-136">3.4.11.2. <code>tex.links_as_footnotes</code></a></li>
<li><a href="chapter_002.html#link-137">3.4.11.3. <code>tex.command</code></a></li>
<li><a href="chapter_002.html#link-138">3.4.11.4. <code>tex.template</code></a></li>
<li><a href="chapter_002.html#link-139">3.4.11.5. <code>tex.template.add</code></a></li>
<li><a href="chapter_002.html#link-140">3.4.11.6. <code>tex.class</code></a></li>
<li><a href="chapter_002.html#link-141">3.4.11.7. <code>tex.paper.size</code></a></li>
<li><a href="chapter_002.html#link-142">3.4.11.8. <code>tex.margin.left</code></a></li>
<li><a href="chapter_002.html#link-143">3.4.11.9. <code>tex.margin.right</code></a></li>
<li><a href="chapter_002.html#link-144">3.4.11.10. <code>tex.margin.top</code></a></li>
<li><a href="chapter_002.html#link-145">3.4.11.11. <code>tex.margin.bottom</code></a></li>
<li><a href="chapter_002.html#link-146">3.4.11.12. <code>tex.title</code></a></li>
<li><a href="chapter_002.html#link-147">3.4.11.13. <code>tex.font.size</code></a></li>
<li><a href="chapter_002.html#link-148">3.4.11.14. <code>tex.hyperref</code></a></li>
<li><a href="chapter_002.html#link-149">3.4.11.15. <code>tex.stdpage</code></a></li>
</ul>
</li>
<li><a href="chapter_002.html#link-150">3.4.12. Resources option</a>
<ul><li><a href="chapter_002.html#link-151">3.4.12.1. <code>resources.files</code></a></li>
<li><a href="chapter_002.html#link-152">3.4.12.2. <code>resources.out_path</code></a></li>
<li><a href="chapter_002.html#link-153">3.4.12.3. <code>resources.base_path</code></a></li>
<li><a href="chapter_002.html#link-154">3.4.12.4. <code>resources.base_path.links</code></a></li>
<li><a href="chapter_002.html#link-155">3.4.12.5. <code>resources.base_path.images</code></a></li>
<li><a href="chapter_002.html#link-156">3.4.12.6. <code>resources.base_path.files</code></a></li>
<li><a href="chapter_002.html#link-157">3.4.12.7. <code>resources.base_path.templates</code></a></li>
</ul>
</li>
<li><a href="chapter_002.html#link-158">3.4.13. Input options</a>
<ul><li><a href="chapter_002.html#link-159">3.4.13.1. <code>input.clean</code></a></li>
<li><a href="chapter_002.html#link-160">3.4.13.2. <code>input.clean.smart_quotes</code></a></li>
<li><a href="chapter_002.html#link-161">3.4.13.3. <code>input.clean.ligature.dashes</code></a></li>
<li><a href="chapter_002.html#link-162">3.4.13.4. <code>input.clean.ligature.guillemets</code></a></li>
<li><a href="chapter_002.html#link-163">3.4.13.5. <code>input.yaml_blocks</code></a></li>
</ul>
</li>
<li><a href="chapter_002.html#link-164">3.4.14. Crowbook options</a>
<ul><li><a href="chapter_002.html#link-165">3.4.14.1. <code>crowbook.html_as_text</code></a></li>
<li><a href="chapter_002.html#link-166">3.4.14.2. <code>crowbook.markdown.superscript</code></a></li>
<li><a href="chapter_002.html#link-167">3.4.14.3. <code>crowbook.temp_dir</code></a></li>
<li><a href="chapter_002.html#link-168">3.4.14.4. <code>crowbook.zip.command</code></a></li>
</ul>
</li>
<li><a href="chapter_002.html#link-169">3.4.15. Output options (for proofreading)</a>
<ul><li><a href="chapter_002.html#link-170">3.4.15.1. <code>output.proofread.html</code></a></li>
<li><a href="chapter_002.html#link-171">3.4.15.2. <code>output.proofread.html.dir</code></a></li>
<li><a href="chapter_002.html#link-172">3.4.15.3. <code>output.proofread.pdf</code></a></li>
</ul>
</li>
<li><a href="chapter_002.html#link-173">3.4.16. Proofreading options (only for <code>output.proofread.*</code> targets)</a>
<ul><li><a href="chapter_002.html#link-174">3.4.16.1. <code>proofread</code></a></li>
<li><a href="chapter_002.html#link-175">3.4.16.2. <code>proofread.languagetool</code></a></li>
<li><a href="chapter_002.html#link-176">3.4.16.3. <code>proofread.languagetool.port</code></a></li>
<li><a href="chapter_002.html#link-177">3.4.16.4. <code>proofread.grammalecte</code></a></li>
<li><a href="chapter_002.html#link-178">3.4.16.5. <code>proofread.grammalecte.port</code></a></li>
<li><a href="chapter_002.html#link-179">3.4.16.6. <code>proofread.repetitions</code></a></li>
<li><a href="chapter_002.html#link-180">3.4.16.7. <code>proofread.repetitions.max_distance</code></a></li>
<li><a href="chapter_002.html#link-181">3.4.16.8. <code>proofread.repetitions.fuzzy</code></a></li>
<li><a href="chapter_002.html#link-182">3.4.16.9. <code>proofread.repetitions.fuzzy.threshold</code></a></li>
<li><a href="chapter_002.html#link-183">3.4.16.10. <code>proofread.repetitions.ignore_proper</code></a></li>
<li><a href="chapter_002.html#link-184">3.4.16.11. <code>proofread.repetitions.threshold</code></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><a href="chapter_003.html#link-185">4. Markdown format</a>
<ul><li><a href="chapter_003.html#link-186">4.1. Tables</a></li>
<li><a href="chapter_003.html#link-187">4.2. Footnotes</a></li>
<li><a href="chapter_003.html#link-188">4.3. Superscript and subscript</a></li>
<li><a href="chapter_003.html#link-189">4.4. “Standalone” images</a></li>
<li><a href="chapter_003.html#link-190">4.5. Interactive fiction</a></li>
</ul>
</li>
<li><a href="chapter_004.html#link-191">5. Templates</a>
<ul><li><a href="chapter_004.html#link-192">5.1. Create and edit template</a>
<ul><li><a href="chapter_004.html#link-193">5.1.1. <code>--print-template</code></a></li>
<li><a href="chapter_004.html#link-194">5.1.2. Mustache syntax</a>
<ul><li><a href="chapter_004.html#link-195">5.1.2.1. Syntax in LaTeX</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="chapter_004.html#link-196">5.2. List of templates</a>
<ul><li><a href="chapter_004.html#link-197">5.2.1. html.js</a></li>
<li><a href="chapter_004.html#link-198">5.2.2. html.css</a></li>
<li><a href="chapter_004.html#link-199">5.2.3. html.css.colors</a></li>
<li><a href="chapter_004.html#link-200">5.2.4. html.css.print</a></li>
<li><a href="chapter_004.html#link-201">5.2.5. html.highlight.js</a></li>
<li><a href="chapter_004.html#link-202">5.2.6. html.highlight.css</a></li>
<li><a href="chapter_004.html#link-203">5.2.7. html.standalone.js</a></li>
<li><a href="chapter_004.html#link-204">5.2.8. html.standalone.template</a></li>
<li><a href="chapter_004.html#link-205">5.2.9. html.dir.template</a></li>
<li><a href="chapter_004.html#link-206">5.2.10. tex.template</a></li>
<li><a href="chapter_004.html#link-207">5.2.11. epub.chapter.xhtml</a></li>
<li><a href="chapter_004.html#link-208">5.2.12. epub.css</a></li>
<li><a href="chapter_004.html#link-209">5.2.13. Inline templates</a></li>
</ul>
</li>
<li><a href="chapter_004.html#link-210">5.3. List of accessible variables</a>
<ul><li><a href="chapter_004.html#link-211">5.3.1. Metadata</a></li>
<li><a href="chapter_004.html#link-212">5.3.2. Localisation strings</a></li>
<li><a href="chapter_004.html#link-213">5.3.3. Template-dependent values</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="chapter_005.html#link-214">6. Proofreading with Crowbook</a>
<ul><li><a href="chapter_005.html#link-215">6.1. Enabling proofreading</a></li>
<li><a href="chapter_005.html#link-216">6.2. Repetition detection</a></li>
<li><a href="chapter_005.html#link-217">6.3. Grammar checking</a>
<ul><li><a href="chapter_005.html#link-218">6.3.1. With Languagetool</a></li>
<li><a href="chapter_005.html#link-219">6.3.2. With Grammalecte</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="chapter_006.html#link-220">7. Interactive fiction</a>
<ul><li><a href="chapter_006.html#link-221">7.1. Basics</a></li>
<li><a href="chapter_006.html#link-222">7.2. The interactive fiction renderer</a></li>
<li><a href="chapter_006.html#link-223">7.3. Using Javascript in your interactive fiction</a></li>
<li><a href="chapter_006.html#link-224">7.4. Embedding Makdown in your Javascript code embedded in your Markdown</a></li>
<li><a href="chapter_006.html#link-225">7.5. Conditional blocks</a></li>
<li><a href="chapter_006.html#link-226">7.6. Interactive fiction options</a></li>
</ul>
</li>
<li><a href="chapter_007.html#link-227">8. Tips and tricks</a>
<ul><li><a href="chapter_007.html#link-228">8.1. Using Crowbook with Emacs markdown mode</a>
<ul><li><a href="chapter_007.html#link-229">8.1.1. Some explanations if it looks a bit cryptic to you</a></li>
</ul>
</li>
<li><a href="chapter_007.html#link-230">8.2. Embedding fonts in an EPUB file</a></li>
</ul>
</li>
<li><a href="chapter_008.html#link-231">9. Contributing</a>
<ul><li><a href="chapter_008.html#link-232">9.1. Internationalization</a></li>
</ul>
</li>
<li><a href="chapter_009.html#link-233">ChangeLog</a>
<ul><li><a href="chapter_009.html#link-234">0.15.1 (2020-07-07)</a></li>
<li><a href="chapter_009.html#link-235">0.15.0 (2019-07-18)</a></li>
<li><a href="chapter_009.html#link-236">0.14.1 (2018-06-01)</a></li>
<li><a href="chapter_009.html#link-237">0.14.0 (2017-11-26)</a></li>
<li><a href="chapter_009.html#link-238">0.14.0-beta (2017-10-08)</a></li>
<li><a href="chapter_009.html#link-239">0.13.0 (2017-07-14)</a></li>
<li><a href="chapter_009.html#link-240">0.12.0 (2017-06-05)</a></li>
<li><a href="chapter_009.html#link-241">0.11.4 (2017-03-21)</a></li>
<li><a href="chapter_009.html#link-242">0.11.3 (2017-03-19)</a></li>
<li><a href="chapter_009.html#link-243">0.11.2 (2017-03-05)</a></li>
<li><a href="chapter_009.html#link-244">0.11.1 (2017-01-05)</a></li>
<li><a href="chapter_009.html#link-245">0.11.0 (2016-12-31)</a></li>
<li><a href="chapter_009.html#link-246">0.10.4 (2016-12-16)</a></li>
<li><a href="chapter_009.html#link-247">0.10.3 (2016-11-19)</a></li>
<li><a href="chapter_009.html#link-248">0.10.2 (2016-10-21)</a></li>
<li><a href="chapter_009.html#link-249">0.10.1 (2016-10-18)</a></li>
<li><a href="chapter_009.html#link-250">0.10.0 (2016-10-18)</a></li>
<li><a href="chapter_009.html#link-251">0.9.1 (2016-09-29)</a></li>
<li><a href="chapter_009.html#link-252">0.9.0 (2016-09-23)</a></li>
<li><a href="chapter_009.html#link-253">0.8.0 (2016-09-19)</a></li>
<li><a href="chapter_009.html#link-254">0.7.0 (2016-09-11)</a></li>
<li><a href="chapter_009.html#link-255">0.6.0 (2016-09-09)</a></li>
<li><a href="chapter_009.html#link-256">0.5.1 (2016-04-14)</a></li>
<li><a href="chapter_009.html#link-257">0.5.0 (2016-04-02)</a></li>
<li><a href="chapter_009.html#link-258">0.4.0 (2016-03-01)</a></li>
<li><a href="chapter_009.html#link-259">0.3.0 (2016-02-27)</a></li>
<li><a href="chapter_009.html#link-260">0.2.2 (2016-02-25)</a></li>
<li><a href="chapter_009.html#link-261">0.2.1 (2016-02-25)</a></li>
<li><a href="chapter_009.html#link-262">0.2.0 (2016-02-25)</a></li>
<li><a href="chapter_009.html#link-263">0.1.0 (2016-02-21)</a></li>
</ul>
</li>
<li><a href="chapter_010.html#link-264">GNU LESSER GENERAL PUBLIC LICENSE</a></li>
</ul>
</nav>
<div id = "content">
<div id = "top"><p id = "para-1182">Crowbook User Guide 0.15.0</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>
<h1 id = 'link-1'><span class = 'chapter-header'>Chapter 1</span><br />Crowbook</h1><p id = "para-1"><a href = "https://travis-ci.org/lise-henry/crowbook"><img src = "https://travis-ci.org/lise-henry/crowbook.svg?branch=master" title = "" alt = "Travis status" /></a> <a href = "https://ci.appveyor.com/project/lise-henry/crowbook"><img src = "https://ci.appveyor.com/api/projects/status/bnj1rg76khth0aia?svg=true" title = "" alt = "Appveyor status" /></a></p>
<p id = "para-2">Crowbooks aim is to allow you to write a book in Markdown without worrying about formatting or typography, and let the program generate HTML, PDF and EPUB output for you. Its focus is novels and fiction, and the default settings should (hopefully) generate readable books with correct typography without requiring you to worry about it.</p>
<h2 id = "link-2">1.1. Example</h2>
<p id = "para-3">To see what Crowbooks output looks like, you can read the Crowbook guide rendered in <a href = "http://lise-henry.github.io/crowbook/book/book.html">HTML</a>, <a href = "http://lise-henry.github.io/crowbook/book/book.pdf">PDF</a> or <a href = "http://lise-henry.github.io/crowbook/book/book.epub">EPUB</a>.</p>
<p id = "para-4">You can also play with the <a href = "http://vps.crowdagger.fr/crowbook/">online demo version</a>.</p>
<h2 id = "link-3">1.2. Installing</h2>
<p id = "para-5">There are two ways to install Crowbook: either using precompiled binaries, or compiling it using <code>cargo</code>.</p>
<h3 id = "link-4">1.2.1. Binaries</h3>
<p id = "para-6">See <a href = "https://github.com/lise-henry/crowbook/releases">the releases page</a> to download a precompiled binary for your architecture (currently: Linux, Windows and MacOSX). Just extract the archive and run <code>crowbook</code> (or <code>crowbook.exe</code> on Windows). You might also want to copy the binary somewhere in your <code>PATH</code> for later usage.</p>
<p id = "para-7">If you are on Debian GNU/Linux or Ubuntu (on a PC architecture), you can also download <code>.deb</code> packages on <a href = "https://github.com/lise-henry/crowbook/releases">the releases page</a>.</p>
<h3 id = "link-5">1.2.2. Using Cargo</h3>
<p id = "para-8"><a href = "https://crates.io/">Cargo</a> is the package manager for <a href = "https://www.rust-lang.org/">Rust</a>. You can <a href = "https://www.rust-lang.org/downloads.html">install it here</a>. Once that is done:</p>
<pre><span style="color:#b58900;">$</span><span style="color:#839496;"> cargo install crowbook
</span></pre><p id = "para-9">will automatically download the latest <code>crowbook</code> release on <a href = "https://crates.io/crates/crowbook">crates.io</a>, compile it, and install it on your system.</p>
<blockquote><p id = "para-10">Some dependencies also require building C libraries; you might thus also need to install a C compiler and <code>make</code>/<code>cmake</code> build tools. You can also try to build a version of Crowbook without optional features: <code>cargo install crowbook --no-default-features --features "clap"</code> will disable syntactic highlighting and proofreading, requiring less dependencies.</p>
</blockquote>
<h2 id = "link-6">1.3. Dependencies</h2>
<p id = "para-11">While there should be, strictly speaking, no real dependencies to be able to run Crowbook (it is published as a statically compiled binary), some features require additional commands to work correctly:</p>
<ul>
<li><p id = "para-12">EPUB rendering requires the <code>zip</code> command to be present on your system;</p>
</li>
<li><p id = "para-13">PDF rendering requires a working installation of LaTeX (preferably <code>xelatex</code>).</p>
</li>
</ul>
<h2 id = "link-7">1.4. Quick tour</h2>
<p id = "para-14">The simplest command is:</p>
<pre><span style="color:#b58900;">$</span><span style="color:#839496;"> crowbook </span><span style="color:#657b83;">&lt;</span><span style="color:#839496;">BOOK</span><span style="color:#657b83;">&gt;
</span></pre><p id = "para-15">where <code>BOOK</code> is a configuration file. Crowbook will parse this file and generate HTML, EPUB, and/or PDF output formats, according to the settings in the configuration file.</p>
<p id = "para-16">To create a new book, assuming you have a list of Markdown files, you can generate a template configuration file with the <code>--create</code> argument:</p>
<pre><span style="color:#b58900;">$</span><span style="color:#839496;"> crowbook my.book</span><span style="color:#268bd2;"> --create</span><span style="color:#839496;"> chapter_</span><span style="color:#859900;">*</span><span style="color:#839496;">.md
</span></pre><p id = "para-17">This will generate a default <code>my.book</code> file, which youll need to complete. This configuration file contains some metadata, options, and lists the Markdown files.</p>
<p id = "para-18">For short books containing only a single Markdown file, it is possible to embed some metadata at the beginning of the file and use the <code>--single</code> or <code>-s</code> option to run <code>crowbook</code> directly on this Markdown file and avoid creating a separate book configuration file:</p>
<pre><span style="color:#b58900;">$</span><span style="color:#839496;"> crowbook</span><span style="color:#268bd2;"> -s</span><span style="color:#839496;"> text.md
</span></pre><p id = "para-19">For more information, see the chapters on <a href = "guide/arguments.md">the arguments supported by <code>crowbook</code></a> and on <a href = "guide/config.md">the configuration file</a>.</p>
<h2 id = "link-8">1.5. Current features</h2>
<h3 id = "link-9">1.5.1. Output formats</h3>
<p id = "para-20">Crowbook supports HTML, PDF and EPUB (either version 2 or 3) as output formats. See the Crowbook User Guide rendered in <a href = "http://lise-henry.github.io/crowbook/book/book.html">HTML</a>, <a href = "http://lise-henry.github.io/crowbook/book/book.epub">EPUB</a> and <a href = "http://lise-henry.github.io/crowbook/book.pdf">PDF</a>.</p>
<h3 id = "link-10">1.5.2. Input format</h3>
<p id = "para-21">Crowbook uses <a href = "https://crates.io/crates/pulldown-cmark">pulldown-cmark</a> and thus should support most of <a href = "http://commonmark.org/">CommonMark Markdown</a>. Inline HTML, however, is not implemented, and probably wont be, as the goal is to have books that can also be generated in PDF (and maybe ODT).</p>
<h3 id = "link-11">1.5.3. Typographic “cleaning”</h3>
<p id = "para-22">Maybe the most specific “feature” of Crowbook is that it does its best to “clean” the input text before rendering it. By default, it removes superfluous spaces and tries to use curly quotes. If the books language is set to french, it also tries to respect french typography by replacing spaces with non-breaking ones when it is appropriate (e.g. before ?, !, ; or :).</p>
<blockquote><p id = "para-23">Please <a href = "https://github.com/lise-henry/crowbook/issues/new">open an issue</a> describing typographic rules if you want them to be implemented for other languages.</p>
</blockquote>
<h3 id = "link-12">1.5.4. Links handling</h3>
<p id = "para-24">Crowbook tries to correctly translate local links in the input Markdown files: e.g. if you have a link to a Markdown file that is part of your book, it will be transformed into a link inside the document.</p>
<h3 id = "link-13">1.5.5. Inline YAML blocks</h3>
<p id = "para-25">Crowbook supports inline YAML blocks:</p>
<pre><span style="color:#839496;">---
</span><span style="color:#268bd2;">author</span><span style="color:#839496;">: </span><span style="color:#268bd2;">Me
title</span><span style="color:#839496;">: </span><span style="color:#2aa198;">My title
</span><span style="color:#839496;">---
</span></pre><p id = "para-26">This is mostly useful when Crowbook is run with the <code>--single</code> argument (receiving a single Markdown file instead of a book configuration file), for short texts that only contain one “chapter”.</p>
<h3 id = "link-14">1.5.6. Proofreading</h3>
<p id = "para-27">Crowbook can also generate “proofreading” copies in HTML or PDF, highlighting grammar errors and repetitions. For more information, see <a href = "guide/proofreading.md">the proofreading chapter of the guide</a>.</p>
<h3 id = "link-15">1.5.7. Interactive fiction</h3>
<p id = "para-28">Crowbook has experimental support for writing interactive fiction (only for HTML). For more information, read the <a href = "guide/if.md">interactive fiction chapter</a>.</p>
<h3 id = "link-16">1.5.8. Customization</h3>
<p id = "para-29">While the default settings will hopefully generate something that should look “good enough”, it is possible to customize the output, essentially by providing different <a href = "guide/templates.md">templates</a>.</p>
<h3 id = "link-17">1.5.9. Bugs</h3>
<p id = "para-30">See the <a href = "https://github.com/lise-henry/crowbook/issues">issue tracker on GitHub</a>.</p>
<h2 id = "link-18">1.6. Contributors</h2>
<ul>
<li><p id = "para-31"><a href = "http://stephanemourey.fr/">Stéphane Mourey</a> <code>&lt;s+crowbook AT stephanemourey DOT fr&gt;</code></p>
</li>
<li><p id = "para-32"><a href = "https://github.com/hirschenberger">Falco Hirschenberger</a></p>
</li>
</ul>
<h2 id = "link-19">1.7. Acknowledgements</h2>
<p id = "para-33">Besides the <a href = "https://www.rust-lang.org/">Rust</a> compiler and standard library, Crowbook uses the following libraries: <a href = "https://crates.io/crates/pulldown-cmark">pulldown-cmark</a>, <a href = "https://crates.io/crates/yaml-rust">yaml-rust</a>, <a href = "https://crates.io/crates/mustache">mustache</a>, <a href = "https://github.com/kbknapp/clap-rs">clap</a>, <a href = "https://crates.io/crates/chrono">chrono</a>, <a href = "https://crates.io/crates/uuid">uuid</a>, <a href = "https://crates.io/crates/mime_guess">mime_guess</a>, <a href = "https://crates.io/crates/crossbeam">crossbeam</a>, <a href = "https://crates.io/crates/walkdir">walkdir</a>, <a href = "https://crates.io/crates/rustc-serialize">rustc-serialize</a>, <a href = "https://crates.io/crates/caribon">caribon</a>, <a href = "https://crates.io/crates/hyper">hyper</a>, <a href = "https://crates.io/crates/url">url</a>, <a href = "https://crates.io/crates/lazy_static">lazy_static</a>, <a href = "https://crates.io/crates/regex">regex</a>, <a href = "https://crates.io/crates/term">term</a>, <a href = "https://crates.io/crates/numerals">numerals</a>, <a href = "https://crates.io/crates/syntect">syntect</a>.</p>
<p id = "para-34">It can also embed <a href = "https://highlightjs.org/">Highlight.js</a> in HTML output to enable syntax highlighting for code blocks.</p>
<p id = "para-35">It also uses configuration files from <a href = "https://github.com/japaric/rust-everywhere">rust-everywhere</a> to use <a href = "https://travis-ci.org/">Travis</a> and <a href = "http://www.appveyor.com/">Appveyor</a> to generate binaries for various platforms on each release.</p>
<p id = "para-36">While Crowbook directly doesnt use them, there was also inspiration from <a href = "http://pandoc.org/">Pandoc</a> and <a href = "https://github.com/azerupi/mdBook">mdBook</a>.</p>
<p id = "para-37">Also, the <a href = "https://validator.w3.org/">W3C HTML validator</a> and the <a href = "http://validator.idpf.org/">IDPF EPUB validator</a> proved to be very useful during development and testing.</p>
<h2 id = "link-20">1.8. ChangeLog</h2>
<p id = "para-38">See <a href = "chapter_009.html">ChangeLog</a>.</p>
<h2 id = "link-21">1.9. Contributing</h2>
<p id = "para-39">See <a href = "guide/contribute.md">how you can contribute to Crowbook</a>.</p>
<p id = "para-40">If you find this project useful, you can also support its author by <a href = "https://www.paypal.me/crowdagger">making a Paypal donation</a>.</p>
<h2 id = "link-22">1.10. Library</h2>
<p id = "para-41">While the main purpose of Crowbook is to be run as a standalone program, the code is written as a library, so if you want to build on it you can use it as such. You can look at the generated documentation on <a href = "https://docs.rs/releases/search?query=crowbook">docs.rs</a>.</p>
<p id = "para-42">Note that, in order to facilitate code reuse, some features have been split to separate libraries:</p>
<ul>
<li><p id = "para-43"><a href = "https://github.com/lise-henry/epub-builder">epub-builder</a> makes it easier to generate EPUB files.</p>
</li>
<li><p id = "para-44"><a href = "https://github.com/lise-henry/crowbook-text-processing/">crowbook-text-processing</a> contains all the “typographic” functions (smart quotes, handling of non-breaking spaces in french, ...).</p>
</li>
<li><p id = "para-45"><a href = "https://github.com/lise-henry/crowbook-intl/">crowbook-intl</a> is used for the internationalization (translation) process.</p>
</li>
</ul>
<h2 id = "link-23">1.11. License</h2>
<p id = "para-46">Crowbook is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License (LGPL), version 2.1 or (at your option) any later version. See <a href = "chapter_010.html">LICENSE</a> for more information.</p>
<p id = "para-47">Crowbooks logo is licensed under the <a href = "https://creativecommons.org/licenses/by/4.0/deed.en">Creative Commons Attribution 4.0 International license</a>, based on the <a href = "https://commons.wikimedia.org/wiki/File:Rust_programming_language_black_logo.svg">Rust logo</a> by Mozilla Corporation.</p>
<p id = "para-48">Crowbook includes binary (minified) CSS and Javascript files from <a href = "https://highlightjs.org/">Highlight.js</a>, written by Ivan Sagalaev, see <a href = "https://raw.githubusercontent.com/lise-henry/crowbook/master/templates/highlight/LICENSE">license</a></p>
<p class = "next_chapter">
<a href = "chapter_001.html">
2. Arguments »
</a>
</p>
</div>
<footer id = "footer"><p id = "para-1181">Generated by <a href = "https://github.com/lise-henry/crowbook">Crowbook</a> 0.15.1</p>
</footer>
</div>
</body>
</html>