Advanced Feeds (Escape Hatch)
Prefer Getting Started (URL paste) and the Feed Directory first. Use a custom YAML config when auto-source misses items you care about, or when you need reviewable selectors.
Recommended workflow
Section titled “Recommended workflow”- Inspect the live page (browser DevTools).
- Optionally draft:
html2rss capture https://example.com/articles > your-config.yml - Validate:
html2rss validate your-config.yml - Live-check:
html2rss test your-config.yml, then ship withhtml2rss apply your-config.yml - Mount into
html2rss-webor contribute to html2rss-configs - Keep
strategy: auto; if results are incomplete, confirm the companion scraper is configured before adding site-specific controls
html2rss feed is a Thor alias for apply. html2rss auto aliases scrape (one-shot, no YAML).
Minimal config
Section titled “Minimal config”channel: url: https://example.com/blog title: My Blogselectors: items: selector: "article.post" title: selector: "h2 a" url: selector: "h2 a" extractor: "href"Test locally
Section titled “Test locally”html2rss validate your-config.yml && \html2rss apply your-config.yml && \html2rss apply your-config.yml --input sample.htmlRaise --max-redirects / --max-requests only when the site needs more budget.
Mount on html2rss-web
Section titled “Mount on html2rss-web”Bind-mount a feeds file (see production Compose comments):
volumes: - type: bind source: ./config/feeds.yml target: /app/config/feeds.yml read_only: trueFeeds are served as .rss / .json paths on your instance (for example /example.com/blog.rss).
Contribute to the Feed Directory
Section titled “Contribute to the Feed Directory”- Fork html2rss-configs
- Add
lib/html2rss/configs/<domain>/<name>.yml - Include
directory.topics,directory.title, and matchingchannel.title - Open a pull request
Example metadata:
directory: topics: - tech title: Example — News summary: Short description of what this feed covers.channel: url: https://example.com/blog title: Example — News language: enselectors: items: selector: "article.post" title: selector: "h2 a" url: selector: "h2 a" extractor: "href"Allowed topics: sports, energy, tech, science, news, entertainment, jobs, finance, security, travel, environment, consumer, civic, product, research.
