-
Restructure test
-
Restructure Rake tasks
-
Update required Ruby version to 2.6
-
Follow Ruby 3.5 inspection change
-
Follow Archive::Zip API change
-
[BUG FIX]Prevent epubinfo tool raise exception when no nav elements
-
Tiny modifcation on Zip archive manipulation
-
Remove version specification from Nokogiri to migrate to Ruby 3.1
-
[BUG FIX]Fix navigation type check bug
-
Add feature to show navigations to
epubinfocommand-line tool
-
[BUG FIX]Fix a bug that epub-cover refers out of scope variable
-
[BUG FIX]Fix a bug that
epubinfocommand with--wordsor--charsoption causes load error if there is not Nokogiri in environment -
[BUG FIX]Fix a bug that REXML::Element#content ignores descendant nodes
-
[BUG FIX]Set {EPUB::Metadata::DCMES#lang} properly from xml:lang attribute
-
Change default XML backend from REXML to Nokogiri
-
[REFACTORING]Add {EPUB::Parser::NokogiriAttributeWithPrefix} and use
Nokogiri::XML::Node#attribute_with_prefixinstead ofEPUB::Parser::Utils#extract_attribute -
Set default value for detect_encoding argument for {EPUB::Publication::Package::Manifest::Item#read} to false
-
Make XML library switchable between REXML and Nokogiri
-
Make REXML a default XML backend
-
Strip leading and trailing white spaces from identifiers. See http://www.idpf.org/epub/31/spec/epub-packages.html#sec-opf-dcidentifier for details.
-
Change home page and documentation from rubydoc.info to GitLab Pages
-
Parse
package/metadata/meta@nameand@contentto allow EPUB 2 meta info -
Add {EPUB::Metadata#cover_image Metadata#cover_image}
-
Make {EPUB::Book::Features#cover_image Book::Features#cover_image} return EPUB 2 cover image if EPUB 3’s not available
-
Add
epub-covercommand-line tool. See {file:docs/EpubCover.adoc} for details.
-
[BUG FIX]Ignore fragment when find item by relative IRI
-
Enable PrettyBacktrace only when specified by env var for testing performance
-
[BUG FIX]Fix a bug that {EPUB::ContentDocument::Navigation::Item#item} is
nilwhenhrefincludes double dots(..)(Thanks aelkiss!)
-
Add {EPUB::Publication::Package#full_path} and {EPUB::Publication::Package#rootfile}
-
[BUG FIX]Fix a bug that {EPUB::ContentDocument::Navigation::Item#item} doesn’t return correct {EPUB::Publication::Package::Manifest::Item Item}(Thanks aelkiss!)
-
[BUG FIX]Use UnpackedURI adapter for URI
-
[BREAKING CHANGE]Remove deprecated second argument from
EPUB::Parser::Publication#initialize -
Add
detect_encodingkeyword argument toPublication::Package::Manifest::Item#readandContentDocument::XHTML#read
-
Load epub/parser.rb in epub/parser/cfi.rb to allow to use Parser::CFI independently
-
Make
CFIcomparable. Now can callCFI#== -
Include
Publication::Package::Spine::Itemrefin `Searcher.search_element’s result
-
Add
EPUB::Metadata#childrento keep all child emements to count them on CFI search -
Allow class including
EPUBto intialize with extra arguments(Thanks, skukx!)
-
Add
EPUB::Publication::Package::Metadata#package_identifieras alias of#release_identifier, which is defined in EPUB Publication 3.0 spec -
[BUG FIX]Metadata#modified returns modified with no refiners
-
Make second argument for
EPUB::Parser::Publication.newdeprecated -
Add META-INF/metadata.xml support defined in [EPUB Multiple-Rendition Publications 1.0][multi-rendition]
-
Add
EPUB::Book::Features#packagesand#default_rendition -
[BUG FIX]Don’t raise error when using
Ziprubycontainer adapter
[multi-rendition]: http://www.idpf.org/epub/renditions/multiple/
-
[BUG FIX]Don’t load Zip/Ruby if unneccessary
-
Raise error when PhysicalContainer::ArchiveZip fails find entry
-
Remove unused files in schemas directory
-
Add
EPUB::CFI::PhysicalContainer.find_adapter
-
Bug fix for
EPUB::CFI::Location#<⇒ -
Change default physical container adapter from
EPUB::OCF::PhysicalContainer::ZipRubytoEPUB::OCF::PhysicalContainer::ArchiveZip -
Add
EPUB::CFI::Step#element?and#character_data? -
Change attribute name:
EPUB::CFI::Step#step→EPUB::CFI::Step#value,EPUB::CFI::CharacterOffset#offset→EPUB::CFI::CharacterOffset#value -
Show modified on
epubinfocommand
-
Change the name of physical container adapter for file system: :File → :UnpackedDirectory
-
Add
EPUB::Publication::Package::Manifest::Item#full_path -
Make #href= acceptable String
-
Implement
EPUB::CFIandEPUB::Parser::CFI -
Remove nokogumbo from dependencies. It ommits
headandbodyelements -
Remove Cucumber and Cucumber features
-
Add
EPUB::Publication::Package::Metadata#modifiedandEPUB::Book::Features#modified -
Add
EPUB::Book::Features#release_identifier
-
Remove deprecated
EPUB::Constants::MediaType::UnsupportedError. UseUnsupportedMediatTypeinstead. -
Make it possible to use archive-zip gem to extract contents from EPUB package via
EPUB::OCF::PhysicalContainer::ArchiveZip -
Add warning about default physical container adapter change
-
Make it possible to extract contents from the web via
EPUB::OCF::PhysicalContainer::UnpackedURI. See {file:ExtractContentsFromWeb.markdown} for details.
-
Introduce abstraction layer for OCF physical container
-
Add
EPUB::OCF::PhysicalContainer::Fileand make it possible to parse file system directory as an EPUB file. See {file:docs/UnpackedArchive.markdown} for details. -
Remove
EPUB::Parser::OCF::CONTAINER_FILEand other constants
-
Introduce Nokogumbo for XHTML Content Documents
-
Stop support for Ruby 1.9
-
Remove
EPUB.includedmethod. Now includingEPUBmodule empowers nothing of EPUB features. IncludeEPUB::Book::Featuresinstead. -
Add
EPUB::Searcher::XHTML::Seamlessand make it default searcher -
Add
EPUB::Publication::Package::Manifest#each_nav -
Stop to use enumerabler gem
-
Explicity #close each zip member file that has been opened via #fopen(Thanks, xunker!)
-
[Experimental]Add
EPUB::Searchermodule. See {file:Searcher.markdown} for details -
Detect and set character encoding in
EPUB::Publication::Package::Item#read
-
Remove
EPUB.parsemethod -
Remove
EPUB::Publication::Package::Metadata#to_hash -
Add
EPUB::Publication::Package::Metadata::Identifierfor ad-hocschemeattribute and#isbn?method -
Remove
MethodDecorators::Deprecated -
Make
EPUB::Parser::OCF::CONTAINER_FILEand other constants deprecated -
Make
EPUB::Publication::Package::Metadata::Link#relaSet -
Add exception class
EPUB::Constants::MediaType::UnsupportedMediaType -
Make
EPUB::Constants::MediaType::UnsupportedErrordeprecated. UseUnsupportedMediatTypeinstead -
Add
EPUB::Publication::Package::Item#cover_image? -
Add
EPUB::Book::Featuresmodule and move methods ofEPUBmodule to it(Thanks, takahashim!) -
Make including
EPUBdeprecated -
Parse
hiddenattribute ofnavelements -
[Experimental]Add
EPUB::ContentDocument::Navigation::Item#traverse
-
Add
ContentDocument::XHTML#title -
Add
Manifest::Item#xhtml? -
Add
--wordsand--charsoptions toepubinfocommand which count words and charactors of XHTMLs in EPUB file -
API change:
OCF::Container::Rootfile#full_pathbecame Addressable::URI object rather thanString.EPUB#rootfile_pathstill returnsString -
Add
ContentDocument::XHTML#rexmlwhich returns document asREXML::Documentobject -
Add
ContentDocument::XHTML#nokogiriwhich returns document asNokogiri::XML::Documentobject -
Inspect more readbly
-
Fixed-Layout Documents support
-
Define
ContentDocument::XHTML#top_level? -
Define
Spine::Itemref#page_spreadand#page_spread= -
Define some utility methods around
Manifest::ItemandSpine::Itemref -
Manifest::Item#itemref -
Spine::Itemref#item=
-
Add
EPUB::Parser::Utilsmodule -
Add a command-line tool
epub-open -
Add support for XHTML Navigation Document
-
Make
EPUB::Publication::Package::Metadata#to_hashobsolete. Use#to_hinstead -
Add utility methods
EPUB#description,EPUB#dateandEPUB#unique_identifier
-
Fix a bug that
Item#readcouldn’t read file whenhrefis percent-encoded(Thanks, gambhiro!)
-
Parse package@prefix and attach it as
Package#prefix -
Manifest::Item#iriwas removed. It have existed for files in unzipped epub books but now EPUB Parser retrieves files from zip archive directly.#hrefnow returnsAddressable::URIobject. -
Metadata::Link#iri: ditto. -
Guide::Reference#iri: ditto.