mirror of
https://github.com/StepanovPlaton/AboutMe.git
synced 2026-04-03 20:30:49 +04:00
Refactor skiils
This commit is contained in:
BIN
public/favicon/favicon.ico
Normal file
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 |
@@ -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]: "Продвинутый",
|
||||||
|
|||||||
@@ -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) => {
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user