Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .astro/content.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,6 @@ declare module 'astro:content' {
LiveContentConfig['collections'][C]['loader']
>;

export type ContentConfig = typeof import("./../src/content/config.js");
export type ContentConfig = typeof import("../src/content/config.js");
export type LiveContentConfig = never;
}
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
"@iconify/svelte": "^4.2.0",
"@swup/astro": "^1.7.0",
"@tailwindcss/typography": "^0.5.19",
"@vercel/analytics": "^1.6.1",
"@vercel/speed-insights": "^1.3.1",
"astro": "5.13.10",
"astro-expressive-code": "^0.41.4",
Expand Down
33 changes: 33 additions & 0 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions src/components/Footer.astro
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
---
import { profileConfig } from "../config";

const currentYear = new Date().getFullYear();
---

Expand Down
12 changes: 6 additions & 6 deletions src/components/Navbar.astro
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@ import NavMenuPanel from "./widget/NavMenuPanel.astro";
const className = Astro.props.class;

let links: NavBarLink[] = navBarConfig.links.map(
(item: NavBarLink | LinkPreset): NavBarLink => {
if (typeof item === "number") {
return LinkPresets[item];
}
return item;
},
(item: NavBarLink | LinkPreset): NavBarLink => {
if (typeof item === "number") {
return LinkPresets[item];
}
return item;
},
);
---
<div id="navbar" class="z-50 onload-animation">
Expand Down
4 changes: 2 additions & 2 deletions src/components/widget/SideBar.astro
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ import Profile from "./Profile.astro";
import Statistics from "./Statistics.astro"; // 统计组件

interface Props {
class?: string;
headings?: MarkdownHeading[];
class?: string;
headings?: MarkdownHeading[];
}

const className = Astro.props.class;
Expand Down
2 changes: 1 addition & 1 deletion src/components/widget/Statistics.astro
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
import WidgetLayout from "./WidgetLayout.astro";
import { Icon } from "astro-icon/components";
import WidgetLayout from "./WidgetLayout.astro";
---

<WidgetLayout name="统计" icon="material-symbols:analytics-outline">
Expand Down
3 changes: 3 additions & 0 deletions src/layouts/Layout.astro
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ const bannerOffsetByPosition = {
const bannerOffset =
bannerOffsetByPosition[siteConfig.banner.position || "center"];

import Analytics from "@vercel/analytics/astro";
// vercel 速度洞察
import SpeedInsights from "@vercel/speed-insights/astro";
---
Expand Down Expand Up @@ -192,6 +193,8 @@ import SpeedInsights from "@vercel/speed-insights/astro";
title={profileConfig.name}
href={`${Astro.site}rss.xml`}
/>

<Analytics />
</head>
<body
class="min-h-screen transition"
Expand Down
2 changes: 1 addition & 1 deletion src/pages/about.astro
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
import MainGridLayout from "../layouts/MainGridLayout.astro";
import { Icon } from "astro-icon/components";
import MainGridLayout from "../layouts/MainGridLayout.astro";
---

<MainGridLayout title="关于我">
Expand Down
11 changes: 5 additions & 6 deletions src/pages/friends/index.astro
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
---
import { i18n } from "../../i18n/translation";
import I18nKey from "../../i18n/i18nKey";
import MainGridLayout from "../../layouts/MainGridLayout.astro";
import FriendCard from "../../components/FriendCard.astro";
import friendsData from "../../data/friends.json";

// 评论组件
import Comment from "../../components/Comment.astro";
import FriendCard from "../../components/FriendCard.astro";
import friendsData from "../../data/friends.json";
import I18nKey from "../../i18n/i18nKey";
import { i18n } from "../../i18n/translation";
import MainGridLayout from "../../layouts/MainGridLayout.astro";
---

<MainGridLayout title="友情链接">
Expand Down
40 changes: 20 additions & 20 deletions src/pages/posts/[...slug].astro
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@ import { profileConfig, siteConfig } from "../../config";
import { formatDateToYYYYMMDD } from "../../utils/date-utils";

export async function getStaticPaths() {
const blogEntries = await getSortedPosts();
return blogEntries.map((entry) => ({
params: { slug: entry.slug },
props: { entry },
}));
const blogEntries = await getSortedPosts();
return blogEntries.map((entry) => ({
params: { slug: entry.slug },
props: { entry },
}));
}

const { entry } = Astro.props;
Expand All @@ -28,21 +28,21 @@ const { Content, headings } = await entry.render();
const { remarkPluginFrontmatter } = await entry.render();

const jsonLd = {
"@context": "https://schema.org",
"@type": "BlogPosting",
headline: entry.data.title,
description: entry.data.description || entry.data.title,
keywords: entry.data.tags,
author: {
"@type": "Person",
name: profileConfig.name,
url: Astro.site,
},
datePublished: formatDateToYYYYMMDD(entry.data.published),
inLanguage: entry.data.lang
? entry.data.lang.replace("_", "-")
: siteConfig.lang.replace("_", "-"),
// TODO include cover image here
"@context": "https://schema.org",
"@type": "BlogPosting",
headline: entry.data.title,
description: entry.data.description || entry.data.title,
keywords: entry.data.tags,
author: {
"@type": "Person",
name: profileConfig.name,
url: Astro.site,
},
datePublished: formatDateToYYYYMMDD(entry.data.published),
inLanguage: entry.data.lang
? entry.data.lang.replace("_", "-")
: siteConfig.lang.replace("_", "-"),
// TODO include cover image here
};

// 评论组件
Expand Down
32 changes: 16 additions & 16 deletions src/pages/ss/index.astro
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
---
import MainGridLayout from "../../layouts/MainGridLayout.astro";
import ssData from "../../data/ss.json";
import MainGridLayout from "../../layouts/MainGridLayout.astro";

// 精准时间转换函数
function getRelativeTime(dateString: string) {
const now = new Date();
const past = new Date(dateString);
const diffInMs = now.getTime() - past.getTime();
const diffInSecs = Math.floor(diffInMs / 1000);
const diffInMins = Math.floor(diffInSecs / 60);
const diffInHours = Math.floor(diffInMins / 60);
const diffInDays = Math.floor(diffInHours / 24);

if (diffInSecs < 60) return "刚刚";
if (diffInMins < 60) return `${diffInMins}分钟前`;
if (diffInHours < 24) return `${diffInHours}小时前`;
if (diffInDays === 1) return "昨天";
if (diffInDays === 2) return "前天";
if (diffInDays < 7) return `${diffInDays}天前`;
return dateString; // 超过一周显示原日期
const now = new Date();
const past = new Date(dateString);
const diffInMs = now.getTime() - past.getTime();
const diffInSecs = Math.floor(diffInMs / 1000);
const diffInMins = Math.floor(diffInSecs / 60);
const diffInHours = Math.floor(diffInMins / 60);
const diffInDays = Math.floor(diffInHours / 24);

if (diffInSecs < 60) return "刚刚";
if (diffInMins < 60) return `${diffInMins}分钟前`;
if (diffInHours < 24) return `${diffInHours}小时前`;
if (diffInDays === 1) return "昨天";
if (diffInDays === 2) return "前天";
if (diffInDays < 7) return `${diffInDays}天前`;
return dateString; // 超过一周显示原日期
}

// 评论组件
Expand Down
Loading