import Link from 'next/link' import BLOG from '@/blog.config' import { formatDateFmt } from '@/lib/formatDate' import { useRouter } from 'next/router' /** * 最新文章列表 * @param posts 所有文章数据 * @param sliceCount 截取展示的数量 默认6 * @constructor */ const LatestPostsGroup = ({ posts, sliceCount = 5 }) => { // 深拷贝 let postsSortByDate = Object.create(posts) // 时间排序 postsSortByDate.sort((a, b) => { const dateA = new Date(a?.lastEditedTime || a.createdTime) const dateB = new Date(b?.lastEditedTime || b.createdTime) return dateB - dateA }) // 只取前五 postsSortByDate = postsSortByDate.slice(0, sliceCount) // 获取当前路径 const currentPath = useRouter().asPath return <> {postsSortByDate.map(post => { const selected = currentPath === `${BLOG.path}/article/${post.slug}` return ( {post.title} {formatDateFmt(post.lastEditedTime, 'yyyy/MM/dd')} ) })} > } export default LatestPostsGroup