GithubHelp home page GithubHelp logo

sergeevizh / temp_gulp_html Goto Github PK

View Code? Open in Web Editor NEW

This project forked from stsposoh/temp_gulp_html

0.0 1.0 0.0 974 KB

шаблон для быстрого старта одностраничного сайта

HTML 33.12% JavaScript 31.78% CSS 35.10%

temp_gulp_html's Introduction

Стартовый шаблон для верстки простых html сайтов

протестировано в Windows10

Добавлено:

  • обновлены все gulp зависимости
  • таск gulp prodaction для подготовки проекта на продакшн:
    • сжимает и конкатенирует css и js файлы;
    • сжимает фото;
    • автоматически встраивает стили из header.min.css в шапку файлов .html;

Шаблон использует препроцессор Stylus для стилей. Файлы .styl обрабатываются библиотекой "Nib", автоматически добавляя вендорные префиксы.

Шаблон строится на основе шаблона "html5boilerplate"

Собирается с использованием таск менеджера gulp четвертой версии

Вы можете писать на ES6, так как gulp обрабатывает js файлы библиотекой babel


  • для работы у вас должен быть установлен node.js (скачайте и установите, если не установлен) и Git

  • склонируйте репозиторий и перейдите в папку проекта. Вызовите в ней командную строку (на win: shift + пр. кнопка мыши - Открыть окно команд)

  • работать будем с галпом 4, по этому если у вас установлен галп версии ниже 4, его нужно удалить

    $ npm uninstall -g gulp

  • и установить gulp 4 глобально

    $ npm install -g git+https://[email protected]/gulpjs/gulp.git#4.0

  • далее установим зависимости из package.json (тут же установится и сам галп 4 в проект). Для этого в коммандной строке запустить

    $ npm i

  • теперь установим bower

    $ npm install -g bower

  • далее установим bower библиотеки (Вы можете выбрать нужные вам библиотеки в файле bower.json, а остальные удалить)

    $ bower i

  • ну и запустим gulp одноименной командой

    $ gulp

gulp запустит browser-sync, который будет перезагружать страницу при сохранении. В консоль вы получите ссылку, которую можно открыть на любом устройстве, подключенном к вашей сети wifi и тогда страница будет автоматически перезагружаться и на устройстве


Теперь структура проекта выглаядит так:

структура проекта

app - папка разработчкика. тут хранятся все файлы проекта

dist - папка с готовым проектом

node_modules - сюда устанавливаются все gulp плагины

.bowerrc - здесь указана директория, в которую bower будет устанавливать плагины

bower.json - все bower плагины, которые нужно установить. Подключать мы их будем в файле gulpfile.js, но если вам, какой то из плагинов не нужен, просто удалите его из списка

gulpfile.js - файл с инструкциями для gulp. Самые интересные моменты прокомментированы в самом файле. Но все же рассмотрим его:

  • сначала подключаются все зависимости, которые мы установили в node_modules

  • далее идут сами задачи для gulp

  • styles - берет файлы main.styl, header.styl и fonts.styl обрабатывает библиотекой Nib (добавляет автопрефиксы и тд), cssnano сжимает эти файлы, rename добавляет к имени приставку .min, создается sourcemaps, а если при написании стилей вы делаете ошибку, plumber тут же просигнализирует об этом. Далее готовые файлы в формате css кладутся в папку dist/css

  • assets - берет все файлы и папки из app/assets/ и копирует в папку dist. При чем gulp не будет каждый раз копировать все заново, а возьмет только те файлы, которые били изменены. И сложит их сюблюдая структуру вложенности (из какой папки взял, в такую и положил)

  • js - обрабатывает файл common.js библиотекой babel (если вы пишете на ES6), сжимает и кладет в dist/js

  • libs - сюда вы подключаете все пакеты, которые установили через bower. Далее они конкатенируются в файл libs.js, сжимаются, добавляется приставка .min и кладется в dist/js

  • default - стартовая точка, отсюда происходит запуск gulp. Запускается build, он запускает styles, assets, js и libs. Далее запускается watch, который следит за файлами проекта и если вы что то редактируете, тут же запускает задачу, которая обработает эти изменения. И запускается browser-sync, который открывает сайт в браузере и при сохранении файлов, перезагружает страницу в браузере

package.json - список зависимостей, необходимых для работы gulp


Теперь рассмотрим отдельные файлы.

index.html - если вы не хотите использовать бутстрап сетку, то удалите <style> ...... </style> под комментарием

Для максимально быстрой загрузки, все скрипты и стили подгружаются скриптами с проверкой не были ли они загружены ранее в localstorage.

В header.styl вы пишете те стили, которые относятся к первому экрану, то есть той области, которую пользователь увидит зайдя на ваш сайт. Все остальные стили вы пишете в main.styl.

Когда проект готов на продакшн, вы просто останавливаете работу gulp (если она запущена в консоли), это делается сочетанием ctrl + C затем Y и enter. И запускаем команду:

$ gulp prodaction

temp_gulp_html's People

Contributors

stsposoh avatar

Watchers

 avatar

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.