asciidoctor-epub3 1.5.0.alpha.12 → 1.5.0.alpha.17
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.adoc +56 -1
- data/Gemfile +10 -6
- data/LICENSE +21 -0
- data/NOTICE.adoc +3 -3
- data/README.adoc +62 -151
- data/asciidoctor-epub3.gemspec +9 -6
- data/data/fonts/awesome/LICENSE.txt +34 -0
- data/data/fonts/awesome/fa-solid-900.ttf +0 -0
- data/data/fonts/awesome/icons.yml +20935 -0
- data/data/fonts/awesome/shims.yml +298 -0
- data/data/styles/epub3-css3-only.css +3 -8
- data/data/styles/epub3-fonts.css +1 -1
- data/data/styles/epub3.css +22 -15
- data/lib/asciidoctor-epub3.rb +0 -1
- data/lib/asciidoctor-epub3/converter.rb +1062 -236
- data/lib/asciidoctor-epub3/font_icon_map.rb +22 -371
- data/lib/asciidoctor-epub3/version.rb +1 -1
- metadata +80 -38
- data/.yardopts +0 -12
- data/LICENSE.adoc +0 -25
- data/data/fonts/fontawesome-icons.ttf +0 -0
- data/lib/asciidoctor-epub3/packager.rb +0 -722
- data/lib/asciidoctor-epub3/spine_item_processor.rb +0 -92
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 22c90a180a710ca315f1ef423cd70f5420a9e37ae045e4c0897e737161f1577d
|
4
|
+
data.tar.gz: f7c2398e711e506b3b3c5acecc46bf07e7a2ffc91feec0a72428988f0888350d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fa4efe81a7a55f9fa7e186d86109b44853ecf9a97c1261ae5cfc5f0edced42911a4bfadabcc236cc39c49ac1d3fc24faba33b48578db66de40afbe36e89ff2cf
|
7
|
+
data.tar.gz: 300b3859bb41288dbcc06b87d810bb4a547b708a20f42fa555ddf3f44cace89a44d37b4a9532c948ebaea50b693e47a46876b2e92c49e3fb4031593469c87c6b
|
data/CHANGELOG.adoc
CHANGED
@@ -5,6 +5,61 @@
|
|
5
5
|
This document provides a high-level view of the changes to the {project-name} by release.
|
6
6
|
For a detailed view of what has changed, refer to the {uri-repo}/commits/master[commit history] on GitHub.
|
7
7
|
|
8
|
+
== 1.5.0.alpha.17 (2020-05-25) - @slonopotamus
|
9
|
+
|
10
|
+
* support remote URLs for audio/video/image (#333, #334)
|
11
|
+
|
12
|
+
== 1.5.0.alpha.16 (2020-04-26) - @slonopotamus
|
13
|
+
|
14
|
+
* add basic audio and video support (#9)
|
15
|
+
* add support for `[horizontal]` definition list (#165)
|
16
|
+
* add proper handling of `:data-uri:` document attribute (#324)
|
17
|
+
* add support for customizable document splitting into chapters via `epub-chapter-level` attribute (#327)
|
18
|
+
* avoid outputting 'true' for unsupported blocks (#332)
|
19
|
+
|
20
|
+
== 1.5.0.alpha.15 (2020-03-11) - @slonopotamus
|
21
|
+
|
22
|
+
* support section numbering and captions (#20)
|
23
|
+
* fix `\<<anchor,link text>>` to show link text (#317)
|
24
|
+
* add xref ids to paragraphs (#317)
|
25
|
+
* support syntax highlighting with CodeRay and Rouge (#262)
|
26
|
+
* pygments.rb is no longer auto-activated
|
27
|
+
* add series metadata (#307)
|
28
|
+
* fix Sony Reader crash (#152)
|
29
|
+
|
30
|
+
== 1.5.0.alpha.14 (2020-02-29) - @slonopotamus
|
31
|
+
|
32
|
+
* support conversion of article documents to a single-chapter file
|
33
|
+
* stop requiring specific include file scheme (#47)
|
34
|
+
* support special chapters like bibliography (#205)
|
35
|
+
* `basedir` now points to main document directory when processing chapter files (#190)
|
36
|
+
* fix image and listing numbers being reset in each chapter (#178)
|
37
|
+
* fix xref resolving between sub-includes of chapter files (#166)
|
38
|
+
* add support for contentless include files (#151)
|
39
|
+
* drop nonstandard `<<chapter#>>` xref syntax and instead support vanilla `<<anchor>>` or `<<file#anchor>>` syntax (#136)
|
40
|
+
* properly include bibliography generated by asciidoctor-bibtex (#206)
|
41
|
+
* require Asciidoctor 1.5.6+
|
42
|
+
* add support for book preamble (#303)
|
43
|
+
* add basic support for multi-part books (#304)
|
44
|
+
* do not include current date if `:reproducible:` attribute is set (#203)
|
45
|
+
* respect `SOURCE_DATE_EPOCH` environment variable for reproducible builds
|
46
|
+
* fix invalid markup produced for tables with footer (#295)
|
47
|
+
* add support for image width/height attributes (#183)
|
48
|
+
* log KindleGen warnings with WARNING log level (#291)
|
49
|
+
* convert stem blocks to `<code>$stem_text</code>` (#10)
|
50
|
+
* use imagedir from an image's context during packaging (#282)
|
51
|
+
* fix images in tables not included in epub archive (#169)
|
52
|
+
* search for `front-matter.html` in document dir instead of CWD (#300)
|
53
|
+
* fix inline images not being included in epub archive (#30)
|
54
|
+
* add support for Font Awesome Solid 5.12.0 (#155)
|
55
|
+
* fix inline anchors missing their ids (#201)
|
56
|
+
* support multiple front-matter files via `epub3-frontmatterdir` attribute
|
57
|
+
* add support for multiple authors in book metadata
|
58
|
+
|
59
|
+
== 1.5.0.alpha.13 (2020-02-04) - @slonopotamus
|
60
|
+
|
61
|
+
* remove kindlegen and epubcheck-ruby from runtime dependencies (#288)
|
62
|
+
|
8
63
|
== 1.5.0.alpha.12 (2020-02-02) - @slonopotamus
|
9
64
|
|
10
65
|
* make kindlegen a runtime dependency so it installs automatically during `gem install asciidoctor-epub3` (#270)
|
@@ -29,7 +84,7 @@ For a detailed view of what has changed, refer to the {uri-repo}/commits/master[
|
|
29
84
|
* handle invalid `revdate` gracefully (#14)
|
30
85
|
* do not post-process EPUBCHECK env var, but use it as-is (#258)
|
31
86
|
* disable Pygments on JRuby to prevent hanging (#253)
|
32
|
-
* fix ENOENT error when trying to run
|
87
|
+
* fix ENOENT error when trying to run EPUBCheck on JRuby on Windows (#256)
|
33
88
|
* fix ENOENT error when running kindlegen on JRuby on Windows (#154)
|
34
89
|
* set up CI for JRuby on Windows (#254)
|
35
90
|
|
data/Gemfile
CHANGED
@@ -5,12 +5,16 @@ source 'https://rubygems.org'
|
|
5
5
|
# Look in asciidoctor-epub3.gemspec for runtime and development dependencies.
|
6
6
|
gemspec
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
gem '
|
8
|
+
if ENV.key? 'ASCIIDOCTOR_VERSION'
|
9
|
+
gem 'asciidoctor', ENV['ASCIIDOCTOR_VERSION'], require: false
|
10
|
+
# Newer asciidoctor-diagram 1.5.x require asciidoctor >=1.5.7
|
11
|
+
gem 'asciidoctor-diagram', '1.5.16', require: false if Gem::Version.new(ENV['ASCIIDOCTOR_VERSION']) < Gem::Version.new('2.0.0')
|
12
12
|
end
|
13
13
|
|
14
|
-
group :
|
15
|
-
|
14
|
+
group :optional do
|
15
|
+
# epubcheck-ruby might be safe to be converted into runtime dependency, but could have issues when packaged into asciidoctorj-epub3
|
16
|
+
gem 'epubcheck-ruby', '~> 4.2.2.0'
|
17
|
+
# We would like to make kindlegen a runtime dependency, but can't because of the way asciidoctorj-epub3 packaging works
|
18
|
+
# See https://github.com/asciidoctor/asciidoctor-epub3/issues/288
|
19
|
+
gem 'kindlegen', '~> 3.0.3'
|
16
20
|
end
|
data/LICENSE
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
MIT License
|
2
|
+
|
3
|
+
Copyright (c) 2014-2020 OpenDevise Inc. and the Asciidoctor Project
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
13
|
+
copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
16
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
17
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
18
|
+
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
19
|
+
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
20
|
+
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
|
21
|
+
OR OTHER DEALINGS IN THE SOFTWARE.
|
data/NOTICE.adoc
CHANGED
@@ -36,15 +36,15 @@ Noto Serif font::
|
|
36
36
|
|
37
37
|
- https://code.google.com/p/noto/
|
38
38
|
|
39
|
-
Font Awesome icon font (
|
39
|
+
Font Awesome icon font (v5.12.0)::
|
40
40
|
Font Awesome, the iconic font designed for Bootstrap by David Gandy, is used for the admonition icons and other icons in author's content and bundled in the EPUB3 archive.
|
41
41
|
Font Awesome is fully open source and GPL compatible.
|
42
42
|
The font is licensed under the SIL Open Font 1.1 License (OFL).
|
43
43
|
You may obtain a copy of the license at:
|
44
44
|
|
45
|
-
|
45
|
+
https://scripts.sil.org/OFL
|
46
46
|
|
47
|
-
-
|
47
|
+
- https://fontawesome.io
|
48
48
|
|
49
49
|
normalize.css (v3.0.1)::
|
50
50
|
A customized version of normalize.css is used to provide cross-reader consistency in the default styling of HTML elements.
|
data/README.adoc
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
= {project-name}: A _native_ EPUB3 converter for AsciiDoc
|
2
2
|
Dan Allen <https://github.com/mojavelinux[@mojavelinux]>; Sarah White <https://github.com/graphitefriction[@graphitefriction]>
|
3
|
-
v1.5.0.alpha.
|
3
|
+
v1.5.0.alpha.17, 2020-05-25
|
4
4
|
// Settings:
|
5
5
|
:experimental:
|
6
6
|
:idprefix:
|
@@ -50,7 +50,6 @@ endif::[]
|
|
50
50
|
|
51
51
|
ifdef::status[]
|
52
52
|
image:https://img.shields.io/gem/v/asciidoctor-epub3.svg[Latest Release,link={uri-gem}]
|
53
|
-
image:https://img.shields.io/badge/license-MIT-blue.svg[MIT License,link=#copyright]
|
54
53
|
image:{uri-repo}/workflows/CI/badge.svg[GitHub Actions,link={uri-ci}]
|
55
54
|
endif::[]
|
56
55
|
|
@@ -103,7 +102,7 @@ Of course, there's always room for improvement, so we'll continue to work with y
|
|
103
102
|
* EPUB3 metadata, manifest and spine (assembled by Gepub)
|
104
103
|
* Document metadata (title, authors, subject, keywords, etc.)
|
105
104
|
* Internal cross reference links
|
106
|
-
* Syntax highlighting with CodeRay or Pygments
|
105
|
+
* Syntax highlighting with Rouge, CodeRay or Pygments
|
107
106
|
* Unicode callout numbers
|
108
107
|
* Page breaks avoided in block content (so much as it's supported by the e-reader)
|
109
108
|
* Orphan section titles avoided (so much as it's supported by the e-reader)
|
@@ -137,74 +136,23 @@ The EPUB3 publication, which can be thought of as the “digital master”, is a
|
|
137
136
|
|
138
137
|
An EPUB3 archive is composed of multiple files. The content of each “chapter” is typically stored in a dedicated XHTML file.
|
139
138
|
Therefore, the {project-name} converter “chunks” the AsciiDoc source document into multiple XHTML files to add to the EPUB3 archive.
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
The document header must declare an ID that matches the chapter filename (minus its file extension).
|
158
|
-
|
159
|
-
Rule 3::
|
160
|
-
No sections in a chapter may have the same ID as the chapter ID.
|
161
|
-
|
162
|
-
Rule 4::
|
163
|
-
The cross reference (i.e., xref) from one chapter to another must be in the format `+xref:chapter-id#chapter-id[optional reftext]+` (or `+<<chapter-id#chapter-id,optional reftext>>+`).
|
164
|
-
If you want to reference a section in a chapter, update the fragment (i.e., the value that follows the hash) to match the target section ID.
|
165
|
-
The reftext is optional since the reftext of the target is used by default.
|
166
|
-
+
|
167
|
-
TIP: To assign reference text (i.e., reftext) for a chapter title, set the document attribute `docreftext` in the header for that chapter.
|
168
|
-
+
|
169
|
-
TIP: Rule 2 states that the chapter ID must match the basename of the chapter file.
|
170
|
-
In truth, the chapter ID can be a _derivative of_ the chapter filename.
|
171
|
-
In that case, an attribute reference can be used to prepend a prefix to an inter-document cross reference.
|
172
|
-
For example, if you want each chapter file to begin with `chapter-`, you'd write the xref as `+xref:{chapter-prefix}chapter-id#chapter-id[]+`.
|
173
|
-
You'd then assign an empty value to the `chapter-prefix` attribute when converting to an e-book and `chapter-` for all other formats.
|
174
|
-
|
175
|
-
The next section goes into more detail about how to set up the spine document and include the chapter files.
|
176
|
-
|
177
|
-
=== Declaring the Spine
|
178
|
-
|
179
|
-
The spine (or master document) must be well-formed.
|
180
|
-
Otherwise, {project-name} will not convert the document properly.
|
181
|
-
If your AsciiDoc documents are not structured as explained in this section, you'll need to change them.
|
182
|
-
|
183
|
-
Asciidoctor uses top-level include directives (i.e., include directives in the master document) to indicate where each chapter split should occur.
|
184
|
-
The chapter files should begin with an AsciiDoc document header, which consists of an ID, a document title (i.e., level-0 heading), an author name, and a set of attribute entries.
|
185
|
-
Only the document title is required.
|
186
|
-
|
187
|
-
The document title in the chapter file is used as the chapter title and the label for the chapter in the TOC.
|
188
|
-
The chapter ID, combined with the _.xhtml_ suffix, is used as the filename of the chapter inside the EPUB3 archive (though this could change in the future).
|
189
|
-
We recommend that you base the filename of the chapter on the chapter ID.
|
190
|
-
|
191
|
-
If you don't specify an ID for a chapter, one will be generated automatically from the document title.
|
192
|
-
The rules for generating a chapter ID from the document title are as follows:
|
193
|
-
|
194
|
-
* apply inline formatting, then remove XML elements
|
195
|
-
* remove the `\’` character reference (so `John\’s` becomes `Johns`)
|
196
|
-
* replace `\&` with the word `and` (so `John \& Jane` becomes `John and Jane`)
|
197
|
-
* expand all other character references
|
198
|
-
* lowercase all characters
|
199
|
-
* replace illegal ID characters with the character defined by the `idseparator` attribute
|
200
|
-
* prepend the value of the `idprefix` attribute
|
201
|
-
* prepend an underscore if the ID begins with a number
|
202
|
-
|
203
|
-
You can think of the master document as the spine of the book and the include directives the individual items being bound together.
|
204
|
-
The target of each include directive in the master document is parsed and converted as a separate AsciiDoc document, with certain options and attributes passed down from the master to ensure consistent behavior.
|
205
|
-
Each resulting XHTML document is then added to the EPUB3 archive as a chapter document and the master document becomes the navigation file (i.e, the table of contents).
|
206
|
-
|
207
|
-
Here's an example showing the structure of a spine document:
|
139
|
+
Like other converters, Asciidoctor EPUB3 handles this chunking task by automatically slicing up the XHTML output at predetermined heading levels.
|
140
|
+
|
141
|
+
When `doctype` attribute is set to `book`, each top-level section will become a separate ebook "chapter" file.
|
142
|
+
This includes preface, bibliography, appendix, etc.
|
143
|
+
This behavior can be configured via `epub-chapter-level` document attribute.
|
144
|
+
|
145
|
+
Otherwise, whole document is converted to a single ebook chapter.
|
146
|
+
|
147
|
+
You may specify custom chapter filenames by assigning IDs to sections:
|
148
|
+
|
149
|
+
[source,asciidoc]
|
150
|
+
-----
|
151
|
+
[#custom-chapter-id]
|
152
|
+
= Chapter
|
153
|
+
-----
|
154
|
+
|
155
|
+
Here's an example showing the structure of a book:
|
208
156
|
|
209
157
|
[source,asciidoc]
|
210
158
|
----
|
@@ -212,46 +160,23 @@ Here's an example showing the structure of a spine document:
|
|
212
160
|
Author Name
|
213
161
|
:doctype: book
|
214
162
|
:imagesdir: images
|
215
|
-
\ifndef::ebook-format[:leveloffset: 1]
|
216
163
|
//...and so on
|
217
164
|
|
218
|
-
|
165
|
+
== Chapter One
|
219
166
|
|
220
|
-
|
221
|
-
|
222
|
-
\include::chapter-three.adoc[]
|
223
|
-
----
|
167
|
+
Some interesting text here.
|
224
168
|
|
225
|
-
|
169
|
+
== Chapter Two
|
226
170
|
|
227
|
-
|
228
|
-
|
229
|
-
[source,asciidoc]
|
171
|
+
Even more exciting stuff.
|
230
172
|
----
|
231
|
-
[#chapter-one]
|
232
|
-
= Chapter One
|
233
|
-
|
234
|
-
chapter content
|
235
|
-
----
|
236
|
-
|
237
|
-
CAUTION: Although an explicit ID over the chapter title is not required, it's recommended for stability.
|
238
173
|
|
239
|
-
|
240
|
-
|
241
|
-
[source,asciidoc]
|
242
|
-
----
|
243
|
-
\ifndef::ebook-format[:leveloffset: -1]
|
244
|
-
----
|
245
|
-
|
246
|
-
If the master document does not contain any include directives, then the converter treats the document as the sole chapter in the EPUB3 archive and automatically produces a navigation file that references it.
|
247
|
-
(Currently broken. See issue {uri-issues}/47[#47]).
|
248
|
-
|
249
|
-
NOTE: Eventually, we envision introducing a dedicated block macro to represent a spine item so that we don't overload the meaning of the include directive.
|
250
|
-
However, for the time being, the include directive fills this role.
|
174
|
+
In older Asciidoctor EPUB3 versions, there were strict rules on document organization: 'spine' master document with chapter includes.
|
175
|
+
This is no longer the case. If you followed old rules, chances are your document will work with newer Asciidoctor EPUB3 either as-is or after minor adjustments.
|
251
176
|
|
252
177
|
== Prerequisites
|
253
178
|
|
254
|
-
All that's needed to use {project-name} is Ruby 2.3 or newer and a few Ruby gems (including at least Asciidoctor 1.5.
|
179
|
+
All that's needed to use {project-name} is Ruby 2.3 or newer and a few Ruby gems (including at least Asciidoctor 1.5.6), which we'll explain how to install in the next section.
|
255
180
|
|
256
181
|
To check if you have Ruby available, use the `ruby` command to query the installed version:
|
257
182
|
|
@@ -272,26 +197,28 @@ You can install the published gem using the following command:
|
|
272
197
|
This optional environment variable tells the gem installer to link against the C libraries on the system, if available, instead of compiling the libraries from scratch.
|
273
198
|
This speeds up the installation of Nokogiri considerably.
|
274
199
|
|
275
|
-
If you want to syntax highlight source listings, you'll also want to install CodeRay or Pygments.
|
200
|
+
If you want to syntax highlight source listings, you'll also want to install Rouge, CodeRay or Pygments.
|
276
201
|
Choose one (or more) of the following:
|
277
202
|
|
203
|
+
.Rouge
|
204
|
+
$ gem install rouge
|
205
|
+
|
278
206
|
.CodeRay
|
279
207
|
$ gem install coderay
|
280
208
|
|
281
209
|
.Pygments
|
282
210
|
$ gem install pygments.rb
|
283
211
|
|
284
|
-
You then activate syntax highlighting for a given document by adding the `source-highlighter` attribute to the document header (
|
212
|
+
You then activate syntax highlighting for a given document by adding the `source-highlighter` attribute to the document header (Rouge shown):
|
285
213
|
|
286
214
|
[source,asciidoc]
|
287
215
|
----
|
288
|
-
:source-highlighter:
|
216
|
+
:source-highlighter: rouge
|
289
217
|
----
|
290
218
|
|
291
|
-
NOTE:
|
292
|
-
|
293
|
-
|
294
|
-
To override this default, you must pass a valid Pygments style name to the `pygments-style` attribute when invoking the `asciidoctor-epub3` script (e.g., `-a pygments-style=pastie`).
|
219
|
+
NOTE: If a style is not specified, the black and white theme (i.e., bw) is used.
|
220
|
+
This default is used so that the syntax highlighting is legible regardless of which reading mode the reader selects (white, black, sepia, etc).
|
221
|
+
To override this default, you must set `<highlighter>-style` document header attribute to a valid highlighter style name (e.g., `:rouge-style: pastie`).
|
295
222
|
|
296
223
|
Assuming all the required gems install properly, verify you can run the `asciidoctor-epub3` script:
|
297
224
|
|
@@ -300,31 +227,6 @@ Assuming all the required gems install properly, verify you can run the `asciido
|
|
300
227
|
If you see the version of {project-name} printed, you're ready to use {project-name}.
|
301
228
|
Let's get an AsciiDoc document ready to convert to EPUB3.
|
302
229
|
|
303
|
-
=== Prepare an AsciiDoc Document
|
304
|
-
|
305
|
-
If you don't already have an AsciiDoc document, you can use the [file]_sample-book.adoc_ file and its chapters found in the [path]_data/samples_ directory of this project.
|
306
|
-
|
307
|
-
.Master file named sample-book.adoc
|
308
|
-
```asciidoc
|
309
|
-
= Asciidoctor EPUB3: Sample Book
|
310
|
-
Author Name
|
311
|
-
v1.0, 2014-04-15
|
312
|
-
:doctype: book
|
313
|
-
:creator: {author}
|
314
|
-
:producer: Asciidoctor
|
315
|
-
:keywords: Asciidoctor, samples, e-book, EPUB3, KF8, MOBI, Asciidoctor.js
|
316
|
-
:copyright: CC-BY-SA 3.0
|
317
|
-
:imagesdir: images
|
318
|
-
|
319
|
-
\include::asciidoctor-epub3-readme.adoc[]
|
320
|
-
|
321
|
-
\include::sample-content.adoc[]
|
322
|
-
|
323
|
-
\include::asciidoctor-js-introduction.adoc[]
|
324
|
-
|
325
|
-
\include::asciidoctor-js-extension.adoc[]
|
326
|
-
```
|
327
|
-
|
328
230
|
=== EPUB-related AsciiDoc Attributes
|
329
231
|
|
330
232
|
The metadata in the generated EPUB3 file is populated from attributes in the AsciiDoc document.
|
@@ -363,7 +265,7 @@ The title is added to the metadata in plain text format.
|
|
363
265
|
The authors in each chapter document are aggregated together with the authors in the master file.
|
364
266
|
|
365
267
|
|username
|
366
|
-
|Used to resolve an avatar for the author that is displayed in the header of a chapter when the `
|
268
|
+
|Used to resolve an avatar for the author that is displayed in the header of a chapter when the `doctype` is set to a value other than `book`.
|
367
269
|
The avatar image should be located at the path _\{imagesdir}/avatars/\{username}.jpg_, where `\{username}` is the value of this attribute.
|
368
270
|
|
369
271
|
|producer
|
@@ -397,17 +299,28 @@ The recommended practice is to identify the referenced resource by means of a st
|
|
397
299
|
|An optional override of the properties attribute for this document's item in the manifest.
|
398
300
|
_Only applies to a chapter document._
|
399
301
|
|
302
|
+
|epub-chapter-level
|
303
|
+
|Specify the section level at which to split the EPUB into separate "chapter" files.
|
304
|
+
This attribute only affects documents with `:doctype: book`.
|
305
|
+
The default is to split into chapters at level-1 sections.
|
306
|
+
This attribute only affects the internal composition of the EPUB, not the way chapters and sections are displayed to users.
|
307
|
+
Some readers may be slow if the chapter files are too large, so for large documents with few level-1 headings, one might want to use a chapter level of 2 or 3.
|
308
|
+
|
309
|
+
|series-name, series-volume, series-id
|
310
|
+
|Populates the series statements (`belongs-to-collection`) in the package metadata.
|
311
|
+
Volume is a number, ID probably a UUID that is constant for all volumes in the series.
|
312
|
+
|
313
|
+
|epub3-frontmatterdir
|
314
|
+
|The path to a directory that contains frontmatter files. The file names must match `front-matter*.html` and will be included in alphabetic order. The files are expected to be valid EPUB HTML files. _If only one front matter page is
|
315
|
+
required, the default 'front-matter.html' file can be used instead._
|
316
|
+
|
400
317
|
|epub3-stylesdir
|
401
318
|
|The path to a directory that contains alternate epub3.css and epub3-css3-only.css files to customize the look and feel.
|
402
319
|
|
403
320
|
|doctype
|
404
|
-
|Effectively ignored.
|
405
|
-
The master document is assumed to be a book and each chapter an article.
|
406
|
-
|
407
|
-
|publication-type
|
408
321
|
|Used to control the inclusion of special content in the generated HTML.
|
409
322
|
If set to a value other than book, the byline information (author and avatar) is included below the chapter header and a typographic end mark is added at the end of the last paragraph.
|
410
|
-
Suggested values include: book (default),
|
323
|
+
Suggested values include: book (default), article.
|
411
324
|
|===
|
412
325
|
|
413
326
|
When using the EPUB3 converter, the `ebook-format` attribute resolves to the name of the e-book format being generated (epub3 or kf8) and the corresponding attribute `ebook-format-<name>` is defined, where `<name>` is `epub3` or `kf8`.
|
@@ -489,8 +402,8 @@ An EPUB3 archive contains:
|
|
489
402
|
* one or more content documents
|
490
403
|
* assets (images, fonts, stylesheets, etc.)
|
491
404
|
|
492
|
-
The IDPF also supports {uri-epubcheck}[
|
493
|
-
|
405
|
+
The IDPF also supports {uri-epubcheck}[EPUBCheck].
|
406
|
+
EPUBCheck parses and validates the file against the EPUB schema.
|
494
407
|
****
|
495
408
|
|
496
409
|
If you want to browse the contents of the EPUB3 file that is generated, or preview the XHTML files in a regular web browser, add the `-a ebook-extract` flag to the `asciidoctor-epub3` command.
|
@@ -581,9 +494,10 @@ Here's a sample manifest of files found in an EPUB3 document produced by {projec
|
|
581
494
|
....
|
582
495
|
META-INF/
|
583
496
|
container.xml
|
584
|
-
|
497
|
+
EPUB/
|
585
498
|
fonts/
|
586
|
-
|
499
|
+
awesome/
|
500
|
+
fa-solid-900.ttf
|
587
501
|
font-icons.ttf
|
588
502
|
mplus-1mn-latin-bold.ttf
|
589
503
|
mplus-1mn-latin-light.ttf
|
@@ -618,17 +532,14 @@ mimetype
|
|
618
532
|
|
619
533
|
Images referenced in your AsciiDoc document must be stored in the images catalog.
|
620
534
|
The images catalog is defined by the `imagesdir` attribute.
|
621
|
-
If set, the value of this attribute is resolved relative to the
|
535
|
+
If set, the value of this attribute is resolved relative to the document and must be at or below (i.e., within) the directory of that document.
|
622
536
|
(In other words, it cannot point to a location outside the document directory).
|
623
|
-
If this attribute is not set, the images catalog defaults to the directory of the
|
537
|
+
If this attribute is not set, the images catalog defaults to the directory of the document.
|
624
538
|
{project-name} will discover all local image references and insert those images into the EPUB3 archive at the same relative path.
|
625
539
|
|
626
|
-
WARNING: {project-name} does not currently discover and package inline images.
|
627
|
-
See issue {uri-issues}/30[#30].
|
628
|
-
|
629
540
|
=== Default Images
|
630
541
|
|
631
|
-
The sample book contains placeholder
|
542
|
+
The sample book contains placeholder image for an author avatar.
|
632
543
|
|
633
544
|
// TODO explain the avatar and book cover images
|
634
545
|
|
@@ -648,7 +559,7 @@ Once your image is ready, you can set the cover image by defining the `front-cov
|
|
648
559
|
:front-cover-image: image:cover.png[Front Cover,1050,1600]
|
649
560
|
----
|
650
561
|
|
651
|
-
The image is resolved relative to the directory specified in the `imagesdir` attribute, which defaults to the directory of
|
562
|
+
The image is resolved relative to the directory specified in the `imagesdir` attribute, which defaults to the directory of the3 document.
|
652
563
|
The image can be in any format, though we recommend using PNG, JPG, or SVG as they are the most portable formats.
|
653
564
|
|
654
565
|
IMPORTANT: *You should always specify the dimensions of the cover image.*
|
@@ -986,7 +897,7 @@ endif::[]
|
|
986
897
|
Copyright (C) 2014-2019 OpenDevise Inc. and the Asciidoctor Project.
|
987
898
|
Free use of this software is granted under the terms of the MIT License.
|
988
899
|
|
989
|
-
For the full text of the license, see the
|
900
|
+
For the full text of the license, see the link:LICENSE[] file.
|
990
901
|
Refer to the <<NOTICE#,NOTICE>> file for information about third-party Open Source software in use.
|
991
902
|
|
992
903
|
////
|