Just made a small CSS fix to my theme. Ran grunt build and it:
formatted all my code to WordPress standards
added correct text domain to all __() and _e() calls
generated POT file
compressed all images
generated .css files from .less (with map file for chrome live editing)
added style.css header with current theme details and updated version number
looped through all my custom theme-plugins/*, formatted code, text domain, POT, plugin headers, then zipped up each plugin into a theme plugins/ folder ready for TGM activation
set the TGM plugin activation array based on settings in a theme.json file
saved the change log to the theme.json file for later parsing (documentation / description)
built the updated documentation from a mustache template (with new version number and change log) and pushed to gh-pages hosting
built the updated item description from a mustache template (with new version number and change log) and saved to HTML file ready for manual item submission.
zipped up final WordPress theme into a theme-version.zip file
zipped up final WordPress theme, photoshop files, documentation and other resources into a full-download-version.zip file
added a āVersion xyz - Dateā overlay to the item graphic
zipped up new screenshots including the updated item graphic with version number
uploaded all these zip files to Envato FTP
notifies me when upload is complete so I can login, paste the updated item description, select the zip files and submit for approval.
Good stuff, though iām using Gulp instead of Grunt.
Iām also running Python to help me bundle all things up, for example to create placeholders very very fast
I just started learning Grunt over the last few days and wow very powerful. Most of the items on your list I have been curious if Grunt could handle, but not sure where to start.
Would you mind posting in the Gruntfile.js you are using for this setup so we could have a look at the grunt plugins and configuration you are using for this automation.
I was using similar workflow to zip and deploy zip to envato ftp but problem with grunt zip plugin is many times it generates corrupted zip files and one time I had accidently loaded the main corrupted zip. So be sure to check zip before loading
My grunt file is 961 lines long and contains quite a lot of tricks dependant on my dev environment. Iāll try to work up a little example that is worth sharing.