Overview
hnrss.org provides custom, realtime RSS feeds for Hacker News.
The following feed types are available:
Stay up-to-date with hnrss development via RSS: https://hnrss.github.io/updates.xml
Feeds
Each feed is valid RSS served over HTTPS.
Firehose Feeds
The “firehose” feeds contain all new posts and comments as they appear on Hacker News:
https://hnrss.org/newest https://hnrss.org/newcomments
For just the posts that have appeared on the front page:
https://hnrss.org/frontpage
If the firehose feeds are a bit too noisy for you, read below on filtering them with the points
and/or comments
parameters.
Search Feeds
You can get a feed of new posts and/or comments containing keywords by using the q=KEYWORD
parameter. For example:
https://hnrss.org/newest?q=Django https://hnrss.org/newcomments?q=WordPress
If you want a single search feed but multiple keywords, separate the keywords with " OR ":
https://hnrss.org/newest?q=git+OR+linux
If your query contains reserved characters (especially the plus sign), you'll need to percent-encode those characters:
# This is the percent-encoded form of C++ https://hnrss.org/newest?q=C%2B%2B
Reply Feeds
Keep an eye on replies to your comments:
https://hnrss.org/replies?id=jerf
Use a comment ID to follow replies to a particular comment:
https://hnrss.org/replies?id=17752464
Recent, highly voted comments from across Hacker News:
https://hnrss.org/bestcomments
Some great stuff in here in threads you may not normally have opened. Definitely recommended.
Self Post Feeds
Ask HN, Show HN, and polls are available:
https://hnrss.org/ask https://hnrss.org/show https://hnrss.org/polls
Alternative Feeds
Hacker News Classic only counts votes from "early users" (accounts created before February 13, 2008):
https://hnrss.org/classic
Hacker News Best for top vote getters from the past few days:
https://hnrss.org/best
Hacker News Invited and Pool for reposted stories invited back by the mods and given a second chance:
https://hnrss.org/invited https://hnrss.org/pool
Hacker News Active for posts with the most active, ongoing discussions:
https://hnrss.org/active
Hacker News Launches for "Launch HN" posts from YC affiliated startups:
https://hnrss.org/launches
Job Feeds
Job opportunities from YC funded startups:
https://hnrss.org/jobs
Top level comments in threads created by the whoishiring bot:
# Comments from "Who is hiring?" threads https://hnrss.org/whoishiring/jobs # Comments from "Who wants to be hired?" threads https://hnrss.org/whoishiring/hired # Comments from "Freelancer? Seeking freelancer?" threads https://hnrss.org/whoishiring/freelance # All of the above https://hnrss.org/whoishiring
If you’re interested in something in particular, you can apply a q=KEYWORD
parameter to only return relevant comments. For example, filter the top-level “Who is hiring?” comments to only those containing “React Native”:
https://hnrss.org/whoishiring/jobs?q=React+Native
User Feeds
If you don’t want to miss a post or comment by a given user, you can subscribe to that user’s feed:
https://hnrss.org/submitted?id=USERNAME # posts https://hnrss.org/threads?id=USERNAME # comments https://hnrss.org/user?id=USERNAME # everything
Favorite Feeds
Supply a username and get a feed of posts that have been "favorited" by that user:
https://hnrss.org/favorites?id=edavis
At the moment this only returns posts, not comments.
Note: This scrapes Hacker News first and then fetches from Algolia. For this reason, please be extra conservative with your refresh schedule. Thanks in advance.
Thread Feeds
A chronological feed of new comments on a particular post can be found at:
https://hnrss.org/item?id=THREAD_ID
You can filter this feed by author by providing the author
parameter:
https://hnrss.org/item?id=THREAD_ID&author=USERNAME
With THREAD_ID
the numerical ID found in the URL when viewing the comments page and USERNAME
being the author's username.
Feed Options
You can modify any feed’s output using URL parameters. Multiple parameters can be applied at the same time by joining them with an ampersand.
Activity Parameters
You can apply a points=N
or comments=N
parameter to any feed to filter the results so only entries with more than N points or comments are shown:
https://hnrss.org/newest?points=100 https://hnrss.org/ask?comments=25
You can also combine both parameters:
https://hnrss.org/show?points=100&comments=25
Unfortunately, /newcomments
does not work with a points=N
parameter.
Search Parameter
By default, searches on posts only look at titles. If you want to search against the submitted URLs themselves, use the search_attrs
parameter.
Here are some examples:
# Search for posts with "WordPress" in the title only https://hnrss.org/newest?q=WordPress # Search for posts with 'WordPress' in the URL only https://hnrss.org/newest?q=WordPress&search_attrs=url # Search for posts with 'WordPress' in the title or URL https://hnrss.org/newest?q=WordPress&search_attrs=title,url # Don't restrict search attributes at all. This searches for posts # containing 'WordPress' in all attributes indexed by Algolia. This was # the behavior of searches prior to June 3, 2015 https://hnrss.org/newest?q=WordPress&search_attrs=default
Link Parameter
By default, the RSS <link>
element points to the submitted article’s URL. The <link>
element can be changed to point to the Hacker News comment page by appending link=comments
to the end of the URL. For example:
https://hnrss.org/newest?link=comments
Description Parameter
You can disable the <description>
element entirely by passing the description=0
parameter:
https://hnrss.org/newest?description=0
Count Parameter
By default, feeds return 20 RSS items. This can be increased via the count=N
parameter:
https://hnrss.org/newest?count=50
There is a hardcoded limit of 100 entries, so keep that in mind.
Feed Formats
By default, feeds come back as RSS. But if you add “.atom” or “.jsonfeed” to any endpoint you’ll receive the contents in Atom or JSON Feed, respectively.
# The front page as Atom https://hnrss.org/frontpage.atom # "Ask HN" with 10 or more comments as JSON Feed https://hnrss.org/ask.jsonfeed?comments=10
Note: These formats are a lot less battle-tested than the RSS format. If you see any wonkiness or they don’t play nicely with your feed reader, please open an issue with as much information as possible. Thanks!
Support
If hnrss.org has made your job or hobby project easier, and you want to show some gratitude, donations are very much appreciated.
Another way to support hnrss.org is to use this DigitalOcean referral link and receive $10 in credit. Once you’ve spent $25 with DigitalOcean, hnrss.org will receive $25 in credit.
Thanks!
Credits
Thanks to Algolia for providing their REST API. Without it, hnrss.org simply would not exist.
Thanks to Jared Andrews for the PR that created the /whoishiring/ endpoints.
Thanks to Zhiming Wang for adding Python 3 support.
Thanks to Grant Jenks for the idea of adding the Article URL and Points to the description.
Thanks to Chuck Grimmett for being a sounding board when it comes to adding new features to hnrss.org as well as suggesting the /jobs endpoint.
And many, many thanks to all those who have donated in support of the project over the years. You all mean the world to me.
Colophon
hnrss.org is served by nginx on DigitalOcean. HTTPS is provided by Let’s Encrypt. DNS is provided by Namecheap.
As of September 2018, the feeds are generated using the Gin web framework. From May 2014 to August 2018, the feeds were generated using the Flask web framework.
Repositories
A brief primer on the various repositories that make up hnrss.org:
When hnrss.org was created in May 2014, code and documentation lived inside the edavis/hnrss repository.
In April 2017, the documentation was revamped, migrated into Hugo, and was given its own repository at edavis/hnrss-docs. The built assets were copied into the docs/
folder on edavis/hnrss and published at https://edavis.github.io/hnrss/.
In August/September 2018, hnrss.org underwent a rewrite from Flask to Gin. This new code lives at edavis/go-hnrss.
So, as of September 2018, that’s the state of play. The documentation source lives at edavis/hnrss-docs. The Gin source that powers hnrss.org lives at edavis/go-hnrss.
edavis/hnrss contains the Flask code that powered the site from May 2014 to August 2018 as well as the docs/
folder that contains the built HTML copied from edavis/hnrss-docs.
At some point I’d like to simplify all of this and run everything out of one repository, but it’ll do for now.
Update (October 2020): Work has (finally) began on simplifying the above. The hnrss, go-hnrss, and hnrss-docs repos have been moved to a new GitHub organization. The Go code that powers the site has been copied into hnrss/hnrss. The original Python code will be kept in the python
branch. The go-hnrss and hnrss-docs repos have been archived. A new repo has been created to house the docs. The new URL for hnrss.org documentation is hnrss.github.io.
This documentation was last updated on May 1, 2021.
from Hacker News https://ift.tt/3epreOf
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.