2015-08-08 11 views
5

Non sono sicuro che grunt possa farlo. Ho due compiti da grunt che voglio correre. Il primo compito è creare un post fittizio e il secondo è eseguire l'attività penthouse in css in linea. Qualsiasi modo hacky è il benvenuto.Come ottenere l'output di feed di un'attività grunt in un'altra attività grunt?

Questa è l'attività exec che devo eseguire per creare un post di blog in 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. 
      } 

     } 
    }, 

L'uscita è l'URL che il post sul blog è stato creato e non ho questo compito penthouse a correre, che ho bisogno di alimentare l'url che questo compito sarà cercare di ottenere tutti i css above-the-fold.

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 
     } 
    }, 

Il modo hacky mi viene in mente è quello di salvare il fuori in un file e leggere che nel penthouse compito, ma penso che ci sia deve essere un modo migliore per fare questo.

Grazie mille.

risposta

3

È possibile utilizzare grunt.config.set per impostare direttamente il valore (o ad un'altra proprietà e utilizzarlo con grunt.template se è necessario utilizzare il valore più volte.)

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); 
     } 

    } 
}, 
Problemi correlati