Refactor skiils

This commit is contained in:
2026-02-03 17:24:44 +04:00
parent 9458a6b1d1
commit 565dd0981d
6 changed files with 15 additions and 21 deletions

BIN
public/favicon/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

View File

@@ -111,8 +111,8 @@ export const ru: Translation = {
[Key.skillLevelAdvanced]: "Продвинутый", [Key.skillLevelAdvanced]: "Продвинутый",
[Key.skillLevelExpert]: "Эксперт", [Key.skillLevelExpert]: "Эксперт",
[Key.skillExperience]: "Опыт", [Key.skillExperience]: "Опыт",
[Key.skillYears]: "лет", [Key.skillYears]: " г.",
[Key.skillMonths]: "месяцев", [Key.skillMonths]: " мес.",
[Key.skillsTotal]: "Всего навыков", [Key.skillsTotal]: "Всего навыков",
[Key.skillsExpert]: "Экспертный уровень", [Key.skillsExpert]: "Экспертный уровень",
[Key.skillsAdvanced]: "Продвинутый", [Key.skillsAdvanced]: "Продвинутый",

View File

@@ -6,7 +6,6 @@ import { LinkPresets } from "@constants/link-presets";
import { LinkPreset } from "@/types/config"; import { LinkPreset } from "@/types/config";
import { UNCATEGORIZED } from "@constants/constants"; import { UNCATEGORIZED } from "@constants/constants";
import { import {
getAdvancedSkills,
getSkillStats, getSkillStats,
getSkillsByCategory, getSkillsByCategory,
getTotalExperience, getTotalExperience,
@@ -25,11 +24,14 @@ const subtitle = LinkPresets[LinkPreset.Skills].description;
// 获取技能统计信息 // 获取技能统计信息
const stats = getSkillStats(); const stats = getSkillStats();
const advancedSkills = getAdvancedSkills();
const totalExperience = getTotalExperience(); const totalExperience = getTotalExperience();
// 获取所有分类 // 定义分类顺序
const categories = [...new Set(skillsData.map((skill) => skill.category))]; const categoryOrder = ["frontend", "backend", "devops", "ai", "native", "tools", "ide", "softskills", "others"];
// 获取所有分类并按指定顺序排序
const allCategories = [...new Set(skillsData.map((skill) => skill.category))];
const categories = categoryOrder.filter(cat => allCategories.includes(cat));
// 按分类获取技能 // 按分类获取技能
const skillsByCategory = categories.reduce( const skillsByCategory = categories.reduce(
@@ -110,20 +112,6 @@ const allIcons = skillsData.map((skill) => skill.icon).filter(Boolean);
</div> </div>
</div> </div>
<!-- 专业技能 -->
{advancedSkills.length > 0 && (
<div class="mb-8">
<h2 class="text-2xl font-bold text-black/90 dark:text-white/90 mb-4">
{i18n(I18nKey.skillsAdvancedTitle)}
</h2>
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
{advancedSkills.map((skill) => (
<SkillCard skill={skill} size="large" showProgress={true} showIcon={true} />
))}
</div>
</div>
)}
<!-- 按分类展示技能 --> <!-- 按分类展示技能 -->
<div class="space-y-8"> <div class="space-y-8">
{categories.map((category) => { {categories.map((category) => {

View File

@@ -73,7 +73,13 @@ site:
spinner: spinner:
enable: true enable: true
interval: 1.5 interval: 1.5
favicon: [] favicon:
- src: "/favicon/favicon.ico"
theme: "light"
sizes: "96x96"
- src: "/favicon/favicon.ico"
theme: "dark"
sizes: "96x96"
bangumi: bangumi:
userId: "your-bangumi-id" userId: "your-bangumi-id"
generateOgImages: false generateOgImages: false