|
| 1 | + |
| 2 | + |
| 3 | +# html2rss-configs |
| 4 | + |
| 5 | +✌️ This repository contains [`html2rss`](https://github.com/html2rss/html2rss) _feed configs_ for many websites. |
| 6 | +👉 Find all _feed configs_ in the [`configs/` directory](https://github.com/html2rss/html2rss-configs/tree/master/lib/html2rss/configs). |
| 7 | +☝️ A handy usage method is via [`html2rss-web`](https://github.com/html2rss/html2rss-web). |
| 8 | +💪 Contributions are more than welcome! |
| 9 | +[Fork this repository](https://help.github.com/en/github/getting-started-with-github/fork-a-repo), |
| 10 | +add your _feed config_ and |
| 11 | +[create a pull request](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request). |
| 12 | + |
| 13 | +## Contributing |
| 14 | + |
| 15 | +The html2rss "ecosystem" is a community project. We welcome contributions of all kinds. This includes new feed configs, suggesting and implementing features, providing bug fixes, documentation improvements, and any other kind of help. |
| 16 | + |
| 17 | +### Adding a new feed config |
| 18 | + |
| 19 | +Which way you choose to add a new feed config is up to you. You can do it manually or risk the "wizard-like" generator. Please [submit a pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork)! |
| 20 | + |
| 21 | +After you're done, you can test your feed config by running `bundle exec html2rss feed lib/html2rss/configs/<domainname.tld>/<path>.yml`. |
| 22 | + |
| 23 | +#### Prefered way: manually |
| 24 | + |
| 25 | +1. Fork this repo and run `bundle install` (you need to have Ruby >= 3.1 installed). |
| 26 | +2. Create a new folder and file following ths convention: `lib/html2rss/configs/<domainname.tld>/<path>.yml` |
| 27 | +3. Create the feed config in the `<path>.yml` file. |
| 28 | +4. Add this spec file in the `spec/html2rss/configs/<domainname.tld>/<path>_spec.rb` file. |
| 29 | + |
| 30 | +```ruby |
| 31 | + RSpec.describe '<domainname.tld>/<path>' do |
| 32 | + include_examples 'config.yml', described_class |
| 33 | + end |
| 34 | +``` |
| 35 | + |
| 36 | +#### Using the "wizard-like" generator |
| 37 | + |
| 38 | +There's was a try to build a wizard like TUI based generator for that! 🆒 It hasn't seen much love, tho, but it might gets you going or crash in the middle of the process. |
| 39 | + |
| 40 | +1. Fork this repo and run `bundle install` (you need to have Ruby >= 3.1 installed). |
| 41 | +2. Start the generator by typing: `bin/generator` |
| 42 | +3. Build your feed config and answer 'y' in the last step to create the files. |
| 43 | +4. Optionally, edit the created files. Read [`html2rss`'s README](https://github.com/html2rss/html2rss/blob/master/README.md) to see what is possible or browse [existing configs](https://github.com/html2rss/html2rss-configs/tree/master/lib/html2rss/configs) for inspiration. |
| 44 | +5. To test, run: |
| 45 | + `bundle exec html2rss feed lib/html2rss/configs/domainname.tld/whatever` |
| 46 | + |
| 47 | +## Using dynamic parameters in `channel` attributes |
| 48 | + |
| 49 | +When you're using dynamic parameters, you have to provide the parameters to the spec, too: |
| 50 | + |
| 51 | +```ruby |
| 52 | +include_examples 'config.yml', 'domainname.tld/whatever.yml', id: 42 |
| 53 | +``` |
| 54 | + |
| 55 | +CLI usage: |
| 56 | + |
| 57 | +```sh |
| 58 | +bundle exec html2rss feed lib/html2rss/configs/domainname.tld/whatever id=42 |
| 59 | +``` |
| 60 | + |
| 61 | +## Programmatic usage |
| 62 | + |
| 63 | +Add to your Gemfile: |
| 64 | + |
| 65 | +```ruby |
| 66 | +gem 'html2rss-configs', git: 'https://github.com/html2rss/html2rss-configs.git' |
| 67 | +``` |
| 68 | + |
| 69 | +Use it in your code: |
| 70 | + |
| 71 | +```ruby |
| 72 | +require 'html2rss/configs' |
| 73 | + |
| 74 | +config = Html2rss::Configs.find_by_name('domainname.tld/whatever') |
| 75 | +``` |
| 76 | + |
| 77 | +This will return the _feed config_. |
| 78 | + |
| 79 | +## Usage with `html2rss-web` |
| 80 | + |
| 81 | +If you're running [`html2rss-web`](https://github.com/html2rss/html2rss-web), |
| 82 | +you have nothing more to do! 🎉 Just request them from your instance at path: `/<domainname.tld/path>.rss` and you'll be served the RSS. |
| 83 | + |
| 84 | +## CI: Building on the CI |
| 85 | + |
| 86 | +Modifying existing or adding new _feed configs_ will trigger the CI to fetch the feed |
| 87 | +and check for the presence of feed items. |
0 commit comments