-
Remove Pylint warnings on C extensions and runtime class errors. Thanks to Robin Whittleton
-
Update some
import
,with
, anditems
syntax. Thanks to Robin Whittleton -
Remove python-version to pin test runner to OS version. Thanks to Robin Whittleton
-
Fix error flagged by mypy in lint. Thanks to Robin Whittleton
-
Allow xpath to return a single string
-
Restore unconditional creation of compatible epub. Thanks to Vince Rice
-
Remove
.gitignore
from white-label epub builds -
Capture warnings from epubcheck even if there are no errors
-
Use quiet_remove instead of try/catch
-
Improve output on invalid XHTML
-
Fix incorrect path separator when run on Windows
- Improve output on invalid XHTML
- Improve output when
<br/>
and&
are present
- Handle
<br/>
in titles
-
Fix error when checking single XHTML files. Thanks to Robin Whittleton
-
Polite failure if file doesn't exist
-
Improve output of
--white-label
option -
Fix missing translator block in new productions. Thanks to Robin Whittleton
-
Move
<link>
to correct location in white label OPF file -
Parse single/double quote encoding. Thanks to Mike Colagrosso
-
Save body text even if it can't be parsed. Thanks to Vince Rice
-
Linkify error message
-
Handle titles and contributors containing XML entities
- Strip tags before processing, but keep
alt
andtitle
attributes
-
Lowercase matches so that uppercased entries don't cause duplicate output
-
Strip tags before processing, but keep
alt
andtitle
attributes
-
Don't overwrite file if the file is not dirty
-
Fix curs_set issue in interactive-replace. Thanks to Weijia Cheng
-
Improve t-042
-
Add t-063, Latin phrase set without italics
-
Don't emit m-020 if SE subject has not yet been filled out
-
Add s-091,
<span>
not followed by<br/>
in poetry -
Improve t-063
-
Make s-086 also check for Loc. Cit.
-
Improve s-091
-
Tweak message for s-086
-
Add s-092, anonymous contributor with name semantic
-
Add t-064, title not correctly titlecased
-
Add f-017, png file without transparency
-
Fix broken t-064 message
-
Add t-065: Header ending in a period
-
Allow empty
<col/>
and<colgroup/>
-
Make separate messages for t-042 typos. Thanks to Vince Rice
-
Add t-066, regnal ordinal preceded by 'the'
-
Fix broken hyperlink in m-070 error message
-
Convert some tests to xpath instead of regex
-
Improve s-064
-
Fix t-031
-
Don't include legal cases in t-064
-
Improve t-008
-
Improve s-039
-
Add s-093, nested
<abbr>
element -
Don't duplicate entries in t-017
-
Add m-071 and m-072, DP links with incorrect text
-
Merge m-026, m-027, m-028, m-029, m-037, m-038, m-039, m-040 into single m-037 message
-
m-041 only check colophon and imprint
-
Fix bug in m-037
-
Only emit m-071, m-072, m-041 if there are fewer than 2 sources
-
Add Ukranian to the set of scripts that need a Latn suffix. Thanks to Robin Whittleton
-
Add s-094, endnote out of sequence
-
Stop extremely long filenames from breaking lint output. Thanks to Robin Whittleton
-
Add t-067, plural grapheme formed without apostrophe
-
Merge multiple s-094 messsages into one entry
-
Add
--allow
option to allow passing through specific errors that are ignored inse-lint-ignore.xml
. -
Add s-095,
<hgroup>
with<h#>
that is out of order
-
Various additions
-
Fix
per cent.,
->percent,
-
Added safety check before running. thanks to David Grigg
-
Improved endnote check. Thanks to David Grigg
-
Add
--brute-force
option
-
Reduce false positives when adding semantics to 'in.'
-
Various additions
-
Don't add abbr semantics to
SOS
-
Rework checks for eoc on abbreviations. Thanks to Vince Rice
-
Handle AD/BC terminating periods. Thanks to Vince Rice
- Various titlecasing improvements
-
Fix common transcription error of :- -> :—
-
Escape user input before passing to regex when hyphenating
-
Improved typogrification of fractions
- Gracefully handle unrecognized character
-
Allow non-SE ebook folders to be parsed and operated on. A non-SE ebook does not have a
./src/
folder and does not have an SE-style<dc:identifier>
. -
Fixes for all commands to work with the manual 1.6.1 rules for semantics vs classes
- Add the
--check-only
option to only run epubcheck/ace without outputting any ebook files
- Add the
-w
,--white-label
option to create an epub skeleton without SE branding
- Create this command. Scans an ebook for cases of the same compound word with and without dashes. Output is like
se find-mismatched-diacritics
.
- Revamp output format to use Rich and to linkify words to M-W
-
Improve t-042
-
Add t-061, summary-style bridgehead without ending punctuation
-
Improve t-060
-
Strip elements before glossary search key map linting. Thanks to Robin Whittleton
-
Don't crash when throwing f-002
-
Use self.content_path instead of hard-coded path
-
Add t-062, uppercased a.m./p.m.
-
Various additions
-
Fix a broken regex. Thanks to David Grigg
- Fix an error with endnote IDs. Thanks to David Grigg
- Fix a common error case for incorrectly curled left quote
-
Fix broken
se --version
command -
Restore the
quiet_remove()
function until the SE server is running a version of Python that can handle the alternative
-
se reorder-endnotes
has been renamed tose shift-endnotes
to better differentiate it fromse renumber-endnotes
-
se print-manifest
,se print-spine
, andse print-toc
have been renamed tose build-manifest
,se build-spine
, andse build-toc
. The-i,--in-place
option has been removed and the tool now writes to disk by default. The-s,--stdout
option has been added to print to stdout instead of writing to disk -
The
se create-draft
-p
,--pg-url
option has been replaced with-p
,--pg-id
, which takes the Project Gutenberg book ID number instead of a whole URL -
The
se interactive-sr
command has been replaced with these interactive-replace
command, a totally independent TUI utility that removes the Vim dependency -
The
se build
-t
,--covers
option has been removed
-
Add a new
-p
,--plain
option to the basese
command to enable plain-text output for all subcommands. For example:se --plain lint .
-
Replace all XHTML-processing regexes in all tools with dom operations
-
Most checks that perform actions based on a filename now check the dom and perform checks based on the semantics in the file instead
-
Don't include contributor name twice in SE identifier string if they are both a translator and illustrator
-
Remove the
quiet_remove
function now thatPath.unlink()
accepts themissing_ok
parameter
-
The
--check
flag now invokes Ace to check accessibility. Ace is only invoked if it's present in$PATH
, otherwise it is not invoked and the build process will continue uninterrupted -
If epubcheck/Ace fails, the build files are kept on disk and are hyperlinked in the output
-
Replace ditto mark (U+3003) with ldquo
-
Don't crash if the colophon is missing
-
Allow building without a cover image, or with a jpg/png cover image
-
Alpha sort simplified class names so builds are deterministic
-
Remove obsolete replacement of
<abbr>
with<span>
-
Improve MathML replacement so many more basic MathML expressions get converted to plain text instead of an image
-
Print epubcheck/Ace output in a lint-style table instead of using raw output
-
Replace Unicode ratio character U+2236 with colon
-
Add more ARIA roles to include, and improve xpath to include them
-
Add alt text to mathml nodes that were converted to PNG
-
Restructure work directory format during the build process and don't zip an epub until epubcheck/ace pass
-
Save debug epub into a fixed location to prevent multiple runs from taking up disk space
-
Use a temp file to capture epubcheck's stdout in case it's too long
-
Remove outdated Google Play Books compatibility fix
-
Pretty-print some more obscure errors instead of crashing
-
Don't add more than one
role
attribute when adding ARIA roles -
Add first ARIA-valid
epub:type
to the role attribute -
Don't add ARIA roles to
<article>
-
Remove the
-t
,--covers
option
-
Don't add glossary property for the ToC
-
Don't fail if no manifest exists
- Don't fail if no spine exists
- Add the
n
,--no-newline
option
-
Don't duplicate
*matter
semantic in landmarks -
Add support for
hidden
attribute on headings
-
Trim white space within
<p>
in content.opf long description -
Don't remove spaces after
:
in CSS media queries -
When formatting CSS, don't add spaces after colons in strings
-
Add LCCN entry for David Widger automatically
-
Don't allow unidecode to convert rsquo to straight quote
-
Don't try to find Wikipedia URL for a book if it's a generic compilation
-
Update colophon template
-
Update Uncopyright template
-
Replace
-p
,--pg-url
with-p
,--pg-id
-
Use correct
se:image.color-depth
semantic instead ofse:color-depth
-
Titlecase the book title
-
Update metadata template to use variable for production notes
-
Allow ex units for font size in c-023
-
Correct URL references to URI in
id.loc.gov
errors. Thanks to Vince Rice -
Add t-058, quote used instead of ditto mark in table
-
Add t-059, period at end of
<cite>
element before endnote backlink -
Add
together
to list of ignored classes -
Emit lint error instead of crashing in some cases
-
Output f-002 only once, with sub items
-
Check for half title page at any sectioning level
-
Merge m-036, m-052, and m-062 into m-036, variable not replaced with value
-
Add m-055, description does not end with a period
-
Improve t-059
-
Add s-035, endnote containing only
<cite>
-
Don't crash if there is no cover
-
Merge m-011 into m-005
-
Ignore some common known names in t-007
-
Add s-084, poem has incorrect semantics
-
Add t-060, old style Bible citation
-
Add s-085, h# element found at unexpected depth
-
Remove accidental duplicate message s-050
-
Allow any value for the scope attribute in s-055
-
Don't throw s-025 if the titlepage has any heading content
-
Add s-086, Op. Cit. in endnote
-
Improve t-060
-
Improve t-017
-
Remove s-031; replace s-032 with generic 'invalid epub:type value' check that checks against set vocabularies
-
Remove incorrect entry in SE vocabulary definition and update epub vocabulary definitions
-
Add s-031, duplicate value in
epub:type
attribute -
Expand on t-017 error message
-
Fix error in t-017
-
Improve m-007
-
Improve c-015
-
Add m-011, Subtitle in metadata but no full title element
-
Add s-087, subtitle in metadata but no subtitle in half title page
-
Add s-088, subtitle in half title page but no subtitle in metadata
-
Add m-062,
<dc:title>
missing matching file-as -
Add m-068,
<dc:title>
missing matching title-type -
Add s-089, MathML without
alttext
attribute -
Add m-069,
comprised of
in metadata -
Improve t-042
-
Improve message for s-018
-
Don't throw m-055 if the short description is not yet filled
-
Don't throw m-016 if the long description is not yet filled out
-
Update m-022 to check for any empty element, not just production notes
-
Add m-070, lint check for glossary entries missing from the text. Thanks to Robin Whittleton
-
Add s-090, invalid language tag
- Various additions
-
Improve fix for positioning figures/images with
positon: absolute;
during recomposition -
Remove
data-css
classes from output
-
Don't print traceback if the target is not an SE directory
-
Properly process endnotes within endnotes.xhtml itself. Thanks to David Grigg
-
Actually follow spine order
- Various additions
-
Correctly handle endnotes within endnotes
-
Add
-a
,--amount
flag to shift endnotes by any amount -
Fix incorrect increment calculation
- Add NUMBER parameter to template
- Remove shy hyphens
-
Add
-f
,--only-filenames
option -
Smarter check when adding Roman semantics
-
Escape
[
to prevent Rich from parsing those characters as styling commands
-
Add compatibility code to allow Kindle to display pages whose only content is an aboslutely positioned image
-
Replace vh/vw units with percent for compatible epub
-
Add c-023, font size set without em units
-
Add c-024, line-height set with units
-
Add c-025, illegal percent unit on height property
- Fixed a crash when ToC level could not be determined. Thanks to David Grigg
- recompose-epub: Add
position: relative;
to sections with child figures that have position: absolute, so that they will position correctly after recomposition
- Add word joiners after em dashes within
<cite>
elements
- Improve url-safe string generation when string contains accents. Thanks to Robin Whittleton
- Unwrap double-nested Kobo spans to prevent unexpected styling in local.css
-
Ensure NACOAF prefix is http. Thanks to Vince Rice
-
Add
unlocked
accesibility feature tocontent.opf
template
-
Add
sa
andhe
to s-082 -
Add lint check for
id.loc.gov
URLs that start with https. Thanks to Robin Whittleton -
Add m-067, non-SE link in long description
-
Improve s-045
-
Add t-057,
beginning with lowercase letter
-
Improve t-012
- Various additions
- Add dramatis-personae and halftitlepage to exluded files. Thanks to Asher Smith
- reorder-endnotes: Improve reordering for endnotes within the endnotes file
- Add SOS and TV
- Don't crash when printing string output
-
Update the toolset to use
halftitlepage.xhtml
instead ofhalftitle.xhtml
throughout -
Add support for new
se:role
metadata property
-
Use posix path for XSLT transform. Thanks to ConcaveTrillion
-
Convert combining vertical line above to acute accent during build
-
Remove outdated Calibre workaround for Kindle
-
Remove outdated Play Books compatibility tweak
-
Update
epubcheck
to 4.2.5 -
Remove outdated
epubcheck
workaround
- Remove unnecessary prefilling of cover and titlepage. Thanks to Robin Whittleton
- Various additions
-
Add exception msg on file open/parse error. Thanks to Vince Rice
-
Fix Unicode file open issues. Thanks to ConcaveTrillion
-
Update t-011 to exlude quotations in letter signatures
-
Add c-022, illegal rem unit
-
Add more detail to lint error message for invalid XML
-
Add filename to lint error message for invalid XML
-
Add s-082, non-Latin-script language tag missing script suffix
-
Add t-055, lone acute accent
-
Add t-056, ordinal character used instead of degree character
-
Merge t-045 and s-081 in favor of s-081
-
Add f-015, filename doesn't match id attribute
-
Add t-045, element with z3998:persona semantic that is set in italics
-
Add s-083, persona with child
element
- Don't pretty-print output if the size of the string would crash lxml
- Lowercase
mm
if used as a measurement
-
Don't ignore colophon, loi, or half title
-
Fix broken regex
-
Typogrify all metadata, not just the descriptions
- New command:
se xpath
to run an XHTML-namespaced xpath selector on a directory or individual files
- Replace no-break hyphens in Kobo builds
-
Update chapter template and split-file command to use roman numerals instead of arabic numerals. Thanks to maticstric
-
Improve LCSH subject heading fetching to find results more often. Thanks to maticstric
-
Add x-018, unused ID attribute
-
Replace internal CSS cache with general file cache
-
Add t-050, possessive
's
outside of persona element -
Add t-051, dialog in
<p>
without closing double quote, but next<p>
doesn't have opening double qoute -
Add t-052, stage direction without ending punctuation
-
Add t-053, stage direction starting in lowercase
-
Improve t-042
-
Add t-054, epigraphs entirely in non-English but set in Roman and not italics
-
Add m-065, incorrect word count in metadata
-
Allow nested at-rules when checking CSS. Thanks to maticstric
- Various additions
-
Don't add Roman semantics to obscured names starting with I, V, or X. Thanks to Weijia Cheng
-
Improve check for Imperial measurements
- Lowercase
o’
-
Update core.css to use
break-*
instead ofpage-break-*
-
Add fixed margins to blockquotes in core.css
-
Remove regex compilation as it's built in to the regex library now
-
In output, differentiate words with tab and not comma
-
Add some exceptions for common edge cases
- Don't add Roman semantics around
i
-
Add
and all
to CSS media queries during build to placate RMSDK -
Force unicode encoding when converting MathML to PNG
- Add
<abbr class="name">
around abbreviated names in colophon
-
Add c-019, signature semantics without small caps; this replaces c-006
-
Improve m-007 by checking for bad archive.org links
-
Add s-079, element with no children and only white space
-
Improve c-015
-
Add s-080, in drama containing both inline text and a block-level element
-
Add c-020, multiple
<article>
or<section>
in file but withoutbreak-*
CSS -
Add c-021, nested italics without
font-style: normal;
-
s-081,
<figure>
,<table>
, or<blockquote>
followed by<p>
that does not havecontinued
class
- Various additions
- Fix prologue being added to spine twice. Thanks to Vince Rice
- Fix endnotes being included in the ToC. Thanks to David Grigg
- Improve check for Roman numerals in titles
-
Add
nbsp
after some titles -
Remove unused regexes
-
Convert hyphen before closing double quote to em dash
-
Fix incorrectly curled quote following inline closing tag
-
Strip CDATA from HTML5 output
-
Don't print duplicate lang attributes on
<html>
when outputting HTML5
-
Remove multiple ARIA roles added during build, as epub doesn't support them
-
Include filename in exception
-
Add the ability to apply a stylesheet to an EasyXml DOM tree. Applied styles can be accessed on an EaxyXmlElement by getting the
data-css-<attr>
property. -
Use EasyXhtmlTree instead of raw lxml for various operations across the codebase
-
Remove se.XHTML_NAMESPACES constant in favor of more targeted namespace applications in the EasyXmlTree classes
-
Update core.css to remove text indent from centered
<p>
elements in<header>
-
Update core.css to add media to @media rules for RMSDK compatibility. Thanks to Robin Whittleton
-
Update se.css to use
text-align: initial;
-
Fix dark mode in iOS13+ iBooks and drop dark mode hack for older Apple Books. Thanks to Robin Whittleton
-
Move prefers-color-scheme image inversion to
core.css
. Thanks to Robin Whittleton -
Convert
vh
units toem
for compatible epub build -
Output correct manifest when writing Kobo files
-
Disable quote-align insertion code
-
Simplify
text-align: initial;
totext-align: left;
- Alphabetize classes, except 'eoc' always goes last
-
Fix extra whitespace in content.opf when translator/illustrators not present
-
Prompt the user if the title appears to contain a subtitle
-
Fix m-045 not working with ampersands
-
Fix s-021 not working with ampersands
-
Fix t-002 not working with word joiners
-
Make sure s-021 reaches headers within
<header>
elements -
Add c-001, don't use some pseudoclasses on
*
-
Add t-048, chapter opening text in all caps
-
Add c-010,
<footer>
without correct style -
Add c-011, centered element that still has text-indent applied
-
Cache CSS rules for performance
-
Add c-012, element without header and without correct
margin-top
-
Correctly remove color from CSS output if requested via option
-
add c-013, element with
margin
orpadding
not in increments of.5em
-
Add t-049, two em dash used for whole word elision
-
Add s-076,
lang
attr used instead ofxml:lang
-
Improve t-049 check
-
Add c-014,
<table>
without explicit margins -
Make sure CLI output expands to fill available space
-
Improve x-017
-
Fix links in error messages for f-003, f-004, f-005, and f-006
-
Add c-015, element after or containing salutation does not have
text-indent: 0
-
Add s-077,
<header>
with preceding sibling -
Add s-078,
<footer>
with following sibling -
Add c-016,
text-align: left;
found instead oftext-align: initial;
-
Add c-017, element with postscript semantic but missing
margin-top: 1em;
-
Add c-018, element with postscript semantic but missing
text-indent: 0;
-
Improve t-042, possible typo
-
Remove space before
'll
-
Various additions
- Improve lowercase i check
- Lowercase
du
-
Fix incorrect application of
<span class="quote-align">
to…
-
Don't remove
datetime
attributes from<time>
-
Fix broken HTML in colophon if translator is specified
-
Fix colophon author formula if author is anonymous
-
Remove white space from transcriber names when fetching from PG
-
Improve t-042 by checking for consecutive periods
-
Improve t-042 by checking for
,.
-
Improve t-042 by checking for miscurled
‘
-
Add m-063, cover image has not been built
-
Add m-064, ebook linked in long description but not italicized
- Various additions
-
Add word joiners before and after hair spaces preceding
…
-
Auto-fix commonly miscurled quotation marks around
'n'
- Fix broken GitHub test/build framework. Thanks to Dave Halliday
- Fix missing generated epub-type-x classes. Thanks to Robin Whittleton
-
Accept multiple authors, translators, and illustrators
-
Remove unused metadata blocks
-
Try to guess at contributor sorting
- Switch from unmaintained PyHyphen to pyphen. Thanks to Robin Whittleton
-
Improve checks for missing metadata leftover from
se create-draft
-
Add m-062, missing data in imprint
-
Add s-075,
<body>
with illegal direct child
- Various additions
- Remove BeautifulSoup dependency, using lxml and xpath instead. Thanks to David Grigg
- Add filenames to error messages
- Add
pp.
as an abbreviation. Thanks to Robin Whittleton
- Don't insert nbsp or word joiners in
<title>
elements
- Use unicode.org for hyperlinks for more details
- Ensure Python 3.9 compatibility with latest Pillow. Thanks to Robin Whittleton
-
Align quotation marks over ellipses, and align nested quotations
-
Don't align quotes in Kobo builds, as it messes up spacing
-
Add t-046, incorrect rough breathing mark
-
Update m-041 to check all variations of HathiTrust
-
Add m-061, HT/IA metadata link must be preceded by
the
- Various additions
- Apply
epub:type
of<body>
to all direct children
- Use with/open file open pattern
-
Add --extra-css-file option to include additional CSS when recomposing
-
Don't destroy external links when recomposing
-
Improve formatting of CSS in
<style>
elements, and escape with CDATA
- In core.css, Indent
<p>
elements following<ul>
,<ol>
, and<table>
by default
-
Generate and use 2x MathML images. Thanks to Vince Rice
-
Expand canvas if either generated MathML dimensions are odd. Thanks to Vince Rice
-
t-032: Ignore abbrevations that contain
<sup>
, liker<sup>o</sup>
-
t-032: Ignore abbrevations ending in numbers, like stage direction
-
Add new Google Books URL structure to checks
-
Add m-060, alternate style for new Google Books URLs
-
t-042: check for dialog starting in lowercase letters
-
Add s-074,
<hgroup>
element containing sequential<h#>
children at the same heading level
- Various additions and modifications
- Catch and pretty print invalid XHTML exceptions
- Correctly print first child of title when there are multiple hgroup children. Thanks to David Grigg
-
Include all images as inline data
-
Bug fixes and improvements
- Reduce false positives when adding semantics to measurements
-
Use word boundaries instead of spaces when uppercasing initialisms
-
Add
Des
andDe La
to lowercased exceptions
- Fix issue where adding quote spans interrupts alt attributes and title tags
-
Remove almost all BS4 dependencies
-
Change default indentation of
<p>
following<blockquote>
to be 1em instead of 0; addcontinued
class tocore.css
for such<p>
s that are semantic continuations of the<blockquote>
's preceding<p>
-
Rename some EasyXml functions
-
In the compatible build, add
<span>
s around punctuation followed by quotation marks to move them closer together typographically -
Add compatibility CSS to remove hanging indents from iOS in compatible epub build
-
Add
continued
class tocore.css
and makeblockquote + p
indented by default
- Include IA URL as a
<dc:source>
element in the generated templatecontent.opf
. Thanks to maticstric
- Fix exception message. Thanks to Vince Rice
- Various additions. Thanks to Robin Whittleton
-
Add x-017, duplicate ID value on non-sectioning element
-
Downgrade s-039 to a warning and tweak message
-
Require block-level child in LoI
<li>
elements -
Perform most checks using the file's semantics and not the filename
-
Add f-014, se.css doesn't match template
-
Only check top-level elements in m-030-35
-
Update s-066 to include Act and Scene and improve check to reduce false positives
-
Add s-073, header element requires both label and ordinal semantic children
-
Add some mathml to exceptions in s-010
-
Fix m-043 message. Thanks to Vince Rice
-
Add
continued
class to checks -
Add m-059, source in colophon but missing in metadata
-
Add t-045, p preceded by blockquote and starting in lowercase letter but missing
continued
class
- Fix Roman semantics added to lowercase
i
-
Support for new
header scheme in tools and templates -
CSS for SE boilerplate files like titlepages, colophons, and the Uncopyright page are now in a new CSS file named
se.css
, and those files no longer includelocal.css
. -
Corpus-wide switch to using
epub:type="z3998:signature"
instead ofclass="signature"
. -
core.css
now defaults to lowercase numbers and hanging punctuation. -
Fix to pipx install documentation. Thanks to Robin Whittleton
-
Add various functions to the EasyXmlTree and EasyXmlNode classes
-
<title>
elements now have the same value as their ToC entries
-
Remove BS4 dependency
-
The raw, non-compatible epub file is now named
*_advanced.epub
, instead of having an.epub3
file extension -
Add workaround for glossary bug in epubcheck 4.2.4
- Add support for new
se.css
file and update various template files
- Remove BS4 dependency
- Various additions
- Add support for the epub glossary spec
-
Change s-049 to match
<header>
elements with only<h#>
children -
Add s-065,
fulltitle
semantic on element that is not an<h1>
-
Add t-008, repeated punctuation
-
Improve t-017
-
Add f-013, glossary search key map must have exact filename
-
Add s-024, header elements that are entirely non-English should not have italics
-
Add s-066 and s-067, header elements with incorrect label semantics
-
Add s-068, header missing ordinal semantic
-
Improve s-066
-
Add t-044, comma required after leading
Or
in subtitle -
Add s-069,
<body>
without direct child<section>
or<article>
-
Add s-070, heading element without semantic inflection
-
Improve t-020
-
Update m-045 to use the output of the
generate_title()
function -
Add s-071, sectioning element with more than one heading element
-
Replace various filename-based checks with semantics-based checks
-
Add s-072, element with a single
<span>
child -
Remove various now-obsolete checks
-
Check for CSS required for
z3998:signature
semantic
-
Compatibility with new
<hgroup>
standards -
Remove word joiners and no-break spaces from titles
-
Emit a warning if we can't guess the title based on the file contents
-
Compatibility with new
<hgroup>
standards. Thanks to David Grigg -
After adding the bodymatter item in the landmarks, don't output any more frontmatter-like landmark entries
- Wrap lowercase Roman numerals in semantics
-
Improve rehydration of
&
-
Don't collapse spaces between ellipses and em-dash
-
Typogrify the half title if present
-
Bump to epubcheck 4.2.4
-
Pin versions of testing framework libraries so that tests don't fail unexpectedly when new library versions are released. Thanks to Dave Halliday
-
Various testing framework updates. Thanks to Dave Halliday
-
Fix extra spaces before 4-dot ellipses and nested quotations in Kobo. Thanks to Robin Whittleton
-
Temporarily disable 2x MathML PNG generation due to iBooks srcset bug
-
Only add white stroke outline to logo SVG if the logo matches the SE logo
-
Don't fail when CSS media queries are present
-
Remove Readium compatibility CSS as the Readium reader is no longer maintained
-
Don't add -epub-hyphens since it is now required in the base CSS
-
Instead of checking for word length when checking if a word is too long for the hyphenator library, catch the exception instead, as some Unicode strings report as shorter than they really are when checked with
len()
- Don't print double newlines in output
- Remove leading white space from title lines when generating the title/cover SVG
-
Fix x-009 to check for only leading
0
s, not-0
anywhere in the value -
Add x-011, illegal underscore in id attribute
-
Remove t-007 and t-008 as they are now handled by typogrify
-
Add
<footer>
to allowed block level children in s-007 -
Improve m-045 check
-
Fix unhandled exception when filename not present in lint output. Thanks to Michael Glanznig
-
Improve t-017
-
Fix typo in s-052 message
-
Fix incorrect MathML rendering in some cases
-
Catch abbr classes with no periods in s-045. Thanks to Vince Rice
-
Allow initialisms with numbers in t-030. Thanks to Vince Rice
-
Add several initialism exceptions. Thanks to Vince Rice and Robin Whittleton
-
Add some self-closing MathML tags to list of allowed empty elements
-
Add s-043, se:short-story/se:novella semantic on element that is not
<article>
-
Add s-061, title and following header content not in
<header>
-
Allow
<p>
in s-058 -
Add t-007, possessive s inside italics that are for a name
-
Don't check MathML attributes for underscores
-
Add s-063, z3998:persona semantic on an element that's not a
<b>
or<td>
-
Add s-064, check that endnote citations are wrapped in
<cite>
- Various additions. Thanks to matistric
- Add support for epub dictionaries and glossaries
- Remove word joiners and nbsp from generated ToC
-
Add
2D
/3D
/4D
as recognized abbreviations. Thanks to Vince Rice -
Don't add z3998:roman semantic to
x-ray
-
Add a no break space before ampersands
-
Remove word joiners and nbsps from alt attributs
-
Don't add an nbsp before
St.
if it is within an<abbr class="name">
element -
Convert horizontal bar to em dash
Released in error; no changes.
-
Restrict pytest version to work around new pytest bug. Thanks to Dave Halliday
-
Update core.css to use
break-*
properties instead ofpage-break-*
, and to avoid page breaks inside and after<header>
by default
- Convert
break-*
properties topage-break-*
during build, not the other way around; and use correct value ofbreak-*: page
where appropriate
-
Add c-007,
hyphens
CSS property without matching-epub-hyphens
property -
Merge s-007, s-053, and s-061 into one check, now s-007
- Improve checks for eoc classes when adding
<abbr>
elements. Thanks to Vince Rice
- Don't pretty-print files when doing a Kobo build, as it will screw up whitespace when rendered
-
Remove leading and trailing whitespace from attribute values
-
Improve cleaning of inline whitespace. Thanks to Dave Halliday
-
Preserve doctype in XML files
- Fix crash when creating a draft of an ebook with a very short title
-
Ignore noterefs when checking for s-035
-
Link filename in s-022 error message
-
Add m-058, se:subject implied by other se:subject
-
Fix s-056 to match endnotes that have the backlink in an element that is not the last p child of the endnote
-
Add s-061 and s-062, checks for glossary rules
-
Allow
<abbr>
in s-058 -
Fix crash in f-001 caused by not using PosixPath
- Several additions. Thanks to maticstric
- Place prologue in front of bodymatter
- Ignore italics when generating title. Thanks to Robin Whittleton
- Fix bug where dc:subject was used instead of se:subject when deciding if a work was fiction or nonfiction
-
Add semantics for Gov., and Col. Thanks to maticstric
-
Add periods and hair space to PhD
-
Remove initialism class from MS. Thanks to Mike Bennett
- Don't include nbsp or word joiners in the ToC
-
Add support for building titlepage/imprint/colophon files with color depth semantics on images
-
Format Kobo output before writing kepub files
- Add color depth semantics to titlepage/imprint/colophon templates
-
Remove 'adventure' from tags listed as non-fiction, when deciding on the fiction type for a work
-
Use xpath instead of regex to get spine items
- Fix several MathML related bugs
- Improve s-043 to select blockquotes with inline elements and not just text nodes
-
Use pathlib instead of regex when composing PNG output paths
-
Output hi-DPI MathML PNGs using
<img srcset>
. Thanks to Robin Whittleton -
Include translator name in output filenames
- When creating the title/cover page images, check if the first line is a word of less than 3 letters, instead of checking against a set of short words.
-
Add s-055,
<th>
element not in<thead>
ancestor -
Add s-056, last
<p>
child of endnote missing backlink -
Add s-057, backlink notereef fragment identifier doesn't match endnote number
-
Add m-056, author name present in long description but first instance isn't hyperlinked
-
Add s-058, stage direction sematnics only allowed in
<i>
elements -
Add s-059 internal link beginning with ../text/
-
Add s-060, italics on name that requires quotes
-
Add m-057, xml:lang illegal in long description. Thanks to Robin Whittleton
-
Improve s-046
-
Improve t-002
-
Fix bad filename in s-027
- Various additions.
- Improve removal of PG headers/footers
- The Rich console library is now used for output. This allows us much more detailed and nicely-formatted table output in lint, as well as nicer colors, and hyperlinks in output. If your terminal supports it, all filenames (including filenames in error messages) are now hyperlinked, so that you can ctrl + click on them to open them directly instead of having to hunt for them in your editor or filesystem.
- Catch exception when trying to parse SVGs
-
Remove space before
<br/>
and non-tag content -
Add t-043, dialog tag missing punctuation
-
Add x-016, language tag starting in uppercase letter
-
Add m-054, SE URL with trailing slash
-
Improve check for malformed URLs
- When creating title/cover page images, if the first line is a single short word like "the", "of", "or", etc., then move the next word up to the first line
-
Remove
<!CDATA
tag from long description in the content.opf template, now that se clean correctly escapes the long-description -
Create a new draft with cover/titlepage images already built, so that drafts can be built with
se build
without errors from the get-go
-
Add m-052, check if alternate-title is missing in metadata
-
Ignore all dotfiles in an ebook repo, and only issue f-001 if a dotfile is in the repo and tracked by Git
-
Don't throw f-008 for files not tracked by Git
-
Add t-041, illegal space before punctuation
-
Improve t-036, check for missing opening/closing double quotes
-
Add m-053, se:subject elements must be in alpha order
-
Add t-042, possible typo
-
Improve some slow regexes
-
Remove -w option, replaced with a better incantation of GNU Parallel in the README
-
Improve t-003, check for unclosed double quotes
-
Improve t-010, time set with . instead of :
-
Merge s-047, s-048, s-049, and s-50 into one message
-
Add s-048, se:name.* semantic used on block-level element
-
Add s-046, check for
elements that have poetry structure but no poetry semantic on parent
-
Add s-049,
<header>
with direct child text node -
Improve s-026, invalid Roman numeral
-
Add s-050,
<span>
element exists only to apply epub:type -
Add z:3998:lyrics to all verse-type checks
-
Add m-055, missing data in metadata
- Add various new modernizations
-
Improve replacement of two-em-dashes
-
Don't change existing rsquo chars. This will help prevent typogrify from ruining hand-made changes on subsequent runs.
-
Don't remove white space before an em dash, if the white space is preceded by
<br/>
- Added -p, --ignore-pg-boilerplate flag to attempt to ignore PG headers, footers, and page numbers when calculating word count
- New tabular output format for easier reading
-
Fix various errors in shell completions. Thanks to Dave Halliday
-
Regexes using the [a-z] character set have been replaced to use the [\p{Letter}] Unicode property, which will catch non-ASCII letters
-
Add CHANGELOG.md file
-
Update required package versions
-
Internally, cache CSSSelector instances to improve performance. Thanks to Dave Halliday
-
Internally, throw exceptions instead of printing to the console
- Catch exception for invalid source directory. Thanks to Dave Halliday
-
Remove external call to xmllint, instead use lxml to pretty-print with Python for a huge performance improvement. Thanks to Dave Halliday
-
remove -s,--single-lines option, as that case is now handled by default in the new implementation
-
Remove white space between opening/closing tags and text nodes
-
Lowercase tag and attributes names in XHTML
-
Remove
<!CDATA
tag from long description in the content.opf template, now that se clean correctly escapes the long-description -
Create a new draft with cover/titlepage images already built, so that drafts can be built with
se build
without errors from the get-go
-
All checks have been converted to xpath expressions, from regular expressions
-
Add detailed error matches for various checks
-
Improve message for missing verse/poetry styling
-
Check for duplicate selectors in CSS
-
Check for illegal ID attributes in SVGs
-
Replace f-008 with a more general check URLs for complete URL safety, not just for uppercase letters in URL
-
Check for illegal
<style>
elements -
Replace x-015 with a more general check for illegal elements in
<head>
-
Improve check for incorrect filenames
-
Check for lowercase letters after periods
-
Improve check for miscurled quotation marks
-
Improve check for correctly formatted measurements
-
Improve check for period followed by lowercase letter
-
Check for correct height/width on cover.jpg
-
Check for
<abbr>
withtitle
attribute -
Check for
<article>
withoutid
attribute -
Check for
<img>
element withoutalt
attribute -
Tweak s-006 error message and fix exception in rare corner cases
-
Check for
<cite>
as direct child of<blockquote>
-
Improve t-008 check by checking for white space, not absence of nbsp
-
Check for initialisms without periods
-
Internally, cache dom objects to improve lint performance
-
Check for initialisms followed by periods
-
Internally, cache CSSSelector instances to improve performance. Thanks to Dave Halliday
-
Add m-010, invalid
refines
attribute -
Add m-050, non-typogrified character in
<dc:title>
-
Add m-051, check for missing metadata elements
-
Consolidate several checks into single broader checks
-
Add check for invalid Roman numerals
-
Internally, convert all instances of BS4 to LXML for consistency and performance
-
If invoked with multiple ebooks, and one throws an exception (like invald XHTML), print to console and continue linting the rest of the books instead of exiting
-
Add s-053, newlines in colophon not preceded by
<br/>
-
Add more detail to t-017 message
-
Add t-003, space after dash
-
Add t-034,
<cite>
preceded by em dash -
Add t-035,
<cite>
element not preceded by space -
Don't complain about mismatched ToC if header elements have the
hidden
attribute -
Change c-006 to include general check for any missing style, thus obsoleting c-007
-
Add s-016, incorrect
the
before Google Books link -
Add t-036, mismatched rdquo
-
Add t-037,
”
preceded by space -
Add t-038,
“
before closing</p>
-
Add t-039, initialism followed by
’s
-
Detect if we're being called from GNU Parallel, so that we can tweak output accordingly
-
Add -w,--wrap option to force line wraps to a certain column; useful for lint is called from GNU Parallel
-
Add s-043,
<blockquote>
must have block-level child -
Add s-044, poetry/verse must have a descendant
<p>
element -
Add s-045, check for
<abbr>
without semantic class -
Add t-040, illegal period at end of subtitle
-
Improve s-038 check for asterisms to also check for other kinds of section breaks that should be
<hr/>
-
Various additions to automated spelling replacements
-
Fix error in subtile -> subtle change
-
Remove proper names from word list used to calculate hyphen removals
-
Fix maneuver modernization
-
Add punctuation after some abbrevations even if not followed by white space
-
Internally, remove some duplicate checks and merge some othes
-
Remove endnotes from generated titles. Thanks to Robin Whittleton
-
Fix bug where empty
<title>
elements would not get filled with the -i option -
Fix for correct titles for books with parts. Thanks to Robin Whittleton
- change -n option to -w for consistency with other options
- Add -x,--xhtml option to output XHTML5 instead of HTML5
-
Add
<abbr>
aroundvs.
,Bros.
, and £sd shorthand -
Improved handling of P.S.
-
Add more semantic meaning on some existing additions
-
Fix for
eoc
class being added twice
-
Titlecase now correctly titlecases non-ASCII letters. This fix was also pushed upstream to the pypi titlecase package
-
Tweak capitalization of
and
in some cases -
Titles consisting of almost all caps should now be correctly titlecased
-
Curl quotation marks before
'uns
,'ud
,'cept
-
Typogrify
<dc:description>
and long-description in content.opf when invoked -
Improved handling of P.S.
-
Don't use word joiners or nbsp in content.opf long-description
-
Add hair space between consecutive single quotes