summaryrefslogtreecommitdiff
path: root/www/posts/markdown/2020-03-30/creating-an-ebook-with-markdown/index.html
diff options
context:
space:
mode:
authorDavid T. Sadler <davidtsadler@googlemail.com>2021-05-17 15:59:24 +0100
committerDavid T. Sadler <davidtsadler@googlemail.com>2021-05-17 15:59:24 +0100
commitbbf7974715b9a43bab207df75ef69209cdf13850 (patch)
tree13078ed02a7fec8f28b1d6046e6533f1be2aec54 /www/posts/markdown/2020-03-30/creating-an-ebook-with-markdown/index.html
parent3e9a949c823917e0f4189628959fa4d3eb908db4 (diff)
Move to building localy rather than on remote server
Diffstat (limited to 'www/posts/markdown/2020-03-30/creating-an-ebook-with-markdown/index.html')
-rw-r--r--www/posts/markdown/2020-03-30/creating-an-ebook-with-markdown/index.html59
1 files changed, 59 insertions, 0 deletions
diff --git a/www/posts/markdown/2020-03-30/creating-an-ebook-with-markdown/index.html b/www/posts/markdown/2020-03-30/creating-an-ebook-with-markdown/index.html
new file mode 100644
index 0000000..b60c238
--- /dev/null
+++ b/www/posts/markdown/2020-03-30/creating-an-ebook-with-markdown/index.html
@@ -0,0 +1,59 @@
+<!doctype html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <title>Creating an Ebook With Markdown</title>
+ <link rel="shortcut icon" href="/images/favicon.png">
+ <link rel="stylesheet" href="/css/site.css">
+ <link href="/posts/atom.xml" type="application/atom+xml" rel="alternate" title="The Home of David T. Sadler - All Posts"/>
+ <link href="/posts/arch/atom.xml" type="application/atom+xml" rel="alternate" title="The Home of David T. Sadler - All Posts About Arch"/>
+ <link href="/posts/gemini/atom.xml" type="application/atom+xml" rel="alternate" title="The Home of David T. Sadler - All Posts About Gemini"/>
+ <link href="/posts/jigsaw/atom.xml" type="application/atom+xml" rel="alternate" title="The Home of David T. Sadler - All Posts About Jigsaw"/>
+ <link href="/posts/laravel/atom.xml" type="application/atom+xml" rel="alternate" title="The Home of David T. Sadler - All Posts About Laravel"/>
+ <link href="/posts/linux/atom.xml" type="application/atom+xml" rel="alternate" title="The Home of David T. Sadler - All Posts About Linux"/>
+ <link href="/posts/markdown/atom.xml" type="application/atom+xml" rel="alternate" title="The Home of David T. Sadler - All Posts About Markdown"/>
+ <link href="/posts/netlify/atom.xml" type="application/atom+xml" rel="alternate" title="The Home of David T. Sadler - All Posts About Netlify"/>
+ <link href="/posts/nextcloud/atom.xml" type="application/atom+xml" rel="alternate" title="The Home of David T. Sadler - All Posts About Nextcloud"/>
+ <link href="/posts/php/atom.xml" type="application/atom+xml" rel="alternate" title="The Home of David T. Sadler - All Posts About PHP"/>
+ </head>
+ <body>
+ <section><h1>Creating an Ebook With Markdown</h1><blockquote>Mon 30th March 2020 By David T. Sadler.</blockquote><p>Pandoc is a great tool for converting a file in one markup format into another. This means we can use it to convert a file written in Markdown into an EPUB file that is supported by many e-readers.</p><p>Lets start by writting a very simple markdown file called example_ebook.md.</p><pre><code class="markdown">---
+title:
+- type: main
+text: Example Ebook
+- type: subtitle
+text: An Ebook created from a Markdown file
+creator:
+- role: author
+text: David Sadler
+publisher: Published by myself
+---
+
+This is an introduction.
+
+# Chapter 1
+
+This is the first paragraph of chapter 1.
+
+This is the second paragraph of chapter 1.
+
+Below is a list.
+
+- Item One
+- Item Two
+- Item Three
+
+# Chapter 2
+
+This is the first paragraph of chapter 2.
+
+This is the second paragraph of chapter 2.
+
+# Chapter 3
+
+This is the first paragraph of chapter 3.
+
+This is the second paragraph of chapter 3.</code></pre><p>Note that the file begins with a YAML metadata block that starts and ends with three hyphens (---). This allows you to specify EPUB metadata such as the title and author.</p><p>Converting this to EPUB is done by running pandoc.</p><pre><code class="shell">$ pandoc example_ebook.md -t epub3 --toc -o example_ebook.epub</code></pre><p>There are several options that need to be passed to pandoc.</p><ul><li>example_ebook.md - This argument is the file that you are converting.</li><li>-t epub3 - Set the output format to be EPUB v3 book.</li><li>--toc - Include a table of contents in the output document. This will be derived from the H1 headers in the markdown.</li><li>-o example_ebook.epub - Tell pandoc to output the conversion to the named file instead of stdout.</li></ul><p>You can now copy the file example_ebook.epub to any device that supports the format or use one of the many software readers such as Calibre. However, if you wish to read this on a Kindle device you will need to convert it to the Mobi format.</p><p>Amazon provides a command line tool called KindleGen that can convert our EPUB file into the Mobi format. After downloading the tool just run it as shown below.</p><pre><code class="shell">$ kindlegen example_ebook.epub</code></pre><p>This will create a file called example_ebook.mobi that you can copy to your Kindle to read.</p><h3>Links</h3><a href="https://pandoc.org/">Pandoc.</a><a href="https://en.wikipedia.org/wiki/Markdown/">Markdown.</a><a href="https://en.wikipedia.org/wiki/EPUB/">EPUB.</a><a href="https://pandoc.org/MANUAL.html#extension-yaml_metadata_block">YAML metadata block.</a><a href="https://pandoc.org/MANUAL.html#epub-metadata">EPUB metadata.</a><a href="https://www.w3.org/community/epub3/">EPUB v3 book.</a><a href="https://calibre-ebook.com/">Calibre Application.</a><a href="https://en.wikipedia.org/wiki/Comparison_of_e-book_formats#Mobipocket">Mobi Format.</a><a href="https://www.amazon.com/gp/feature.html?ie=UTF8&amp;docId=1000765211">KindleGen Application.</a><a href="/posts/markdown/">Markdown - Read More Posts.</a><p>I don't have comments as I don't want to manage them. You can however contact me at the below address if you want to.</p><a href="mailto:david@davidtsadler.com">Email david@davidtsadler.com</a><a href="https://creativecommons.org/licenses/by-sa/4.0/">The contents of this site is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.</a><p>Copyright © 2021 David T. Sadler.</p><a href="/">Return to Homepage.</a></section>
+ </body>
+</html>