Expand description
Generate an ePub book from a simple plaintext descriptor
§Library doc
This library is used by gen-epub-book itself for all its function and is therefore contains all necessary functions.
§Data flow
Options
|> parse_descriptor()
|> EPubBook::from_elements()
|> EPubBook::normalise_paths()
|> EPubBook::write_zip()§Executable manpage
Exit values and possible errors:
1 - I/O error
2 - parsing error
3 - file not found
4 - file in wrong state
5 - incorrect amount of elements
6 - required element missing§SYNOPSIS
gen-epub-book [OPTIONS] IN_FILE OUT_FILE
§DESCRIPTION
Generate an ePub book from a simple plaintext descriptor.
§OPTIONS
-v –verbose
Print out more data.
Default: false.IN_FILE
File to parse, must exist, must comply with the DESCRIPTOR FORMAT.
Special case: '-' to read from stdin.OUT_FILE
File to write the book to, parent directory needn't exist.
Special case: '-' to write to stdout.-S –separator <SEPARATOR>
Enable custom separator feature and set the separator.
Default: ":".-I –include [NAME=]PATH
Add an additional directory in which to search for files. Order-dependent.
`NAME` is an optional name under which the files will be segregated.
`PATH` is an existing directory.§DESCRIPTOR FORMAT
The descriptor consists of multiple lines in the format “Key: Value”, unknown keys are ignored, lines that don’t match the format are ignored.
Name
Required: yes
Type: plaintext
Value: e-book's title
Amount: 1Content
Required: no
Type: file path
Value: relative path to (X)HTML chunk
Amount: any
Remarks: see ADDITIONAL CONTENT PROCESSINGString-Content
Required: no
Type: (X)HTML
Value: (X)HTML string
Amount: anyImage-Content
Required: no
Type: file path
Value: relative path to image to include in e-book
Amount: anyNetwork-Image-Content
Required: no
Type: file URL
Value: URL of image to include in e-book
Amount: anyCover
Required: no
Type: file path
Value: relative path to image to use as e-book cover
Amount: 0-1
Remarks: exclusive with Network-CoverNetwork-Cover
Required: no
Type: file URL
Value: URL to image to use as e-book cover
Amount: 0-1
Remarks: exclusive with CoverAuthor
Required: yes
Type: plaintext string
Value: e-book's author
Amount: 1Date
Required: yes
Type: RFC3339-compliant date
Value: e-book's authoring/publishing date
Amount: 1
Remarks: see FREE DATE FORMAT FEATURELanguage
Required: yes
Type: BCP47-compliant language code
Value: language used in e-book
Amount: 1§ADDITIONAL CONTENT PROCESSING
When adding content using the Content entry, the file will additinally be
searched for a comment specifying the its name in the TOC in this format:
<!-- ePub title: "TOC_NAME" -->Where TOC_NAME is a string not containing the “ character.
This will, on e-book readers, allow users to jump directly to the content represented by the document containing this entry.
Optional.
§FREE DATE FORMAT FEATURE
With the -D/–free-date flag, you can enable the free date format feature.
The supported formats therewith are therefore:
- RFC3339 (e.g. “2017-02-08T15:30:18+01:00”),
- RFC2822 (e.g. “Wed, 08 Feb 2017 15:30:18 +0100”),
- Unix timestamp w/timezone (e.g. “1486564218+01:00”).
Modules§
Structs§
- Options
- Representation of the application’s all configurable values.
Enums§
- Error
- Enum representing all possible ways the application can fail.