diff --git a/README.md b/README.md index 381c9cf6b..880fc8f71 100644 --- a/README.md +++ b/README.md @@ -180,6 +180,8 @@ RSSHub 是一个轻量、易于扩展的 RSS 生成器,可以给任何奇奇 - 公告通知 - 机核网 - 分类 +- Mozilla + - Fireofox Release Note diff --git a/docs/README.md b/docs/README.md index 7a2c72ad4..43b2fb150 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1489,3 +1489,17 @@ id, 专辑 id, 可在对应专辑页面的 URL 中找到 | 文章 | 新闻 | 电台 | | ---- | ---- | ---- | | 1 | 2 | 9 | + +## Mozilla + +### Firefox Release Note + +举例: [https://rsshub.app/mozilla/firefox/desktop](https://rsshub.app/mozilla/firefox/desktop) + +路由: `/mozilla/firefox/:platform` + +参数: platform + +| 桌面 | Android | Beta | Nightly | Android Beta | +| ------- | ------- | ---- | ------- | ------------ | +| dekstop | android | beta | nightly | android-beta | diff --git a/router.js b/router.js index 9fc8c469a..b25a58974 100644 --- a/router.js +++ b/router.js @@ -342,4 +342,7 @@ router.get('/pku/eecs/:type?', require('./routes/pku/eecs')); // 机核 router.get('/gcores/category/:category', require('./routes/gcores/category')); +// Firefox Release Note +router.get('/mozilla/firefox/:platform', require('./routes/mozilla/firefox')); + module.exports = router; diff --git a/routes/mozilla/firefox.js b/routes/mozilla/firefox.js new file mode 100644 index 000000000..be04d0e78 --- /dev/null +++ b/routes/mozilla/firefox.js @@ -0,0 +1,36 @@ +const axios = require('../../utils/axios'); +const cheerio = require('cheerio'); +const config = require('../../config'); + +const axios_ins = axios.create({ + headers: { + 'User-Agent': config.ua, + }, +}); + +module.exports = async (ctx) => { + if (ctx.params.platform === 'desktop') { + ctx.params.platform = ''; + } + if (ctx.params.platform === 'android-beta') { + ctx.params.platform = 'android/beta'; + } + const response = await axios_ins.get(`https://www.mozilla.org/en-US/firefox/${ctx.params.platform}/notes/`); + const data = response.data; + const $ = cheerio.load(data); + + ctx.state.data = { + title: `Firefox ${ctx.params.platform} release note`, + link: `https://www.mozilla.org/en-US/firefox/${ctx.params.platform}/notes/`, + item: [ + { + title: `Firefox ${ctx.params.platform} ${$('.version') + .find('h2') + .text()} release note`, + link: `https://www.mozilla.org/en-US/firefox/${ctx.params.platform}/notes/`, + description: $('.notes-section').html(), + }, + ], + description: $('.description').text(), + }; +};