* fix(radio-canada): Repair description fetching after site update
The previous method for fetching the item description broke due to a change in the target website's format.
This commit resolves the issue by extracting the description directly from the main HTML content of the article page. This restores functionality to the feed and provides a more robust parsing method.
* refactor(radio-canada): Parse article content from internal JSON state
This change refactors the content fetching logic to parse a JSON object (`window._rcState_`) from the page. This approach allows for the full reconstruction of the article, including the header image, primer text, and all body attachments (images), by replacing placeholders in the HTML with the correct media.
* fix(radio-canada): Improve content parsing with fallback mechanism
Adds a fallback to the previous HTML scraping method in case the JSON state object is not found. This ensures greater resilience against site changes and improves the chances of successfully retrieving content.
* refactor(radio-canada): Extract content parsing logic into a helper function
To address a "Complex Method" warning from CodeFactor, the logic for parsing the article description from the JSON state has been extracted into a dedicated `parseDescriptionFromState` function.
This change improves code readability and maintainability by simplifying the main handler and isolating the content parsing logic. The `if/else` block was also converted to a ternary operator for conciseness.
* fix(radio-canada): Update image URL parsing to remove width placeholder for header and body attachments
---------
|
||
|---|---|---|
| .devcontainer | ||
| .github | ||
| .husky | ||
| .idx | ||
| assets | ||
| lib | ||
| logs | ||
| patches | ||
| plugins | ||
| scripts | ||
| .codecov.yml | ||
| .dockerignore | ||
| .editorconfig | ||
| .gitignore | ||
| .gitpod.yml | ||
| .npmrc | ||
| .prettierignore | ||
| .prettierrc | ||
| .puppeteerrc.cjs | ||
| CODE_OF_CONDUCT.md | ||
| CONTRIBUTING.md | ||
| Dockerfile | ||
| LICENSE | ||
| README.md | ||
| SECURITY.md | ||
| app.json | ||
| babel.config.js | ||
| docker-compose.yml | ||
| eslint.config.mjs | ||
| fly.toml | ||
| package.json | ||
| pnpm-lock.yaml | ||
| tailwind.config.js | ||
| tsconfig.json | ||
| tsdown-vercel.config.ts | ||
| tsdown.config.ts | ||
| vitest.config.ts | ||
README.md
RSSHub
🧡 Everything is RSSible
Introduction
RSSHub is the world's largest RSS network, consisting of over 5,000 global instances.
RSSHub delivers millions of contents aggregated from all kinds of sources, our vibrant open source community is ensuring the deliver of RSSHub's new routes, new features and bug fixes.
Documentation | Telegram Group | Telegram Channel | X (Twitter)
Related Projects
- RSSHub Radar | A browser extension that can help you quickly discover and subscribe to the RSS and RSSHub of current websites.
- RSSBud | RSSHub Radar for iOS platform, designed specifically for mobile ecosystem optimization.
- RSSAid | RSSHub Radar for Android platform built with Flutter.
- DocSearch | Link RSSHub DocSearch into Raycast
Contribute
We welcome all pull requests. Suggestions and feedback are also welcomed here.
Refer to Quick Start
Deployment
Refer to Deployment
Special Thanks
Author
RSSHub © DIYgod, Released under the MIT License.
Authored and maintained by DIYgod with help from contributors (list).
Blog @DIYgod · GitHub @DIYgod · X (Twitter) @DIYgod · Telegram Channel @awesomeDIYgod


