【发布时间】:2016-03-29 12:34:18
【问题描述】:
我需要制作简单的 html 页面,比如图标样式表。
Gulp task 'iconfont' 使用以下代码从 svg 图标生成字形字体:
gulp.task('iconfont', function(){
return gulp.src(['assets/svg/*.svg'])
.pipe(iconfontCss({
fontName: 'my-icons',
cssClass: 'icon',
path: 'conf/icon-font.scss',
targetPath: '../../scss/layout/_icon-font.scss',
fontPath: '../fonts/'
}))
.pipe(iconfont({
fontName: 'my-icons',
prependUnicode: false,
formats: ['ttf', 'eot', 'woff'],
normalize: true,
centerHorizontally: true
}))
.on('glyphs', function(glyphs, options) {
// CSS templating, e.g.
console.log(glyphs, options);
})
.pipe(gulp.dest('assets/fonts/'));
});
并生成带有类的 .icon-font scss 文件:
.icon-calendar {
@include icon(calendar);
}
.icon-circle {
@include icon(circle);
}
.icon-sun {
@include icon(sun);
}
.icon-home {
@include icon(home);
}
是否可以生成简单的 html 页面,包含具有这些类名的元素:
<i class="icon-calendar">.icon-calendar</i>
<i class="icon-circle">.icon-circle</i>
<i class="icon-sun">.icon-sun</i>
<i class="icon-home">.icon-home</i>
【问题讨论】:
-
是的,只需读取生成的css,解析并生成一个新的html文件。使用
fs节点模块读取,gulp-wrapnpmjs.com/package/gulp-wrap从模板生成html -
您可以使用具有 gulp 插件的模板引擎(车把等),然后只需为类名创建一个带有占位符的模板。您只需要动态计算出这些逻辑。
标签: javascript html gulp glyph icon-fonts