[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[no subject]
From: |
Patrice Dumas |
Date: |
Sun, 8 Sep 2024 17:50:11 -0400 (EDT) |
branch: master
commit b38857002b173c69bab1baea007b59f80997eae6
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Sun Sep 8 23:50:10 2024 +0200
* NEWS, TODO, doc/texinfo.texi (Achieving strict EPUB conformance):
document EPUB_STRICT and give other information on EPUB conformance.
---
ChangeLog | 5 +++++
NEWS | 3 +++
TODO | 9 ++++-----
doc/texinfo.texi | 39 +++++++++++++++++++++++++++++++--------
4 files changed, 43 insertions(+), 13 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 692fdff2e6..e7914ec67d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2024-09-08 Patrice Dumas <pertusus@free.fr>
+
+ * NEWS, TODO, doc/texinfo.texi (Achieving strict EPUB conformance):
+ document EPUB_STRICT and give other information on EPUB conformance.
+
2024-09-08 Patrice Dumas <pertusus@free.fr>
* tp/t/test_utils.pl (test): if $arg_output is set, output EPUB as an
diff --git a/NEWS b/NEWS
index 24c64802bc..f97a2f3f1e 100644
--- a/NEWS
+++ b/NEWS
@@ -57,6 +57,9 @@ See the manual for detailed information.
. Do not remove .inf or .info at the end of manual name for
cross-references to external nodes anymore.
. Use <pre> instead of <div><em> for displaymath formatting.
+ . EPUB:
+ add EPUB_STRICT customization variable for EPUB conformance, hopefully
+ temporarily.
* info
. check for init file under ~/.config/texinfo/infokey before checking
diff --git a/TODO b/TODO
index bfc65e6aac..2f900ee072 100644
--- a/TODO
+++ b/TODO
@@ -38,8 +38,8 @@ If you are interested in working on any of these, email
bug-texinfo@gnu.org.
currectly set with automake and accessible as @value{UPDATED}).
For the publication date, what the user would put in the metadata
- would take precedence, and if there is none the publication date as
- implemented in Daniel Cerqueira patch in contrib/EPUB_conformance.
+ would take precedence, and if there is none the generation date as
+ implemented in epub3.pm should be used.
For the manual change date, what the user would put in the metadata
would take precedence, and if there is none the modification timestamp
@@ -64,9 +64,8 @@ If you are interested in working on any of these, email
bug-texinfo@gnu.org.
Better of course if we we could nest the subentries within the super
entries, and maybe avoid using tables altogether. It might be possible
using grids (and maybe subgrids), but they're relatively new.
- - EPUB: add a customization variable that sets the output to be different
- from the HTML default output, if needed, to attain full epubcheck
- conformance, as it seems to be asked for by some publishers.
+ - EPUB: be conformant with epubcheck by default, removing the need for
+ EPUB_STRICT.
- Support output formats retaining the tree structure of Texinfo documents
as parsed by the Parser. A lisp-like format for GUILE? Maybe JSON?
- Support other graphical documentation browsers like GNOME DevHelp
diff --git a/doc/texinfo.texi b/doc/texinfo.texi
index 3af922de51..670dc744b4 100644
--- a/doc/texinfo.texi
+++ b/doc/texinfo.texi
@@ -17394,14 +17394,37 @@ set @code{CHECK_HTMLXREF} to 0.
@node EPUB Conformance
-@subsection Unresolved EPUB Conformance Issues
-
-Strict conformance of EPUB generated from Texinfo is still a work in
-progress. In particular, the last modified date @samp{dcterms:modified}
-property is not generated and conformance checkers flag @code{border="0"}
-HTML table element attribute as invalid. Before these issues are
-definitively fixed, patches in the Texinfo source directory
-@file{contrib/EPUB_conformance/} can be applied to workaround those issues.
+@subsection Achieving strict EPUB conformance
+
+@vindex EPUB_STRICT
+You should set the @code{EPUB_STRICT} customization variable to achieve
+stricter conformance of EPUB generated from Texinfo. Indeed, strict
+conformance of EPUB generated from Texinfo is not achieved by default
+because some metadata cannot be specified yet. Setting @code{EPUB_STRICT}
+triggers automatic metadata generation and XHTML more consistent with EPUB
+conformance checkers@footnote{The need to set a variable for
+EPUB conformance is supposed to be temporary. The @code{EPUB_STRICT}
+customization variable may be removed in future releases.}.
+
+For example:
+@example
+texi2any --epub -c EPUB_STRICT=1 mymanual.texi
+@end example
+
+In addition, you may need to adjust the Texinfo manual to achieve full
+conformance:
+@itemize
+@item Make sure that references to external manuals resolve to URLs
+(@pxref{EPUB Cross-References}).
+@item Avoid Texinfo code more forgiving than XHTML. In general
+valid Texinfo is converted to valid XHTML, but there are exceptions.
+For example, you should avoid nested references and nested sectioning
+commands and references, content before @code{@@table}
+first @code{@@item} and omitting the second column of @code{@@table}
+@code{@@item}.
+@item Remove spaces in Texinfo input file names.
+@item Remove form feeds that end up in output.
+@end itemize
@node EPUB HTML