Library for parsing epub document metadata (Haskell)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
| 4.5 (2016-10-19)
* Fix merged for UTF8 issue
4.4 (2016-10-11)
* Removed defunct cabal stability field
* Moved copyright dates up to 2016
* Moved tested-with up to GHC 8.0.1
* Removed GHC switch simpl-tick-factor
* Moved cabal-version up to >= 1.10
* Project now builds with stack
* Fixed failing damaged zip file unit test
4.3 (2015-05-25)
* Replaced deprecated Control.Monad.Error with
Control.Monad.Except
* Updated cabal homepage, tested-with and source-repository
* Cleaned out ui3.info stuff from the README
* Updated boringfile with cabal sandbox filespecs
* TODO is now a Markdown document
4.2 (2014-05-09)
* Added many files missing from extra-source-files
4.1 (2014-05-04)
* Fix for Simplifier ticks exhausted problem that was exposed
after upgrade to GHC 7.8.2
* Added README.md and changelog.md files, better docs!
* Some documentation fixes
* Fixed a bug reading books where the container XML document is malformed
4.0 (2013-09-20)
* Added support for epub3 documents. This was done using a single
set of datatypes, not specific to either epub2 or epub3.
* Redesigned the book examining API to be an edsl. Actions are to be
combined together based on what the developer needs from the document.
* The data structures to contain epub metadata "sections" were
redesigned to no longer be nested. Part of this change includes a
typeclass-based pretty-print API for displaying this data.
* Documentation rewrites and additions, including a working code
example in the API docs.
3.0 (2013-04-13)
* Repackaged this code to show that it's for epub v2.x only at
this time
* Fixed a bug where mimetype file not occurring first in the archive
on Windows
* Fixed support for all 0-or-more epub2 metadata fields
* Redesigned the Format (metadata display) code
* Modularized the unit tests so that more tests could be added that
aren't specifically about parsing metadata.
* Cosmetic updates to the epub metadata API including some
documentation clean-up
2.3.2 (2013-02-01)
* Added code to strip illegal characters from the beginning of the
OPF metadata XML file
* Switched the encoding hack to be case-insensitive
2.3.1 (2012-10-31)
* Added a fix for epub zip files with a damaged central directory
signature
2.3.0 (2012-01-29)
* Encountered a problem in Windows where using a lazy ByteString
to read the entire epub zip file was never closing the file while
consumer applications were still running. Changed this library to
use a strict ByteString instead for reading the zip archive.
2.2.0.1 (2011-10-27)
* Changed display output of OPF data to label the textual content of
a tag as "text"
* Extensive changes to the cabal build of this project to bring it
up to Cabal 1.10
* Unit tests now use the test-suite cabal stanza
2.2.0.0 (2011-04-20)
* Now includes some API functions for working directly with zip
archives and directories full of the loose files which will be made
into epubs
* Moved the epubmeta utility from this project. It's now in epub-tools
2.1.0 (2011-02-13)
* Project now uses zip-archive instead of the libzip
library. zip-archive is a pure Haskell solution that's easier to
build on non-UNIX-like platforms
* Other changes to the build and project to make it buildable under
Windows
2.0.2 (2011-01-10)
* This library now uses the haskell LibZip library instead of relying
on unzip shell command invocation
* Changed command-line utility name from epub-meta to epubmeta
2.0.1 (2011-01-08)
* Now always using namespace qualification for all OPF Package
tags. Library would incorrectly fail if the OPF document was created
using explicit namespacing for the OPF package elements.
* Hack to avoid problems with UTF-8 encoding in OPF Package XML
documents
* Hack to avoid problems with !DOCTYPE declarations. Found some
books where a DTD was specified for a completely different type of
document. Discarding these declarations for now.
* Changed this code to use System.Process instead of HSH for unzip
invocation in order to have more control over interpreting exit
codes.
2.0.0 (2011-01-02)
* Added parsing and output of the manifest, spine and guide portions
of the spec. Full read capability of OPF Package data is now
complete.
* Major redesign of the API. It's been split and organized into
smaller, more focused modules.
* Updated to work with the 9.x version of hxt
* Redesigned epub metadata formatting code to be much more efficient
using Writer monad and Data.Sequence
* Added support for new capabilities to command-line utility
* Clarified the Haddock documentation to describe how these data
types map to the source XML data
* Updated unit tests to reflect the large API changes
1.0.2 (2010-05-11)
* Initial release
|