diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..a0aa100 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,45 @@ +name: Deploy extra + +on: + push: + branches: + - main + + +jobs: + deploy: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Deploying + uses: appleboy/ssh-action@master + with: + host: ${{ secrets.HOST }} + username: ${{ secrets.USERNAME }} + key: ${{ secrets.KEY }} + script: | + # Copy and build new version of Extra + + export NVM_DIR=/home/${{ secrets.USERNAME }}/.nvm + source /home/${{ secrets.USERNAME }}/.nvm/nvm.sh + cp -r extra-content extra-content-new + cd extra-content-new + git checkout main + git fetch --all + git reset --hard origin/main + npm install + npm run build + + # Replace current version of Extra with the new one + + cd .. + mv extra-content extra-content-old + mv extra-content-new extra-content + # Restart server + cd extra-content + pm2 delete Extra + pm2 start "npm run start" --name Extra + rm -rf ../extra-content-old diff --git a/README.md b/README.md index b5b9a24..2cf0b32 100644 --- a/README.md +++ b/README.md @@ -4,9 +4,9 @@ Проект открыт для наставников и код-ревьюэров. Мы будем рады, если вы принесёте статью, поможете с разработкой сайта, или просто предложите идею, куда двигаться дальше. -Сейчас сайт деплоим сюда (скоро будет красивый домен): +Сейчас сайт деплоим сюда из main: -https://graceful-mochi-984f47.netlify.app/ +https://extra.students-projects.ru/ ## Стек и запуск @@ -28,7 +28,7 @@ npm i && npm run dev В репозитории есть папка `/content`, в ней подпапки: -- `/general` — для статей на общую тематику, чвязанную с технологиями +- `/general` — для статей на общую тематику, связанную с технологиями - `/html` — для статей про HTML - `/css` — для статей про CSS - `/js` — для статей про JavaScript @@ -106,6 +106,17 @@ prop2: propvalue `::` — закрывающий тег компонента +## Как принести Pull Request + +Ваши права к репозиторию — triage. Это значит, что перед созданием PR, вам нужно сделать fork репозитория, вносить изменения внутри ветки своего fork'а, а затем открывать PR в upstream, в ветку main. + +Пишите коммиты на русском языке. В формате ответа на вопрос «Что делает коммит?». + +Пример: + +`Добавляет статью про кроссбраузерность` + +При формировании PR для открытой issue используйте синтаксис `Closes #${issueId}` ## Что приносить? @@ -121,4 +132,4 @@ prop2: propvalue ## Что будет дальше, если я принесу контент или правку? -Мы позовём кого-то из контент команды на помощь вам. Это может быть другой автор, редактор, методист или дизайнер. Они помогут доделать пост. Следите за вашими issue или PR, будут комментарии. \ No newline at end of file +Мы позовём кого-то из контент команды на помощь вам. Это может быть другой автор, редактор, методист или дизайнер. Они помогут доделать пост. Следите за вашими issue или PR, будут комментарии. diff --git a/content/tools/gitbash-tools.md b/content/tools/gitbash-tools.md new file mode 100644 index 0000000..a9effda --- /dev/null +++ b/content/tools/gitbash-tools.md @@ -0,0 +1,112 @@ +--- +title: "Введение в Git Bash" +--- + +# Введение в Git Bash + +::CCoverImage +--- +src: /images/tools/gitbash/cover.png +--- +:: + +В этой статье мы разберём: + +- [ ] что такое Bash +- [ ] как его установить на Windows +- [ ] как с его помощью загрузить проект на GitHub + +## Что такое Bash + +**Bash (Bourne Again SHell)** — это специальная командная строка, которая позволяет управлять компьютером с помощью текстовых команд. Она используется в некоторых операционных системах, например, Linux и macOS. + +### Почему важно изучить Bash + +Изучение Bash важно, потому что множество веб-серверов, на которых работают веб-сайты, используют операционные системы, похожие на Linux и macOS. Это значит, что для управления веб-серверами разработчику надо знать команды Bash. Поэтому знание команд Bash поможет вам лучше понимать, как работают серверы и как взаимодействовать с ними. + +### Git Bash + +Вы могли раньше встречаться с загрузкой кода на GitHub через графические интерфейсы: Github Desktop, сам сайт github.com или встроенные плагины для редактора кода. Но Git был изначально создан как консольная программа, где пользователь вводит команды в терминал, и они выполняются. Этот подход, хоть и может показаться сложным на первый взгляд, на самом деле предоставляет более гибкий и мощный способ управления компьютером. + +## Как установить Git Bash на Windows за четыре шага + +1. Перейди на [официальный сайт Git](https://git-scm.com/downloads). +2. Скачай установочный файл для Windows. +::CCoverImage +--- +src: /images/tools/gitbash/1.png +--- +:: +3. Запусти установку и следуй инструкциям мастера установки. +::CVideo +--- +url: /video/tools/gitbash/1.mov +poster: /video/tools/gitbash/1.png +--- +:: +4. После установки открой Git Bash из меню Пуск или щёлкни правой кнопкой мыши на папке в проводнике и выбери «Git Bash Here». +::CCoverImage +--- +src: /images/tools/gitbash/2.png +--- +:: + +### Как загрузить проект на Git с помощью Git Bash + +Чтобы загрузить проект на свой Git-репозиторий через Git Bash, выполни следующие шаги: + +1. Открой Git Bash и перейди в папку с твоим проектом с помощью команды + +```bash +cd +``` + +2. Инициализируй новый Git-репозиторий с помощью команды + +```bash +git init +``` + +3. Добавь все файлы проекта в индекс с помощью команды + +```bash +git add . +``` + +4. Сделай коммит с твоими изменениями с помощью команды + +```bash +git commit -m "Initial commit" +``` + +5. Создай новый удалённый репозиторий на GitHub или GitLab. + Свяжи локальный репозиторий с удалённым с помощью команды + +```bash +git remote add origin +``` + +6. Загрузи изменения на удалённый репозиторий с помощью команды + +```bash +git push -u origin master +``` + +Ниже скринкаст о том, как выгрузить проект на гитхаб. + +::CVideo +--- +url: /video/tools/gitbash/2.mov +poster: /video/tools/gitbash/2.png +--- +:: + +### Заключение + +В данной статье мы разобрали: + +- [x] что такое Bash +- [x] как его установить на Windows +- [x] как с его помощью загрузить проект на GitHub + +Изучение Bash и использование Git Bash помогут тебе эффективно управлять проектами. Знание командной строки и умение работать с Git открывают новые возможности и делают процесс разработки более удобным и эффективным. diff --git a/error.vue b/error.vue index 8ca3c8f..7d53908 100644 --- a/error.vue +++ b/error.vue @@ -1,6 +1,7 @@ @@ -25,5 +26,162 @@ useHead({ \ No newline at end of file diff --git a/nuxt.config.ts b/nuxt.config.ts index c725610..aaf7ee7 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -45,6 +45,7 @@ export default defineNuxtConfig({ } }, image: { + quality: 80, format: ['avif', 'webp', 'png', 'jpg'], screens: { 'xs': 320, diff --git a/package-lock.json b/package-lock.json index 10eba00..ee4aa95 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,7 @@ "@nuxt/content": "npm:@nuxt/content-edge@latest", "@nuxtjs/color-mode": "^3.3.0", "@types/node": "^18.15.11", - "nuxt": "^3.7.1" + "nuxt": "^3.10.1" } }, "node_modules/@ampproject/remapping": { @@ -3161,18 +3161,18 @@ ] }, "node_modules/@shikijs/core": { - "version": "1.0.0-rc.0", - "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.0.0-rc.0.tgz", - "integrity": "sha512-j/7te+hvEYlQTvk/wPoA+1rOklZTz8QuyqVvV81KcEN/g1WXKVnqp9WZ7jFuv0ZVLqBtDx/V8viRDROJniyMLA==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.0.0.tgz", + "integrity": "sha512-UMKGMZ+8b88N0/n6DWwWth1PHsOaxjW+R2u+hzSiargZWTv+l3s1l8dhuIxUSsEUPlBDKLs2CSMiFZeviKQM1w==", "dev": true }, "node_modules/@shikijs/transformers": { - "version": "1.0.0-rc.0", - "resolved": "https://registry.npmjs.org/@shikijs/transformers/-/transformers-1.0.0-rc.0.tgz", - "integrity": "sha512-1W4QpLKDM+hnlO6vqGre7orZxW4CrnO4F1zftj1KE6MdaEvy1awZKYUXPswvDIARvuetbzTvgc/ZE2yYVT/6GA==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@shikijs/transformers/-/transformers-1.0.0.tgz", + "integrity": "sha512-US0Sc0OdH7eGL64BtfvX3XezPfqhqF5mPyBFLlbZqSpFt2/emnv9GveAWzELGsIuvXoJ6N1RjeAdmQx5Xni6BQ==", "dev": true, "dependencies": { - "shiki": "1.0.0-rc.0" + "shiki": "1.0.0" } }, "node_modules/@sigstore/bundle": { @@ -4457,9 +4457,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001584", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001584.tgz", - "integrity": "sha512-LOz7CCQ9M1G7OjJOF9/mzmqmj3jE/7VOmrfw6Mgs0E8cjOsbRXQJHsPBfmBOXDskXKrHLyyW3n7kpDW/4BsfpQ==", + "version": "1.0.30001585", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001585.tgz", + "integrity": "sha512-yr2BWR1yLXQ8fMpdS/4ZZXpseBgE7o4g41x3a6AJOqZuOi+iE/WdJYAuZ6Y95i4Ohd2Y+9MzIWRR+uGABH4s3Q==", "funding": [ { "type": "opencollective", @@ -10996,12 +10996,12 @@ } }, "node_modules/shiki": { - "version": "1.0.0-rc.0", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.0.0-rc.0.tgz", - "integrity": "sha512-aeEjERF5qeK+YChgEv94LOjcEcjZBLd0acPaHginz0N8FvyTn2iSLhO0AtoqfvlZ8cWGCJRKLWtDApnQVQB6/Q==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.0.0.tgz", + "integrity": "sha512-rOUGJa3yFGgOrEoiELYxraoBbag3ZWf9bpodlr05Wjm85Scx8OIX+otdSefq9Pk7L47TKEzGodSQb4L38jka6A==", "dev": true, "dependencies": { - "@shikijs/core": "1.0.0-rc.0" + "@shikijs/core": "1.0.0" } }, "node_modules/signal-exit": { diff --git a/package.json b/package.json index fe4eb60..4fbe243 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,7 @@ { "private": true, "scripts": { + "upgrade": "nuxi upgrade --force", "start": "PORT=3001 node ./.output/server/index.mjs", "build": "nuxt build", "dev": "nuxt dev", @@ -12,7 +13,7 @@ "@nuxt/content": "npm:@nuxt/content-edge@latest", "@nuxtjs/color-mode": "^3.3.0", "@types/node": "^18.15.11", - "nuxt": "^3.7.1" + "nuxt": "^3.10.1" }, "dependencies": { "@nuxt/image": "^1.0.0-rc.3", diff --git a/pages/index.vue b/pages/index.vue index b236367..0ac2a27 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -1,8 +1,9 @@