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: 7 months ago
JSON representation
Hyphenate text nodes in epub or stand-alone xhtml files
- Host: GitHub
- URL: https://github.com/gromnitsky/epub-hyphen
- Owner: gromnitsky
- License: agpl-3.0
- Created: 2015-03-13T22:24:19.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2022-12-27T19:33:11.000Z (almost 3 years ago)
- Last Synced: 2025-04-16T11:39:20.237Z (8 months ago)
- Topics: epub, hyphenation
- Language: JavaScript
- Homepage:
- Size: 1.88 MB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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.