reason-shell-0.3.2 is not a library.
- Did I ever read this paper?
- Which OSDI 2021 papers did I read?
- Which ones have the word 'Distributed' in their titles?
- How many papers in 2020 were co-authored by Professor Mosharaf Chowdhury?
Well, ask reason.
How it works
Filter and list papers
>> # Show all papers.
>> ls
| | | | |
+============================================================================================+
| | | | |
| | | | |
||
| | | | |
||
| | | | |
| | | | |
| | | | |
||
| | | | |
| | | | |
||
| | | | |
| | | | |
||
| | | | |
| | | | |
>> # Filter by 'title'. All these are regexes!
>> ls
| | | | |
+============================================================================================+
| | | | |
| | | | |
||
| | | | |
| | | | |
>> # You may set default filters with `cd`.
>> # BTW, `cd .`, `cd ..`, `cd -`, and `cd` are supported, too.
>> cd
>> pwd
>> # Default filter are automatically applied.
>> # Infiniswap (NSDI'17) is not shown, because its title doesn't match 'Deep Learning$'.
>> ls
| | | | |
+============================================================================================+
| | | | |
| | | | |
>> # Delete Tiresias.
>> ls |
Import new papers
>> # Import directly from arXiv and USENIX. This will also download paper PDFs.
>> curl
| | | | |
+======================================================================================+
| | | | |
| | | | |
>> curl
| | | | |
+========================================================================+
| | | | |
>> # Modify paper metadata.
>> ls |
>> # Or, import manually.
>> touch
| | | | |
+============================================================================================+
| | | | |
| | | | |
Read, take notes, and create books!
>> # Open with a PDF viewer (`open`) and edit markdown notes with your editor (`ed`).
>> ls | |
| | | | |
+========================================================================+
| | | | |
>> # Format your markdown notes into an HTML book, and open it in your browser.
>> ls |
| | | | |
+============================================================================================+
| | | | |
| | | | |
||
| | | | |
| | | | |
printf
printf will create an HTML book from your notes.

Commands
Invoking reason will start a new command prompt. It accepts unix-like commands that instead work on research papers in your paperbase.
Works now:
lsfilters and prints papers in table format. Default columns are title, first author(by1), venue(at), and year(in).cdadds an AND filter to the default set of filters (which is empty upon startup).pwdshows the current default filter set bycd.touchcreates a new entry in your paperbase.curlimports papers from the web, e.g. arXiv or usenix.org. It also downloads paper PDFs if available.rmremoves entries from your paperbase.setsets attributes of papers.printfcreates an HTML page of your notes usingmdbook.openopens the paper with Zathura.edopens your editor (defaulting tovimbut abiding by$EDITOR), in which you can edit your notes.manplus a command will print documentation for that command.exitor Ctrl-d quitsreason.
Not yet, but hopefully soon:
grepreturns a list of papers whose notes contain the query string that you specify.sortsorts papers by given columns.statprints the metadata and notes of papers.topprints out a summary of your paperbase.syncstores the paper metadata state to disk. (Changes are kept in memory and are committed to disk on exit.)
Documentation
If you already have reason, run man man to view the top-level documentation.
If you're just exploring whether to use reason, take a look at the man directory.
Configuration
The configuration file is kept at ~/.config/reason/config.toml. If not present, reason will generate one populated with default settings.
For more information, open reason and run man config, or read man/config.md.