Minlib is a small, fast library management program with broad customization features, zero impact on the underlying file system, Unicode awareness (specifically, UTF-8), automatic extraction of metadata from a wide array of different file types, both a command-line and a screen-oriented text user interface (TUI), and full-text regular-expression searches of the entire library database from within the program.
NOTE: I have recently been made aware that integer overflows can cause security issues. I don't think this is much of a threat for most use cases (that is, a single user on a single computer, using files that he knows); it would take very large numbers to make this a problem. However, I don't really know how to fix this and have not. So, as always, use at your own risk.
On a more technical level, minlib is written in POSIX-compliant C. It uses GNU libextractor for the metadata extraction, except for pdf and epub; pdf uses pdfinfo, assuming it is installed on the system, while the epub metadata extraction uses unzip and is otherwise home-rolled. Its TUI is designed using ncurses. As a result, it is very fast and very small.
Minlib strives to adhere to the general Unix philosophy of do one thing and do it well; it further goes out of its way to never assume it knows better than the user. Consequently, it attempts to do its job and get out of the user's way. Judgements about its success or failure at this must be deferred, of course, to the user.
What minlib is not:
- Minlib is not a file viewer. It simply makes your files easy to find, arrange, and view with the other file viewers you already have. You likely already have a favorite ebook reader; pdf viewer; web browser; and the like; why should minlib attempt to replace any or all of them? Rather, minlib makes it easy to find your files and view them with the viewers you choose.
- Minlib is not a file format converter. There are tons of those out there already. Minlib makes it easy for you to use those format converters and their results in your library; but it doesn't attempt to replace them.
- Minlib does not trounce your filesystem, read your email, spam your newsgroups, contact the mothership, or phone home in any other way. It does what you want, as best as it can.