Giter Site home page Giter Site logo

magistr19 / basic-site-assembler Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 148 KB

Gulp, базовая файловая структура для быстрой разработки сайта

License: MIT License

JavaScript 78.17% HTML 6.95% CSS 14.87%
gulp automization

basic-site-assembler's Introduction

basic-site-assembler

Выполнил - Паярели Александр

Описание проекта:

Базовая сборка сайта для ускоренной верстки. По мере необходимости, сборка будет редактироваться, дополняться. Для наглядной демонстрации работы сборки можете посетить проект, работающий на этой сборке: https://github.com/Magistr19/mandarin-mania.io

Описание файловой структуры:

source/ Всю разработку сайта выполнять только в source
| - fonts Папка для шрифтов. Формата .woff и .woff2
| - img Папка для изображений .jpg .png .svg
| - inline-icons Папка для svg, которые нужно конвертировать в единный спрайт. После выполнения сборки, выдаст этот файл в папке build/img/sprite.svg
| - towebp Папка для jpg и png, которые нужно конвертировать в webp. После выполнения сборки, выдаст эти файлы в папке build/img/*.webp
| - js Папка для скриптов. Внимание! Сборка не конкатенирует отдельные JavaScript файлы в единный
| -sass Папка для .scss. Содержит главный style.scss файл, где подключен нормалайзер, переменные, примеси и scaffolding(подключение шрифтов, задание уникальных классов и общие надстройки страницы). Внимание! Не нужно подключать через @import .scss файлы из папки blocks в style.scss. Сборка сделает это за вас
| -basic Содержит основные .scss файлы, общие надстройки страниц. Нужно вручную подключать их в style.scss, порядок подключения важен
| -blocks Содержит .scss файлы непосредственно вашего сайта. Важно понимать, что при верстке по БЭМ их порядок подключения не важен, соответственно сборщик сам их сконкантенирует
| - index.html Базовая разметка страницы, все html файлы кидать в корень папки source
.editorconfig Файл с настройками для редактора, внутри инструкция как его подключить
.gitattributes Предоставляет attributes для путей. Лучше не редактировать его
.gitignore Говорит гиту, какие файлы не замечать. Лучше не редактировать его
csscomb.json Настройки для плагина csscomb, которые можно скачать в любой популярный редактор. Автоматически подключается после установки csscomb
gulpfile.js Описывает как работает сборка. Все содержание закомментированно, для легкого редактирования
package.json Описывает пакеты, которые были подключены в проект
package-lock.json Описывает зависимости, которые требуют пакеты из package.json. Лучше не редактировать его

Особенности сборки:

Благодаря GULP таск раннера, сборка умеет:

  1. Автоматически минимизировать изображения jpg, png, svg без потери качества, и конвертировать отдельные изображения в webp с легкой потерей качества
  2. Автоматически минимизировать скрипты, стили и html файлы
  3. Поддерживать include шаблонизатор для вставки содержимого одного документа в другой
  4. Конвертировать отдельные svg изображения в один спрайт
  5. Конвертировать .scss в .css без использования @import в главном .scss файле
  6. Отслеживать любые изменения в папке разработки, обновлять браузер при необходимости
  7. Работать без прерываний на протяжении всего рабочего процесса

Запуск сборки

  1. Скачайте и установите Node.js
  2. Скачайте и установите Git Bash
  3. Создайте и зайдите в папку для проекта. Нажмите правой кнопкой мыши на пустую область папки и выберите Git Bash Here

Тут должна была быть картинка-подсказка, но она не загрузилась =*(

  1. Загрузите сборку локально себе на компьютер с помощью команды:
    git clone https://github.com/Magistr19/basic-site-assembler.git .
  2. Установите все вспомогательные пакеты, которые были использованные в проекте:
    npm i
  3. Выполните сборку проекта
    npm run build
    В папке проекта появится папка build, которая содержит скомпилированный проект на выпуск в продакшн.

Для выполнения компиляции и запуска локального сервера с автообновлением браузера и build на изменения, используйте команду npm start.

Внимание! Не редактируйте содержимое папки build. Все изменение вносите в папку разработки - source
Не удаляйте и не обращайте внимание на файлы:
.gitattributes, .gitignore, .gulpfile.js, package-lock.json, package.json.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.