Skip to content

Latest commit

 

History

History
97 lines (67 loc) · 4.15 KB

File metadata and controls

97 lines (67 loc) · 4.15 KB

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

Configs must include a parameters section to define default values for dynamic parameters:

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 when no parameter is explicitly provided.

Validation

Validate configs against the html2rss schema before committing:

# Validate all configs
make validate

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

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: Just create the YAML file and run make validate then tests. No spec file 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