Folio is a lightweight, filesystem-based literature manager. Drop a PDF and its BibTeX/RIS citation file into the inbox, run one command, and Folio will automatically rename, organize, and index your papers.
~/folio/
├── folio.py # Main script
├── _inbox/ # Drop PDF + .bib/.ris pairs here
├── library/ # Organized paper folders
│ └── Author2026_ShortTitle/
│ ├── Author2026_ShortTitle.pdf
│ └── Author2026_ShortTitle.bib
├── index.md # Categorized paper index
├── library.bib # Combined BibTeX for all papers
└── README.md
- Drop a PDF and its
.bibor.risfile into~/folio/_inbox/ - Run
folio— files are matched by filename stem (or auto-paired if only one pair exists) - Folio parses the citation, generates a standardized name (
AuthorYYYY_KeywordKeyword), and moves both files intolibrary/ - Index is updated automatically — new entries appear under
## Uncategorizedinindex.md - BibTeX library is rebuilt —
library.bibis regenerated from all papers
For sources like arXiv that don't offer a .bib download button, you can copy the BibTeX to your clipboard instead:
- Copy a BibTeX entry to clipboard (e.g. from arXiv "Export BibTeX Citation")
- Drop the lone PDF into
_inbox/(no.bib/.risfile needed) - Run
folio— the clipboard content is automatically written as a.bibfile and paired with the PDF
This only triggers when the inbox has exactly one unpaired PDF and zero ref files. If multiple lone PDFs are present, Folio warns and skips (ambiguous which PDF the clipboard belongs to). macOS only (pbpaste).
# Process all files in the inbox
folio
# Preview what would happen without moving files
folio --dry-run
# Rebuild library.bib from existing library
folio --rebuild
# Initialize directory structure only
folio --initRequirements: Python 3.7+ (no external dependencies)
git clone https://github.com/SN-WANG/folio.git
cd folioAdd an alias to your shell configuration (~/.zshrc or ~/.bashrc):
alias folio="python3 ~/folio/folio.py"Then reload your shell:
source ~/.zshrcThis project is licensed under the MIT License — see the LICENSE file for details.
For questions and support, please contact:
- Shengning Wang (王晟宁) — snwang2023@163.com
- Project Website: https://github.com/SN-WANG/folio