diff --git a/docs/en/programming.md b/docs/en/programming.md index 84af60df15..82348427dc 100644 --- a/docs/en/programming.md +++ b/docs/en/programming.md @@ -299,6 +299,12 @@ Subscribe to the updates (threads and submission) from a paritcular Hacker News +## Huggingface + +### Daily Papers + + + ## Issue Hunt ### Project Funded diff --git a/docs/programming.md b/docs/programming.md index 29a45a2e98..68834b4622 100644 --- a/docs/programming.md +++ b/docs/programming.md @@ -489,6 +489,12 @@ GitHub 官方也提供了一些 RSS: +## Huggingface + +### Daily Papers + + + ## Issue Hunt ### 项目悬赏 diff --git a/lib/v2/huggingface/daily-papers.js b/lib/v2/huggingface/daily-papers.js new file mode 100644 index 0000000000..3ba29a1ccb --- /dev/null +++ b/lib/v2/huggingface/daily-papers.js @@ -0,0 +1,23 @@ +const got = require('@/utils/got'); +const cheerio = require('cheerio'); +const { parseDate } = require('@/utils/parse-date'); + +module.exports = async (ctx) => { + const { body: response } = await got('https://huggingface.co/papers'); + const $ = cheerio.load(response); + const papers = $('main > div[data-target="DailyPapers"]').data('props'); + + const items = papers.dailyPapers.map((item) => ({ + title: item.title, + link: `https://arxiv.org/abs/${item.paper.id}`, + description: item.paper.summary.replace(/\n/g, ' '), + pubDate: parseDate(item.publishedAt), + author: item.paper.authors.map((author) => author.name).join(', '), + })); + + ctx.state.data = { + title: 'Huggingface Daily Papers', + link: 'https://huggingface.co/papers', + item: items, + }; +}; diff --git a/lib/v2/huggingface/maintainer.js b/lib/v2/huggingface/maintainer.js new file mode 100644 index 0000000000..1abfb61057 --- /dev/null +++ b/lib/v2/huggingface/maintainer.js @@ -0,0 +1,3 @@ +module.exports = { + '/daily-papers': ['zeyugao'], +}; diff --git a/lib/v2/huggingface/router.js b/lib/v2/huggingface/router.js new file mode 100644 index 0000000000..ca991e4ddc --- /dev/null +++ b/lib/v2/huggingface/router.js @@ -0,0 +1,3 @@ +module.exports = (router) => { + router.get('/daily-papers', require('./daily-papers')); +};