Grunt / Assemble - 输出html缩小

时间:2014-02-18 09:31:50

标签: html gruntjs handlebars.js minify assemble

我正在使用Grunt并汇编为静态网站构建我的HTML页面,我想缩小我的HTML。

所以我认为,对数据集运行把手模板的插件将有一个minify选项。

在Assemble文档中没有提到它; http://assemble.io/docs/Options.html#configuration-options

但是有人提到在把手中辅助缩小文档; https://www.npmjs.org/package/handlebars-helper-minify#-assemble-task-options - 但这没有效果。

我在互联网上找不到任何其他内容,当然这是一个更常见的请求......

grunt.initConfig({
    assemble: {
                options: {
                    assets: '../source',
                    data: ['package.json','data/*.{json,yml}'],
                    partials: 'templates/modules/*.hbs',
                    ext: '.html',
                    helpers: 'templates/helpers/*.js',
                    layout: 'templates/layout/master.hbs',
                    removeHbsWhitespace: true,
                    minify: {
                        removeAttributeQuotes: true,
                        collapseWhitespace: true
                    }
                },
                dev: {
                    options: {
                        production: false
                    },
                    files: [{
                        expand: true,
                        cwd: 'templates/pages',
                        src: ['*.hbs'],
                        dest: '../source'
                    }]
                }
    }
});

2 个答案:

答案 0 :(得分:2)

由Assemble的一位作者查看grunt-prettify。除了项目的README之外,它的一个例子是{Gruntfile中的here

/**
 * Beautify generated HTML to make diffs easier
 */
prettify: {
    tests: {
        options: {ocd: true},
        files: [
            {expand: true, cwd: 'test/actual', src: ['**/*.html'], dest: 'test/actual/', ext: '.html'}
        ]
    }
},
祝你好运

答案 1 :(得分:2)

您需要在Gruntfile

中明确注册{{minify}}帮助器
helpers: ['handlebars-helper-minify', 'templates/helpers/*.js']

或者,尝试在项目的handlebars-helper-minify中将devDependencies模块添加到keywordspackage.json

{
  "devDependencies": {
    "handlebars-helper-minify": "~0.1.1"
  },
  "keywords": [
    "handlebars-helper-minify"
  ]
}

master.hbs版面中,请使用{{minify}}包装,例如:

{{#minify}}
  {{> header }}
  {{> body }}
  {{> footer }}
{{/minify}}