diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index adaf4daa7a70..7c5d0c398200 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -130,7 +130,8 @@ export default defineConfig({ ru: { label: 'Русский', lang: 'ru-RU', dir: 'ltr' }, es: { label: 'Español', lang: 'es', dir: 'ltr' }, ko: { label: '한국어', lang: 'ko-KR', dir: 'ltr' }, - fa: { label: 'فارسی', lang: 'fa-IR', dir: 'rtl' } + fa: { label: 'فارسی', lang: 'fa-IR', dir: 'rtl' }, + uk: { label: 'Українська', lang: 'uk-UA', dir: 'ltr' } }, vite: { diff --git a/docs/lunaria.config.json b/docs/lunaria.config.json index 4f93f4dca566..0ce1de65d920 100644 --- a/docs/lunaria.config.json +++ b/docs/lunaria.config.json @@ -44,6 +44,10 @@ { "label": "فارسی", "lang": "fa" + }, + { + "label": "Українська", + "lang": "uk" } ], "outDir": ".vitepress/dist/_translations", diff --git a/docs/uk/config.ts b/docs/uk/config.ts new file mode 100644 index 000000000000..0eda2cae43bd --- /dev/null +++ b/docs/uk/config.ts @@ -0,0 +1,142 @@ +import { createRequire } from 'module' +import { defineAdditionalConfig, type DefaultTheme } from 'vitepress' + +const require = createRequire(import.meta.url) +const pkg = require('vitepress/package.json') + +export default defineAdditionalConfig({ + description: 'Генератор статичних сайтів на основі Vite & Vue.', + + themeConfig: { + nav: nav(), + + sidebar: { + '/uk/guide/': { base: '/uk/guide/', items: sidebarGuide() }, + '/uk/reference/': { base: '/uk/reference/', items: sidebarReference() } + }, + + editLink: { + pattern: 'https://github.com/vuejs/vitepress/edit/main/docs/:path', + text: 'Редагувати цю сторінку на GitHub' + }, + + footer: { + message: 'Випущено під ліцензією MIT.', + copyright: 'Всі права збережено © 2019–дотепер Evan You' + } + } +}) + +function nav(): DefaultTheme.NavItem[] { + return [ + { + text: 'Гід', + link: '/uk/guide/what-is-vitepress', + activeMatch: '/uk/guide/' + }, + { + text: 'Довідка', + link: '/uk/reference/site-config', + activeMatch: '/uk/reference/' + }, + { + text: pkg.version, + items: [ + { + text: '1.6.4', + link: 'https://vuejs.github.io/vitepress/v1/' + }, + { + text: 'Журнал змін', + link: 'https://github.com/vuejs/vitepress/blob/main/CHANGELOG.md' + }, + { + text: 'Внесок', + link: 'https://github.com/vuejs/vitepress/blob/main/.github/contributing.md' + } + ] + } + ] +} + +function sidebarGuide(): DefaultTheme.SidebarItem[] { + return [ + { + text: 'Introduction', + collapsed: false, + items: [ + { text: 'What is VitePress?', link: 'what-is-vitepress' }, + { text: 'Getting Started', link: 'getting-started' }, + { text: 'Routing', link: 'routing' }, + { text: 'Deploy', link: 'deploy' } + ] + }, + { + text: 'Writing', + collapsed: false, + items: [ + { text: 'Markdown Extensions', link: 'markdown' }, + { text: 'Asset Handling', link: 'asset-handling' }, + { text: 'Frontmatter', link: 'frontmatter' }, + { text: 'Using Vue in Markdown', link: 'using-vue' }, + { text: 'Internationalization', link: 'i18n' } + ] + }, + { + text: 'Customization', + collapsed: false, + items: [ + { text: 'Using a Custom Theme', link: 'custom-theme' }, + { + text: 'Extending the Default Theme', + link: 'extending-default-theme' + }, + { text: 'Build-Time Data Loading', link: 'data-loading' }, + { text: 'SSR Compatibility', link: 'ssr-compat' }, + { text: 'Connecting to a CMS', link: 'cms' } + ] + }, + { + text: 'Experimental', + collapsed: false, + items: [ + { text: 'MPA Mode', link: 'mpa-mode' }, + { text: 'Sitemap Generation', link: 'sitemap-generation' } + ] + }, + { text: 'Config & API Reference', base: '/reference/', link: 'site-config' } + ] +} + +function sidebarReference(): DefaultTheme.SidebarItem[] { + return [ + { + text: 'Reference', + items: [ + { text: 'Site Config', link: 'site-config' }, + { text: 'Frontmatter Config', link: 'frontmatter-config' }, + { text: 'Runtime API', link: 'runtime-api' }, + { text: 'CLI', link: 'cli' }, + { + text: 'Default Theme', + base: '/reference/default-theme-', + items: [ + { text: 'Overview', link: 'config' }, + { text: 'Nav', link: 'nav' }, + { text: 'Sidebar', link: 'sidebar' }, + { text: 'Home Page', link: 'home-page' }, + { text: 'Footer', link: 'footer' }, + { text: 'Layout', link: 'layout' }, + { text: 'Badge', link: 'badge' }, + { text: 'Team Page', link: 'team-page' }, + { text: 'Prev / Next Links', link: 'prev-next-links' }, + { text: 'Edit Link', link: 'edit-link' }, + { text: 'Last Updated Timestamp', link: 'last-updated' }, + { text: 'Search', link: 'search' }, + { text: 'Carbon Ads', link: 'carbon-ads' } + ] + } + ] + } + ] +} diff --git a/docs/uk/index.md b/docs/uk/index.md new file mode 100644 index 000000000000..c4d713a47b19 --- /dev/null +++ b/docs/uk/index.md @@ -0,0 +1,35 @@ +--- +layout: home + +hero: + name: VitePress + text: Генератор статичних сайтів на основі Vite та Vue + tagline: Markdown у Красиву Документацію за лічені хвилини + actions: + - theme: brand + text: Що таке VitePress? + link: /guide/what-is-vitepress + - theme: alt + text: Швидкий старт + link: /guide/getting-started + - theme: alt + text: GitHub + link: https://github.com/vuejs/vitepress + image: + src: /vitepress-logo-large.svg + alt: VitePress + +features: + - icon: 📝 + title: Зосередьтесь на вмісті + details: Без зусиль створюйте чудові сайти документації лише за допомогою Markdown. + - icon: + title: Насолоджуйтесь досвідом розробки Vite + details: Миттєвий запуск сервера, блискавично швидкі гарячі оновлення та використання плагінів екосистеми Vite. + - icon: + title: Налаштовуйте за допомогою Vue + details: Використовуйте синтаксис та компоненти Vue безпосередньо в Markdown або створюйте власні теми за допомогою Vue. + - icon: 🚀 + title: Запускайте сайти швидко + details: Швидке початкове завантаження завдяки статичному HTML, швидка навігація після завантаження завдяки клієнтській маршрутизації. +---