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_003.html
Elisabeth Henry f05bb3019d Update guide
2018-06-01 18:15:28 +02:00

336 lines
16 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 - 4. Markdown format</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-352">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_002.html">
« 3. The configuration file
</a>
</p>
<h1 id = 'link-77'><span class = 'chapter-header'>Chapter 4</span><br />Markdown format</h1><p id = "para-165">Crowbook uses <a href = "https://github.com/google/pulldown-cmark">pulldown-cmark</a>, which is an implementation of <a href = "http://commonmark.org/">CommonMark</a>, so for more information on Markdown syntax, you can refer to this website.</p>
<p id = "para-166">However, pulldown-cmark also implements a handful of unofficial extensions, and Crowbook also adds its own variants, so there are a few syntax elements that are not covered by the CommonMark reference.</p>
<h2 id = "link-78">4.1. Tables</h2>
<p id = "para-167">Tables can be included in your Markdown file. E.g.:</p>
<pre><span style="color:#839496;">| Author | Book |
|</span><span style="color:#657b83;">--------------------</span><span style="color:#839496;">|</span><span style="color:#657b83;">----------------------------</span><span style="color:#839496;">|
| Anne Rice | Interview With the Vampire |
| Terry Pratchett | Hogfather |
| George Martin | A Dance with Dragons |
</span></pre><p id = "para-168">will render as</p>
<div class = "table">
<table>
<tr>
<th> Author </th><th> Book </th></tr>
<tr>
<td> Anne Rice </td><td> Interview With the Vampire </td></tr>
<tr>
<td> Terry Pratchett </td><td> Hogfather </td></tr>
<tr>
<td> George Martin </td><td> A Dance with Dragons </td></tr>
</table>
</div>
<blockquote><p id = "para-169">Crowbook doesnt currently support specifying column alignment.</p>
</blockquote>
<h2 id = "link-79">4.2. Footnotes</h2>
<p id = "para-170">Footnotes can be specified the following way:</p>
<pre><span style="color:#839496;">Footnotes can be useful[^1] and make you look clever.
[</span><span style="color:#b58900;">^1</span><span style="color:#839496;">]: </span><span style="color:#2aa198;">But </span><span style="color:#839496;">you shouldn&#39;t use them too much.</span><span style="color:#839496;">
</span></pre><p id = "para-171">Will be rendered as:</p>
<blockquote><p id = "para-173">Footnotes can be useful<a href = "#note-dest-1"><sup id = "note-source-1">[1]</sup></a> and make you look clever.</p>
</blockquote>
<p id = "para-174">You can use multiple paragraphs in a footnote definition. This can sometimes be useful, but it can also be tricky, as if you only let an empty line before the next paragraph, it will also be included in the footnote. And probably the next one and the following one too:</p>
<pre><span style="color:#839496;">This is a footnote usage[^1].
[</span><span style="color:#b58900;">^1</span><span style="color:#839496;">]: </span><span style="color:#2aa198;">This </span><span style="color:#839496;">is obviously part of the footnote definition.</span><span style="color:#839496;">
This is less obviously ALSO part of the footnote definition.
This is NOT part of the foonote.
</span></pre><p id = "para-175">Due to its own quirks, Crowbook will duplicate footnotes if you reference them multiple times:</p>
<pre><span style="color:#839496;">This footnote is unique[^2] but referenced twice[^2].
[</span><span style="color:#b58900;">^2</span><span style="color:#839496;">]: </span><span style="color:#2aa198;">Or </span><span style="color:#839496;">is it?</span><span style="color:#839496;">
</span></pre><blockquote><p id = "para-178">This footnote is unique<a href = "#note-dest-2"><sup id = "note-source-2">[2]</sup></a> but referenced twice<a href = "#note-dest-3"><sup id = "note-source-3">[3]</sup></a>.</p>
</blockquote>
<h2 id = "link-80">4.3. Superscript and subscript</h2>
<p id = "para-179">Crowbook 0.12.0 added experimental support for superscript and subscript, using respectively <code>foo^up^</code> and <code>bar~down~</code> syntax, which will render as “foo<sup>up</sup>" and “bar<sub>down</sub>" ; this feature is quite a hack above the Markdown parsing library, and as such might cause issue if you mix it with other Markdown syntax elements (or, in the previous example, for smart quote detection). This is why youll need to enable it with <code>crowbook.mardown.superscript</code>.</p>
<h2 id = "link-81">4.4. “Standalone” images</h2>
<p id = "para-180">This is not <em>per se</em> a new syntactic element, but Crowbook distinguish two kind of images, according to their position in the document:</p>
<ul>
<li>standalone images, which are the only elements of a paragraph;</li>
<li>inline images, which are placed in a container containing other elements.</li>
</ul>
<p id = "para-181">Standalone images will typically be resized to fill the width of the page, while inline images are not resized.</p>
<p id = "para-182">This image is on its own paragraph, and thus considered “standalone” and resized to fit width:</p>
<div class = "image">
<img src = "images/image_0.png" title = "" alt = "Logo" />
</div><p id = "para-183">While this one <img src = "images/image_0.png" title = "" alt = "Logo" /> is embedded in a paragraph and its size is unchanged.</p>
<h2 id = "link-82">4.5. Interactive fiction</h2>
<p id = "para-184">Crowbook also adds some syntax for interactive fiction, to make embedding Javascript code easier. It is only enabled for the interactive fiction renderer. For more information, see the <a href = "chapter_006.html">chapter on this matter</a>.</p>
<div class = "notes">
<h2 class = "notes">Notes</h2>
<table class = "notes">
<tr class = "notes">
<td class = "note-number">
<p class = "note-number">
<a href = "#note-source-1">[1]</a>
</p>
</td>
<td class = "note">
<aside id = "note-dest-1"><p id = "para-172">But you shouldnt use them too much.</p>
</aside>
</td>
</tr>
<tr class = "notes">
<td class = "note-number">
<p class = "note-number">
<a href = "#note-source-2">[2]</a>
</p>
</td>
<td class = "note">
<aside id = "note-dest-2"><p id = "para-176">Or is it?</p>
</aside>
</td>
</tr>
<tr class = "notes">
<td class = "note-number">
<p class = "note-number">
<a href = "#note-source-3">[3]</a>
</p>
</td>
<td class = "note">
<aside id = "note-dest-3"><p id = "para-177">Or is it?</p>
</aside>
</td>
</tr>
</table>
</div>
<p class = "next_chapter">
<a href = "chapter_004.html">
5. Templates »
</a>
</p>
</div>
<footer id = "footer"><p id = "para-351">Generated by <a href = "https://github.com/lise-henry/crowbook">Crowbook</a> 0.14.1</p>
</footer>
</div>
</body>
</html>