Initial commit: bibfetch v1.0
This commit is contained in:
92
README.md
Normal file
92
README.md
Normal file
@@ -0,0 +1,92 @@
|
||||
# bibfetch
|
||||
|
||||
Prosty skrypt do automatycznego pobierania plików PDF z bibliografii (`references.bib`).
|
||||
|
||||
Obsługuje:
|
||||
* Bezpośrednie linki do PDF
|
||||
* ArXiv
|
||||
* DOI (z przekierowaniami)
|
||||
* IEEE Xplore (wyciąganie PDF z ramek/stron HTML)
|
||||
|
||||
## Wymagania
|
||||
|
||||
Zainstaluj potrzebne biblioteki jedną komendą (wymagana starsza wersja bibtexparser):
|
||||
|
||||
```bash
|
||||
pip install "bibtexparser<2.0" requests beautifulsoup4
|
||||
```
|
||||
|
||||
## Użycie
|
||||
|
||||
Wejdź do katalogu ze swoją pracą (tam gdzie masz `references.bib`) i uruchom skrypt:
|
||||
|
||||
```bash
|
||||
python3 bibfetch.py .
|
||||
```
|
||||
|
||||
Skrypt utworzy folder `references/` i pobierze tam brakujące pliki, nazywając je zgodnie z kluczem cytowania (np. `Kowalski2023.pdf`).
|
||||
|
||||
---
|
||||
|
||||
## Instalacja globalna (Opcjonalnie)
|
||||
|
||||
Wybierz jedną z dwóch metod, aby używać komendy `bibfetch` w całym systemie.
|
||||
|
||||
### Opcja A: Szybka (Symlink)
|
||||
|
||||
*Dobra, jeśli masz biblioteki zainstalowane w głównym Pythonie systemowym.*
|
||||
|
||||
1. Nadaj uprawnienia: `chmod +x bibfetch.py`
|
||||
2. Zrób link (zastąp ścieżkę swoją):
|
||||
|
||||
```bash
|
||||
sudo ln -s /pełna/ścieżka/do/bibfetch.py /usr/local/bin/bibfetch
|
||||
|
||||
```
|
||||
|
||||
3. Gotowe. Użycie: `bibfetch .`
|
||||
|
||||
### Opcja B: Bezpieczna (Dedykowany Venv)
|
||||
|
||||
*Dobra, jeśli chcesz trzymać biblioteki w izolacji.*
|
||||
|
||||
**Krok 1: Stwórz środowisko**
|
||||
|
||||
```bash
|
||||
# Tworzymy venv
|
||||
mkdir -p ~/venvs
|
||||
python3 -m venv ~/venvs/bibfetch
|
||||
|
||||
# Instalujemy zależności (wersja <2.0 jest kluczowa!)
|
||||
~/venvs/bibfetch/bin/pip install "bibtexparser<2.0" requests beautifulsoup4
|
||||
```
|
||||
|
||||
**Krok 2: Utwórz wrapper**
|
||||
|
||||
Zamiast linkować plik bezpośrednio, tworzymy skrypt pomocniczy.
|
||||
|
||||
1. Edytuj plik: `sudo nano /usr/local/bin/bibfetch`
|
||||
2. Wklej poniższą treść (**podmień ścieżki na swoje!**):
|
||||
|
||||
```bash
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# Ścieżki (dostosuj do siebie)
|
||||
VENV_PYTHON="$HOME/venvs/bibfetch/bin/python"
|
||||
SCRIPT_PATH="$HOME/projekty/scripts/bibfetch.py"
|
||||
|
||||
exec "$VENV_PYTHON" "$SCRIPT_PATH" "$@"
|
||||
```
|
||||
|
||||
**Krok 3: Nadaj uprawnienia**
|
||||
|
||||
```bash
|
||||
sudo chmod +x /usr/local/bin/bibfetch
|
||||
```
|
||||
|
||||
Teraz możesz wpisać `bibfetch .` w dowolnym katalogu.
|
||||
|
||||
## Licencja
|
||||
|
||||
MIT
|
||||
Reference in New Issue
Block a user