Skip to content

Commit dc8d4c7

Browse files
authored
Initial commit
0 parents  commit dc8d4c7

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+2513
-0
lines changed

.editorconfig

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
root = true
2+
3+
[*]
4+
indent_style = space
5+
indent_size = 2
6+
charset = utf-8
7+
trim_trailing_whitespace = true
8+
insert_final_newline = false
9+
10+
[*.{json,md,yaml}]
11+
indent_size = 2

.github/workflows/deploy.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: Build and deploy to GitHub Pages
2+
3+
on:
4+
push:
5+
branches: [main]
6+
7+
jobs:
8+
build-and-deploy:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- name: Checkout 🛎️
12+
uses: actions/checkout@v2.3.1
13+
14+
- name: Install and build 🔧
15+
run: |
16+
npm install
17+
npm run build
18+
19+
- name: Deploy 🚀
20+
uses: JamesIves/github-pages-deploy-action@4.1.0
21+
with:
22+
branch: gh-pages
23+
folder: dist

.gitignore

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Logs
2+
logs
3+
*.log
4+
npm-debug.log*
5+
yarn-debug.log*
6+
yarn-error.log*
7+
pnpm-debug.log*
8+
lerna-debug.log*
9+
10+
node_modules
11+
dist
12+
dist-ssr
13+
*.local
14+
15+
# Editor directories and files
16+
.vscode/*
17+
!.vscode/extensions.json
18+
.idea
19+
.DS_Store
20+
*.suo
21+
*.ntvs*
22+
*.njsproj
23+
*.sln
24+
*.sw?

.prettierrc.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"printWidth": 80,
3+
"useTabs": false,
4+
"semi": true,
5+
"singleQuote": true,
6+
"trailingComma": "es5",
7+
"bracketSpacing": true,
8+
"arrowParens": "avoid",
9+
"proseWrap": "always"
10+
}

README.md

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
# Vanilla App Template
2+
3+
Цей проект було створено за допомогою Vite. Для знайомства та налаштування
4+
додаткових можливостей [звернись до документації](https://vitejs.dev/).
5+
6+
## Створення репозиторію за шаблоном
7+
8+
Використовуй цей репозиторій організації GoIT як шаблон для створення
9+
репозиторію свого проекту. Для цього натисни на кнопку `«Use this template»` і
10+
обери опцію `«Create a new repository»`, як показано на зображенні.
11+
12+
![Creating repo from a template step 1](./assets/template-step-1.png)
13+
14+
На наступному етапі відкриється сторінка створення нового репозиторію. Заповни
15+
поле його імені, переконайся, що репозиторій публічний, після чого натисни
16+
кнопку `«Create repository from template»`.
17+
18+
![Creating repo from a template step 2](./assets/template-step-2.png)
19+
20+
Після того, як репозиторій буде створено, необхідно перейти в налаштування
21+
створеного репозиторію на вкладку `Settings` > `Actions` > `General` як показано
22+
на зображенні.
23+
24+
![Settings GitHub Actions permissions step 1](./assets/gh-actions-perm-1.png)
25+
26+
Проскроливши сторінку до самого кінця, в секції `«Workflow permissions»` обери
27+
опцію `«Read and write permissions»` і постав галочку в чекбоксі. Це необхідно
28+
для автоматизації процесу деплою проекту.
29+
30+
![Settings GitHub Actions permissions step 2](./assets/gh-actions-perm-2.png)
31+
32+
Тепер у тебе є особистий репозиторій проекту, зі структурою файлів та папок
33+
репозиторію-шаблону. Далі працюй з ним, як з будь-яким іншим особистим
34+
репозиторієм, клонуй його собі на комп'ютер, пиши код, роби коміти та відправляй
35+
їх на GitHub.
36+
37+
## Підготовка до роботи
38+
39+
1. Переконайся, що на комп'ютері встановлено LTS-версію Node.js.
40+
[Скачай та встанови](https://nodejs.org/en/) її якщо необхідно.
41+
2. Встанови базові залежності проекту в терміналі командою `npm install`.
42+
3. Запусти режим розробки, виконавши в терміналі команду `npm run dev`.
43+
4. Перейдіть у браузері за адресою
44+
[http://localhost:5173](http://localhost:5173). Ця сторінка буде автоматично
45+
перезавантажуватись після збереження змін у файли проекту.
46+
47+
## Файли і папки
48+
49+
- Файли розмітки компонентів сторінки повинні лежати в папці `src/partials` та
50+
імпортуватись до файлу `index.html`. Наприклад, файл з розміткою хедера
51+
`header.html` створюємо у папці `partials` та імпортуємо в `index.html`.
52+
- Файли стилів повинні лежати в папці `src/css` та імпортуватись до HTML-файлів
53+
сторінок. Наприклад, для `index.html` файл стилів називається `index.css`.
54+
- Зображення додавай до папки `src/img`. Збирач оптимізує їх, але тільки при
55+
деплої продакшн версії проекту. Все це відбувається у хмарі, щоб не
56+
навантажувати твій комп'ютер, тому що на слабких компʼютерах це може зайняти
57+
багато часу.
58+
59+
## Деплой
60+
61+
Продакшн версія проекту буде автоматично збиратися та деплоїтись на GitHub
62+
Pages, у гілку `gh-pages`, щоразу, коли оновлюється гілка `main`. Наприклад,
63+
після прямого пуша або прийнятого пул-реквесту. Для цього необхідно у файлі
64+
`package.json` змінити значення прапора `--base=/<REPO>/`, для команди `build`,
65+
замінивши `<REPO>` на назву свого репозиторію, та відправити зміни на GitHub.
66+
67+
```json
68+
"build": "vite build --base=/<REPO>/",
69+
```
70+
71+
Далі необхідно зайти в налаштування GitHub-репозиторію (`Settings` > `Pages`) та
72+
виставити роздачу продакшн версії файлів з папки `/root` гілки `gh-pages`, якщо
73+
це не було зроблено автоматично.
74+
75+
![GitHub Pages settings](./assets/repo-settings.png)
76+
77+
### Статус деплою
78+
79+
Статус деплою крайнього коміту відображається іконкою біля його ідентифікатора.
80+
81+
- **Жовтий колір** - виконується збірка та деплой проекту.
82+
- **Зелений колір** - деплой завершився успішно.
83+
- **Червоний колір** - під час лінтингу, збірки чи деплою сталася помилка.
84+
85+
Більш детальну інформацію про статус можна переглянути натиснувши на іконку, і в
86+
вікні, що випадає, перейти за посиланням `Details`.
87+
88+
![Deployment status](./assets/deploy-status.png)
89+
90+
### Жива сторінка
91+
92+
Через якийсь час, зазвичай кілька хвилин, живу сторінку можна буде подивитися за
93+
адресою, вказаною на вкладці `Settings` > `Pages` в налаштуваннях репозиторію.
94+
Наприклад, ось посилання на живу версію для цього репозиторію
95+
96+
[https://goitacademy.github.io/vanilla-app-template/](https://goitacademy.github.io/vanilla-app-template/).
97+
98+
Якщо відкриється порожня сторінка, переконайся, що у вкладці `Console` немає
99+
помилок пов'язаних з неправильними шляхами до CSS та JS файлів проекту
100+
(**404**). Швидше за все у тебе неправильне значення прапора `--base` для
101+
команди `build` у файлі `package.json`.
102+
103+
## Як це працює
104+
105+
![How it works](./assets/how-it-works.png)
106+
107+
1. Після кожного пуша у гілку `main` GitHub-репозиторію, запускається
108+
спеціальний скрипт (GitHub Action) із файлу `.github/workflows/deploy.yml`.
109+
2. Усі файли репозиторію копіюються на сервер, де проект ініціалізується та
110+
проходить лінтинг та збірку перед деплоєм.
111+
3. Якщо всі кроки пройшли успішно, зібрана продакшн версія файлів проекту
112+
відправляється у гілку `gh-pages`. В іншому випадку, у лозі виконання скрипта
113+
буде вказано в чому проблема.

README.pl.md

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
# Vanilla App Template
2+
3+
Ten projekt został zbudowany przy użyciu Vite. Aby zapoznać się i skonfigurować
4+
dodatkowe funkcje [zapoznaj się z dokumentacją](https://vitejs.dev/).
5+
6+
## Tworzenie repozytorium za pomocą szablonu
7+
8+
Użyj tego repozytorium GoIT jako szablonu, aby utworzyć repozytorium
9+
dla swojego projektu. By to zrobić, kliknij przycisk `«Use this template»` і
10+
wybierz opcję `«Create a new repository»`, jak pokazano na obrazku.
11+
12+
![Creating repo from a template step 1](./assets/template-step-1.png)
13+
14+
Na kolejnym etapie otworzy się strona tworzenia nowego repozytorium. Wypełnij
15+
pole nazwy, upewnij się, że repozytorium jest publiczne, a następnie kliknij
16+
przycisk `«Create repository from template»`.
17+
18+
![Creating repo from a template step 2](./assets/template-step-2.png)
19+
20+
Po utworzeniu repozytorium należy przejść do ustawień
21+
utworzonego repozytorium w zakładce `Settings` > `Actions` > `General`,
22+
jak pokazano na obrazku.
23+
24+
![Settings GitHub Actions permissions step 1](./assets/gh-actions-perm-1.png)
25+
26+
Przewiń do samego końca strony, w sekcji `«Workflow permissions»` wybierz
27+
opcję `«Read and write permissions»` i zaznacz pole wyboru. Jest to konieczne,
28+
aby zautomatyzować proces wdrażania projektu.
29+
30+
![Settings GitHub Actions permissions step 2](./assets/gh-actions-perm-2.png)
31+
32+
Teraz masz osobiste repozytorium projektu ze strukturą plików i folderów
33+
repozytorium wzorcowego. Pracuj z nim tak, jak z każdym innym osobistym
34+
repozytorium: klonuj je na swój komputer, pisz kod, dokonuj zatwierdzeń i
35+
przesyłaj je do GitHub.
36+
37+
## Przygotowanie do pracy
38+
39+
1. Upewnij się, że na komputerze zainstalowana jest wersja LTS Node.js.
40+
[W razie potrzeby pobierz ją i zainstaluj](https://nodejs.org/en/).
41+
2. Zainstaluj podstawowe zależności projektu w terminalu za pomocą polecenia `npm install`.
42+
3. Uruchom tryb deweloperski, uruchamiając polecenie `npm run dev`.
43+
4. Wejdź na stronę [http://localhost:5173](http://localhost:5173) w przeglądarce. Strona
44+
ta zostanie automatycznie przeładowana po zapisaniu zmian w plikach projektu.
45+
46+
## Pliki i foldery
47+
48+
- Pliki znaczników dla komponentów strony powinny być umieszczone w folderze `src/partials` i
49+
zaimportowane do pliku `index.html`. Na przykład, plik ze znacznikami nagłówka
50+
`header.html` należy utworzyć w folderze `partials` i zaimportować do `index.html`.
51+
- Pliki stylów powinny być umieszczone w folderze `src/css` i zaimportowane do plików HTML
52+
stron. Na przykład, dla `index.html` plik stylów nazywa się `index.css`.
53+
- Obrazy należy dodawać do folderu `src/img`. Konstruktor zoptymalizuje je, ale dopiero po
54+
wdrożeniu produkcyjnej wersji projektu. Wszystko to dzieje się w chmurze, aby nie
55+
obciążać Twojego komputera, ponieważ na słabych komputerach może to zająć dużo czasu.
56+
57+
## Wdrożenie
58+
59+
Wersja produkcyjna projektu zostanie automatycznie zbudowana i wdrożona na GitHub
60+
Pages, w gałęzi `gh-pages`, za każdym razem, gdy gałąź `main` zostanie zaktualizowana.
61+
Na przykład po bezpośrednim przesłaniu lub zaakceptowaniu pull request. Aby to zrobić,
62+
należy w pliku `package.json` zmienić wartość flagi `--base=/<REPO>/`, dla polecenia `build`,
63+
zastępując `<REPO>` nazwą repozytorium i wysłać zmiany do GitHub.
64+
65+
```json
66+
"build": "vite build --base=/<REPO>/",
67+
```
68+
69+
Następnie należy przejść do ustawień repozytorium GitHub (`Settings` > `Pages`) i
70+
i ustawić dystrybucję wersji produkcyjnej plików z folderu `/root` gałęzi `gh-pages`,
71+
jeśli nie zostało to zrobione automatycznie.
72+
73+
![GitHub Pages settings](./assets/repo-settings.png)
74+
75+
### Status wdrożenia
76+
77+
Status wdrożenia ostatniego zatwierdzenia jest wyświetlany za pomocą ikony obok jego identyfikatora.
78+
79+
- **Żółty** - projekt jest budowany i wdrażany.
80+
- **Zielony** - wdrożenie zakończyło się pomyślnie.
81+
- **Czerwony** - wystąpił błąd podczas lintingu, budowania lub wdrażania.
82+
83+
Bardziej szczegółowe informacje na temat statusu można wyświetlić, klikając ikonę,
84+
a następnie link `Details` znajdujący się w rozwijanym oknie.
85+
86+
![Deployment status](./assets/deploy-status.png)
87+
88+
### Strona na żywo
89+
90+
Po pewnym czasie, zwykle kilku minutach, strona na żywo może być wyświetlona
91+
pod adresem określonym w zakładce `Settings` > `Pages` w ustawieniach repozytorium.
92+
Na przykład, oto link do wersji live dla tego repozytorium:
93+
94+
[https://goitacademy.github.io/vanilla-app-template/](https://goitacademy.github.io/vanilla-app-template/).
95+
96+
Jeśli widzisz pustą stronę, upewnij się, że w zakładce `Console` nie ma
97+
błędów związanych z nieprawidłowymi ścieżkami do plików CSS i JS projektu
98+
(**404**). Najprawdopodobniej masz nieprawidłową wartość flagi `--base`
99+
dla polecenia `build` w pliku `package.json`.
100+
101+
## Jak to działa
102+
103+
![How it works](./assets/how-it-works.png)
104+
105+
1. Po każdym wysłaniu do gałęzi `main` repozytorium GitHub, uruchamiany jest
106+
specjalny skrypt (GitHub Action) z pliku `.github/workflows/deploy.yml`.
107+
2. Wszystkie pliki repozytorium są kopiowane na serwer, gdzie projekt jest
108+
inicjalizowany, przechodzi linting i budowanie przed wdrożeniem.
109+
3. Jeśli wszystkie kroki zakończą się powodzeniem, zmontowana wersja produkcyjna
110+
plików projektu zostanie wysłana do gałęzi `gh-pages`. W przeciwnym razie
111+
w logu wykonania skryptu pojawi się informacja o problemie.

0 commit comments

Comments
 (0)