Replaced publish.py with Grunt.