{"id":22750041,"url":"https://github.com/snwfdhmp/www2rss","last_synced_at":"2025-03-30T06:21:58.704Z","repository":{"id":267371989,"uuid":"895145951","full_name":"snwfdhmp/www2rss","owner":"snwfdhmp","description":"provide parsing rules, i will run them","archived":false,"fork":false,"pushed_at":"2025-02-09T14:20:19.000Z","size":19,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-25T22:39:55.678Z","etag":null,"topics":["rss","rss-feed-generator","rss-generator","rss-parser","website-parser"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/snwfdhmp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"snwfdhmp"}},"created_at":"2024-11-27T16:34:08.000Z","updated_at":"2025-02-09T14:20:22.000Z","dependencies_parsed_at":"2024-12-10T00:41:33.533Z","dependency_job_id":null,"html_url":"https://github.com/snwfdhmp/www2rss","commit_stats":null,"previous_names":["snwfdhmp/www2rss"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snwfdhmp%2Fwww2rss","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snwfdhmp%2Fwww2rss/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snwfdhmp%2Fwww2rss/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snwfdhmp%2Fwww2rss/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/snwfdhmp","download_url":"https://codeload.github.com/snwfdhmp/www2rss/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246282700,"owners_count":20752439,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["rss","rss-feed-generator","rss-generator","rss-parser","website-parser"],"created_at":"2024-12-11T04:11:49.169Z","updated_at":"2025-03-30T06:21:58.658Z","avatar_url":"https://github.com/snwfdhmp.png","language":"JavaScript","funding_links":["https://github.com/sponsors/snwfdhmp"],"categories":[],"sub_categories":[],"readme":"# www2rss : provide parsing rules, i will run them\n\nThis project is born from 2 causes :\n\n1. Some websites do not implement RSS feed, or they are wrongly implemented.\n2. Website parsers exist but they are paid or freemium.\n\nThis project goal is : **Allow anyone to benefit from a web-to-rss tool without needing to pay**.\n\nI choose to donate bandwidth and compute resource for the community, so that anyone can benefit from it. They cost money, not everyone can afford.\n\n[Help this project benefit everyone](https://github.com/sponsors/snwfdhmp).\n\n## Guide: How it works\n\nEverything you need to know is described here :\n\n1. Edit `sources.js` and add your website URL and parsing rules.\n2. The script **runs on my server every hour**.\n3. You can add `www2rss.snwfdhmp.com/\u003csourceId\u003e/rss.xml` to your RSS reader. I'm using [miniflux](https://github.com/miniflux/v2) myself.\n\n## Guide: More details\n\n1. You are expected to be a developer, or get help from a developer. This is no auto-parser.\n2. If you don't want to use community servers, you may fork this repo and run it on your servers.\n\n## Guide: How to add a new source\n\n1. Edit the `sources.js` file. I will review it and accept it ASAP.\n\nExample:\n\n```js\n{\n    id: \"afis-editos\", // this should be unique accross the whole file\n    url: \"https://afis.org/-Editos-\", // url of page to parse\n    method: \"rawHttp\", // set to 'runJavascript' if needed (ie. if website is not SSR)\n    parse: (html) =\u003e {\n        const $ = cheerio.load(html) // we use cheerio as default to build DOM\n        const items = []\n        $(\".article-item\").each((i, e) =\u003e { // iterate on items\n        const title = $(e).find(\"h3\").text() // find required properties\n        const date = chrono.parseDate($(e).find(\"date\")) // parse date: return RFC2822 format. Use chronoFR for FR parser, or add yours.\n        const url =\n            \"https://afis.org/\" + $(e).find(\"a\").attr(\"href\") // put url in absolute format: no relative format\n        const description = $(e).find(\"p\").text()\n        const image = \"https://afis.org/\" + $(e).find(\"img\").attr(\"src\")\n\n        items.push({ title, date, url, description, image }) // most important line: data should contain {title,date,url,description,image}\n        })\n        return items\n    },\n},\n```\n\n**IMPORTANT**:\n\n1. Test locally first to ensure minimum of back-and-forth. Clone, edit, run, verify .xml file and then open a pull request.\n2. Ensure `id` is unique for your source, otherwise things will break.\n3. Add your source **to the end** of the sources.js.\n4. In case I'm really long to answer your PR, contact me on discord `mjo___`\n\n## Contributing\n\n1. Open a pull requests. No strict rules, just make your best.\n2. Donating helps a lot. [GitHub Sponsors](https://github.com/sponsors/snwfdhmp)\n3. Leave a star ⭐️ so it can help more people.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnwfdhmp%2Fwww2rss","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsnwfdhmp%2Fwww2rss","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnwfdhmp%2Fwww2rss/lists"}