Doccer is a very simple command-line reference manager, and is currently a work in progress. The name is a pun on Docker (don't sue me, please) and "document".
It stores all entries as a .json file at ~/.doccer/doccer-library.json
. This library can be exported to .bibtex format (see Usage).
Currently supported fields are:
- Title
- Year
- Journal
- Folder (zero or one, for organizational purposes)
- Tags (zero or more, for organizational purposes) (should be comma-seperated, see Usage)
- Publisher
- Type (see Bibtex Entry Types)
Pre-1.0 to-dos include:
- Removing items
- Naive text search support
- Field text search support
- Field regex search support
- Support Bibtex types other than
article
- Multiple author support
- Author last and first name support
- Bibtex import support
- Other import formats
- Other export formats
There is no official roadmap as of yet (and there probably never will be).
Ensure you have Elixir installed (version 1.9
or greater), then clone the repository and run mix deps.get && mix escript.build
to create a doccer
executable, which you can run using ./doccer
.
Add an item to your library:
doccer add --author "David Graeber" --year "2015" --title "The Utopia of Rules: On Technology, Stupidity, and the Secret Joys of Bureaucracy"
With a folder and tags:
doccer add --author "David Graeber" --year "2015" --title "The Utopia of Rules: On Technology, Stupidity, and the Secret Joys of Bureaucracy" --folder "Social Theory" --tags "Bureaucracy, anthopology"
Remove all items matching a given field from the library (case-insensitive):
doccer remove --author "Ayn Rand"
Export the library as bibtex to stdout:
doccer export
Export the library as bibtex, and copy to clipboard (currently only macOS is supported, please open an issue if you are on another platform):
doccer export --copy
Doccer is licensed under the GNU General Public License Version 3 (see LICENSE). In short, this means you can do whatever you want with this, as long as you ensure others can, in turn, do whatever they want to do with your work. It also ensures I am not liable if you accidentally nuke your entire reference library (please back up your files).