Write Your Own Feed Configs
When ready-made feeds aren’t enough, you can write your own configuration files to create custom RSS feeds for any website. This guide shows you how to take full control with YAML configs.
Prerequisites: You should be familiar with the Web Application or Ruby Gem before diving into custom configurations.
When to Use Custom Configs
Section titled “When to Use Custom Configs”Use custom configs when:
- Ready-made feeds don’t exist for the website you want to follow
- Existing feeds are incomplete or missing important content
- You need specific formatting or data extraction
- The website has complex structure that requires custom selectors
- You want to combine data from multiple sources
Don’t need custom configs? Check the Feed Directory first - there might already be a working feed for your website.
Quick Start
Section titled “Quick Start”Need a feed right now?
- Try the web app - No coding required
- Browse ready-made feeds - Use what others created
- Create a config - When you need custom control (see below)
Ready to create a config? Jump to Your First Config.
For html2rss-web Users
Section titled “For html2rss-web Users”If you’re using html2rss-web, you can add your config to the feeds.yml
file:
- Find the example - Check out the
example
feed config - Add your config to the
feeds.yml
file - Test it by visiting your html2rss-web instance
- Debug using browser developer tools if needed
How It Works
Section titled “How It Works”A config file is a simple “recipe” that tells html2rss:
- Which website to look at
- What content to find
- How to organize it into an RSS feed
The channel
Block
Section titled “The channel Block”This tells html2rss basic information about your feed - like giving it a name and telling it which website to look at.
Example:
channel: url: https://example.com/blog title: My Awesome Blog
This says: “Look at this website and call the feed ‘My Awesome Blog‘“
The selectors
Block
Section titled “The selectors Block”This is where you tell the html2rss engine exactly what to find on the page. You use CSS selectors (like you might use in web design) to point to specific parts of the webpage.
Example:
selectors: items: selector: "article.post" title: selector: "h2 a" link: selector: "h2 a" attribute: href
This says: “Find each article, get the title from the h2 anchor, and get the link from the same h2 anchor’s href attribute”
Need more details? Check our complete guide to selectors for all the options.
Configuration Options
Section titled “Configuration Options”html2rss-web supports all the same configuration options as the html2rss Ruby gem:
- Basic selectors for title, description, and links
- Advanced features like custom headers and dynamic parameters
- Multiple strategies for different types of websites
- Post-processing to clean up extracted content
Your First Config
Section titled “Your First Config”Step 1: Look at the website you want to create a feed for. Right-click → “View Page Source” to see the HTML structure.
Step 2: Create a file called example.com.yml
with this basic structure:
channel: url: https://example.com/blog title: My Blog
selectors: items: selector: "article.post" title: selector: "h2 a" link: selector: "h2 a" attribute: href
Step 3: Test it with the web app or Ruby gem.
Need help? See our detailed tutorial or troubleshooting guide for common issues.
Troubleshooting
Section titled “Troubleshooting”Common issues when writing configs:
- No items found? Check your selectors with browser tools (F12) - the
items.selector
might not match the page structure - Invalid YAML? Use spaces, not tabs, and ensure proper indentation
- Website not loading? Check the URL and try accessing it in your browser
- Missing content? Some websites load content with JavaScript - you may need to use the
browserless
strategy - Wrong data extracted? Verify your selectors are pointing to the right elements
Need more help? See our comprehensive troubleshooting guide or ask in GitHub Discussions.
Advanced Features
Section titled “Advanced Features”Dynamic parameters, custom headers, and more: See our advanced features guide.
Contributing
Section titled “Contributing”Share your config with the community:
- Go to html2rss-configs on GitHub
- Click “Fork” → “Add file” → Create
domain.com.yml
- Paste your config → “Commit new file” → “Open pull request”
Need help? See our contribution guide.
Next Steps
Section titled “Next Steps”🎉 Congratulations! You’ve learned the basics of creating html2rss configuration files.
What’s Next?
Section titled “What’s Next?”For Beginners:
- Browse the Feed Directory - See real-world examples
- Try html2rss-web - Create feeds without coding
- Learn more about selectors - Master CSS selectors
For Contributors:
- Submit your config via GitHub Web - No Git knowledge required!
- Browse existing configs - See real examples
- Join discussions - Connect with other users
For Developers:
- Ruby Gem Documentation - Full API reference
- Advanced Features - Learn advanced techniques
- Custom HTTP Requests - Handle complex scenarios
Need More Help?
Section titled “Need More Help?”- Troubleshooting - Get help with common issues
- Community Forum - Ask questions and share ideas
- Report Issues - Found a bug? Let us know!