diff --git a/.vitepress/config.mts b/.vitepress/config.mts index 3f8b6bc..16c8a94 100644 --- a/.vitepress/config.mts +++ b/.vitepress/config.mts @@ -1,15 +1,12 @@ import { figure } from '@mdit/plugin-figure'; import { defineConfig, type HeadConfig } from 'vitepress'; -import { - navTranslations, - themeConfigTranslations, -} from './data/i18n'; +import { navTranslations, themeConfigTranslations } from './data/i18n'; // SEO 相关常量 const SITE_URL = 'https://pclce-web.demo.fis.ink'; const SITE_NAME = 'PCL CE'; const DEFAULT_DESCRIPTION = - 'PCL CE是基于 PCL2 构建的开源免费 Minecraft 启动器,提供智能崩溃分析、多文件夹实例管理、资源一键下载与多账号支持'; + 'PCL CE是基于 PCL2 构建的开源免费 Minecraft 启动器,提供精准崩溃分析、多文件夹实例管理、资源一键下载与多账号支持'; const DEFAULT_KEYWORDS = 'PCL,PCL2,Minecraft启动器,我的世界启动器,开源启动器,崩溃分析,模组管理,Java管理'; @@ -147,7 +144,7 @@ export default defineConfig({ label: '简体中文', lang: 'zh-CN', title: 'PCL CE', - description: '开源免费的 Minecraft 启动器,支持崩溃分析与多版本管理', + description: '开源免费的 Minecraft 启动器,支持精准崩溃分析与多版本管理', themeConfig: { nav: navTranslations['zh-CN'], ...themeConfigTranslations['zh-CN'], @@ -158,7 +155,7 @@ export default defineConfig({ lang: 'en', title: 'PCL CE', description: - 'Open Source & Free Minecraft Launcher with Smart Crash Analysis', + 'Open Source & Free Minecraft Launcher with Accurate Crash Analysis', themeConfig: { nav: navTranslations.en, ...themeConfigTranslations.en, diff --git a/.vitepress/data/locales/en.ts b/.vitepress/data/locales/en.ts index fa73581..ce7bf7b 100644 --- a/.vitepress/data/locales/en.ts +++ b/.vitepress/data/locales/en.ts @@ -70,8 +70,11 @@ export const en: LocaleMessages = { history: { title: 'Historical Releases', - subtitle: 'Fetch historical releases and download links from GitHub.', + subtitle: 'Select a release, choose source, then download the installer.', selectLabel: 'Select a release', + sourceLabel: 'Download source', + sourceGithub: 'GitHub Official', + sourceMirror1: 'Mirror 1 (Accelerated)', loading: 'Loading releases…', error: 'Failed to load releases.', retry: 'Retry', diff --git a/.vitepress/data/locales/index.ts b/.vitepress/data/locales/index.ts index 388e28e..338e0b9 100644 --- a/.vitepress/data/locales/index.ts +++ b/.vitepress/data/locales/index.ts @@ -66,6 +66,9 @@ export interface LocaleMessages { title: string; subtitle: string; selectLabel: string; + sourceLabel: string; + sourceGithub: string; + sourceMirror1: string; loading: string; error: string; retry: string; diff --git a/.vitepress/data/locales/zh.ts b/.vitepress/data/locales/zh.ts index 190b333..9b8b18d 100644 --- a/.vitepress/data/locales/zh.ts +++ b/.vitepress/data/locales/zh.ts @@ -71,8 +71,11 @@ export const zh: LocaleMessages = { history: { title: '历史版本下载', - subtitle: '选择版本查看更新日志并下载对应安装包。', + subtitle: '选择版本并切换下载源后下载对应安装包。', selectLabel: '选择版本', + sourceLabel: '下载源', + sourceGithub: 'GitHub 官方链接', + sourceMirror1: '下载线路1', loading: '正在获取版本列表…', error: '获取失败,请稍后再试。', retry: '重试', diff --git a/.vitepress/theme/blur.css b/.vitepress/theme/blur.css index 938cf52..b068163 100644 --- a/.vitepress/theme/blur.css +++ b/.vitepress/theme/blur.css @@ -12,13 +12,6 @@ backdrop-filter: blur(10px); } - /* Feature透明 */ - .VPFeature { - border: 1px solid transparent; - box-shadow: 0 10px 30px 0 rgb(0 0 0 / 15%); - background-color: transparent; - } - /* 文档页侧边栏顶部透明 */ .curtain { background-color: rgba(255, 255, 255, 0); diff --git a/.vitepress/theme/components/HistoryReleases.vue b/.vitepress/theme/components/HistoryReleases.vue index 750f991..b9c7619 100644 --- a/.vitepress/theme/components/HistoryReleases.vue +++ b/.vitepress/theme/components/HistoryReleases.vue @@ -1,5 +1,4 @@ @@ -303,7 +338,7 @@ const releaseHtml = computed(() => { width: 32px; height: 32px; border-radius: 999px; - border: 3px solid rgba(2, 102, 193, 0.2); + border: 3px solid var(--vp-c-brand-soft); border-top-color: var(--vp-c-brand-1); animation: spin 1s linear infinite; } @@ -365,8 +400,8 @@ const releaseHtml = computed(() => { min-width: 0; padding: 0.55rem 0.9rem; border-radius: 10px; - border: 1px solid rgba(2, 102, 193, 0.4); - background: linear-gradient(135deg, rgba(2, 102, 193, 0.12), rgba(2, 102, 193, 0.02)); + border: 1px solid var(--vp-c-divider); + background: var(--vp-c-bg); color: var(--vp-c-text-1); font-weight: 600; display: flex; @@ -376,7 +411,7 @@ const releaseHtml = computed(() => { } .history-select:focus { - outline: 2px solid rgba(2, 102, 193, 0.45); + outline: 2px solid var(--vp-c-brand-1); outline-offset: 2px; } @@ -385,7 +420,7 @@ const releaseHtml = computed(() => { margin-left: 0.5rem; padding: 0.15rem 0.5rem; border-radius: 999px; - background: rgba(2, 102, 193, 0.18); + background: var(--vp-c-brand-soft); color: var(--vp-c-brand-1); font-size: 0.75rem; } @@ -440,7 +475,7 @@ const releaseHtml = computed(() => { } .history-select-option:hover { - background: rgba(2, 102, 193, 0.1); + background: var(--vp-c-brand-soft); } .history-select-title { @@ -557,6 +592,7 @@ const releaseHtml = computed(() => { .history-assets { display: flex; flex-wrap: wrap; + justify-content: center; gap: 0.75rem; margin: 0.6rem 0 0.35rem; } diff --git a/.vitepress/theme/components/HomeUnderline.vue b/.vitepress/theme/components/HomeUnderline.vue new file mode 100644 index 0000000..3155334 --- /dev/null +++ b/.vitepress/theme/components/HomeUnderline.vue @@ -0,0 +1,62 @@ + + + + + \ No newline at end of file diff --git a/.vitepress/theme/components/ImageGallery.vue b/.vitepress/theme/components/ImageGallery.vue new file mode 100644 index 0000000..19bf2a4 --- /dev/null +++ b/.vitepress/theme/components/ImageGallery.vue @@ -0,0 +1,173 @@ + + + + + diff --git a/.vitepress/theme/components/SiteFooter.vue b/.vitepress/theme/components/SiteFooter.vue index c1ec208..81c4e80 100644 --- a/.vitepress/theme/components/SiteFooter.vue +++ b/.vitepress/theme/components/SiteFooter.vue @@ -117,7 +117,7 @@ onMounted(() => (currentYear.value = new Date().getFullYear().toString())); > {{ footer.author.startYear ? footer.author.startYear + ' - ' : '' }}{{ currentYear }} {{ footer.author.name }} - {{ footer.author.text || 'All Rights Reserved.' }} + {{ (footer.author.text && footer.author.text !== 'MIT License.') ? footer.author.text : '' }} diff --git a/.vitepress/theme/index.ts b/.vitepress/theme/index.ts index 1cadd4e..1fb8a22 100644 --- a/.vitepress/theme/index.ts +++ b/.vitepress/theme/index.ts @@ -9,6 +9,8 @@ import { getFooterData, getMessages, type Lang } from '../data/i18n'; import './style.css'; import AboutPage from './components/AboutPage.vue'; import HistoryReleases from './components/HistoryReleases.vue'; +import HomeUnderline from './components/HomeUnderline.vue'; +import ImageGallery from './components/ImageGallery.vue'; import MirrorGrid from './components/MirrorGrid.vue'; import SiteFooter from './components/SiteFooter.vue'; import VideoSection from './components/VideoSection.vue'; @@ -37,5 +39,7 @@ export default { app.component('AboutPage', AboutPage); app.component('HistoryReleases', HistoryReleases); app.component('VideoSection', VideoSection); + app.component('HomeUnderline', HomeUnderline); + app.component('ImageGallery', ImageGallery); }, } satisfies Theme; diff --git a/.vitepress/theme/style.css b/.vitepress/theme/style.css index 917e23b..264c52f 100644 --- a/.vitepress/theme/style.css +++ b/.vitepress/theme/style.css @@ -2,27 +2,33 @@ /* CSS 变量 */ :root { - --primary-color: #0266c1; - --primary-dark: #00264f; - --gradient-primary: linear-gradient(135deg, #0266c1 0%, #00264f 100%); - --vp-c-brand-1: #0266c1; - --vp-c-brand-2: #0252a1; - --vp-c-brand-3: #00264f; - --vp-c-brand-soft: rgba(2, 102, 193, 0.14); + /* 调整基础背景色,带上清爽的淡蓝色调 */ + --vp-c-bg: #ffffff; + --vp-c-bg-alt: #f6f6f7; + --vp-c-bg-elv: #ffffff; + --vp-c-bg-soft: #f6f6f7; + + --primary-color: #116ecb; + --primary-dark: #0d5aa6; + --gradient-primary: linear-gradient(135deg, #116ecb 0%, #4a94e8 100%); + --vp-c-brand-1: #116ecb; + --vp-c-brand-2: #167ce3; + --vp-c-brand-3: #0d5aa6; + --vp-c-brand-soft: rgba(17, 110, 203, 0.12); --vp-home-hero-name-color: transparent; --vp-home-hero-name-background: linear-gradient( 135deg, - #00264f 0%, - #0266c1 50%, - #3e6fc1 100% + #0d5aa6 0%, + #116ecb 50%, + #69a8ed 100% ); --vp-home-hero-image-background-image: linear-gradient( 135deg, - #00264f 0%, - #0266c1 50%, - #3e6fc1 100% + #4a94e8 0%, + #116ecb 50%, + #8abef2 100% ); - --vp-home-hero-image-filter: blur(68px); + --vp-home-hero-image-filter: blur(48px); --vp-button-brand-border: transparent; --vp-button-brand-text: #fff; --vp-button-brand-bg: var(--vp-c-brand-1); @@ -35,10 +41,16 @@ } .dark { - --vp-c-brand-1: #3e6fc1; - --vp-c-brand-2: #0266c1; - --vp-c-brand-3: #778eaa; - --vp-c-brand-soft: rgba(62, 111, 193, 0.14); + /* 调整深色模式背景,使用偏蓝的深色而不是死黑 */ + --vp-c-bg: #1b1b1f; + --vp-c-bg-alt: #161618; + --vp-c-bg-elv: #202127; + --vp-c-bg-soft: #202127; + + --vp-c-brand-1: #4a94e8; + --vp-c-brand-2: #116ecb; + --vp-c-brand-3: #8abef2; + --vp-c-brand-soft: rgba(74, 148, 232, 0.16); } /* 基础优化 */ @@ -115,22 +127,23 @@ a:focus-visible { /* Hero 响应式模糊 */ @media (min-width: 640px) { :root { - --vp-home-hero-image-filter: blur(80px); + --vp-home-hero-image-filter: blur(56px); } } @media (min-width: 960px) { :root { - --vp-home-hero-image-filter: blur(96px); + --vp-home-hero-image-filter: blur(64px); } } /* Feature 卡片样式 */ .VPFeature { border: 1px solid var(--vp-c-divider); - box-shadow: 0 10px 30px 0 rgb(0 0 0 / 15%); - background-color: transparent; - transition: border-color 0.2s; + border-radius: 16px; + box-shadow: 0 4px 24px rgba(0, 0, 0, 0.04); + background-color: var(--vp-c-bg-soft); + transition: border-color 0.3s ease, box-shadow 0.3s ease; } .VPFeatures .items .item { @@ -138,6 +151,7 @@ a:focus-visible { .VPFeatures .items .item:hover .VPFeature { border-color: var(--vp-c-brand-1); + box-shadow: 0 8px 30px rgba(17, 110, 203, 0.08); } /* 导航栏样式 */ diff --git a/src/download.md b/src/download.md index b02c069..ca2ca42 100644 --- a/src/download.md +++ b/src/download.md @@ -46,7 +46,7 @@ keywords: PCL下载,Minecraft启动器下载,PCL社区版下载,启动器下载 :items="[ { href: 'https://github.com/PCL-Community/PCL2-CE/releases/latest/download/PCL2_CE_Release_x64.exe', label: 'GitHub' }, { href: 'https://download.fishcpy.top/dl/pclce/pcl2ce/PCL2_CE_Release_x64.exe', label: '线路1' }, - { href: 'https://scdn.星.fun/PCL2_CE_Release_x64.exe', label: '线路4' } + { href: 'https://scdn.星.fun/PCL2_CE_Release_x64.exe', label: '线路2' } ]" /> @@ -58,7 +58,7 @@ keywords: PCL下载,Minecraft启动器下载,PCL社区版下载,启动器下载 :items="[ { href: 'https://github.com/PCL-Community/PCL2-CE/releases/latest/download/PCL2_CE_Release_ARM64.exe', label: 'GitHub' }, { href: 'https://download.fishcpy.top/dl/pclce/pcl2ce/PCL2_CE_Release_ARM64.exe', label: '线路1' }, - { href: 'https://scdn.星.fun/PCL2_CE_Release_ARM64.exe', label: '线路4' } + { href: 'https://scdn.星.fun/PCL2_CE_Release_ARM64.exe', label: '线路2' } ]" /> diff --git a/src/en/download.md b/src/en/download.md index ce02e5f..275e077 100644 --- a/src/en/download.md +++ b/src/en/download.md @@ -46,7 +46,7 @@ For most Windows PCs :items="[ { href: 'https://github.com/PCL-Community/PCL2-CE/releases/latest/download/PCL2_CE_Release_x64.exe', label: 'GitHub' }, { href: 'https://download.fishcpy.top/dl/pclce/pcl2ce/PCL2_CE_Release_x64.exe', label: 'Mirror 1' }, - { href: 'https://scdn.星.fun/PCL2_CE_Release_x64.exe', label: 'Mirror 4' } + { href: 'https://scdn.星.fun/PCL2_CE_Release_x64.exe', label: 'Mirror 2' } ]" /> @@ -58,7 +58,7 @@ For ARM-based Windows PCs :items="[ { href: 'https://github.com/PCL-Community/PCL2-CE/releases/latest/download/PCL2_CE_Release_ARM64.exe', label: 'GitHub' }, { href: 'https://download.fishcpy.top/dl/pclce/pcl2ce/PCL2_CE_Release_ARM64.exe', label: 'Mirror 1' }, - { href: 'https://scdn.星.fun/PCL2_CE_Release_ARM64.exe', label: 'Mirror 4' } + { href: 'https://scdn.星.fun/PCL2_CE_Release_ARM64.exe', label: 'Mirror 2' } ]" /> diff --git a/src/en/index.md b/src/en/index.md index 706bc5b..53e1864 100644 --- a/src/en/index.md +++ b/src/en/index.md @@ -1,7 +1,7 @@ --- layout: home title: PCL CE | Open Source Minecraft Launcher -description: Free open-source Minecraft launcher with smart crash analysis, multi-instance management, and one-click resource downloads +description: Free open-source Minecraft launcher with accurate crash analysis, multi-instance management, and one-click resource downloads keywords: PCL,PCL2,Minecraft Launcher,Open Source Launcher,Crash Analysis,Mod Management hero: @@ -20,8 +20,8 @@ hero: link: /en/about features: - - icon: ⚡ - title: Smart Crash Analysis + - icon: 🔍 + title: Accurate Crash Analysis details: Auto-detect crashes and provide solutions. - icon: 📁 title: Multi-Folder Management @@ -40,8 +40,43 @@ features: details: Community-driven, free forever with continuous updates. --- + + \ No newline at end of file +/> + + + +
+

PCL CE Contributors

+ + PCL CE Contributors + +
+ + \ No newline at end of file diff --git a/src/index.md b/src/index.md index 95e6aac..453501b 100644 --- a/src/index.md +++ b/src/index.md @@ -1,7 +1,7 @@ --- layout: home title: PCL CE官网 | 开源免费的 Minecraft 启动器 -description: PCL CE是基于 PCL2 构建的开源免费 Minecraft 启动器,提供智能崩溃分析、多文件夹实例管理、资源一键下载与多账号支持 +description: PCL CE是基于 PCL2 构建的开源免费 Minecraft 启动器,提供精准崩溃分析、多文件夹实例管理、资源一键下载与多账号支持 keywords: PCL,PCL2,Minecraft启动器,我的世界启动器,开源启动器,崩溃分析,模组管理 hero: @@ -20,8 +20,8 @@ hero: link: /about features: - - icon: ⚡ - title: 智能崩溃分析 + - icon: 🔍 + title: 精准崩溃分析 details: 自动检测并分析游戏崩溃原因,提供详细的解决方案和建议,让你快速解决问题。 - icon: 📁 title: 多文件夹管理 @@ -40,8 +40,43 @@ features: details: 完全开源的项目,永久免费使用,社区驱动开发,持续更新和改进。 --- + + \ No newline at end of file +/> + + + +
+

PCL CE 贡献者

+ + PCL CE 贡献者 + +
+ + \ No newline at end of file