Epub
ConTeXt has preliminary epub support starting from current 2011.05.18.
In order to make an epub (archive) from your ConTeXt source files, you need to:
- enable the export backend in your
.tex
file or environment file (see Project structure) - call the appropriate
mtxrun
command (with the epub script) shown in the output of a context run or in the log file
Note: There is no support for graphics yet, that will be included in a later version.
Export
To enable the export backend, depending on your needs, one of the following lines has to be included at the beginning of the document (before \starttext).
\setupbackend[export=yes] \setupbackend[export=yes,xhtml=yes] \setupbackend[export=yes,xhtml=whatever.xhtml] \setupbackend[export=yes,css={whatever.css,somemore.css}]
The backend can export into:
- xml
- xhtml
- xhtml+css
For making an epub, you need an xhtml export.
cld-mkvi
It is also possible to hook css into the output, see thread: ntg-context.
Example:
\setupbackend [export=cld-mkiv-export.xml, xhtml=cld-mkiv-export.xhtml, css={cld-mkiv-export.css,mathml.css}]
Mtxrun
The actual generation of the epub can be triggered with the mtxrun
command shown in the output.
Example log entry:
... backend > export > saving xml data in 'oeps.export backend > export > saving css template in 'oeps.template backend > export > saving xhtml variant in 'oeps.xhtml backend > export > saving specification in 'oeps.specification' (mtxrun --script epub --make oeps.specification) ...
The "oeps" will be replaced with the appropriate name given to the export backend.
Therefore, execute:
mtxrun --script epub --make oeps.specification
This will create an oeps.tree folder with an oeps.epub inside it.
More on this on the mailing list, thread starts at: ntg-context.
Example
\setupbackend[export=yes,xhtml=test.xhtml] \starttext Hello world! \stoptext
Tools
Viewer:
Editor:
Validation:
Specification:
Current Issues
As of 17:42, 21 May 2011 (CEST):
tool | description | error |
mtx-epub.lua |
[1] | os.execute(format("zip %s -X -0 %s",epubfile,"mimetype")) os.execute(format("zip %s -X -r %s",epubfile,"META-INF")) os.execute(format("zip %s -X -r %s",epubfile,"OPS")) |
epubcheck-1.2 | test.opf :<spine toc="ncx"> |
item with id 'ncx' not found |
epubcheck-1.2 | test.xhtml :<document> |
elements from namespace "" are not allowed xhtml DOCTYPE missing, html + body elements |
epubreader | test.epub |
This XML file does not appear to have any style information associated with it. |
kindlegen | test.xhtml |
No BODY tag found in content file. |
feature | description |
id field | sort out id name from specs, xhtml name, 3.0 draft, uuid |
cover | add cover element |
toc | table of contents is missing |
chapter break | new title element → new xhtml |
ncx file | add dummy ncx file? |
graphics | include graphics |