feat: 首页增加关于我的信息,更新依赖

- 首页增加个人简介和wakatime代码时间
- 更新pnpm版本
- 移除about页面,精简导航栏
- 增加最近更新组件,在归档页展示
- 移除notes的index
This commit is contained in:
KazooTTT
2025-03-28 21:13:04 +08:00
parent b5dd9d1f84
commit c03e9c6658
7 changed files with 60 additions and 47 deletions

View File

@ -68,5 +68,6 @@
"reading-time": "^1.5.0",
"tailwindcss": "4.0.7",
"typescript": "^5.7.3"
}
},
"packageManager": "pnpm@10.7.0+sha512.6b865ad4b62a1d9842b61d674a393903b871d9244954f652b8842c2b553c72176b278f64c463e52d40fff8aba385c235c8c9ecf5cc7de4fd78b8bb6d49633ab6"
}

View File

@ -0,0 +1,30 @@
---
import { getAllCollectionPosts } from "@/data/post";
import { MAX_LATEST_POSTS } from "@/utils/constant";
import { getLatestUpdatedPost } from "@/utils/date";
const allPosts = await getAllCollectionPosts();
const latestUpdatedPost = allPosts.sort(getLatestUpdatedPost).slice(0, MAX_LATEST_POSTS);
---
{
(
<div>
<h2 class="title mb-4 flex items-center gap-2 text-lg">
<a class="">最近更新</a>
</h2>
<ul class="flex flex-wrap gap-2">
{latestUpdatedPost.map((post) => (
<li>
<a
href={`${post.collection === "post" ? "/posts/" : "/notes/"}${post.id}/`}
class="hover:text-link"
>
<span>{post.data.date_modified.toLocaleDateString()}</span>
{post.data.title}
</a>
</li>
))}
</ul>
</div>
)
}

View File

@ -12,6 +12,7 @@ import { collectionDateSort, getLatestUpdatedPost } from "@/utils/date";
import type { GetStaticPaths, Page } from "astro";
import { MAX_TAGS, MAX_CATEGORIES, MAX_POSTS_PER_PAGE, MAX_LATEST_POSTS } from "@/utils/constant";
import type { AllItem } from "@/types";
import RecentUpdate from "@/components/RecentUpdate.astro";
export const getStaticPaths = (async ({ paginate }) => {
const allPosts = await getAllCollectionPosts();
@ -33,7 +34,7 @@ interface Props {
latestUpdatedPost: AllItem[];
}
const { page, postsCount, latestUpdatedPost } = Astro.props;
const { page, postsCount } = Astro.props;
const meta = {
description: "Read my collection of posts and the things that interest me",
@ -85,28 +86,7 @@ const descYearKeys = Object.keys(groupedByYear).sort((a, b) => +b - +a);
<Pagination {...paginationProps} />
</div>
<aside class="flex flex-col gap-8">
{
(
<div>
<h2 class="title mb-4 flex items-center gap-2 text-lg">
<a class="">最近更新</a>
</h2>
<ul class="flex flex-wrap gap-2">
{latestUpdatedPost.map((post) => (
<li>
<a
href={`${post.collection === "post" ? "/posts/" : "/notes/"}${post.id}/`}
class="hover:text-link"
>
<span>{post.data.date_modified.toLocaleDateString()}</span>
{post.data.title}
</a>
</li>
))}
</ul>
</div>
)
}
<RecentUpdate />
</aside>
</div>
</PageLayout>

View File

@ -6,6 +6,9 @@ import { getAllFixedToTopPosts, getAllNotes, getAllPosts } from "@/data/post";
import PageLayout from "@/layouts/Base.astro";
import { collectionDateSort } from "@/utils/date";
import SelfIntro from "@/pages/self-intro.astro";
import ContentFooter from "@/components/ContentFooter.astro";
import GiscusComment from "@/components/componentsBefore/GiscusComment";
import Tools from "@/components/tools/index.astro";
// Posts
const MAX_POSTS = 10;
@ -24,9 +27,22 @@ const latestNotes = allNotes.sort(collectionDateSort).slice(0, MAX_NOTES);
<PageLayout meta={{ title: "Home" }}>
<section>
<h1 class="title mb-6">Hello World!</h1>
<div class="">
<h1 class="title mb-6">About</h1>
<SelfIntro />
</div>
<div class="my-2">
<a href="https://wakatime.com/@d3dc2570-e4bf-4469-b0c2-127b495e8b91"
><img
src="https://wakatime.com/badge/user/d3dc2570-e4bf-4469-b0c2-127b495e8b91.svg"
alt="Total time coded since Nov 4 2017"
/></a
>
</div>
<SocialList />
<Tools enableCollapse={true} defaultOpen={false} />
</section>
{
@ -74,4 +90,6 @@ const latestNotes = allNotes.sort(collectionDateSort).slice(0, MAX_NOTES);
</section>
)
}
<ContentFooter />
<GiscusComment client:load />
</PageLayout>

View File

@ -62,17 +62,7 @@ function calculateIndex(index: number, page: Page<NoteItem>) {
<div class="flex-1"></div>
</h1>
<div class="columns-1">
{
page.data.map((note, index) => (
<Note
note={note}
as="h2"
isPreview
index={calculateIndex(index, page)}
enableLineClamp={false}
/>
))
}
{page.data.map((note) => <Note note={note} as="h2" isPreview enableLineClamp={false} />)}
</div>
<Pagination {...paginationProps} />
</section>

View File

@ -6,6 +6,4 @@
<p>4年经验的前端开发工程师</p>
<p>主要使用react + vite + typescript开发</p>
<p>喜欢写一些自己的side project</p>
<p>三分钟热度,还在寻找自己真正的热爱</p>
<p><a href="https://lyrics.kazoottt.top/">我的歌词本</a></p>
</div>

View File

@ -37,10 +37,10 @@ export const menuLinks: { path: string; title: string }[] = [
path: "/",
title: "Home",
},
{
path: "/about/",
title: "About",
},
// {
// path: "/about/",
// title: "About",
// },
{
path: "/posts/",
title: "Blog",
@ -49,10 +49,6 @@ export const menuLinks: { path: string; title: string }[] = [
path: "/notes/",
title: "Notes",
},
{
path: "/archive/",
title: "Archive",
},
{
path: "/friends/",
title: "Friends",