Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/gromnitsky/epub-hyphen

Hyphenate text nodes in epub or stand-alone xhtml files
https://github.com/gromnitsky/epub-hyphen

epub hyphenation

Last synced: about 6 hours ago
JSON representation

Hyphenate text nodes in epub or stand-alone xhtml files

Awesome Lists containing this project

README

        

$ npm i -g epub-hyphen

Reqs:

* node 18.x
* `zip` & `unzip` in PATH

## Usage

~~~
$ ./epub-hyphen -h
Usage: epub-hyphen [options] input [-o output]

Hyphenate text nodes in epub or stand-alone xhtml files

Options:
-V, --version output the version number
-l a 2-letter default language in case
attribute is absent; this does NOT override already
present lang= attributes
-i an additional comma-separated list of tags to ignore; a
tag can optionally include a class name, e.g. `h1,p.foo`
-o an output file name (overwrite the contents)
--lang-list print all supported languages
--ignored-tags-list print the default ignored tags list
-h, --help display help for command

set NODE_DEBUG=epub-hyphen to enable debug log
~~~

When converting epubs:

* if no `-l` is given, the program tries to detect the
default language from epub metadata;
* always use `-o` in Windows.

## Examples

~~~
$ echo '

дихлордифенілтрихлорметилметан

' | ./epub-hyphen -l uk

ди-хлор-ди-фе-ніл-три-хлор-ме-тил-ме-тан


~~~

The contents of some tags is never hyphenated (`code`, `pre`, &c):

~~~
$ echo '

foobarfoobar

' | ./epub-hyphen

foobarfoo-bar


~~~

Hyphenate a epub:

$ ./epub-hyphen test/data/1.epub > 2.epub

## Bugs

* No mappings the between internal lang names & BCP 47.
* An empty .x?html file is treated as an invalid xml.

## News

v1.0.0 is a complete rewrite; its cli is incompatible with 0.0.x
versions.