From 6e43f8e8a260d44b0b35f38a1af7d38eef2ffc3c Mon Sep 17 00:00:00 2001 From: Elsa Date: Sat, 17 Feb 2024 15:11:35 +0800 Subject: [PATCH] Support sortby upvotes in Huggingface Daily Papers --- lib/v2/huggingface/daily-papers.js | 10 ++++++++-- lib/v2/huggingface/router.js | 2 +- website/docs/routes/programming.mdx | 6 +++++- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/lib/v2/huggingface/daily-papers.js b/lib/v2/huggingface/daily-papers.js index af9fb54136..7cf802ceed 100644 --- a/lib/v2/huggingface/daily-papers.js +++ b/lib/v2/huggingface/daily-papers.js @@ -4,17 +4,23 @@ const { parseDate } = require('@/utils/parse-date'); module.exports = async (ctx) => { const { body: response } = await got('https://huggingface.co/papers'); + const sortby = ctx.params.sortby || 'time'; const $ = cheerio.load(response); const papers = $('main > div[data-target="DailyPapers"]').data('props'); - const items = papers.dailyPapers.map((item) => ({ + let items = papers.dailyPapers.map((item) => ({ title: item.title, link: `https://arxiv.org/abs/${item.paper.id}`, description: item.paper.summary.replaceAll('\n', ' '), - pubDate: parseDate(item.publishedAt), + pubDate: sortby === 'time' ? parseDate(item.publishedAt) : undefined, author: item.paper.authors.map((author) => author.name).join(', '), + upvotes: item.paper.upvotes, })); + if (sortby === 'votes') { + items = items.sort((a, b) => b.upvotes - a.upvotes); + } + ctx.state.data = { title: 'Huggingface Daily Papers', link: 'https://huggingface.co/papers', diff --git a/lib/v2/huggingface/router.js b/lib/v2/huggingface/router.js index 5c62ff5f13..81d8d7bff3 100644 --- a/lib/v2/huggingface/router.js +++ b/lib/v2/huggingface/router.js @@ -1,4 +1,4 @@ module.exports = (router) => { router.get('/blog-zh', require('./blog-zh')); - router.get('/daily-papers', require('./daily-papers')); + router.get('/daily-papers/:sortby?', require('./daily-papers')); }; diff --git a/website/docs/routes/programming.mdx b/website/docs/routes/programming.mdx index 96d250d894..3d804d1c83 100644 --- a/website/docs/routes/programming.mdx +++ b/website/docs/routes/programming.mdx @@ -490,7 +490,11 @@ Subscribe to the updates (threads and submission) from a paritcular Hacker News ### Daily Papers {#huggingface-daily-papers} - + + | 时间 | upvotes | + | ---- | ------- | + | time | votes | + ### 中文博客 {#huggingface-zhong-wen-bo-ke}