diff --git a/docs/.vitepress/config/index.ts b/docs/.vitepress/config/index.ts index 39c01ab05..f38eb4b87 100644 --- a/docs/.vitepress/config/index.ts +++ b/docs/.vitepress/config/index.ts @@ -7,6 +7,7 @@ import sidebar_book_ru from "./sidebar.book.ru"; import sidebar_vue_webapp_ru from "./sidebar.vue-webapp.ru"; import sidebar_vue_webapp_en from "./sidebar.vue-webapp.en"; import sidebar_arty_crafty_ru from "./sidebar.arty-crafty.ru"; +import sidebar_release_timeline_ru from "./sidebar.release-timeline.ru"; // https://vitepress.dev/reference/site-config export default defineConfig({ @@ -23,6 +24,7 @@ export default defineConfig({ "/ru/book/": sidebar_book_ru, "/ru/vue-webapp/": sidebar_vue_webapp_ru, "/ru/arty-crafty/": sidebar_arty_crafty_ru, + "/ru/release-timeline/": sidebar_release_timeline_ru, }, lastUpdated: { text: "Последнее обновление", diff --git a/docs/.vitepress/config/nav.ru.ts b/docs/.vitepress/config/nav.ru.ts index ff4f11aa1..aa0c92e83 100644 --- a/docs/.vitepress/config/nav.ru.ts +++ b/docs/.vitepress/config/nav.ru.ts @@ -3,6 +3,7 @@ export default [ { text: "FAQ", link: "/ru/misc/introduction" }, { text: "Учебник", link: "/ru/book/" }, { text: "vue-webapp", link: "/ru/vue-webapp/" }, + { text: "Release Timeline", link: "/ru/release-timeline/" }, { text: "Arty-Crafty", link: "/ru/arty-crafty/" }, { text: "Статьи", link: "/ru/articles/" }, { diff --git a/docs/.vitepress/config/sidebar.release-timeline.ru.ts b/docs/.vitepress/config/sidebar.release-timeline.ru.ts new file mode 100644 index 000000000..68ca75a29 --- /dev/null +++ b/docs/.vitepress/config/sidebar.release-timeline.ru.ts @@ -0,0 +1,7 @@ +export default [ + { text: "О библиотеке", link: "/ru/release-timeline/index" }, + { text: "Установка", link: "/ru/release-timeline/getting-started" }, + // { text: "Конфигурация", link: "/ru/release-timeline/config" }, + { text: "Конфигурация", link: "/ru/release-timeline/config" }, + { text: "Получение данных о релизах", link: "/ru/release-timeline/release-data" }, +]; diff --git a/docs/ru/misc/CHANGELOG.md b/docs/ru/misc/CHANGELOG.md index bd057b6e7..b73a54918 100644 --- a/docs/ru/misc/CHANGELOG.md +++ b/docs/ru/misc/CHANGELOG.md @@ -1,75 +1,14 @@ -# История изменений + -#### Новое - -- `Перевод книги 'Vue.js 3 Design Patterns and Best Practices'` -- `vue-webapp` - -#### Изменено - -- `Фронтенд / Как изучать Vue?` - - - -
-
- -## v1.3 (10-10-2023) - - - - - -#### Изменено - -- `Общение с бэкендом / CORS` -- `Фронтенд / Как изучать Vue?` -- `Разработка / Полезные советы` - - - -
-
- -## v1.2 (27-09-2023) - -#### Новое - -- `Деплой на сервере / Github Actions` - -#### Изменено - -- `Деплой на сервере / CI/CD` -- `Разработка / Сторы - Vuex, Pinia и Composition API` -- `Фронтенд / О фронтенд фреймворках` -- Несущественные изменения и исправление ошибок в разных разделах - - - -
-
- -## v1.1 (15-09-2023) - -### Новое - -- `Разработка / Сторы` - -### Изменено - -- `Разработка / Полезные советы` - - - -
-
- -## v1.0 (11-09-2023) - -### Новое - -- Начальный запуск + \ No newline at end of file diff --git a/docs/ru/release-timeline/assets/images/rt-image.jpg b/docs/ru/release-timeline/assets/images/rt-image.jpg new file mode 100644 index 000000000..c3dedb725 Binary files /dev/null and b/docs/ru/release-timeline/assets/images/rt-image.jpg differ diff --git a/docs/ru/release-timeline/config.md b/docs/ru/release-timeline/config.md new file mode 100644 index 000000000..8d8d6f876 --- /dev/null +++ b/docs/ru/release-timeline/config.md @@ -0,0 +1,45 @@ +--- +pageClass: release-timeline +head: + - - meta + - name: og:site_name + content: Release timeline - visual component displaying GitHub release timeline + - - meta + - name: og:image + content: /images/vue-faq-logo.png + - - meta + - name: twitter:image + content: /images/vue-faq-logo.png +--- + +# Конфигурация + +## Конфигурационный файл + +```js +export const DefaultOptions = { + github: { + owner: "vuejs", + repo: "vitepress", + // number of releases to request + size: 20, + // GitHub API token for accessing private repositories + token: "", + // feedType: github or url + feedType: "github", + // url if getting data not from GitHub + url: "", + }, + timeline: { + // Both coefficients below have to be chosen experimentally + paddingTop: 0.1, + // Affects the extent of the vertical line lengths when there is a + // large gap in the dates dates between neighboring releases + span: 200, + }, + display: { + releaseName: true, + animatedBackground: true, + }, +}; +``` diff --git a/docs/ru/release-timeline/getting-started.md b/docs/ru/release-timeline/getting-started.md new file mode 100644 index 000000000..ef07a9cc0 --- /dev/null +++ b/docs/ru/release-timeline/getting-started.md @@ -0,0 +1,41 @@ +--- +pageClass: release-timeline +head: + - - meta + - name: og:site_name + content: Release timeline - visual component displaying GitHub release timeline + - - meta + - name: og:image + content: /images/vue-faq-logo.png + - - meta + - name: twitter:image + content: /images/vue-faq-logo.png +--- + +# Установка + +## Установка пакета + +```bash [pnpm] +pnpm add release-timeline +``` + +## Использованиe в коде + + + +```vue + + + +``` + +Подключение `animated-background.css` опционально. CSS со звездным небом занимает 70Kb. diff --git a/docs/ru/release-timeline/index.md b/docs/ru/release-timeline/index.md new file mode 100644 index 000000000..d230d28b9 --- /dev/null +++ b/docs/ru/release-timeline/index.md @@ -0,0 +1,27 @@ +--- +pageClass: release-timeline +head: + - - meta + - name: og:site_name + content: Release timeline - visual component displaying GitHub release timeline + - - meta + - name: og:image + content: /images/vue-faq-logo.png + - - meta + - name: twitter:image + content: /images/vue-faq-logo.png +--- + +# Release Timeline + +## Визуализация релизов ПО по временной шкале + +![image](/ru/release-timeline/assets/images/rt-image.jpg) + +Vue 3, без зависимостей, 9Кб в распакованном виде. Адаптирована для работы в VitePress (переключение светлой и темной тем). + +Библиотека обращается в GitHub REST API за данными по релизам определенного репозитория и визуализирует их. + +## To Do + +Планируется добавить commits и pull requests к каждому релизу diff --git a/docs/ru/release-timeline/release-data.md b/docs/ru/release-timeline/release-data.md new file mode 100644 index 000000000..afb2c5d5b --- /dev/null +++ b/docs/ru/release-timeline/release-data.md @@ -0,0 +1,29 @@ +--- +pageClass: release-timeline +head: + - - meta + - name: og:site_name + content: Release timeline - visual component displaying GitHub release timeline + - - meta + - name: og:image + content: /images/vue-faq-logo.png + - - meta + - name: twitter:image + content: /images/vue-faq-logo.png +--- + +# Данные релизов и пул риквестов + +## Получение данных + +Есть три варианта получения данных с релизами с GitHub-а + +1. Динамическое. Прямой запрос к GitHub REST API во время открытия страницы. +2. Запрос к GitHub REST API через прокси +3. Запрос к GitHub REST API во время билда проекта, оптимизация и сохранение данных локально на сайте. + +На данный момент реализован только 1. вариант. + +Второй вариант нужен для уменьшения размера загружаемого файла. + +Третий вариант так же может оптимизировать потоки данных, но делает снэпшот релизов и рул риквестов на определенный момент времени. При выходе нового релиза потребуется пересобрать документацию. diff --git a/package.json b/package.json index 524d414fc..28b152f67 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "preview": "vitepress preview docs" }, "dependencies": { + "release-timeline": "^0.3.0", "vue": "^3.4.13", "vue3-toastify": "^0.1.14" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 40d7b6277..d048bb007 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,6 +5,9 @@ settings: excludeLinksFromLockfile: false dependencies: + release-timeline: + specifier: ^0.3.0 + version: 0.3.0(vue@3.4.13) vue: specifier: ^3.4.13 version: 3.4.13(typescript@5.3.3) @@ -2767,6 +2770,14 @@ packages: jsesc: 0.5.0 dev: true + /release-timeline@0.3.0(vue@3.4.13): + resolution: {integrity: sha512-s9guqtAp/0UZk+Fb4s6QiUU5pLHpolgCGjagR2d5lWHM2a4dv2w2AF6bLWQr12XC/JCjJ5fKVn7RfX03Vwt7GQ==} + peerDependencies: + vue: '>=3.0.0' + dependencies: + vue: 3.4.13(typescript@5.3.3) + dev: false + /require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'}