2015-08-08 42 views
5

我不确定咕噜声是否可以做到这一点。我有两个想要运行的咕噜声。第一个任务是创建一个模拟帖子,第二个任务是运行penthouse任务来内联css。任何hacky的方式是受欢迎的。如何将咕噜任务的Feed输出获取到另一个咕噜任务?

这是exec任务,我必须运行它才能在WordPress中创建博客文章。

exec: { 
     create_mock: { 
      cmd: 'cd ~/MyProjects/project/vip-quickstart && vagrant ssh -c \'sh /srv/www/wp-content/themes/vip/the-theme/bin/mock-post.sh\'', 
      callback: function(err, stdout, stderr) { 
       grunt.log.write('stdout: ' + stdout); // This is the url of the created post. 
      } 

     } 
    }, 

输出是博客的帖子被创建的URL,我有这个penthouse任务运行,我需要在URL中,这个任务将寻求获得上述所有的倍css来养活。

penthouse: { 
     singular: { 
      outfile: 'assets/css/inline/_singular.css', 
      css: 'assets/css/theme.css', 
      minify: true, 
      url: $URL, // << I want to feed in the url from the previous task to here. 
      width: 1300, 
      height: 900 
     } 
    }, 

我能想到的哈克的方式是到了保存到文件和读取,在penthouse的任务,但我觉得有必须是一个更好的方式来做到这一点。

非常感谢。

回答

3

您可以使用grunt.config.set直接设置值(或其他财产,并使用它与grunt.template,如果你需要多次使用的值。)

exec: { 
    create_mock: { 
     cmd: 'cd ~/MyProjects/project/vip-quickstart && vagrant ssh -c \'sh /srv/www/wp-content/themes/vip/the-theme/bin/mock-post.sh\'', 
     callback: function(err, stdout, stderr) { 
      grunt.config.set("penthouse.singular.url", stdout); 
     } 

    } 
},