Skip to content

Latest commit

 

History

History
58 lines (34 loc) · 3.39 KB

readme.md

File metadata and controls

58 lines (34 loc) · 3.39 KB

Pug start template

Супероптимизированный шаблон для верстальщиков.

Основа: Gulp, Pug, SCSS.

Создан на основе этого HTML5 шаблона: OptimizedHTML 5

С использованием этого шаблона был написан мой сайт-визитка: arhipov.me

Что добавил

  • Написал аналог основных JQuery функций, для работы с dom и вынес их в небольшую библиотеку SJQuery. Это в десятки раз уменьшает размер выходного js файла. Если в верстке не используется 95% возможностей JQuery, нет смысла включать всю библиотеку.
  • Включил в сборку fontello, это сервис, который позволяет убрать из файла шрифтов fontawesome все неиспользуемые иконки, что уменьшает размер файла шрифтов на порядок.
  • Для минимизации css добавил пакет purge-css. Он анализирует все файлы проекта и на основе этого убирает из выходного css неиспользуемые классы. Результат его работы лучше, чем и css-nano и cssco
  • Для минификации html добавил пакет html-minifier-terser
  • Так же в проект включил свои scss миксины, шаблоны и переменные, поддержку pug файлов, node-sass-magic-importer, gulp-rsync, gulp-size, gulp-plumber, merge-stream.

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

app/ - файлы проекта

app/scss/core - миксины и файлы для настройки всего проекта, точка входа - index.scss

app/scss/templates - миксины для компонентов

app/scss/layouts - разметка страниц, соответствуют pug/layouts

app/scss/pages - стили страниц, соответствуют pug/pages

app/scss/partials - стили компонентов, соответствуют pug/partitials

app/pug - всё, что касается pug, точка входа - index.pug

app/pug/pages - шаблоны страницы

app/pug/partials - шаблоны компонентов

app/pug/layouts - разметка страниц

app/fonts/ - шрифты

app/images/ - изображения

app/js/ - javascript, точка входа - index.js

dist/ - файлы сборки (эту папку можно заливать на хостинг)

gulpfile.js - конфигурация gulp.

Как запустить

  • Устанавливаем все npm пакеты командой npm install
  • Cтартуем сборку командой gulp

Нюансы

Из коробки сборка будет проходить сразу в PROD режиме, т.е. все плагины для оптимизации будут включены. Чтобы сборка начала работать в DEV версии, в файле gulpfile.js нужно закомментировать указанные строчки