用来制作标准电子书的工具集。

standardebooks的Python项目详细描述


关于

标准电子书用于制作电子书的工具集合,包括电子书的基本设置、文本处理和生成工具。

使用pipx安装此工具集使se命令行可执行文件可用。它的各种命令如下所述,或者您可以使用"SE帮助"列出它们。

安装

工具集要求python>;=3.5。

若要在本地安装工具集以进行开发和调试,请参见为开发人员安装

ubuntu 18.04(仿生)用户

# Install some pre-flight dependencies.
sudo apt install -y python3-pip libxml2-utils librsvg2-bin libimage-exiftool-perl imagemagick default-jre inkscape calibre git

# Install pipx.
python3 -m pip install --user pipx
python3 -m pipx ensurepath

# Install the toolset.
pipx install standardebooks

# Install required fonts.
mkdir -p $HOME/.local/share/fonts/
cp $HOME/.local/pipx/venvs/standardebooks/lib/python3.*/site-packages/se/data/fonts/*/*.otf $HOME/.local/share/fonts/

# Refresh the local font cache.
sudo fc-cache -f

# Optional: ZSH users can install tab completion.
sudo ln -s $HOME/.local/pipx/venvs/standardebooks/lib/python3.*/site-packages/se/completions/zsh/_se /usr/share/zsh/vendor-completions/_se &&hash -rf && compinit

# Optional: Bash users can install tab completion.
sudo ln -s $HOME/.local/pipx/venvs/standardebooks/lib/python3.*/site-packages/se/completions/bash/se /usr/share/bash-completions/completions/se

Fedora用户

# Install some pre-flight dependencies.
sudo dnf install firefox ImageMagick calibre librsvg2-tools vim inkscape libxml2 perl-Image-ExifTool java-1.8.0-openjdk

# Install pipx.
python3 -m pip install --user pipx
python3 -m pipx ensurepath

# Install the toolset.
pipx install standardebooks

# Install required fonts.
mkdir -p $HOME/.local/share/fonts/
cp $HOME/.local/pipx/venvs/standardebooks/lib/python3.*/site-packages/se/data/fonts/*/*.otf $HOME/.local/share/fonts/

# Optional: ZSH users can install tab completion.
sudo ln -s $HOME/.local/pipx/venvs/standardebooks/lib/python3.*/site-packages/se/completions/zsh/_se /usr/share/zsh/vendor-completions/_se &&hash -rf && compinit

# Optional: Bash users can install tab completion.
sudo ln -s $HOME/.local/pipx/venvs/standardebooks/lib/python3.*/site-packages/se/completions/bash/se /usr/share/bash-completions/completions/se

MacOS用户

这些指令在MacOS 10.12和10.13上进行了测试。你的里程可能不同。欢迎对这些步骤进行更正和修复,因为SE维护人员无法访问Mac。

  1. 安装自制包管理器。或者,如果您已经安装了它,请确保它是最新的:

    brew update
    
  2. 安装依赖项:

    # Install some pre-flight dependencies.
    brew install python imagemagick libmagic librsvg exiftool git
    pip3 install pyopenssl
    
    # Install pipx.
    python3 -m pip install pipx
    python3 -m pipx ensurepath
    
    # Install required applications.
    brew cask install java calibre xquartz inkscape
    
    # Install the toolset.
    pipx install standardebooks
    
    # Install required fonts.
    cp $HOME/.local/pipx/venvs/standardebooks/lib/python3.*/site-packages/se/data/fonts/*/*.otf ~/Library/Fonts/
    

为开发人员安装

如果您想使用工具集源代码,那么告诉pipx以"可编辑"模式安装软件包是很有帮助的。这将允许您实时编辑软件包的源并立即查看更改,而无需卸载和重新安装软件包。

为此,请按照上面的一般安装说明进行操作;但不要执行pipx install standardbooks,而是执行以下操作:

git clone https://github.com/standardebooks/tools.git
pipx install --editable --spec tools standardebooks

# Optional: ZSH users can install tab completion.
sudo ln -s $(readlink -f .)/tools/se/completions/zsh/_se /usr/share/zsh/vendor-completions/_se &&hash -rf && compinit

# Optional: Bash users can install tab completion.
sudo ln -s $(readlink -f .)/tools/se/completions/bash/se /usr/share/bash-completions/completions/se

现在se二进制文件在您的路径中,您对tools/目录中的源文件所做的任何编辑都会在执行二进制文件时立即反映出来。

使用pylint

在我们可以在工具集源代码上使用pylint之前,我们必须将pylint注入为标准手册创建的venvpipx

pipx inject standardebooks pylint

然后确保调用安装在standardbooksvenv中的pipx二进制文件,任何其他全局安装的pylint二进制文件:

cd /path/to/tools/repo
$HOME/.local/pipx/venvs/standardebooks/bin/pylint se

需要帮助

我们需要志愿者带头实现以下目标:

  • 为macos编写bash和zsh完成的安装说明。

工具说明

  • SE British2美国

    在目录/src/epub/text/中尝试将英式引号样式转换为美式引号样式

    必须使用se typogrify工具对引号进行排版。

    这个脚本并不完美;需要校对,尤其是靠近右引号的em破折号。

  • SE构建

    从标准电子书源目录构建电子书。

  • SE生成图像

    在标准电子书源目录中构建电子书封面和标题页图像,并将输出放在目录/src/epub/images/

  • se clean

    对源目录中的单个xhtml或svg文件,或所有xhtml和svg文件进行美化和规范化。请注意,这只会美化源代码;它不会执行排版更改。

  • SE比较版本

    使用firefox呈现和比较电子书存储库中的xhtml文件。在脏存储库上运行,以直观地比较存储库的脏状态和干净状态。

  • se创建草稿

    创建新标准电子书的框架。

  • se dec2阿曼

    将十进制数字转换为罗马数字。

  • SE Extract电子书

    将epub、mobi或azw3电子书解压缩到./filename.extracted/或目标目录。

  • se查找不匹配的音调符号

    在标准电子书中查找音调不匹配的单词k个源目录。例如,在一个文件中cafe,在另一个文件中café

  • SE帮助

    列出可用的SE命令。

  • se连字符

    在xhtml文件中的分节处插入软连字符。

  • SE交互式SR

    使用vim对文件列表执行交互式搜索和替换。使用y/n/a确认(y)或拒绝(n)替换,或替换(a)ll。

  • se lint

    检查各种标准电子书样式错误。

  • se使url安全

    使字符串URL安全。

  • se使拼写现代化

    使一些古语词的拼写现代化,并用破折号替换古语词,使其更为现代。例如,将烟灰缸替换为烟灰缸

  • SE准备版本

    计算工作字数,如果尚未设置,则插入发布日期,并更新修改日期和修订号。

  • SE打印清单和书脊

    <;manifest>;<;spine>;标记打印到给定标准电子书源目录的标准输出,以在该目录的内容中使用。opf.

  • se打印目录

    为SE源目录建立目录并打印到标准输出。

  • se重新组合epub

    将标准电子书源目录重新组合到单个HTML5文件中,并打印到标准输出。

  • se重新排序尾注

    将指定的尾注和所有后续尾注增加1。

  • se roman2dec

    将罗马数字转换为十进制数字。

  • se语义

    将标准电子书语义手册中的一些可编写脚本的语义规则应用到标准电子书源目录。

  • SE拆分文件

    <;的所有实例中将xhtml文件拆分为多个文件!--se:split-->;,并为每个文件包含一个头模板。

  • se titlecase

    将字符串转换为TitleCase。

  • se打印

    将标准电子书排版手册中的一些可编写脚本的排版规则应用到标准电子书源目录。

  • se unicode名称

    显示Unicode代码点、说明和指向字符串中每个字符的详细信息的链接。有助于区分不同风格的空格、破折号和不可见字符(如单词连接符)。

  • SE版本

    打印版本号并退出。

  • se字数

    计算HTML文件中的字数,并按长度进行分类。

标准电子书源目录是什么样的

这些工具中的许多都作用于标准的电子书源目录。这样的目录具有一致的最小结构:

.
|-images/
|--cover.jpg
|--cover.source.jpg
|--cover.svg
|--titlepage.svg
|-src/
|--epub/
|---css/
|----core.css
|----local.css
|---images/
|----cover.svg
|----titlepage.svg
|---text/
|----colophon.xhtml
|----imprint.xhtml
|----titlepage.xhtml
|----uncopyright.xhtml
|---content.opf
|---onix.xml
|---toc.xhtml
|--META-INF/
|---container.xml
|--mimetype
|-LICENSE.md

/images/包含封面和标题页的源图像,以及电子书特定的源图像。源图像应达到其最大可用分辨率,然后压缩并放入/src/epub/images/中分发。

/src/epub/包含实际的epub文件。

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

推荐PyPI第三方库


热门话题
java操作数组上的字符串   java JAXB内容未实例化   图形在Java中如何绘制垂直居中的字符串?   java Apache Ant:使用Junit时出现NoClassDefFoundError   java无法从服务器上运行perl脚本   如何在java中沿树进行预排序遍历,并打印0和1以对应每个节点上的特定字符?   java如何创建。p12文件?   java线程访问无效   java只匹配命名空间中的XML节点,而不知道NS前缀   从java获取2d arraylist元素   数组Java动态集合对象   java Xpath通过通配符或布尔运算查找以相同名称开头的节点?   java注释元素类型   java在中看不到Super()。反编译后的类文件