dlhn is a Python CLI script to download my comments and submissions from the Hacker News API and generate a static HTML archive with a Jinja2 template
- Download comments and submissions from the Hacker News API
- Archive comment trees and submissions as JSON
- Archive comment trees and submissions as static HTML with a Jinja2 HTML template
- Aggressively cache entries that couldn't have changed with a two-layer caching system that includes requests_cache and a sqlite database
Install dlhn with pip:
pip install dlhn
# pip install -e git+https://github.com/westurner/dlhn#egg=dlhn
Call dlhn:
dlhn -u dlhntestuser -o index.html --expire-newerthan 14d
Optionally, create a repo for e.g. GitHub Pages and add a Makefile
:
# hnlog Makefile
USERNAME:=dlhntestuser
default: backup
install:
pip install -e git+https://github.com/westurner/dlhn#egg=dlhn
backup:
@# items with a cachetime newer than 14d ago may need to be pulled again
@# because they may not be locked yet (cachetime != item_time)
dlhn -u '$(USERNAME)' -o index.html --expire-newerthan 14d
backup-nocache:
dlhn -u '$(USERNAME)' -o index.html
commit:
git add ./index.html ./index.html.json ./dlhn.sqlite && \
git commit -m ":books: Updated index.html, index.html.json, and dlhn.sqlite"
push:
git push
all: backup commit push
And pass USERNAME as an arg when calling make
:
make all USERNAME=dlhntestuser
- Hacker News Guidelines: https://news.ycombinator.com/newsguidelines.html
- Hacker News API docs: https://github.com/HackerNews/API
- dlhntestuser
BSD License
dlhn archives pubicly available comments and submissions from the Hacker News API for noncommercial use to make searching one-page with 'Ctrl-F' easy.