Gulp stylus: gulp-stylus + gulp-concat = любовь? — Хабр Q&A

Содержание

Создание социконок с помощью Gulp, stylus, bower, font-awesome, yeoman MODX

Создание рабочей папки проекта с помощью Yeoman

Создадим папку с названием myicons и воспользуемся генератором Tapp, который создаст все директории с пакетами Stylus, Jade, Gulp, Browserify, Bower и остальными.

При успешном запуске Yeoman у вас должна получится такая картинка:

После выполнения этих команд у вас получится приблизительно такая структура:

Запустим Gulp командой:

gulp serve

Остальные команды вы можете просмотреть в файле .gulpfile.

При успешном запуске у вас должна получится следующая картинка:

кроме этого должно открыться окно браузера по-умолчанию по адресу http://localhost:9000, которая будет иметь следующий вид:

Перейдём к нашему главному шаблону app/index. jade и вставим туда код для социконок, у меня получился такой:

Пару слов о том, как работает gulp с jade шаблоном в нашем случае при запуске команды gulp serve, если совсем упрощённо:

  1. Он наблюдает за изменениями файлов jade в папке app
  2. Конвертирует все файлы .jade в .html, сжимает и передаёт их в папку dist

Установка и подключение Font-awesome

Tapp генератор установит также и Bower — установщик пакетов. Воспользуемся им и установим иконочный шрифт Font Awesome:

bower install font-awesome

Укажем стили в index.jade:

После этого в браузере у вас должны отобразится иконки:

Создание стилей с помощью Stylus

В комплекте у нас шёл и Stylus, цвета для социконок я брал с Brandcolors. Давайте воспользуемся мощью Stylus, создадим пару функций и придадим стили нашему коду, сделанному по BEM-методологии:

Для красоты я добавил transition свойство при наведении и уходе с иконки, поэтому получился такой код.

В результате этого должны получится вот такие иконки:

Код для вставки в ваш сайт можете найти в dist/index.html и dist/styles/main.css

Я создал на Github репозиторий с этим кодом, поэтому можете сразу склонировать себе и запустить проект:

Демо можете увидеть внизу на этом сайте. Как обычно — не стесняйтесь задавать вопросы и давать замечания в комментариях.

14-01-2016 Frontend Yeoman Gulp Виктор Матушевский

Создание SVG спрайтов с помощью Gulp… Введение в PostCSS

Please enable JavaScript to view the comments powered by Disqus.

Автоматизация фронтенда — сегодня и завтра

Автоматизация фронтенда — сегодня и завтра

Роберт Харитонов, Одноклассники

Front-end Dev Conf, Минск, 2014

Web Standards Days, Рига, 2014 + мастер-класс по автоматизации в Риге и в Киеве

Автоматизация фронтенда


сегодня и завтра

Роберт Харитонов

Спасибо,

Родной инструмент

  • Низкий порог вхождения
  • Бешеная популярность JavaScript
  • Огромное сообщество

источник

Автоматизируй все!

  1. Производительность
  2. Проверка кода
  3. Пре/пост-процессинг
  4. Тестирование
  5. Разработка

Машины должны

страдать!

Пока мы строим веб

Grunt JS

И его 2500+ плагинов

Не Грантом едины

Task Runners

  • Grunt — это конфиг
  • Gulp — API
  • Brunch
  • Будущее с node-task

Все уже сделано за вас,

берите и используйте.

Производительность

Первым делом

  1. Компрессия CSS, HTML, JS
  2. Спрайты — Smart Sprites, Spritesmith, SVG

Графика

  • Imagemin, только по измененным файлам
  • SVGO

CSS

  • Умные компрессоры, как CSSO
  • Объединение Media Query
  • Чистка лишнего CSS и JS
  • + CSSCSS для проверки дублированных свойств

Как мерять

Помимо статистики с пользователей:

  • Google PageSpeed + Grunt
  • Тесты c PhatnomJS или Selenium
  • Скриншоты загрузки на медленных соединениях
  • Сравнение веса ресурсов

Что еще

Анализ используемых модулей и предзагрузка

c БЭМ-подобными экосистемами.

источник

Проверка кода

Анализируем все

  • JS Lint, Hint и сразу таблетка
  • CSS Lint
  • HTML inspector
  • Валидаторы стандартов, Coffee, Less, SCSS, JSON, jQuery

Это еще не все

Проверяем Доступность:

  • Aria linter
  • Проверка на WCAG стандарты

Немного помечтаем

Приемочные чеклисты

  • Автопроверка по списку требований
  • Набор скриншотов с браузеров
  • Проверка code style (частично в html-inspector)

*-процессинг

Что у нас есть

  • SASS, LESS, Stylus
  • Slim, Jade, EJS
  • Coffee
  • ES6 Shim
  • Rework!

Rework

CSS парсер

Обработка

Компилятор

CSS

Rework

  • Autoprefixer
  • Myth — CSS-полифил
  • Будущее за постпроцессингом

HTML и JS

BEM

  • Автоматизация с акцентом на сущности
  • Стандартные модули интерфейсов

Тестирование

Тестирование

  • Юнит тестирование
  • Тестирование производительности
  • Функциональное тестирование

Функциональное тестирование

  • Selenium
  • Веб сервисы
  • Dalek. js

Демонстрация работы Dalek.js

Что бы посмотреть видео, откройте, пожалуйста, презентацию в браузере с поддержкой .mp4 или .webm.

Monkey testing

gremlins.js

Разработка

Быстрый старт

Harp

  • Сервер
  • Препроцессинг всего и EJS partials
  • Билд

Пример проекта с Harp

Harp

  • Harp express middleware
  • harp.io — хостинг с деплоем из Dropbox
  • Быстрой вывод в сеть с Finch (или ngrok)

Скаффолдинг

Yeoman

  • На основе Yo, Grunt, Bower
  • 600+ готовых генераторов
  • Как написать свой генератор

Демонстрация работы yo

Что бы посмотреть видео, откройте, пожалуйста, презентацию в браузере с поддержкой .mp4 или .webm.

Зависимости

Bower – NPM для клиентского JS

bower initbower install jquery
		bower install https://github. com/foo/bar.git

bower.json

"dependencies": { 
		  "jquery": "~2.1.0",
		  "font-awesome": "~3.1.1"
		}

Bower

  • Bower + google-cdn
  • Обновить зависимости до последней версии

Настройка среды

  • Автоустановка NodeJS и зависимостей из NPM
  • Vagrant

Vagrant

vagrant init your-environmentvagrant up
		vagrant ssh

Машины должны

страдать!

Автоматизация фронтенда

Роберт Харитонов, Одноклассники

  • @operatino
  • toHTML.it
  • Мастер-класс в Риге — bit.ly/riga-automation

Слайды презентации — rhr.me/pres/automation

Стилус | AppCode

AppCode позволяет переводить код Stylus в CSS на лету.

Перед началом работы

  1. Убедитесь, что на вашем компьютере установлен Node. js.

  2. Установите и включите плагин File Watchers в меню «Настройки | Страница плагинов, вкладка Marketplace, как описано в разделе Установка плагинов из репозитория JetBrains.

  3. Убедитесь, что в настройках включен плагин Stylus. Нажмите ⌃ ⌥ S , чтобы открыть настройки IDE и выбрать Плагины. Перейдите на вкладку «Установлено». В поле поиска введите Stylus. Дополнительные сведения о подключаемых модулях см. в разделе Управление подключаемыми модулями.

Установка стилуса

  • Во встроенном терминале ( ⌥ F12 ) введите:

    npm install — официальный сайт global stylus

    3 900.

Компиляция кода Stylus

Для автоматической компиляции кода вам необходимо настроить Stylus File Watcher, который будет отслеживать изменения в ваших файлах и запускать компилятор.

Когда вы открываете файл, AppCode проверяет, доступен ли в текущем проекте применимый File Watcher. Если такой File Watcher настроен, но отключен, AppCode отображает всплывающее окно, которое информирует вас о настроенном File Watcher и предлагает включить его.

Если соответствующий File Watcher настроен и включен в текущем проекте, AppCode запускает компилятор автоматически при наступлении события, указанного в диалоговом окне New Watcher.

  • Если установлен флажок Автоматически сохранять отредактированные файлы для срабатывания наблюдателя, наблюдатель за файлами вызывается, как только в исходный код вносятся какие-либо изменения.

  • Если флажок Автосохранение отредактированных файлов для срабатывания наблюдателя снят, при сохранении запускается наблюдатель файлов (Файл | Сохранить все, ⌃ S ) или при перемещении фокуса с AppCode (при деактивации кадра).

Узнайте больше от File Watchers.

AppCode создает отдельный файл со сгенерированным выводом. Файл имеет имя исходного файла Stylus и расширение .css. Расположение сгенерированных файлов определяется в поле Выходные пути для обновления диалогового окна Новый наблюдатель. Однако в дереве проекта они отображаются под исходным файлом, который теперь отображается как узел.

Создать наблюдателя за файлами

  1. В диалоговом окне «Настройки» ( ⌃ ⌥ S ) нажмите «Следопыты за файлами» в разделе «Инструменты». На открывшейся странице File Watchers отображается список уже настроенных File Watchers.

  2. Щелкните или нажмите ⌘ N и выберите из списка предопределенный шаблон Stylus.

  3. В поле Программа укажите путь к исполняемому файлу:

    Введите путь вручную или нажмите и выберите расположение файла в открывшемся диалоге.

  4. Действуйте, как описано в File Watchers.

Настройка подсветки синтаксиса

Вы можете настроить подсветку синтаксиса с поддержкой стилуса в соответствии со своими предпочтениями и привычками.

  1. В диалоговом окне «Настройки» ( ⌃ ⌥ S ) выберите «Редактор | Цветовая схема | Стилус.

  2. Выберите цветовую схему, примите настройки выделения, унаследованные от значений по умолчанию, или настройте их, как описано в разделе Цвета и шрифты.

Last modified: 09 August 2022

Stylelint Tailwind CSS

【今更】pugとstylusとbabelをgulp — Qiita

VonageコミュニケーションAPIにまつわる記事投稿で豪華プレゼントがもらえる🎁 Qiita Advent Calendar 2022開催中!

Помогите разобраться в проблеме. В чем проблема?

Это нарушение правил сообщества

Это незаконно

Это социально неприемлемо

Это спам

информация

С момента последнего обновления прошло более 3 лет.

@sosukesuzucuki

Опубликовано по адресу

Продать

Javascript, Stylus, Gulp, Babel, Pug

鈴木。 の と ある 団体 団体 団体 団体 団体 団体 団体 団体 団体 団体 団体 団体 団体 ある ある ある ある ある 団体ですが、HTMLとCSSとJSを素で書くなんて絶対したくないので、しない方法です。

インストール

npmよりпряжаの方が好きなので、пряжаを使います。

 пряжа init
пряжа добавить --dev gulp gulp-pug gulp-stylus gulp-babel babel-preset-env browser-sync gulp-notify gulp-plumber nib
 

関連パッケージをインストールします。

パッケージ 役割
залпом タスクランナー
глоток-мопс глотокでpugをhtmlにする
стилус для глотка глоток, стилус, CSS,
глоток-бабель глотокでbabelを使う
предустановленная вавилонская оболочка вавилонのトランスパイルする環境を設定する
синхронизация с браузером 変更を検知した時にブラウザーに自動で反映させる
проглотить-уведомить エラーが起こった時にデスクトップ通知を行う
глоток-сантехник エラーをハンドリングする時に使う
наконечник стилусでmixinとかの便利機能を使えるようにする

設定を書く

とりあえず . babelrc

.babelrc

 {
 "предустановки": [
    ["окружение", {
      "цели": {
        "браузеры": ["последние 2 версии", "safari >
= 7"] } }] ] }

babel-preset-envを使います。babel-preset-envについてはドキュメントを読んでください。
次に gulpfile.js

gulpfile.js

 const gulp = require('gulp')
постоянный стилус = требуется ('gulp-стилус')
const babel = требуется ('gulp-babel')
const pug = требуется ('gulp-pug')
константный наконечник = требуется ('перо')
const водопроводчик = требуется ('gulp-сантехник')
const browserSync = требуется('браузер-синхронизация')
const notify = require('gulp-notify')
gulp.task('по умолчанию', ['стилус', 'синхронизация с браузером', 'мопс', 'часы', 'вавилон', 'img'])
gulp.task('смотреть', () => {
 gulp.watch(['./stylus/**'], () => {
 gulp.start(['стилус'])
 })
 gulp.watch(['./pug/**'], () => {
 gulp.start(['мопс'])
 })
})
gulp.task('браузер-синхронизация', () => {
 БраузерСинхронизировать({
 сервер: {
 baseDir: '. /dist/'
 }
 })
 gulp.watch('./dist/js/*.js', ['перезагрузка'])
 gulp.watch('./dist/*.html', ['перезагрузка'])
 gulp.watch('./dist/css/*.css', ['перезагрузка'])
 gulp.watch('./dist/img/*.*', ['перезагрузка'])
})
gulp.task('стилус', () =>
{ gulp.src('./stylus/*.styl') .труба(сантехник({ errorHandler: notify.onError("Ошибка: <%= error.message %>") })) .pipe (стилус ({ импорт: ['перо'], использовать: [перо()] })) .pipe(gulp.dest('./dist/css')) }) gulp.task('мопс', () => { константная опция = { красивая: правда } gulp.src('./мопс/*.мопс') .труба(сантехник({ errorHandler: notify.onError("Ошибка: <%= error.message %>") })) .pipe (мопс (опция)) .pipe(gulp.dest('./dist')) }) gulp.task('Вавилон', () => { gulp.src('./js/**/*.js') .труба(сантехник({ errorHandler: notify.onError("Ошибка: <%= error.message %>") })) .pipe(вавилон()) .pipe(gulp.dest('./dist/js')) }) gulp.task('перезагрузка', () => { браузерSync.
Оставить комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *