Update categories

This commit is contained in:
2026-02-03 16:02:39 +04:00
parent 2b2bcebf0c
commit 03be35a001
8 changed files with 23 additions and 18 deletions

View File

@@ -38,7 +38,7 @@ collections:
- { label: "Title", name: "title", widget: "string" }
- { label: "Description", name: "description", widget: "text" }
- { label: "Image", name: "image", widget: "image", required: false }
- { label: "Category", name: "category", widget: "select", options: ["proud","older","other"] }
- { label: "Category", name: "category", widget: "select", options: ["actual","history","other"] }
- { label: "Tech Stack", name: "techStack", widget: "list", default: [] }
- { label: "Status", name: "status", widget: "select", options: ["completed","in-progress","planned"] }
- { label: "Live Demo", name: "liveDemo", widget: "string", required: false }
@@ -58,7 +58,7 @@ collections:
- { label: "Name", name: "name", widget: "string" }
- { label: "Description", name: "description", widget: "text" }
- { label: "Icon", name: "icon", widget: "string" }
- { label: "Category", name: "category", widget: "select", options: ["ai","frontend","backend","native","devops","ide","tools","others"] }
- { label: "Category", name: "category", widget: "select", options: ["ai","frontend","backend","native","devops","ide","tools","softskills","others"] }
- { label: "Level", name: "level", widget: "select", options: ["beginner","intermediate","advanced","expert"] }
- label: "Experience"
name: "experience"

View File

@@ -70,8 +70,8 @@ enum I18nKey {
projects = "projects",
projectsSubtitle = "projectsSubtitle",
projectsAll = "projectsAll",
projectsProud = "projectsProud",
projectsOlder = "projectsOlder",
projectsActual = "projectsActual",
projectsHistory = "projectsHistory",
projectsOther = "projectsOther",
projectTechStack = "projectTechStack",
projectLiveDemo = "projectLiveDemo",
@@ -100,6 +100,7 @@ enum I18nKey {
skillsDevOps = "skillsDevOps",
skillsIDE = "skillsIDE",
skillsTools = "skillsTools",
skillsSoftSkills = "skillsSoftSkills",
skillsOthers = "skillsOthers",
skillLevel = "skillLevel",
skillLevelBeginner = "skillLevelBeginner",

View File

@@ -73,11 +73,11 @@ export const ru: Translation = {
[Key.projects]: "Проекты",
[Key.projectsSubtitle]: "Мое портфолио проектов",
[Key.projectsAll]: "Все",
[Key.projectsProud]: "Проекты, которыми я горжусь",
[Key.projectsOlder]: "Более старые проекты, которые показывают мой путь",
[Key.projectsActual]: "Проекты, которыми я горжусь",
[Key.projectsHistory]: "Более старые проекты, которые показывают мой путь",
[Key.projectsOther]: "Прочие начинания",
[Key.projectTechStack]: "Технологический стек",
[Key.projectLiveDemo]: "Живая демонстрация",
[Key.projectLiveDemo]: "Демо",
[Key.projectSourceCode]: "Исходный код",
[Key.projectDescription]: "Описание проекта",
[Key.projectStatus]: "Статус",
@@ -85,12 +85,12 @@ export const ru: Translation = {
[Key.projectStatusInProgress]: "В разработке",
[Key.projectStatusPlanned]: "Запланирован",
[Key.projectsTotal]: "Всего проектов",
[Key.projectsCompleted]: "Завершённых",
[Key.projectsCompleted]: "Завершён",
[Key.projectsInProgress]: "В разработке",
[Key.projectsTechStack]: "Статистика технологий",
[Key.projectsFeatured]: "Рекомендуемые проекты",
[Key.projectsFeatured]: "Лучшие проекты",
[Key.projectsPlanned]: "Запланированных",
[Key.projectsDemo]: "Живая демонстрация",
[Key.projectsDemo]: "Демо",
[Key.projectsSource]: "Исходный код",
// Страница навыков
@@ -103,6 +103,7 @@ export const ru: Translation = {
[Key.skillsDevOps]: "DevOps",
[Key.skillsIDE]: "IDE",
[Key.skillsTools]: "Инструменты",
[Key.skillsSoftSkills]: "SoftSkills",
[Key.skillsOthers]: "Прочее",
[Key.skillLevel]: "Уровень владения",
[Key.skillLevelBeginner]: "Начинающий",

View File

@@ -44,10 +44,10 @@ const projectsByCategory = categories.reduce(
// 获取分类文本的国际化翻译
const getCategoryText = (category: string) => {
switch (category) {
case "proud":
return i18n(I18nKey.projectsProud);
case "older":
return i18n(I18nKey.projectsOlder);
case "actual":
return i18n(I18nKey.projectsActual);
case "history":
return i18n(I18nKey.projectsHistory);
case "other":
return i18n(I18nKey.projectsOther);
case UNCATEGORIZED:

View File

@@ -57,6 +57,8 @@ const getCategoryText = (category: string) => {
return i18n(I18nKey.skillsIDE);
case "tools":
return i18n(I18nKey.skillsTools);
case "softskills":
return i18n(I18nKey.skillsSoftSkills);
case "others":
return i18n(I18nKey.skillsOthers);
case UNCATEGORIZED:

View File

@@ -7,7 +7,7 @@ export interface Project {
title: string;
description: string;
image: string;
category: "proud" | "older" | "other";
category: "actual" | "history" | "other";
techStack: string[];
status: "completed" | "in-progress" | "planned";
demoUrl?: string;

View File

@@ -7,7 +7,7 @@ export interface Skill {
name: string;
description: string;
icon: string; // Iconify icon name
category: "ai" | "frontend" | "backend" | "native" | "devops" | "ide" | "tools" | "others";
category: "ai" | "frontend" | "backend" | "native" | "devops" | "ide" | "tools" | "softskills" | "others";
level: "beginner" | "intermediate" | "advanced" | "expert";
experience: {
years: number;
@@ -41,6 +41,7 @@ export const getSkillStats = () => {
devops: skillsData.filter((s) => s.category === "devops").length,
ide: skillsData.filter((s) => s.category === "ide").length,
tools: skillsData.filter((s) => s.category === "tools").length,
softskills: skillsData.filter((s) => s.category === "softskills").length,
others: skillsData.filter((s) => s.category === "others").length,
};
return { total, byLevel, byCategory };

View File

@@ -23,7 +23,7 @@ site:
src: "https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic&display=swap"
family: "Zen Maru Gothic"
themeColor:
hue: 55
hue: 90
fixed: true
defaultTheme: "dark"
wallpaper:
@@ -180,7 +180,7 @@ musicPlayer:
cover: "assets/images/reflecting.jpg"
url: "assets/music/reflecting.mp3"
duration: 90
autoplay: true
autoplay: false
pio:
enable: false