Middlewares
Failure
These are for handling various failures in parsing and processing.
See DuplicateKeyHandler and FailureHandler.
Fields
The middlewares in this module transform fields in entries.
Specific fields transformed are titles/subtitles using TitleCleaner
and TitleSplitter,
and URLs using CleanUrls and ExpandUrls.
Meanwhile more generalised handlers are FieldAccumulator, FieldSorter,
and FieldSubstitutor.
Files
The files module handles files that are mentioned as part of entries.
PathReader converts file fields into absolute Path’s,
while PathWriter makes them relative to defined library roots, and then converts them
to strings for writing into bibtex files.
OnlineDownloader takes mentioned urls of online entries and downloads pdf’s of them,
adding the paths of those pdfs to the entry.
Latex
This module provides LatexReader and LatexWriter, which are refactored versions
of bibtexparser’s originals. They provide latex decoding and encoding for entries.
(I prefer to write bibtex in straight unicode, and then encode as latex when needed).
Metadata
This module handles various aspects of entry metadata. eg: Tags, Isbns, Key locking, Entry sorting, and pdf/epub metadata writing.
People
This module provides refactored (from bibtexparser) author/editor splitting/joining of
people, and parts of names. It also, through NameSubstitutor, allows for
keeping a master list of misspelled names and their correct spellings.