diff --git a/lib/routes/njuferret/blog.ts b/lib/routes/njuferret/blog.ts new file mode 100644 index 000000000..1014f6515 --- /dev/null +++ b/lib/routes/njuferret/blog.ts @@ -0,0 +1,41 @@ +import { Route } from '@/types'; +import ofetch from '@/utils/ofetch'; +import { load } from 'cheerio'; +import { parseDate } from '@/utils/parse-date'; + +export const route: Route = { + path: '/blog', + categories: ['blog'], + example: '/njuferret/blog', + radar: [ + { + source: ['njuferret.github.io'], + }, + ], + name: 'Blogs', + maintainers: ['tyl0622'], + handler, +}; + +async function handler() { + const baseUrl = 'https://njuferret.github.io'; + const response = await ofetch(baseUrl); + const $ = load(response); + + const items = $('div.post-block') + .toArray() + .map((item) => { + item = $(item); + const a = item.find('a').first(); + return { + title: a.text(), + link: `${baseUrl}${a.attr('href')}`, + pubDate: parseDate(item.find('time').attr('datetime')), + }; + }); + + return { + title: 'njuferret - blog', + item: items, + }; +} diff --git a/lib/routes/njuferret/namespace.ts b/lib/routes/njuferret/namespace.ts new file mode 100644 index 000000000..b566c2703 --- /dev/null +++ b/lib/routes/njuferret/namespace.ts @@ -0,0 +1,10 @@ +import type { Namespace } from '@/types'; + +export const namespace: Namespace = { + name: 'njuferret', + url: 'njuferret.github.io', + description: '', + zh: { + name: '有点博客', + }, +};