Esempio n. 1
0
glob(SRC, function(error, files) {
  webfontsGenerator({
    files: files,
    dest: path.resolve('./assets/fonts'),
    fontName: 'rfont',
    css: true,
    cssDest: path.resolve('./assets/fonts/rfont.css'),
    cssFontsUrl: ASSET_PATH + '/fonts',
    html: true,
    types: ['svg', 'ttf', 'woff', 'eot'],
    normalize: true,
  });
});
Esempio n. 2
0
  grunt.registerTask('generate-font', function() {
    var done = this.async();

    let webfontsGenerator = require('webfonts-generator');
    let iconConfig = require('../icons.json');
    let svgRootDir = iconConfig['root-dir'];
    let icons = iconConfig.icons;

    let iconFiles = icons.map(function(icon) {
      // If root-dir is specified for a specific icon, use that.
      if (icon['root-dir']) {
        return icon['root-dir'] + icon.svg;
      }

      // Otherwise, use the default root-dir.
      return svgRootDir + icon.svg;
    });

    webfontsGenerator({
      files: iconFiles,
      dest: 'fonts/',
      fontName: iconConfig['font-name'],
      cssDest: 'scss/_icons.scss',
      cssTemplate: './templates/scss.hbs',
      htmlDest: 'index.html',
      htmlTemplate: './templates/html.hbs',
      html: true,
      rename: function(iconPath) {
        let fileName = path.basename(iconPath);

        let iconName = _.result(_.find(icons, function(icon) {
          let svgName = path.basename(icon.svg);

          return svgName === fileName;
        }), 'name');

        return iconName;
      },
      types: ['svg', 'ttf', 'woff', 'eot']
    }, function(error) {
      if (error) {
        console.error(error);
        done(false);
      }

      done();
    });

  });
Esempio n. 3
0
fs.readdir(folder, (err, files) => {
	const paths = files.map(file => folder + file);

	webfontsGenerator({
		files: paths,
		dest: `${config.dist}/assets/fonts`,
		cssDest: `${config.src}/assets/css/_icons.scss`,
		cssTemplate: './webfonts.hbs',
		cssFontsUrl: '../fonts',
		types: ['eot', 'woff2', 'woff', 'ttf', 'svg'],
		normalize: true,
		fontHeight: 1001,
		templateOptions: {
			classPrefix: 'icon',
			baseSelector: '.icon'
		}
	}, function(error) {
		error ? console.log('Fail!', error) : console.log('Done!');
	});
});
Esempio n. 4
0
  grunt.registerTask('generate-font', function() {
    var done = this.async();

    let webfontsGenerator = require('webfonts-generator');
    let iconConfig = grunt.file.readJSON(path.join(__dirname, '..', 'icons.json'));

    let svgRootDir = iconConfig['root-dir'];
    if (grunt.option('exclude-default')) {
      // Exclude default video.js icons
      iconConfig.icons = [];
    }
    let icons = iconConfig.icons;

    // Index default icons
    for (let i = 0; i < icons.length; i++) {
      iconsIndex.push(icons[i].name);
    }

    // Merge custom icons
    const paths = (grunt.option('custom-json') || '').split(',').filter(Boolean);
    for (let i = 0; i < paths.length; i++) {
      let customConfig = grunt.file.readJSON(path.resolve(process.cwd(), paths[i]));
      iconConfig = merge(iconConfig, customConfig);
    }

    icons = iconConfig.icons;

    let iconFiles = icons.map(function(icon) {
      // If root-dir is specified for a specific icon, use that.
      if (icon['root-dir']) {
        return icon['root-dir'] + icon.svg;
      }

      // Otherwise, use the default root-dir.
      return svgRootDir + icon.svg;
    });

    webfontsGenerator({
      files: iconFiles,
      dest: 'fonts/',
      fontName: iconConfig['font-name'],
      cssDest: 'scss/_icons.scss',
      cssTemplate: './templates/scss.hbs',
      htmlDest: 'index.html',
      htmlTemplate: './templates/html.hbs',
      html: true,
      rename: function(iconPath) {
        let fileName = path.basename(iconPath);

        let iconName = _.result(_.find(icons, function(icon) {
          let svgName = path.basename(icon.svg);

          return svgName === fileName;
        }), 'name');

        return iconName;
      },
      types: ['svg', 'woff', 'ttf']
    }, function(error) {
      if (error) {
        console.error(error);
        done(false);
      }

      done();
    });

  });