diff --git a/astro.config.mjs b/astro.config.mjs index 569f46f..4826b07 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -68,6 +68,8 @@ export default defineConfig({ name: "posts", label: "Публикации", label_singular: "публикацию", + description: + "Технические статьи, туториалы и различные справочные материалы которые связаны с IT тематикой", folder: "src/content/blog", slug: "{{year}}-{{month}}-{{day}}_{{slug}}", create: true, @@ -269,14 +271,32 @@ export default defineConfig({ { name: "skills", label: "Навыки", + label_singular: "навык", folder: "src/content/skills", create: true, delete: true, + description: "Навыки отображаются на странице Обо мне", + i18n: true, fields: [ { name: "title", - widget: "string", label: "Категория", + widget: "string", + required: true, + i18n: true, + }, + { + name: "list", + label: "Записи", + required: true, + widget: "list", + allow_add: true, + min: 1, + i18n: true, + fields: [ + { name: "icon", label: "Иконка", widget: "string", i18n: true, required: false }, + { name: "title", label: "Название", widget: "string", i18n: true }, + ], }, ], }, @@ -290,7 +310,7 @@ export default defineConfig({ { name: "site-settings", label: "Настройки веб-сайта", - file: "src/content/site-settings.yml", + file: "src/content/site-settings.md", fields: [ { label: "Глобальный заголовок", @@ -298,6 +318,13 @@ export default defineConfig({ widget: "string", hint: "Отображется во вкладке браузера.", }, + { + label: "В разработке", + name: "isUnderConstruction", + widget: "boolean", + default: false, + hint: "Отображает баннер на всех старницах о том, что веб-сайт находится в разработке", + }, { label: "Статьи", name: "articles", diff --git a/src/content/config.ts b/src/content/config.ts index 22cd6ea..c247b89 100644 --- a/src/content/config.ts +++ b/src/content/config.ts @@ -46,4 +46,16 @@ const projects = defineCollection({ }), }); -export const collections = { blog, tags, authors, projects }; +const skills = defineCollection({ + schema: z.object({ + title: z.string(), + list: z + .object({ + icon: z.string().optional(), + title: z.string(), + }) + .array(), + }), +}); + +export const collections = { blog, tags, authors, projects, skills }; diff --git a/src/content/site-settings.yml b/src/content/site-settings.md similarity index 86% rename from src/content/site-settings.yml rename to src/content/site-settings.md index 5816334..500621c 100644 --- a/src/content/site-settings.yml +++ b/src/content/site-settings.md @@ -1,3 +1,5 @@ +--- globalTitle: yarkov.tech articles: recentLimit: 5 +--- diff --git a/src/content/skills/en/базы-данных.md b/src/content/skills/en/базы-данных.md new file mode 100644 index 0000000..de2b4e4 --- /dev/null +++ b/src/content/skills/en/базы-данных.md @@ -0,0 +1,10 @@ +--- +title: Databases +list: + - icon: postgresql + title: PostgreSQL + - icon: mongodb + title: MongoDB + - icon: redis + title: Redis +--- diff --git a/src/content/skills/en/инструменты.md b/src/content/skills/en/инструменты.md new file mode 100644 index 0000000..92bd83e --- /dev/null +++ b/src/content/skills/en/инструменты.md @@ -0,0 +1,16 @@ +--- +title: Tools +list: + - icon: nodejs + title: Node.js + - icon: docker + title: Docker + - icon: git-branch + title: Git/gitflow + - icon: sass + title: SASS + - icon: webpack + title: Webpack + - icon: vite + title: Vite.js +--- diff --git a/src/content/skills/en/программирование.md b/src/content/skills/en/программирование.md new file mode 100644 index 0000000..632a796 --- /dev/null +++ b/src/content/skills/en/программирование.md @@ -0,0 +1,12 @@ +--- +title: Programming +list: + - icon: nodejs + title: Javascript/Typescript + - icon: language-c + title: C Language + - icon: mysql + title: SQL + - icon: avr + title: AVR instruction set +--- diff --git a/src/content/skills/en/фреймворки.md b/src/content/skills/en/фреймворки.md new file mode 100644 index 0000000..bbc7267 --- /dev/null +++ b/src/content/skills/en/фреймворки.md @@ -0,0 +1,18 @@ +--- +title: Frameworks +list: + - icon: adonisjs + title: Adonis.js + - icon: alpinejs + title: Alpine.js + - icon: expressjs + title: Express.js + - icon: socket-io + title: Socket.io + - icon: astro_filled + title: Astro.js + - icon: reactjs + title: React.js + - icon: gatsbyjs + title: Gatsby.js +--- diff --git a/src/content/skills/en/языки.md b/src/content/skills/en/языки.md new file mode 100644 index 0000000..b293f63 --- /dev/null +++ b/src/content/skills/en/языки.md @@ -0,0 +1,6 @@ +--- +title: Languages +list: + - title: Russian (native) + - title: English (B1) +--- diff --git a/src/content/skills/ru/базы-данных.md b/src/content/skills/ru/базы-данных.md new file mode 100644 index 0000000..1835e35 --- /dev/null +++ b/src/content/skills/ru/базы-данных.md @@ -0,0 +1,10 @@ +--- +title: Базы данных +list: + - icon: postgresql + title: PostgreSQL + - icon: mongodb + title: MongoDB + - icon: redis + title: Redis +--- diff --git a/src/content/skills/ru/инструменты.md b/src/content/skills/ru/инструменты.md new file mode 100644 index 0000000..08044a6 --- /dev/null +++ b/src/content/skills/ru/инструменты.md @@ -0,0 +1,16 @@ +--- +title: Инструменты +list: + - icon: nodejs + title: Node.js + - icon: docker + title: Docker + - icon: git-branch + title: Git/gitflow + - icon: sass + title: SASS + - icon: webpack + title: Webpack + - icon: vite + title: Vite.js +--- diff --git a/src/content/skills/ru/программирование.md b/src/content/skills/ru/программирование.md new file mode 100644 index 0000000..6886a89 --- /dev/null +++ b/src/content/skills/ru/программирование.md @@ -0,0 +1,12 @@ +--- +title: Программирование +list: + - icon: nodejs + title: Javascript/Typescript + - icon: language-c + title: C Language + - icon: mysql + title: SQL + - icon: avr + title: AVR instruction set +--- diff --git a/src/content/skills/ru/фреймворки.md b/src/content/skills/ru/фреймворки.md new file mode 100644 index 0000000..965ec67 --- /dev/null +++ b/src/content/skills/ru/фреймворки.md @@ -0,0 +1,18 @@ +--- +title: Фреймворки +list: + - icon: adonisjs + title: Adonis.js + - icon: alpinejs + title: Alpine.js + - icon: expressjs + title: Express.js + - icon: socket-io + title: Socket.io + - icon: astro_filled + title: Astro.js + - icon: reactjs + title: React.js + - icon: gatsbyjs + title: Gatsby.js +--- diff --git a/src/content/skills/ru/языки.md b/src/content/skills/ru/языки.md new file mode 100644 index 0000000..627ac4f --- /dev/null +++ b/src/content/skills/ru/языки.md @@ -0,0 +1,6 @@ +--- +title: Языки +list: + - title: Русский (родной) + - title: Английский (B1) +---