尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
One page for the day's reading: the top posts from 11 subreddits, Bangladesh news, the
Ritholtz AM Reads + SatPost newsletters, and GitHub's trending top 10. Read/favorite state syncs across devices.
Working on this repo? Read AGENTS.md first. It is the source of truth:
every scraper, the API, the hard rules, tests, monitoring and a runbook. This page is the
short version.檢視完整 README ↗One page for the day's reading: the top posts from 11 subreddits, Bangladesh news, the Ritholtz AM Reads + SatPost newsletters, and GitHub's trending top 10. Read/favorite state syncs across devices.
Live: https://reddit-scraper-lyart.vercel.app · Health: /api/status
Working on this repo? Read
AGENTS.mdfirst. It is the source of truth: every scraper, the API, the hard rules, tests, monitoring and a runbook. This page is the short version.
Mac mini (07:35 + 19:35) GitHub Actions (nightly + mornings + every 6 h)
headless browser → Reddit News, AM Reads, SatPost, Reddit backup, GitHub Trending
\ /
CSV files in data/, pushed to main
│ Vercel redeploys on every push
▼
server.py (FastAPI) → /api/data → templates/index.html
│
read + favorites ↔ localStorage ↔ Firebase
core/scrape_reddit_browser.py, run by launchd via mac/reddit-browser.sh), because Reddit
blocks GitHub's servers. It saves real upvotes. Each list has backups on the Mac: the page,
then Reddit's JSON through the same browser, then its RSS feed, then a fresh browser profile.
Every run ends with a METHOD CHECK line saying whether each backup still works. If the Mac
misses a list for 36 hours, GitHub's RSS backup (core/scrape_top.py, every 3 hours) refills
it, showing each post's rank instead of upvotes. No Reddit API key anywhere.core/scrape_github_trending.py).core/reddit_common.py: dataisbeautiful, todayilearned, bestof,
getmotivated, UnethicalLifeProTips, LifeProTips, UpliftingNews, lifehacks,
Productivity, PersonalFinance, explainlikeimfive..venv/bin/uvicorn server:app --reload # local site: http://localhost:8000
.venv/bin/python -m pytest tests -q # unit + robustness tests (~10 s)
python3 tests/e2e_site.py http://localhost:8000 # real-browser checks (needs Playwright)
Deploy = push to main (Vercel). Tests also run on GitHub for every code push.
requirements.txt minimal (Vercel's 250 MB limit; no pandas/numpy since 10 Oct 2026,
see AGENTS.md §3). Scraper libraries go in requirements-scraper.txt.vercel.json uses the legacy builds API; bundled folders go in config.includeFiles.server.py builds every path from BASE_DIR, and calls TemplateResponse with keyword args.data/ must be added with git add -f (the folder is gitignored).Details and the reasons behind each: AGENTS.md §5.