Project

html2rss

0.04
A long-lived project that still receives updates
Supports JSON content, custom HTTP headers, and post-processing of extracted content.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Project Readme

html2rss logo

Gem Version Yard Docs Retro Badge: valid RSS CI

html2rss is a Ruby gem that generates RSS 2.0 feeds from websites by scraping HTML or JSON content with CSS selectors or auto-detection.

This gem is the core of the html2rss-web application.

Most people looking for a first working feed should start with html2rss-web, run it with Docker, and open one of the included feeds from their own instance before moving to custom configs or the gem APIs.

Documentation

Detailed usage guides, reference docs, and the feed directory live on the project website:

Cloud development: Open in GitHub Codespaces (also covered in the installation guide).

Architecture

  1. Config — loads and validates configuration (YAML/hash); schema via html2rss schema / schema/html2rss-config.schema.json
  2. RequestService — fetches pages (faraday, botasaurus, or browserless)
  3. Selectors — extracts content via CSS selectors with extractors/post-processors
  4. AutoSource — auto-detects content (Schema.org, JSON state, semantic HTML, structural patterns)
  5. RssBuilder — assembles Article objects and renders RSS 2.0
Config -> Request -> Extraction -> Processing -> Building -> Output

License

This project is licensed under the MIT License — see the LICENSE file for details.