在pandoc的帮助下用降价文件制作小说的脚本

panovel的Python项目详细描述


全景

简介

这个小项目的目的是使 以不同格式为目标的新颖设计更简单、更流线型。

你只需把这本书用降价的方式写下来,这是一个非常基本且易于使用的标记 语言。你不需要文字处理器,每个编辑都会 做。然后您只需使用所需的选项编辑metadata.yaml文件 使用和执行脚本。你已经把你的书作为 电子书和pdf,准备打印!这种方法的主要优点 你不必为不同的文件维护不同的文件 格式:

这是怎么工作的?

这个项目是pandoc的一个包装器。 它自动化了转换文件所需的许多步骤 手动并提供一个示例metadata.yaml文件 配置。此外,它还为pandoc提供了许多过滤器 一些特殊元素。

安装

先决条件

在使用此模板之前,需要在 您的计算机:

  1. python 3.6或更高版本:您可以获取python 这里

  2. pandoc:您可以下载pandoc 这里

  3. 乳胶分发版:如果除了epub之外还需要pdf,那么 需要安装乳胶发动机。根据你的操作系统, 这是一些流行的选择:

    • 窗口:miktex。我推荐 完全网络安装。它很大,需要很长时间,但是 您不需要这样自己安装任何软件包。

    • macos:mactexmactex

    • Linux:texlive通过包 管理器< > >

    如果您没有选择完整的 乳胶分发版,您可能需要安装一些附加软件包 在他们里面。所有这些发行版都有一个包管理器 用于下载所需的软件包。这个模板需要这三个 套餐:

    • koma脚本
    • 标题oc

    潘多克也需要一些包裹。你可以在潘多克找到名单 文档(取决于分发,大部分或全部 已安装)。

  4. KindleGen:如果你想把你的书转换成亚马逊Kindle,你 需要亚马逊的这个小工具。你可以得到它 这里

安装此脚本

现在需要自己安装这个脚本。打开控制台并输入:

pip3 install panovel

如何在Windows上打开命令提示符:有很多方法可以 打开Windows上的控制台。您可以使用 powershell,如果你喜欢的话。访问powershell的方法主要是 同样。下面是几个示例:

  • 按Windows键和X。现在电源菜单弹出。选择 命令提示符。
  • 在文件资源管理器中,输入地址栏中的命令
  • 在文件资源管理器中,按住shift键并右键单击文件夹,然后选择 在此处打开命令窗口
  • 在文件资源管理器中,单击文件菜单项,然后选择打开命令提示符。您甚至可以将此命令添加到菜单工具栏 使用右键单击选项菜单更方便地使用。

开始新项目

panovel可以为您创建一个项目文件夹,其中包括 需要开始你的新项目。在中打开控制台 要在其中创建新项目文件夹的文件夹。然后输入 进入控制台:

panovel your_project_name

默认情况下,这将创建一个基本的metadata.yaml文件。如果你需要一切 可用选项,您可以输入:

panovel your_project_name -c

当然,您可以在以后通过打开 项目文件夹中的控制台并输入:

panovel -c

结构

文件夹中的所有标记文件都用于创建书本。你可以 因此,你的书要么放在一个文件里,要么放在不同的文件里。 所有文件都按字母顺序连接,或者可以指定 元数据文件中的序列。此外,您还可以指定文件 包含前物质和后物质。

图像文件夹保存所有使用的图像,例如 epub/mobi文件。

命令行界面

Panovel有一个小的附加选项列表,可用于更多 高级用途。输入< /P>

panovel -h

在控制台中,查看所有可用选项。

格式化

用法

降价是用来格式化这本书的。您可以使用所有功能 由pandocs提供 降价。但同时 markdown擅长轻量级标记,有时需要特殊的格式。 诗歌、题词等都是很好的例子。设置这些格式 元素很简单,这个模板有一个易于使用的语法 这些元素。每个样式都带有一个或多个过滤器 根据输出格式格式化这些元素。

语法非常简单:

~~~{.type .option key=value}
The content that should be styled.
~~~

类型和简单选项前面有一个点,属性由 名称和值。这些选项由一个简单的空格分隔。如果 属性的值包含空格,您需要用 引号。

例如,这是实现一首诗的方法:

~~~{.poem author="William Shakespeare" title="Sonnet 18"}
Shall I compare thee to a summer's day?
Thou art more lovely and more temperate:
Rough winds do shake the darling buds of May,
And summer's lease hath all too short a date:

Sometime too hot the eye of heaven shines,
And often is his gold complexion dimmed,
And every fair from fair sometime declines,
By chance, or nature's changing course untrimmed:

But thy eternal summer shall not fade,
Nor lose possession of that fair thou ow'st,
Nor shall death brag thou wand'rest in his shade,
When in eternal lines to time thou grow'st,

|       So long as men can breathe or eyes can see,
|       So long lives this, and this gives life to thee.
~~~

您可以找到所有提供的样式的说明。 在本文档末尾。

一些附加提示

您可以在源文件中使用HTML样式的注释。但不是在里面 其他样式元素。这样的评论如下:

<!-- This is a comment. -->

您可以在 标题的结尾,将其从自动编号中排除,如果 选择使用它。

# Example Heading{.unnumbered}
# Example Heading{-}

配置

您可以通过"metadata.yaml"文件配置如何构建您的小说。 它由输入数据的字段组成。每个字段以 它的名字和冒号。你的数据在冒号后面。很多领域都有 示例值-覆盖它们即可。

有些字段是列表,可以接受多个值。列表项开始于 下一行,缩进后加短划线。只需定位你自己 关于示例。

以""开头的行是注释。他们大多解释 现场控制。有时实际字段被注释掉,这意味着 它被忽略。这是启用功能的一种简单方法。只需移除 'y',

元数据文件应该相当自解释。只有一个 您需要添加一些内容才能使其正常工作:

  • 书名
  • 作者
  • 如果要转换为Kindle,请选择KindleGen的路径

如果你有单独的文件中的前物质和/或后物质,记住 将文件名添加到相应的字段。

H2>建造阅读书籍

在windows上,您可以简单地使用提供的bat文件。只需双击 它和你的书是建立。否则,将从 命令行。只需输入:

pip3 install panovel
0

对于高级用户

panovel接受命令行参数。这些覆盖了 metadata.yaml中的相应设置。用-h调用它 参数以查看可用的选项。

样式列表

下面是模板和 使用哪个过滤器来渲染它。如果没有给定筛选器,则将其命名为 喜欢这种风格。有些款式可以选择 呈现的书。您可以在metadata.yaml文件中更改这些内容。

对齐

需要第二个限定符,".center"、".right"或".left"之一。

文本在块内相应地对齐。

版权

你需要你的版权被这种风格所包围 正确。

奉献

你需要你的奉献精神被这种风格所包围 正确。

题词

添加题词。

属性:

  • 作者
    题词的作者

新场景

这种风格是所有其他风格的例外。创造一个新的场景 在一行输入三个"*"并用空行包围。请注意, 这将覆盖水平线的一个默认标记命令。 只需对水平线使用--

示例:

pip3 install panovel
1

渲染选项:

  • 默认值
    新场景用空格标记
  • 文本
    新场景由给定的文本标记,默认为**
  • 芙蓉
    一个新的场景由一个图像标记。你需要在 选项

noindent

段落没有缩进。

把内容写成诗。有三个渲染选项 风格,每首诗的格式都略有不同。

渲染选项:

  • 底部
    标题和作者位于诗的右下角
  • 一行
    如上所述,但标题和作者显示在一行上

  • 此筛选器在诗的顶部插入标题

选项:

  • altverse
    此选项在节中每隔一行缩进一行

  • 将标题放置在顶部,而不考虑使用的渲染选项
  • 底部
    将标题放置在底部,而不考虑"渲染"选项 使用
  • 一行
    将作者和标题放在底部的一行中,而不管 使用的渲染选项
  • 11月
    默认情况下,过滤器计算诗歌的最佳位置。如果 如果不需要,请使用此选项

属性:

  • 作者
    这首诗的作者
  • 标题
    这首诗的标题
  • 诗行
    需要一个数字。每行添加一个行号
  • 横向
    需要一行诗,用来定位诗。通常情况下 是自动计算的,如果要设置 手动

报价

将内容设置为引用样式。当然,markdown有自己的语法 引用。你只需要这种风格,如果你想包括一个作者 和/或标题。

此样式有三个渲染选项,每个选项都只是格式化 报价略有不同。

渲染选项:

  • 底部
    标题和作者位于引号的右下角
  • 一行
    如上所述,但标题和作者显示在一行上

  • 此筛选器在引号的顶部插入标题

选项:


    将标题放置在顶部,而不考虑使用的渲染选项
  • 底部
    将标题放置在底部,而不考虑"渲染"选项使用
  • 一行
    将作者和标题放在底部的一行中,而不管 使用的渲染选项

属性:

  • 作者
    引用的作者
  • 标题
    引用的标题

过滤器

以下是一些附加过滤器,不用于设置元素的样式。

ePub_Remove_FM_头

此过滤器用于技术问题。保持活动状态。

标题"fleuron"

在每个标题下添加图像。你需要在 选项。

删除注释

您可以使用HTML注释来注释文本。此筛选器删除 输出中的注释。

删除图像

从输出中删除所有图像。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java LineNumberReader。如果查询行为不正确,则返回readLine()   java包含了一个使用AndroidX的工具栏,这让我的应用程序崩溃了   JVM设置通过“java jar”运行应用程序的最佳实践   java如何获取ImageButton宽度   java Oracle SQLLDR实用程序无响应   列出Java获取对象的arrayList中最常见的元素   java使用带有FlowLayout的getContentpane对布局应用更改,但不起作用为什么?   在java中,我可以在画布上绘制画布吗?   编译游戏代码时发生java异常错误   从firestore获取java Webview失败   java将TableLayout中单元格的内容向右对齐   java无法在发布模式下启动活动(使用proguard安卓optimize配置)   java允许在线程期间进行GUI更新。睡觉   java如何对以变量为列表的列表进行排序   API URL上的java Google云端点异常