summaryrefslogtreecommitdiff
path: root/src/posts/markdown/2020-03-30/creating-an-ebook-with-markdown/index.gmi
diff options
context:
space:
mode:
Diffstat (limited to 'src/posts/markdown/2020-03-30/creating-an-ebook-with-markdown/index.gmi')
-rw-r--r--src/posts/markdown/2020-03-30/creating-an-ebook-with-markdown/index.gmi96
1 files changed, 96 insertions, 0 deletions
diff --git a/src/posts/markdown/2020-03-30/creating-an-ebook-with-markdown/index.gmi b/src/posts/markdown/2020-03-30/creating-an-ebook-with-markdown/index.gmi
new file mode 100644
index 0000000..25fc38a
--- /dev/null
+++ b/src/posts/markdown/2020-03-30/creating-an-ebook-with-markdown/index.gmi
@@ -0,0 +1,96 @@
+# Creating an Ebook With Markdown
+
+> Mon 30th March 2020 By David T. Sadler.
+
+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.
+
+Lets start by writting a very simple markdown file called example_ebook.md.
+
+```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.
+```
+
+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.
+
+Converting this to EPUB is done by running pandoc.
+
+```shell
+$ pandoc example_ebook.md -t epub3 --toc -o example_ebook.epub
+```
+
+There are several options that need to be passed to pandoc.
+
+* example_ebook.md - This argument is the file that you are converting.
+* -t epub3 - Set the output format to be EPUB v3 book.
+* --toc - Include a table of contents in the output document. This will be derived from the H1 headers in the markdown.
+* -o example_ebook.epub - Tell pandoc to output the conversion to the named file instead of stdout.
+
+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.
+
+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.
+
+```shell
+$ kindlegen example_ebook.epub
+```
+
+This will create a file called example_ebook.mobi that you can copy to your Kindle to read.
+
+### Links
+
+=> https://pandoc.org/ Pandoc.
+=> https://en.wikipedia.org/wiki/Markdown/ Markdown.
+=> https://en.wikipedia.org/wiki/EPUB/ EPUB.
+=> https://pandoc.org/MANUAL.html#extension-yaml_metadata_block YAML metadata block.
+=> https://pandoc.org/MANUAL.html#epub-metadata EPUB metadata.
+=> https://www.w3.org/community/epub3/ EPUB v3 book.
+=> https://calibre-ebook.com/ Calibre Application.
+=> https://en.wikipedia.org/wiki/Comparison_of_e-book_formats#Mobipocket Mobi Format.
+=> https://www.amazon.com/gp/feature.html?ie=UTF8&docId=1000765211 KindleGen Application.
+
+=> /posts/markdown/ Markdown - Read More Posts.
+
+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.
+
+=> mailto:david@davidtsadler.com Email david@davidtsadler.com
+
+=> 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.
+
+Copyright © 2021 David T. Sadler.
+
+=> / Return to Homepage.