用标记文件构建电子书(epub或pdf)
md2ebook的Python项目详细描述
要求
- Calibre(尤其是它的command-line-interface tools)
- Pandoc
- Python
- epubcheck(这个是可选的)
请注意,您需要calibre或pandoc(或两者)来生成 epub文件,但需要calibre(及其cli工具)来检查epub 一致性。
安装
一旦安装了非python需求,就可以在系统范围内安装,或者 在虚拟机中:
pip install -e ./
用法
要开始一本新书,只需使用以下命令创建一个新项目:
md2ebook start
或者:
md2ebook start directory-name
完成后,可以移动到此目录并使用build命令:
md2ebook build
这将构建一个html和一个epub版本的书,如 book.json文件。
额外命令
您可以使用以下方法检查ePub的完整性:
md2ebook check
选项
有关md2ebook命令的更多帮助,只需键入:
md2ebook --help
您将获得关于命令及其选项的大量文档。
封面
您可以使用以下三个选项之一为您的电子书指定封面:
- 在命令行中添加--cover参数,
- 将cover密钥添加到配置文件中,
- 在项目的根目录中留下一个cover.(png|jpg|jpeg|svg)文件,这个 其中一个将用作封面。
如果没有一个导致现有文件,将使用丑陋的默认覆盖。
请注意,配置选项或可选参数可以是 url(是的,类似于http://example.com/beautiful-cover.jpg)。
配置文件
在图书目录的根目录中,有一个book.json文件 包含您的书本配置。此文件是必需的。
下面是它的强制选项,作为一个完整的示例:
{ "files": ["chapter1.md", "chapter2.md", "chapter3.md"], "author": "Joe A. Nonymous", "title": "What a beautiful title", "fileroot": "what-a-beautiful-title", "generator": "calibre" }
- files是位于您的图书根目录中的标记文件列表。 它们将按照特定的顺序进行处理并编译成一本电子书。
- author是这本书的作者的名字。
- title是这本书的书名,它充满了荣耀。
- fileroot此字符串将用作不同输出的root。 在下面的示例中,您将生成what-a-beautiful-title.html和 what-a-beautiful-title.epub在您的图书根目录中。
- generator可以是“calibre”或“pandoc”。选一个你喜欢的(或 您系统中可用的那个)。
额外配置
- pdf:使用build时触发pdf生成。设置为true或 false。如果未设置,则不会生成PDF。使用--with-pdf 替代此设置的选项。
- cover:将设置封面的路径。这必须导致现有文件 如果可能的话,一个图像(png,jpg,jpeg,甚至svg)。
- extensions:此字符串列表定义 Markdown Extensions 可以添加以分析标记文件。请参考降价 扩展以使用支持的扩展。
有关降价扩展的注释
以下是有关可用扩展名的列表:
- 额外(“额外”)
- 缩写:(“abbr”)
- 属性列表:(“属性列表”)
- 定义列表:(“def_list”)
- 围栏代码块:(“围栏代码”)
- 脚注:(“脚注”)
- 表格:(“表格”)
- 智能强:(“智能强”)
- 警告:(“警告”)
- codehilite:(“codehilite”)
- headerid:(“headerid”)
- 元数据:(“meta”)
- 要打断的新行:(“nl2br”)
- 理智列表:(“理智列表”)
- 目录:(“TOC”)
- 维基链接:(“维基链接”)
下面是使用扩展名的config.json示例:
{ "files": [ "book.md" ], "title": "Les 3 Mousquetaires", "fileroot": "les-3-mousquetaires", "author": "Alexandre Dumas", "extensions": ["admonitions", "toc", "footnotes"], "generator": "pandoc" }
设置扩展参数as described in the docs
"extensions": ["headerid(level=3)"]
学分
这一款软件是Copyleft 2013-Bruno Bord。
它是根据麻省理工学院的许可条款发布的,更多信息请参见许可文件 细节。