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

Self-closing script tag is expanded and causes blank pages #29

Closed
rightpad opened this issue May 21, 2018 · 4 comments
Closed

Self-closing script tag is expanded and causes blank pages #29

rightpad opened this issue May 21, 2018 · 4 comments
Assignees
Labels

Comments

@rightpad
Copy link

I have a book which uses kobo-specific JS for whatever odd reason, and uses a self-closing script tag. When running the book through kepubify, the script tag is expanded and is incorrectly wrapped around the entire page, causing blank pages. Here is a diff of a page provided by calibre's ebook-edit tool:

screen shot 2018-05-21 at 12 39 06 pm

@pgaskin
Copy link
Owner

pgaskin commented May 21, 2018

Ok. Thanks for reporting this issue.

This is the same issue which happened with self closing title tags earlier. It's because go's html parser is overly strict, and script tags aren't supposed to self-close.

I'll probably fix this today and release a new version.

@pgaskin
Copy link
Owner

pgaskin commented May 21, 2018

I've fixed this in v2.1.4. It should work fine now.

@pgaskin pgaskin self-assigned this May 21, 2018
@pgaskin pgaskin added the bug label May 21, 2018
@rightpad
Copy link
Author

Works great, thank you.

@pgaskin
Copy link
Owner

pgaskin commented May 21, 2018

No problem.

pgaskin added a commit that referenced this issue Jan 14, 2020
- Improved robustness
  - More is implemented directly in the HTML parser and renderer (see my fork of x/net/html)
  - Better support for XHTML and HTML5 (rather than using a bunch of workarounds)
  - No more regexps for modifying HTML
- Better smart punctuation
  - More punctuation supported
  - More robust (won't apply to everything unconditionally)
  - Now off by default
- Faster and more efficient (15-30% faster, 50-70% less memory)
  - Less memory allocations and copies due to use of readers and writers rather than storing rhe entire file in memory multiple times
  - Stack-based span adding algorithm (rather than recursive, which has more runtime and memory overhead)
  - Use byte arrays or runes rather than strings where possible
  - Better parallel processing of content files
  - Eliminated memory, goroutine, and file descriptor leaks
- Cleaner and better code
  - Easier to extend
  - More stable API
  - More complete unit tests
- More accurate sentence splitting and segment numbering (checked against 3 recent free books)
  - Better match Kobo's behavior by preserving, but not wrapping (in a koboSpan) TextNodes with only whitespace. Previous versions of kepubify used to collapse it to a single space, which still works, but is less efficient to do and is slightly different than what Kobo does (although it results in the same thing during rendering).
  - Fixed some edge cases where the segment counter could be incorrectly incremented.
  - Also increment paragraph counter for tables (this case was missing before).
  - Don't increment paragraph counter if spans were added (i.e. an empty or only whitespace paragraph element) (this case was missing before).
- Smaller binary size
- Also run tests on Windows

closes #47, fixes #45, fixes #35
better fix for #36, #29, #28, #26, #21, #14, #10, #5, and #2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants