<commit_before>/**
 * config.js
 * @exports {Object} - Configuration for Gulp Tasks
 */
const BrowserSync = require('browser-sync');

/**
 * Sets the target path for the build
 * @type {String}
 */
const destinationPath = 'public';

/**
 * Sets the target path for static assets (scripts, styles, images, svg)
 * @type {String}
 */
const assetPath = `${destinationPath}/static`;

/**
 * Source path of the site template
 * @type {String}
 */
const sourcePath = 'src';

/**
 * Host that BrowserSync serves from
 * @type {String}
 */
const host = 'localhost';

/**
 * Port that BrowserSync serves from
 * @type {Number}
 */
const port = process.env.PORT || 3000;

/**
 * BrowserSync Config
 * `options` will be passed to BrowserSync instance
 * task: `tasks/watch.js` (other tasks may use browserSync instance)
 * @type {Object}
 */
const browserSync = {
  instance: BrowserSync.create(),
  settings: {
    files: false,
    host,
    notify: false,
    port,
    server: destinationPath,
  },
};

/**
 * Copy Config
 * each bundle should be set up as an object with `sourcePath` & `destinationPath`. Globbing supported
 * task: `tasks/copy.js`
 * @type {Object}
 */
const copy = {
  // each bundle is an object consisting of source-glob and destination-path
  bundles: [
    {
      sourcePath: `${sourcePath}/webfonts/*.{ttf,woff,woff2}`,
      destinationPath: `${assetPath}/styles/webfonts`,
    },
    {
      sourcePath: `${sourcePath}/*.*`,
      destinationPath,
    },
  ],
};

/**
 * Hugo Config
 * Task: `tasks/hugo.js`
 * @type {Object}
 */
const hugo = {
  devHost: `http://${host}`,
  destinationPath,
  sourcePath: 'hugo',
  port,
  watch: ['hugo/**', `${sourcePath}/layouts/**/*.html`],
};

/**
 * Images Config
 * `options` will be passed to imagemin
 * Task: `tasks/images.js`
 * @type {Object}
 */
const images = {
  sourcePath: `${sourcePath}/images/**/*.{jpg,jpeg,png,gif}`,
  destinationPath: `${assetPath}/images`,<commit_msg>Improve Hugo watch dirs<commit_after>/**
 * config.js
 * @exports {Object} - Configuration for Gulp Tasks
 */
const BrowserSync = require('browser-sync');

/**
 * Sets the target path for the build
 * @type {String}
 */
const destinationPath = 'public';

/**
 * Sets the target path for static assets (scripts, styles, images, svg)
 * @type {String}
 */
const assetPath = `${destinationPath}/static`;

/**
 * Source path of the site template
 * @type {String}
 */
const sourcePath = 'src';

/**
 * Host that BrowserSync serves from
 * @type {String}
 */
const host = 'localhost';

/**
 * Port that BrowserSync serves from
 * @type {Number}
 */
const port = process.env.PORT || 3000;

/**
 * BrowserSync Config
 * `options` will be passed to BrowserSync instance
 * task: `tasks/watch.js` (other tasks may use browserSync instance)
 * @type {Object}
 */
const browserSync = {
  instance: BrowserSync.create(),
  settings: {
    files: false,
    host,
    notify: false,
    port,
    server: destinationPath,
  },
};

/**
 * Copy Config
 * each bundle should be set up as an object with `sourcePath` & `destinationPath`. Globbing supported
 * task: `tasks/copy.js`
 * @type {Object}
 */
const copy = {
  // each bundle is an object consisting of source-glob and destination-path
  bundles: [
    {
      sourcePath: `${sourcePath}/webfonts/*.{ttf,woff,woff2}`,
      destinationPath: `${assetPath}/styles/webfonts`,
    },
    {
      sourcePath: `${sourcePath}/*.*`,
      destinationPath,
    },
  ],
};

/**
 * Hugo Config
 * Task: `tasks/hugo.js`
 * @type {Object}
 */
const hugo = {
  devHost: `http://${host}`,
  destinationPath,
  sourcePath: 'hugo',
  port,
  watch: ['hugo/content/**', 'hugo/data/**', 'hugo/config.yaml', `${sourcePath}/layouts/**/*.html`]
};

/**
 * Images Config
 * `options` will be passed to imagemin
 * Task: `tasks/images.js`
 * @type {Object}
 */
const images = {
  sourcePath: `${sourcePath}/images/**/*.{jpg,jpeg,png,gif}`,
  destinationPath: `${assetPath}/images`,
{'fraction_non_alphanumeric': 0.16924246262984546, 'fraction_numerical': 0.002533569799847986, 'mean_word_length': 3.4013377926421406, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4298884', 'n_tokens_mistral': 1300, 'n_tokens_neox': 1288, 'n_words': 360}