<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="uk">
	<id>https://mediawiki.zina.run/index.php?action=history&amp;feed=atom&amp;title=Hugo_%2B_Gulp</id>
	<title>Hugo + Gulp - Історія редагувань</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zina.run/index.php?action=history&amp;feed=atom&amp;title=Hugo_%2B_Gulp"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zina.run/index.php?title=Hugo_%2B_Gulp&amp;action=history"/>
	<updated>2026-10-12T11:43:31Z</updated>
	<subtitle>Історія редагувань цієї сторінки в вікі</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://mediawiki.zina.run/index.php?title=Hugo_%2B_Gulp&amp;diff=568&amp;oldid=prev</id>
		<title>Romych в 11:45, 20 березня 2020</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zina.run/index.php?title=Hugo_%2B_Gulp&amp;diff=568&amp;oldid=prev"/>
		<updated>2020-03-20T11:45:30Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Нова сторінка&lt;/b&gt;&lt;/p&gt;&lt;div&gt;←[[Hugo]]&lt;br /&gt;
== В чем проблема ==&lt;br /&gt;
&lt;br /&gt;
Сложность использования Hugo в связке с Gulp в том, что нам нужно выполнять два процесса &amp;lt;code&amp;gt;watch&amp;lt;/code&amp;gt; для наблюдения за изменениями файлов и автоматической сборки (компиляции) файлов сайта: &lt;br /&gt;
&lt;br /&gt;
* Gulp следит за файлами Sass &amp;lt;code&amp;gt;*.scss&amp;lt;/code&amp;gt; и компилирует их в CSS (а также минифицирует, добавляет source maps и т.п.), плюс аналогично обрабатывает JavaScript файлы,  собирает спрайты, оптимизирует изображения;&lt;br /&gt;
* Hugo следит за готовыми файлами &amp;lt;code&amp;gt;*.css&amp;lt;/code&amp;gt; и контентом сайта и собирает их в готовый статичный сайт.&lt;br /&gt;
&lt;br /&gt;
Кроме того, и Gulp, и Hugo умеют запускать LiveReload сервер, который показывает сайт в браузере и автоматически обновляет окно браузера при изменениях на сайте.&lt;br /&gt;
&lt;br /&gt;
Но делают все это они каждый по-своему, а нам нужно объединить оба процесса.&lt;br /&gt;
&lt;br /&gt;
== Подготовка ==&lt;br /&gt;
&lt;br /&gt;
Установите Gulp:&lt;br /&gt;
&lt;br /&gt;
 npm init --yes&lt;br /&gt;
 bower init&lt;br /&gt;
 bower install --save bootstrap-sass&lt;br /&gt;
 cp bower_components/bootstrap-sass/assets/stylesheets/_bootstrap.scss src/sass/&lt;br /&gt;
 npm install --save-dev gulp gulp-sass gulp-autoprefixer gulp-uglify gulp-rigger gulp-sourcemaps gulp.spritesmith gulp-plumber gulp-watch browser-sync child_process run-sequence del&lt;br /&gt;
&lt;br /&gt;
Замечание: последнюю команду можно выполнить в сокращенном виде &amp;lt;code&amp;gt;npm install --save-dev&amp;lt;/code&amp;gt;, если предварительно положить в корневую директорию проекта файл &amp;lt;code&amp;gt;gulpfile.js&amp;lt;/code&amp;gt; с инициализацией нужных пакетов, на основе которого команда &amp;lt;code&amp;gt;npm init --yes&amp;lt;/code&amp;gt; сформирует файл &amp;lt;code&amp;gt;package.json&amp;lt;/code&amp;gt; с перечнем пакетов.&lt;br /&gt;
&lt;br /&gt;
Установите Hugo:&lt;br /&gt;
&lt;br /&gt;
 hugo new site --format yaml --force .&lt;br /&gt;
&lt;br /&gt;
Добавьте в &amp;lt;code&amp;gt;config.yaml&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
publishdir = &amp;quot;html&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Структура директорий ==&lt;br /&gt;
&lt;br /&gt;
Разберемся c директориями:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;src&amp;lt;/code&amp;gt; — директории &amp;lt;code&amp;gt;sass&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;js&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sprite&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;fonts&amp;lt;/code&amp;gt;. Здесь вручную редактируются файлы Sass, JavaScript и изображений, а затем обрабатываются Gulp&amp;#039;ом и в обработанном виде складываются в директорию &amp;lt;code&amp;gt;static&amp;lt;/code&amp;gt;.&lt;br /&gt;
----&lt;br /&gt;
* &amp;lt;code&amp;gt;static&amp;lt;/code&amp;gt; — директории &amp;lt;code&amp;gt;css&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;img&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;js&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;fonts&amp;lt;/code&amp;gt; — сюда Gulp кладет обработанные файлы, а затем их использует Hugo при сборке статичного сайта.&lt;br /&gt;
* &amp;lt;code&amp;gt;layouts&amp;lt;/code&amp;gt; — шаблоны сайта для Hugo.&lt;br /&gt;
* &amp;lt;code&amp;gt;content&amp;lt;/code&amp;gt; — файлы сайта для Hugo: страницы в виде файлов &amp;lt;code&amp;gt;.md&amp;lt;/code&amp;gt; и разделы сайта в виде директорий.&lt;br /&gt;
----&lt;br /&gt;
* &amp;lt;code&amp;gt;html&amp;lt;/code&amp;gt; — готовый статичный сайт. Hugo берет содержимое папок &amp;lt;code&amp;gt;static&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;layouts&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;content&amp;lt;/code&amp;gt; и собирает сайт в папку &amp;lt;code&amp;gt;html&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
В процессе работы над сайтом нам нужно:&lt;br /&gt;
&lt;br /&gt;
# Наблюдать за директорией &amp;lt;code&amp;gt;src&amp;lt;/code&amp;gt; и собирать Gulp&amp;#039;ом в директорию &amp;lt;code&amp;gt;static&amp;lt;/code&amp;gt;&lt;br /&gt;
# Наблюдать за директориями &amp;lt;code&amp;gt;static&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;layouts&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;content&amp;lt;/code&amp;gt; и делать:&lt;br /&gt;
## &amp;lt;code&amp;gt;run_hugo&amp;lt;/code&amp;gt; — собирать сайт в папку &amp;lt;code&amp;gt;html&amp;lt;/code&amp;gt;&lt;br /&gt;
## &amp;lt;code&amp;gt;livereload&amp;lt;/code&amp;gt; — обновить окно браузера&lt;br /&gt;
&lt;br /&gt;
== gulpfile.js ==&lt;br /&gt;
&lt;br /&gt;
С помощью этого &amp;lt;code&amp;gt;gulpfile.js&amp;lt;/code&amp;gt; работа над проектом Hugo сводится к запуску в корне проекта команды &amp;lt;code&amp;gt;gulp&amp;lt;/code&amp;gt;, после которой начинается магия: сначала очищается папка &amp;lt;code&amp;gt;html&amp;lt;/code&amp;gt;, затем компилируются CSS и JS, запускается &amp;lt;code&amp;gt;hugo&amp;lt;/code&amp;gt; и сразу собирает html-файлы сайта, затем запускается сервер BrowserSync и в браузере на порту 3131 открывает локальный хост проекта (должен быть создан в Apache), после чего запускается процесс &amp;lt;code&amp;gt;watch&amp;lt;/code&amp;gt; — наблюдение за изменяемыми файлами в проекте и автоматическая сборка проекта и обновление окна браузера.&lt;br /&gt;
&lt;br /&gt;
Иногда, если Hugo выдает ошибки, бывает полезно прервать &amp;lt;code&amp;gt;gulp&amp;lt;/code&amp;gt; по команде &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt;-&amp;lt;kbd&amp;gt;C&amp;lt;/kbd&amp;gt;, очистить html-файлы командой &amp;lt;code&amp;gt;gulp clear&amp;lt;/code&amp;gt; и затем запустить &amp;lt;code&amp;gt;hugo&amp;lt;/code&amp;gt;, чтобы посмотреть более подробно, какую именно ошибку он возвращает.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;#039;use strict&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
var gulp = require(&amp;#039;gulp&amp;#039;);&lt;br /&gt;
var sass = require(&amp;#039;gulp-sass&amp;#039;);&lt;br /&gt;
var prefixer = require(&amp;#039;gulp-autoprefixer&amp;#039;);&lt;br /&gt;
var uglify = require(&amp;#039;gulp-uglify&amp;#039;);&lt;br /&gt;
var rigger = require(&amp;#039;gulp-rigger&amp;#039;);&lt;br /&gt;
var sourcemaps = require(&amp;#039;gulp-sourcemaps&amp;#039;);&lt;br /&gt;
var spritesmith = require(&amp;#039;gulp.spritesmith&amp;#039;);&lt;br /&gt;
var plumber = require(&amp;#039;gulp-plumber&amp;#039;);&lt;br /&gt;
var watch = require(&amp;#039;gulp-watch&amp;#039;);&lt;br /&gt;
var browserSync = require(&amp;#039;browser-sync&amp;#039;).create();&lt;br /&gt;
var exec = require(&amp;#039;child_process&amp;#039;).execSync;&lt;br /&gt;
var runSequence = require(&amp;#039;run-sequence&amp;#039;).use(gulp); // Последовательное выполнение задач&lt;br /&gt;
var del = require(&amp;#039;del&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
// var reload = browserSync.reload;&lt;br /&gt;
&lt;br /&gt;
var reload_timeout = null;&lt;br /&gt;
&lt;br /&gt;
function reload() {&lt;br /&gt;
  if(reload_timeout) {&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
  reload_timeout = setTimeout(function() {&lt;br /&gt;
    browserSync.reload();&lt;br /&gt;
    reload_timeout = null;&lt;br /&gt;
  }, 0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var rootDir   = process.cwd();&lt;br /&gt;
var hugoDir   = rootDir + &amp;#039;/hugo&amp;#039;;&lt;br /&gt;
var srcDir    = rootDir + &amp;#039;/src&amp;#039;;&lt;br /&gt;
var htmlDir   = rootDir + &amp;#039;/html&amp;#039;;&lt;br /&gt;
var staticDir = rootDir + &amp;#039;/static&amp;#039;;&lt;br /&gt;
var path = {&lt;br /&gt;
  src: {   // Где брать исходники&lt;br /&gt;
    style:  srcDir + &amp;#039;/sass/style.scss&amp;#039;,&lt;br /&gt;
    sprite: srcDir + &amp;#039;/sprite/*.png&amp;#039;,&lt;br /&gt;
    js:     srcDir + &amp;#039;/js/main.js&amp;#039;,&lt;br /&gt;
    img:    srcDir + &amp;#039;/img/**/*.{png,gif,jpg,jpeg}&amp;#039;,&lt;br /&gt;
    fonts:  srcDir + &amp;#039;/fonts/**/*.otf&amp;#039;,&lt;br /&gt;
  },&lt;br /&gt;
  static: { // Куда складывать после сборки готовые файлы для Gulp&lt;br /&gt;
    style:  staticDir + &amp;#039;/css/&amp;#039;,&lt;br /&gt;
    sprite: staticDir + &amp;#039;/img/&amp;#039;,&lt;br /&gt;
    js:     staticDir + &amp;#039;/js/&amp;#039;,&lt;br /&gt;
    img:    staticDir + &amp;#039;/img/&amp;#039;,&lt;br /&gt;
    fonts:  staticDir + &amp;#039;/fonts/&amp;#039;,&lt;br /&gt;
  },&lt;br /&gt;
  watch: { // За изменением каких файлов будем наблюдать&lt;br /&gt;
    src_style:    srcDir  + &amp;#039;/sass/**/*.scss&amp;#039;,&lt;br /&gt;
    src_js:       srcDir  + &amp;#039;/js/**/*.js&amp;#039;,&lt;br /&gt;
    src_sprite:   srcDir  + &amp;#039;/sprite/**/*.png&amp;#039;,&lt;br /&gt;
    // hugo:         hugoDir + &amp;#039;/(static|layouts)/**/*&amp;#039;,&lt;br /&gt;
    hugo_config:  rootDir + &amp;#039;/config.yaml&amp;#039;,&lt;br /&gt;
    hugo_layouts: hugoDir + &amp;#039;/layouts/**/*&amp;#039;,&lt;br /&gt;
    hugo_static:  rootDir + &amp;#039;/static/**/*&amp;#039;,&lt;br /&gt;
    hugo_content: rootDir + &amp;#039;/content/**/*&amp;#039;,&lt;br /&gt;
    public_html:  htmlDir + &amp;#039;/**/*.html&amp;#039;,&lt;br /&gt;
    public_css:   htmlDir + &amp;#039;/css/*.css&amp;#039;,&lt;br /&gt;
    public_js:    htmlDir + &amp;#039;/js/*.js&amp;#039;,&lt;br /&gt;
    public_img:   htmlDir + &amp;#039;/img/**/*.{png,gif,jpg,jpeg}&amp;#039;,&lt;br /&gt;
    public_fonts: htmlDir + &amp;#039;/fonts/**/*.otf&amp;#039;,&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// console.log(path); // Вывести список всех путей&lt;br /&gt;
&lt;br /&gt;
// Компилирование Sass в CSS&lt;br /&gt;
gulp.task(&amp;#039;style&amp;#039;, function () {&lt;br /&gt;
  return gulp.src(path.src.style) // Возьмем наш основной Sass файл &amp;#039;style.scss&amp;#039;&lt;br /&gt;
  .pipe(sourcemaps.init()) // Инициализируем SourceMap&lt;br /&gt;
  .pipe(sass({ // Скомпилируем Sass в CSS&lt;br /&gt;
    includePaths: [ // Включим папки для поиска файлов Bootstrap&lt;br /&gt;
      rootDir + &amp;#039;/src/sass/&amp;#039;,&lt;br /&gt;
      rootDir + &amp;#039;/bower_components/bootstrap-sass/assets/stylesheets/&amp;#039;,&lt;br /&gt;
    ],&lt;br /&gt;
    // outputStyle: &amp;#039;compressed&amp;#039;, // Минифицируем CSS&lt;br /&gt;
  }))&lt;br /&gt;
  .pipe(prefixer({ // Добавим вендорные префиксы&lt;br /&gt;
    browsers: [&lt;br /&gt;
      &amp;#039;last 2 versions&amp;#039;,&lt;br /&gt;
      &amp;#039;&amp;gt; 1%&amp;#039;&lt;br /&gt;
    ]&lt;br /&gt;
  }))&lt;br /&gt;
  // .pipe(sourcemaps.write()) // Добавим SourceMap&lt;br /&gt;
  .pipe(gulp.dest(path.static.style)) // Положим готовый &amp;#039;style.css&amp;#039; в build&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// Сборка JavaScript файлов&lt;br /&gt;
gulp.task(&amp;#039;js&amp;#039;, function () {&lt;br /&gt;
  return gulp.src(path.src.js) // Возьмем наш основной файл &amp;#039;main.js&amp;#039;&lt;br /&gt;
  .pipe(rigger()) // Включим в него все импортируемые файлы&lt;br /&gt;
  .pipe(sourcemaps.init()) // Инициализируем SourceMap&lt;br /&gt;
  .pipe(uglify()) // Сожмем полученный JS&lt;br /&gt;
  .pipe(sourcemaps.write()) // Добавим SourceMap&lt;br /&gt;
  .pipe(gulp.dest(path.static.js)) // Положим готовый &amp;#039;main.js&amp;#039; в build&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// Сборка CSS спрайтов&lt;br /&gt;
gulp.task(&amp;#039;sprite&amp;#039;, function () {&lt;br /&gt;
  var spriteData = gulp.src(rootDir + &amp;#039;/src/sprite/*.png&amp;#039;)&lt;br /&gt;
  .pipe(spritesmith({&lt;br /&gt;
    imgName: &amp;#039;sprite.png&amp;#039;,&lt;br /&gt;
    cssName: &amp;#039;sprite.css&amp;#039;&lt;br /&gt;
  }));&lt;br /&gt;
  spriteData.img.pipe(gulp.dest(path.static.img));&lt;br /&gt;
  spriteData.css.pipe(gulp.dest(path.static.style));&lt;br /&gt;
  return spriteData;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
gulp.task(&amp;#039;img&amp;#039;, function() {&lt;br /&gt;
  return gulp.src(path.src.img) // Возьмем наши файлы изображений&lt;br /&gt;
  .pipe(gulp.dest(path.static.img)); // и положим в build&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
gulp.task(&amp;#039;fonts&amp;#039;, function() {&lt;br /&gt;
  return gulp.src(path.src.fonts) // Возьмем файлы шрифтов&lt;br /&gt;
  .pipe(gulp.dest(path.static.fonts)); // и положим в build&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// gulp.task(&amp;#039;copyfonts&amp;#039;, function() {&lt;br /&gt;
//    gulp.src(&amp;#039;./bower_components/font-awesome/fonts/**/*.{ttf,woff,eof,svg}&amp;#039;)&lt;br /&gt;
//    .pipe(gulp.dest(&amp;#039;./fonts&amp;#039;));&lt;br /&gt;
// });&lt;br /&gt;
&lt;br /&gt;
// Сборка статичного сайта средствами Hugo&lt;br /&gt;
gulp.task(&amp;#039;hugo&amp;#039;, function() {&lt;br /&gt;
  // process.chdir(hugoDir);&lt;br /&gt;
  exec(&amp;#039;hugo&amp;#039;, {encoding: &amp;#039;utf-8&amp;#039;});&lt;br /&gt;
  // process.chdir(rootDir);&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// Очистка папок static и html&lt;br /&gt;
gulp.task(&amp;#039;clear&amp;#039;, function() {&lt;br /&gt;
  return del([htmlDir + &amp;#039;/*&amp;#039;, path.static.style, path.static.js]).then(paths =&amp;gt; {&lt;br /&gt;
    // console.log(&amp;#039;Deleted content of folders: \n&amp;#039; + htmlDir + &amp;#039;\n&amp;#039; + path.static.style + &amp;#039;\n&amp;#039; + path.static.js)&lt;br /&gt;
    console.log(&amp;#039;Deleted content of folders:&amp;#039;);&lt;br /&gt;
    console.log(&amp;#039; &amp;#039; + htmlDir);&lt;br /&gt;
    console.log(&amp;#039; &amp;#039; + path.static.style);&lt;br /&gt;
    console.log(&amp;#039; &amp;#039; + path.static.js);&lt;br /&gt;
  })&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// Сборка проекта (запуск нескольких задач)&lt;br /&gt;
gulp.task(&amp;#039;build&amp;#039;, function() {&lt;br /&gt;
  return runSequence([&lt;br /&gt;
    // &amp;#039;sprite&amp;#039;,&lt;br /&gt;
    // &amp;#039;img&amp;#039;,&lt;br /&gt;
    // &amp;#039;fonts&amp;#039;,&lt;br /&gt;
    &amp;#039;style&amp;#039;,&lt;br /&gt;
    &amp;#039;js&amp;#039;],&lt;br /&gt;
    &amp;#039;hugo&amp;#039;,&lt;br /&gt;
    function() {console.log(&amp;#039;Сборка сайта завершена.&amp;#039;);}&lt;br /&gt;
  );&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// Отслеживание изменений файлов и запуск соответствующих задач&lt;br /&gt;
gulp.task(&amp;#039;watch&amp;#039;, function() {&lt;br /&gt;
  watch([path.watch.src_style], function(event, cb) {&lt;br /&gt;
    gulp.start(&amp;#039;style&amp;#039;);&lt;br /&gt;
  });&lt;br /&gt;
  watch([path.watch.src_js], function(event, cb) {&lt;br /&gt;
    gulp.start(&amp;#039;js&amp;#039;);&lt;br /&gt;
  });&lt;br /&gt;
  watch([path.watch.src_sprite], function(event, cb) {&lt;br /&gt;
    gulp.start(&amp;#039;sprite&amp;#039;);&lt;br /&gt;
  });&lt;br /&gt;
  // watch([path.watch.src_img], function(event, cb) {&lt;br /&gt;
  //   gulp.start(&amp;#039;img&amp;#039;);&lt;br /&gt;
  // });&lt;br /&gt;
  // watch([path.watch.hugo_static], function(event, cb) {&lt;br /&gt;
  //   gulp.start(&amp;#039;hugo&amp;#039;);&lt;br /&gt;
  // });&lt;br /&gt;
  watch([path.watch.hugo_config], function(event, cb) {&lt;br /&gt;
    gulp.start(&amp;#039;hugo&amp;#039;);&lt;br /&gt;
  });&lt;br /&gt;
  watch([path.watch.hugo_layouts], function(event, cb) {&lt;br /&gt;
    gulp.start(&amp;#039;hugo&amp;#039;);&lt;br /&gt;
  });&lt;br /&gt;
  watch([path.watch.hugo_content], function(event, cb) {&lt;br /&gt;
    gulp.start(&amp;#039;hugo&amp;#039;);&lt;br /&gt;
  });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// Автоматическое обновление окна браузера с помощью BrowserSync&lt;br /&gt;
gulp.task(&amp;#039;live&amp;#039;, function () {&lt;br /&gt;
  browserSync.init({&lt;br /&gt;
    open: &amp;#039;external&amp;#039;,&lt;br /&gt;
    host: &amp;#039;zina.design.dev&amp;#039;,&lt;br /&gt;
    proxy: &amp;quot;zina.design.dev&amp;quot;,&lt;br /&gt;
  });&lt;br /&gt;
  gulp.watch([path.watch.public_html]).on(&amp;quot;change&amp;quot;, reload);&lt;br /&gt;
  gulp.watch([path.watch.public_css]).on(&amp;quot;change&amp;quot;, reload);&lt;br /&gt;
  gulp.watch([path.watch.public_js]).on(&amp;quot;change&amp;quot;, reload);&lt;br /&gt;
  gulp.watch([path.watch.public_img]).on(&amp;quot;change&amp;quot;, reload);&lt;br /&gt;
  gulp.watch([path.watch.public_fonts]).on(&amp;quot;change&amp;quot;, reload);&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// Задача по умолчанию&lt;br /&gt;
gulp.task(&amp;#039;default&amp;#039;, function() {&lt;br /&gt;
  // return runSequence(&amp;#039;clean&amp;#039;, [&amp;#039;sprite&amp;#039;, &amp;#039;img&amp;#039;, &amp;#039;fonts&amp;#039;, &amp;#039;style&amp;#039;, &amp;#039;js&amp;#039;], &amp;#039;hugo&amp;#039;, &amp;#039;live&amp;#039;, &amp;#039;watch&amp;#039;, function() {&lt;br /&gt;
  // return runSequence(&amp;#039;clear&amp;#039;, [&amp;#039;img&amp;#039;, &amp;#039;fonts&amp;#039;, &amp;#039;style&amp;#039;, &amp;#039;js&amp;#039;], &amp;#039;hugo&amp;#039;, &amp;#039;live&amp;#039;, &amp;#039;watch&amp;#039;, function() {&lt;br /&gt;
  return runSequence(&amp;#039;clear&amp;#039;, [&amp;#039;style&amp;#039;, &amp;#039;js&amp;#039;], &amp;#039;hugo&amp;#039;, &amp;#039;live&amp;#039;, &amp;#039;watch&amp;#039;, function() {&lt;br /&gt;
    console.log(&amp;#039;Сборка сайта завершена.\nВключено автоматическое обновление окна браузера.&amp;#039;);&lt;br /&gt;
  });&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
&lt;br /&gt;
* [[Hugo]]&lt;br /&gt;
* [[Gulp]]&lt;br /&gt;
* [http://holtcode.blogspot.com/2016/03/static-website-generation-with-hugo-and.html Holt Code: Static website generation with Hugo &amp;amp; Gulp]&lt;br /&gt;
* https://github.com/jbrodriguez/hugulp&lt;br /&gt;
* https://github.com/bep/hugo-gulp/blob/master/tasks.js&lt;br /&gt;
&lt;br /&gt;
[[Категория:Hugo]]&lt;br /&gt;
[[Категория:Gulp]]&lt;br /&gt;
[[Категория:Sass]]&lt;/div&gt;</summary>
		<author><name>Romych</name></author>
	</entry>
</feed>