nlbdev/nordic-epub3-dtbook-migratorThe current focus is on:
See more details for the current development phase here: [***]
The first goal of this project was to provide a EPUB3 to DTBook conversion tool for the libraries in the Nordic countries providing accessible litterature to visually impaired readers (NLB, MTM, SPSM, Celia, Nota and SBS). The conversion is implemented in XProc and XSLT and provided as a DAISY Pipeline 2 script. This conversion allows the organizations to continue to use their respective DTBook-based tools for production of Braille and Synthetic Speech, as long as those are necessary, and gradually start using EPUB when their production tools are ready.
This tool attempts to map EPUB3 to DTBook with as little loss as possible (a 1:1 mapping).
While the EPUB3 will consist of multiple HTML files internally, an intermediate single-page HTML representation is useful for converting to and from DTBook.
A revision of the guidelines was started in 2020. The participating organisations are Celia, Dedicon, HBS, MTM, NLB, Nota, SBS, SPSM, and Statped.
As a result, an updated validator was needed, and EPUB validation for the new guidelines were implemented. There is not (at least not yet) any conversion path between previous versions of the guidelines (EPUB 2015-1 or DTBook 2011-2) and the new version (EPUB 2020-1).
This project provides the following Pipeline 2 scripts:
The only script that currently supports the 2020-1 guidelines is the EPUB3 Validator script.
The EPUB3 to DTBook script allows new EPUB3 files to be used with legacy DTBook-based systems.
The DTBook to EPUB3 script allows legacy DTBooks to be upgraded to new EPUB3-based production systems.
Scripts for converting between the intermediary single-HTML representation of the publications are also provided. These are useful either for debugging, or if a single-document HTML representation is needed as input to or output from a HTML-based production system.
Validators for EPUB3, DTBook and single-document HTML files are provided. The EPUB3 validator allows us to check that new EPUB3 files are valid according to the nordic markup guidelines. The DTBook and HTML validators can be useful for DTBook- or HTML-based production systems.
In the nordic markup guidelines (version 2015-1), math is marked up using ASCIIMath. An experimental script for converting this ASCIIMath to MathML is provided.
The grammar used in the EPUB3, HTML and DTBook files is a strict subset of EPUB3, HTML and DTBook, and is defined in the Nordic markup guidelines. Most DTBooks will work with these scripts, there are few limitations to the input DTBook grammar. There are more limitations to the HTML/EPUB3 grammar however, because there must be a way to convert it to DTBook. Most notably, multimedia such as audio and video are currently not allowed in these EPUB3s.
Install dependencies:
bashsudo apt install git maven gpg
Clone the repository:
bashgit clone [***]
The Nordic Migrator can be built with Maven,
either directly (with for instance mvn clean package),
or indirectly with Docker (with for instance docker build .).
Testing is part of the build process, but can be explicitly
invoked with mvn test.
First, make sure you have a GPG key: [***]
And also make sure that you have set your GPG key as default in ~/.gnupg/gpg.conf:
default-key ABCDEF123
Add your Github credentials to your local ~/.m2/settings.xml (you should use a personal access token as the password):
xml<server> <id>github</id> <username><!-- your github username here --></username> <password><!-- your personal access token here --></password> </server>
The convention has been to release from a feature branch or dedicated release branch, and then merge into the master branch in a merge commit.
Prepare the release:
bashmvn release:prepare
You will be asked:
At this point, Maven will update the version in the POM and run all the tests. This will take a few minutes.
If you look in the git log when it's done, you'll find:
HEAD [maven-release-plugin] prepare for next development iteration tag: vX.X.X [maven-release-plugin] prepare release vX.X.X
Then, you can publish the release artifacts using:
bashmvn release:perform
Also, remember to push the tag upstream:
git push origin vX.X.X
The project is set up so that the branch mvn-repo is used as a maven repository. Artifacts will be published to that branch.
If you want to use nordic migrator as a maven package in another project; add this repository to your project:
xml<repository> <id>nordic-epub3-dtbook-migrator-mvn-repo</id> <url>[***]</url> <snapshots> <enabled>true</enabled> <updatePolicy>always</updatePolicy> </snapshots> </repository>
Commits tagged with a version are built and tagged automatically on Docker Hub. The tag is created automatically by mvn release:prepare, and when you push the git tag to Github with git push origin vX.X.X, a webhook will tell Docker Hub to build a new image.
All commits on the master branch will be built on Docker Hub. The latest commit will be available as :latest.
See the project homepage for more information.
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像服务
在 Docker Desktop 配置镜像
Docker Compose 项目配置
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
MacOS OrbStack 容器配置
在宝塔面板一键配置镜像
Synology 群晖 NAS 配置
飞牛 fnOS 系统配置镜像
极空间 NAS 系统配置服务
爱快 iKuai 路由系统配置
绿联 NAS 系统配置镜像
QNAP 威联通 NAS 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
来自真实用户的反馈,见证轩辕镜像的优质服务