refactor: 移除pagefind搜索功能及相关配置

删除pagefind.yml配置文件,移除package.json中的pagefind依赖
清理Navbar.astro和global.d.ts中与pagefind相关的代码
更新构建脚本不再包含pagefind命令
This commit is contained in:
afoim
2025-07-31 11:29:38 +08:00
parent 467d35a812
commit 4edb87ad08
6 changed files with 12 additions and 56 deletions

View File

@@ -5,7 +5,7 @@
"scripts": {
"dev": "astro dev",
"start": "astro dev",
"build": "astro build && pagefind --site dist",
"build": "astro build",
"preview": "astro preview",
"astro": "astro",
"type-check": "tsc --noEmit --isolatedDeclarations",
@@ -37,7 +37,7 @@
"markdown-it": "^14.1.0",
"mdast-util-to-string": "^4.0.0",
"overlayscrollbars": "^2.11.1",
"pagefind": "^1.3.0",
"photoswipe": "^5.4.4",
"reading-time": "^1.5.0",
"rehype-autolink-headings": "^7.1.0",

View File

@@ -1,3 +0,0 @@
exclude_selectors:
- "span.katex"
- "span.katex-display"

View File

@@ -104,16 +104,3 @@ function loadButtonScript() {
loadButtonScript();
</script>
{import.meta.env.PROD && <script is:inline define:vars={{scriptUrl: url('/pagefind/pagefind.js')}}>
async function loadPagefind() {
const pagefind = await import(scriptUrl)
await pagefind.options({
'excerptLength': 20
})
pagefind.init()
window.pagefind = pagefind
pagefind.search('') // speed up the first search
}
loadPagefind()
</script>}

View File

@@ -1,11 +1,19 @@
<script lang="ts">
import type { SearchResult } from "@/global";
import I18nKey from "@i18n/i18nKey";
import { i18n } from "@i18n/translation";
import Icon from "@iconify/svelte";
import { url } from "@utils/url-utils.ts";
import { onMount } from "svelte";
interface SearchResult {
url: string;
meta: {
title: string;
};
excerpt: string;
urlPath?: string;
}
let keywordDesktop = "";
let keywordMobile = "";
let result: SearchResult[] = [];

View File

@@ -11,9 +11,7 @@ lang: ''
# 举个例子吧!
这是一个无CSP标头的网站 [点我](https://none-csp-demo.pages.dev/csp?name=%3Cimg%20src=x%20onerror=%22alert(%27XSS%E6%94%BB%E5%87%BB%E6%88%90%E5%8A%9F%27)%22%3E)
这是一个无CSP标头的网站 [点我](https://none-csp-demo.pages.dev/nocsp?name=%3Cimg%20src=x%20onerror=%22alert(%27XSS%E6%94%BB%E5%87%BB%E6%88%90%E5%8A%9F%27)%22%3E)
不出意外,你的浏览器会弹出一个提示

34
src/global.d.ts vendored
View File

@@ -4,39 +4,5 @@ declare global {
interface Window {
// type from '@swup/astro' is incorrect
swup: AstroIntegration;
pagefind: {
search: (query: string) => Promise<{
results: Array<{
data: () => Promise<SearchResult>;
}>;
}>;
};
}
}
interface SearchResult {
url: string;
meta: {
title: string;
};
excerpt: string;
urlPath?: string;
content?: string;
word_count?: number;
filters?: Record<string, unknown>;
anchors?: Array<{
element: string;
id: string;
text: string;
location: number;
}>;
weighted_locations?: Array<{
weight: number;
balanced_score: number;
location: number;
}>;
locations?: number[];
raw_content?: string;
raw_url?: string;
sub_results?: SearchResult[];
}