Navigation Menu

Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EPUB support #13

Closed
io7m opened this issue Dec 19, 2020 · 1 comment
Closed

EPUB support #13

io7m opened this issue Dec 19, 2020 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@io7m
Copy link
Owner

io7m commented Dec 19, 2020

The existing XHTML multi stylesheet is sufficient for EPUB support, although some extra code will be needed to generate EPUB metadata. Essentially, the existing XHTML can be used but with the navigation footers/headers stripped away.

@io7m io7m added the enhancement New feature or request label Dec 19, 2020
@io7m io7m self-assigned this Dec 19, 2020
io7m added a commit that referenced this issue Jun 21, 2021
This adds a new EPUB stylesheet and the various bits of machinery
needed to produce a basic EPUB file. Currently, the code is very
incomplete and the resulting EPUB is unpleasant to look at due to
CSS (or lack of).

Affects: #13
io7m added a commit that referenced this issue Jun 26, 2021
This completes all of the stylesheet updates needed to produce
working (but not necessarily particularly attractive) EPUB files.

Affects: #13
io7m added a commit that referenced this issue Jun 26, 2021
This introduces a backwards-compatible 7.1 schema that allows for the
specification of new metadata properties. This allows for, for example,
defining EPUB cover images. The existing 7.0 schema was updated to
allow for extension, but no validation-time behaviour has changed. The
stylesheets have been updated to handle elements from both schemas.

Affects: #13
io7m added a commit that referenced this issue Jun 27, 2021
This adds language documentation, and fixes a bug in the schema
that effectively rejected footnote references that were referring to
footnotes in the wrong scope. The schema now accurately reflects the
fact that footnote references can only reference footnotes in the
containing section, as was intended all along.

Affects: #13
io7m added a commit that referenced this issue Jun 27, 2021
This adds code to generate toc.ncx files for EPUB2
readers. Unfortunately, visual results are likely to be unpleasant
given the quality of rendering in EPUB2 readers.

Affects: #13
io7m added a commit that referenced this issue Jun 27, 2021
Naturally, the EPUB3 standard decided that it was just too easy and
reliable to parse NCX files, so they switched to free-form XHTML
instead. This, naturally, means that implementations vary on how
much they can extract from XHTML TOCs. This change switches to a flat
linear list for TOCs.

Affects: #13
io7m added a commit that referenced this issue Jun 29, 2021
This removes all uses of stRegion and starts simplifying the markup
further. Currently, TOCs are not rendered. The stylesheets need
drastic refactoring for the sake of sanity.

Affects: #13
io7m added a commit that referenced this issue Jul 4, 2021
This completely rewrites all of the stylesheets, and adds a hard
division between version 7 and version 8 of the schema.

Affects: #13
io7m added a commit that referenced this issue Jul 4, 2021
@io7m
Copy link
Owner Author

io7m commented Jul 8, 2021

Done as of 9d9b72a.

@io7m io7m closed this as completed Jul 8, 2021
io7m added a commit that referenced this issue Jan 15, 2022
Release: com.io7m.xstructural 1.3.0
Change: Add EPUB support (Ticket: #13)
Change: Fix a schema bug that rejected valid footnotes in documents
io7m added a commit that referenced this issue Jan 15, 2022
Release: com.io7m.xstructural 1.3.0

Change: Add EPUB support (Ticket: #13)
Change: Fix a schema bug that rejected valid footnotes in documents
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant