initial commit
This commit is contained in:
198
SETUP_GUIDE.md
Normal file
198
SETUP_GUIDE.md
Normal file
@@ -0,0 +1,198 @@
|
||||
# 📱 Syncthing + Daily arXiv Digest Setup Guide
|
||||
|
||||
## 🎯 What This Does
|
||||
- Automatically runs your arXiv digest **every morning at 7 AM**
|
||||
- Archives each day's report in `arxiv_archive/`
|
||||
- Creates `latest.html` for quick access
|
||||
- Generates `index.html` to browse all past reports
|
||||
- Syncs everything to your phone via Syncthing
|
||||
|
||||
---
|
||||
|
||||
## ⚙️ Step 1: Set Up Windows Task Scheduler
|
||||
|
||||
### Option A: Quick Setup (Copy-Paste This)
|
||||
1. Press `Win + R`, type `taskschd.msc`, press Enter
|
||||
2. Click **"Create Basic Task"** in the right panel
|
||||
3. Fill in:
|
||||
- **Name:** `arXiv Daily Digest`
|
||||
- **Description:** `Fetches daily research papers and syncs to phone`
|
||||
4. **Trigger:** Select "Daily"
|
||||
- Start date: Today
|
||||
- Start time: **7:00 AM**
|
||||
- Recur every: **1 days**
|
||||
5. **Action:** Select "Start a program"
|
||||
- **Program/script:** `C:\Users\Admin\python\1aResearch\run_digest.bat`
|
||||
- **Start in:** `C:\Users\Admin\python\1aResearch`
|
||||
6. Check **"Open the Properties dialog"** at the end
|
||||
7. In Properties:
|
||||
- Go to **Conditions** tab
|
||||
- ✅ Check "Start only if the following network connection is available" → Select "Any connection"
|
||||
- ❌ Uncheck "Start the task only if the computer is on AC power"
|
||||
8. Click **OK**
|
||||
|
||||
### Option B: Advanced Settings
|
||||
If you want to run it at startup instead:
|
||||
- Change Trigger to **"At log on"**
|
||||
- Add a 2-minute delay: In Properties → Triggers → Edit → Delay task for: **2 minutes**
|
||||
|
||||
---
|
||||
|
||||
## 📂 Step 2: Set Up Syncthing
|
||||
|
||||
### On Your PC:
|
||||
1. Open Syncthing web UI (usually `http://localhost:8384`)
|
||||
2. Click **"Add Folder"**
|
||||
- **Folder Path:** `C:\Users\Admin\python\1aResearch`
|
||||
- **Folder Label:** `arXiv Research`
|
||||
- **Folder ID:** `arxiv-research` (auto-generated)
|
||||
3. Go to **"Sharing"** tab
|
||||
4. Click **"Add Device"** and enter your phone's Device ID
|
||||
|
||||
### On Your Phone:
|
||||
1. Install **Syncthing** from Play Store / App Store
|
||||
2. Open app → **Add Device** → Scan QR code from PC
|
||||
3. Accept the folder share request (`arXiv Research`)
|
||||
4. Set sync folder location (e.g., `/storage/emulated/0/arXiv/`)
|
||||
|
||||
### What Gets Synced:
|
||||
```
|
||||
1aResearch/
|
||||
├── latest.html ← Most recent digest (quick access)
|
||||
├── index.html ← Browse all reports
|
||||
└── arxiv_archive/
|
||||
├── arxiv_digest_20251101.html
|
||||
├── arxiv_digest_20251102.html
|
||||
└── ... (daily backups)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📱 Step 3: View on Your Phone
|
||||
|
||||
### Method 1: Direct File Access
|
||||
1. Open your phone's file manager
|
||||
2. Navigate to the Syncthing folder (e.g., `arXiv/`)
|
||||
3. Open `latest.html` with any browser
|
||||
4. Open `index.html` to browse past reports
|
||||
|
||||
### Method 2: Use a Local HTML Viewer App
|
||||
Install **"HTML Viewer"** or **"WebView Tester"** from the app store:
|
||||
- Point it to your Syncthing folder
|
||||
- Bookmark `latest.html` for instant access
|
||||
|
||||
### Method 3: Create a Home Screen Shortcut (Android)
|
||||
1. Open `latest.html` in Chrome
|
||||
2. Menu → **"Add to Home screen"**
|
||||
3. Name it "arXiv Digest"
|
||||
4. Now you have one-tap access!
|
||||
|
||||
---
|
||||
|
||||
## 🧪 Testing Your Setup
|
||||
|
||||
### Test the Batch Script:
|
||||
```batch
|
||||
# Double-click run_digest.bat or run in Command Prompt:
|
||||
cd C:\Users\Admin\python\1aResearch
|
||||
run_digest.bat
|
||||
```
|
||||
|
||||
Expected output:
|
||||
```
|
||||
Running arXiv digest...
|
||||
🔍 Fetching papers for: Efficient ML / Edge AI
|
||||
→ Found 5 papers
|
||||
...
|
||||
✨ HTML digest saved to arxiv_archive\arxiv_digest_20251101.html
|
||||
📄 Latest digest saved to latest.html
|
||||
|
||||
Generating index page...
|
||||
📑 Index page generated with 1 reports
|
||||
Done! All files updated.
|
||||
```
|
||||
|
||||
### Test Syncthing Sync:
|
||||
1. Create/edit any file in `C:\Users\Admin\python\1aResearch`
|
||||
2. Check your phone's Syncthing folder
|
||||
3. File should appear within seconds
|
||||
|
||||
### Test Task Scheduler:
|
||||
1. Open Task Scheduler
|
||||
2. Find "arXiv Daily Digest"
|
||||
3. Right-click → **"Run"**
|
||||
4. Watch it execute
|
||||
|
||||
---
|
||||
|
||||
## 🎨 Customization Ideas
|
||||
|
||||
### Change Run Time:
|
||||
Edit the Task Scheduler trigger to your preferred time (e.g., 6 AM, 9 PM)
|
||||
|
||||
### Change Number of Papers:
|
||||
Edit `main.py` line 21:
|
||||
```python
|
||||
PAPERS_PER_INTEREST = 10 # Fetch 10 instead of 5
|
||||
```
|
||||
|
||||
### Add More Interest Areas:
|
||||
Edit `main.py` lines 13-19 and add more queries:
|
||||
```python
|
||||
INTERESTS = {
|
||||
"Your Topic": 'abs:"your keywords" OR ti:"your topic"',
|
||||
# ... existing topics
|
||||
}
|
||||
```
|
||||
|
||||
### Sync Only HTML Files (Save Space):
|
||||
In Syncthing → Folder → **Ignore Patterns**, add:
|
||||
```
|
||||
!/arxiv_archive/*.html
|
||||
!/latest.html
|
||||
!/index.html
|
||||
*
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Troubleshooting
|
||||
|
||||
### Task Scheduler doesn't run:
|
||||
- Check Windows Event Viewer: `Win + X` → Event Viewer → Task Scheduler logs
|
||||
- Ensure "Run whether user is logged on or not" is selected
|
||||
- Make sure network connection is available
|
||||
|
||||
### Syncthing not syncing:
|
||||
- Check both devices are connected to the same network (or internet)
|
||||
- Verify Device IDs match
|
||||
- Check folder status in Syncthing UI (should say "Up to Date")
|
||||
|
||||
### Python script fails:
|
||||
- Test manually: `cd C:\Users\Admin\python\1aResearch && venv\Scripts\activate && python main.py`
|
||||
- Check arXiv API rate limits (3-second delays are built in)
|
||||
- Ensure internet connection is active
|
||||
|
||||
### Old reports taking up space:
|
||||
Create a cleanup script to delete reports older than 30 days:
|
||||
```python
|
||||
# cleanup_old.py
|
||||
import os, glob, time
|
||||
for f in glob.glob("arxiv_archive/*.html"):
|
||||
if os.path.getmtime(f) < time.time() - 30*86400:
|
||||
os.remove(f)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎉 You're All Set!
|
||||
|
||||
Every morning at 7 AM:
|
||||
1. ✅ Script fetches latest papers
|
||||
2. ✅ Generates beautiful HTML report
|
||||
3. ✅ Archives it with date
|
||||
4. ✅ Updates index page
|
||||
5. ✅ Syncs to your phone
|
||||
6. ✅ Read cutting-edge research over coffee!
|
||||
|
||||
**Enjoy your automated research digest! 🚀**
|
||||
Reference in New Issue
Block a user