From 03be35a001f8487506f808fe47c5062bb007ae7d Mon Sep 17 00:00:00 2001 From: StepanovPlaton Date: Tue, 3 Feb 2026 16:02:39 +0400 Subject: [PATCH] Update categories --- public/admin/config.yml | 4 ++-- src/i18n/i18nKey.ts | 5 +++-- src/i18n/languages/ru.ts | 13 +++++++------ src/pages/projects.astro | 8 ++++---- src/pages/skills.astro | 2 ++ src/utils/projects.ts | 2 +- src/utils/skills.ts | 3 ++- twilight.config.yaml | 4 ++-- 8 files changed, 23 insertions(+), 18 deletions(-) diff --git a/public/admin/config.yml b/public/admin/config.yml index fd5970f..90a011d 100644 --- a/public/admin/config.yml +++ b/public/admin/config.yml @@ -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" diff --git a/src/i18n/i18nKey.ts b/src/i18n/i18nKey.ts index 2a1b213..5e1178d 100644 --- a/src/i18n/i18nKey.ts +++ b/src/i18n/i18nKey.ts @@ -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", diff --git a/src/i18n/languages/ru.ts b/src/i18n/languages/ru.ts index ed772d5..13c2aa2 100644 --- a/src/i18n/languages/ru.ts +++ b/src/i18n/languages/ru.ts @@ -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]: "Начинающий", diff --git a/src/pages/projects.astro b/src/pages/projects.astro index f6f3e26..3f4eab6 100644 --- a/src/pages/projects.astro +++ b/src/pages/projects.astro @@ -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: diff --git a/src/pages/skills.astro b/src/pages/skills.astro index 47d779c..f7ecc5a 100644 --- a/src/pages/skills.astro +++ b/src/pages/skills.astro @@ -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: diff --git a/src/utils/projects.ts b/src/utils/projects.ts index 4844ba2..b5d3399 100644 --- a/src/utils/projects.ts +++ b/src/utils/projects.ts @@ -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; diff --git a/src/utils/skills.ts b/src/utils/skills.ts index 165906f..7d764b9 100644 --- a/src/utils/skills.ts +++ b/src/utils/skills.ts @@ -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 }; diff --git a/twilight.config.yaml b/twilight.config.yaml index 3c8dd5e..858d3c7 100644 --- a/twilight.config.yaml +++ b/twilight.config.yaml @@ -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 \ No newline at end of file