dev.metalisp.redditopic is a command-line tool that fetches the titles of the latest posts from a subreddit and ranks the most frequent words and phrases to surface the topics people are currently discussing.
- Common Lisp 98.2%
- Just 1.8%
| doc | ||
| src | ||
| tests | ||
| .gitignore | ||
| dev.metalisp.redditopic.asd | ||
| justfile | ||
| README.org | ||
dev.metalisp.redditopic
dev.metalisp.redditopic is a command-line tool that fetches the titles of the latest posts from a subreddit and ranks the most frequent words and phrases to surface the topics people are currently discussing.
Prerequisites
- Fedora Linux
- SBCL
- Quicklisp (installed in
~/quicklisp) - Just
All Lisp dependencies (dexador, xmls, shasht, alexandria,
clingon, usocket) are fetched from Quicklisp automatically. Fedora Linux,
SBCL, Quicklisp, and Just are the expected baselines for local development.
Quickstart
# Run the test suite
just tests
# Build the standalone binary ml-redditopic
just build
Run the built binary directly (the subreddit is required):
# Choose the subreddit and how many posts to analyze
./ml-redditopic report --subreddit UXResearch --limit 100
# A leading r/ or /r/ is accepted
./ml-redditopic report -s r/UXResearch -l 50
# Machine-readable top-20 ranking
./ml-redditopic report --subreddit UXResearch --limit 100 --top 20 --json
# Use German stopwords
./ml-redditopic report -s UXResearch -l 100 -L de
# Full option list
./ml-redditopic report --help
Other recipes:
just repl # Start SBCL with the system loaded
just clean # Remove the ml-redditopic binary
Documentation
See doc/dev.metalisp.redditopic.org for the architecture and API reference.
License
AGPL-3.0-or-later