Skip to content

html2rss/html2rss-configs

Repository files navigation

html2rss logo

html2rss-configs

This repository contains html2rss feed configurations for many websites.

🌐 Community & Resources

Resource Description Link
πŸ“š Documentation & Feed Directory Complete guides, tutorials, and browse 100+ pre-built feeds html2rss.github.io
πŸ’¬ Community Discussions Get help, share ideas, and connect with other users GitHub Discussions
πŸ“‹ Project Board Track development progress and upcoming features View Project Board
πŸ’– Support Development Help fund ongoing development and maintenance Sponsor on GitHub

Quick Start Options:

Dynamic Parameters

Parameterized configs should include a parameters section with default values:

parameters:
  query:
    type: string
    default: "technology"
  category:
    type: string
    default: "news"

channel:
  url: https://example.com/search?q=%<query>s&cat=%<category>s
  # ... rest of config

The type field specifies the parameter type (currently only string is supported), and default provides the default value used by this repository's validation and fetch tests.

Notes:

  • Only configs that use %<param>s placeholders need a parameters section.
  • Callers can still override those defaults at runtime with html2rss feed ... --params ....
  • Dynamic substitution applies to channel and headers; selectors are not parameterized by this feature.

Validation

Use both schema-aware editing and runtime validation before committing:

# Validate all configs with the runtime validator
make validate

# Validate a single config directly
bundle exec html2rss validate lib/html2rss/configs/github.com/releases.yml

# Export the current JSON Schema locally for editor use
make schema

The JSON Schema is useful for editor autocompletion and basic structural checks. Runtime validation remains authoritative for merged defaults and cross-field rules.

Testing

Uses dynamic test generation - no individual spec files needed!

# Test all configs
bundle exec rspec spec/html2rss/configs_dynamic_spec.rb

# Test specific config
make test-config CONFIG=github.com/releases.yml

# Test domain
make test-domain DOMAIN=github.com

Adding new configs: Create the YAML file, run make validate, then run the generated tests. No dedicated spec file is needed.

Config folder convention: Place configs under the registrable domain folder (e.g., example.com/ or bbc.co.uk/). Legacy subdomain folders (e.g., news.example.com/) are allowed but not preferred.

Editor Setup (JSON Schema)

Get inline validation and autocompletion when editing configs in your IDE. All config files already carry the schema modeline at the top:

# yaml-language-server: $schema=https://raw.githubusercontent.com/html2rss/html2rss/refs/heads/master/schema/html2rss-config.schema.json

Any editor with yaml-language-server support (VS Code + YAML extension, Neovim, Helix, …) will automatically pick up the schema when opening a config file.

The included .vscode/settings.json additionally associates the schema with all configs via a glob pattern, so new files get validation before the modeline is added.

make schema writes schema/html2rss-config.schema.json locally β€” useful for offline editing or when you want to pin against the currently installed gem version.

Documentation

About

πŸ“‡ A growing collection of html2rss feed configs. Generate configs with the handy generator.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

 
 
 

Contributors