* Changes from 1.99.3 to 2.0.0: - Added regular expression bookmarking to the Text and TaggedText plugins. To use it, specify one or more '-r' options on the command line, each of which specifies a regular expression to search for. The following restrictions apply: - Multi-line matches are not supported. - If the regular expression contains grouping parentheses, group 1 will be used as the bookmark title; otherwise, the bookmark title will be the entire match. - The bookmark is placed at the beginning of the line on which the match occurs. Note that this is the beginning of the line *before* paragraph reflowing, so if the match happens in the middle of a paragraph, the bookmark will probably be placed a bit before the matched text. - Added automatic bookmarking of HTML headers. To use this feature, use the '--bookmark-headers' command line option. The argument to this option is a string consisting of one or more of the digits 1 through 6. For example, if you use "--bookmark-headers 234" a bookmark will be placed for <h2>, <h3>, and <h4> elements. - Reorganized how the bookmark/annotation options work in the HTML plugin. All bookmarking and annotations are turned off by default, and the options have been renamed accordingly. If you want them turned on by default, use the ~/.pyrpubrc file to set them. - Added a --footnote-marker-format option/property to the BasicDoc assembler plugin. (Currently the only thing that uses "footnotes" is link-marking in HTML.) The default is '[%d]'. Note that the other assemblers (RichReader, TealDoc) inherit this option at present, but they will probably get their own markup-based way of marking footnotes in the future. - Added a TextOutput plugin which dumps converted text, bookmarks, etc. to standard output instead of writing to a database. By default it just dumps the text, making it useful for converting Doc/zTXT back to plain text, but with the -D option it also dumps bookmarks, annotations, and other metadata for debugging purposes. - Added a PDBInput plugin which takes input from a Doc or zTXT database. It will be used automatically if you specify a filename or URL ending in .pdb or .prc, and its contents will be treated exactly like a text file. This means that, for example, you can clean up Iambic and MobiPocket books by feeding them through the HTML plugin, add regular expression bookmarks, etc. - Added a CopyDoc plugin which works with PDBInput to copy a document including metadata like bookmarks and annotations. To use this, choose a Doc or zTXT pdb/prc file as input, and specify -P CopyDoc on the command line. The document text will be copied verbatim, along with metadata like bookmarks, the document title, and annotations. For instance, you can use it to convert Doc to zTXT: pyrpub -P CopyDoc,zTXT somedoc.pdb - Removed all the stored-prefs related options from the zTXT output plugin, after being informed by the author that the next version of Gutenpalm won't be storing display prefs inside documents any more. - Added an output filename option (-o) to the Doc and zTXT output plugins. - Made RichReader and TealDoc heading styles configurable. - Renamed DocDBOutput -> DocOutput and RawDocStream -> RawText. - Multiple plugins can now be specified on the command line with multiple -P options. The old way of using a single -P option with comma-separated plugin names still works too. - Added support for a configuration file which allows setting of plugin properties and priorities. - Added a --list-properties option which shows all plugin properties which are settable from the config file. - Removed the doctotext script, as the same thing can be done with the main program now. * Changes from 1.99.2 to 1.99.3 (pre-2.0): This is a pre-release, and should be considered a work in progress. - Added a zTXT output plugin. zTXT is the document format used by the free Gutenpalm reader (http://gutenpalm.sourceforge.net/), which uses zlib to provide significantly better compression than the standard Doc format. The plugin is called "zTXT"; specify it with the -P option to get a zTXT instead of a Doc. (The zTXT plugin has several optional arguments; check the help text for details.) - Added link annotation support to the HTML parser. If the output format supports annotations (eg. zTXT) link URLs can be appended as annotations instead of or in addition to footnotes at the end of the document. - Added annotation tags to TaggedText, eg. .ANNOTATION This is an annotation Some text... More text... ./ANNOTATION - Added an output directory option (-d <dir>). - Fixed some minor bugs in the TaggedText plugin and the option parser. Pyrite Publisher is now developed using Python 2.1, and probably won't work on earlier versions. * Changes from 1.99.1 to 1.99.2 (pre-2.0): This is a pre-release, and should be considered a work in progress. - Removed some more lingering references to Doc Toolkit and as-yet-unreleased plugins. Starting with this version, Pyrite Publisher should be considered to require a 2.x version of Python. While it will still work with 1.5.2, that is likely to no longer be true in the next version. * Changes from 1.99.0 to 1.99.1 (pre-2.0): This is a pre-release, and should be considered a work in progress. - Removed a lingering reference to Pyrite from prc.py. - Fixed a bug in plugin importing, which would cause a NameError when a plugin fails to import. - Added command line option --DEBUG, which causes more verbose logging during plugin import. Use this to see tracebacks when a plugin will not import. Note: the next version will probably require Python 2.x, or at least have features that will not work without it. * Changes from Doc Toolkit 1.1.3 to Pyrite Publisher 1.99.0 (pre-2.0): This is a pre-release, and should be considered a work in progress. - Name changed to Pyrite Publisher. - The core has been almost totally rewritten. The prc file access and Doc compression code from Pyrite is now included, and the plugins no longer use the Sulfur API, making this release able to stand completely alone. Also, the code has been reorganized so that plugins are no longer in their own packages. - Plugins are no longer restricted to "input" and "output" types; they stack in arbitrary ways according to what interfaces they support for input and output. The program will find the highest-priority path through the available plugins that will convert the input (based on MIME type) to some kind of output, and choose that as the default. (The user can override this to some degree, but cannot cause non-working combinations of plugins to be used.) - The RichReader output format is now included. - The distributions are now built using the standard Python "distutils" package. Local Variables: mode: outline End: