You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Trigger wp scss to compile based on URL trigger (webhook) #48
I have a quick question, we have a deployment system that updates the scss files on our server. We have noticed that doing this sometimes the CSS is not generated therefore want to be able to trigger this plugin to run post deployment.
The easiest thing I can see to do is for our deployment system to hit a URL that then triggers the plugin but I am unsure how to achieve this. Any guidance you could give would be ace!
+1 on this. I am going to try to code a solution like this tonight ... I want to keep the plugin inactive at all times and then just be able to manually click on a link or button to recompile the CSS after an update to the SCSS is made.
Okay. What I decided to do is just wrap all the code in "wp-scss.php" in a URL activated conditional.
Specifically, if ($_GET['compress'] == 'scss') { all code here }
This way you can just leave the plugin activated on your live site all the time but it won't load any of the SCSS plugin code unnecessarily for all your visitors. Then when you make some changes and want to view them you can just visit your homepage and append mysite.com/?compress=scss and it will activate the code and compile it.
It's a hack. And I did have to modify the plugin but it works and solved my issue.
Hey @ReessKennedy, thanks for the feedback. I like the idea of creating a URL that can trigger the compile, like a webhook. That would especially come in handy if we added an option to only compile scss manually (along with adding a compile button to the dashboard).
Would anyone else be interested in this?
Reacted by Ben Huson, Dmitri Bostan, Phil Cook, Justin and Skylar Bolton
@brrn Yep, it would be handy so it could be triggered like a webhook. Some deploy tools allow you to trigger a URL after deploying code if your hosting only supports FTP (not SSH) so being able to recompile the SCSS after a deploy would be useful.
@dmbostan Sorry for the delay man. If you haven't figured it out, you can just open up the wp-scss.php file and then just wrap all the code with this
`if ($_GET['compress'] == 'scss') {
Plugin code goes here ... .
}`
Then whenever you want to update the .CSS you can just visit any page on site and add ?compress=scss. (Or you can change the trigger to any variable / keyword Budug, for security.)
You'll no longer be able to see the plugin options page with this so you have to set those settings first.
You probably don't have to wrap the entire page with brackets but I didn't want to waste any time looking at what to hone in on and knew this would work just as good.
@ReessKennedy@dmbostan Here's how I got this working. Wanted to regenerate the stylesheets whenever I saved an SCSS file within the AceIDE editor. Took quite a bit of debugging to find the correct hooks, but it's actually incredibly simple in the end:
// functions.php - Integration between AceIDE save event and regenerating WP-SCSS files
function mx_compile_wpscss_on_aceide_save()
{
if ( (class_exists('AceIDE\Editor\IDE')) && (class_exists('Wp_Scss')) )
{
add_action('shutdown', 'wp_scss_needs_compiling');
}
}
add_action('wp_ajax_aceide_save_file', 'mx_compile_wpscss_on_aceide_save');
Really, all you need to do is pick a place to add the wp_scss_needs_compiling function to the shutdown hook, and it'll take care of the rest.
Activity
tomandersen commentedon Jun 23, 2016
Agreed - it would be nice to be able to do this. I wonder if changing the 'Compiling mode' will do it.
ReessKennedy commentedon Jan 6, 2017
+1 on this. I am going to try to code a solution like this tonight ... I want to keep the plugin inactive at all times and then just be able to manually click on a link or button to recompile the CSS after an update to the SCSS is made.
ReessKennedy commentedon Jan 7, 2017
Okay. What I decided to do is just wrap all the code in "wp-scss.php" in a URL activated conditional.
Specifically, if ($_GET['compress'] == 'scss') { all code here }
This way you can just leave the plugin activated on your live site all the time but it won't load any of the SCSS plugin code unnecessarily for all your visitors. Then when you make some changes and want to view them you can just visit your homepage and append mysite.com/?compress=scss and it will activate the code and compile it.
It's a hack. And I did have to modify the plugin but it works and solved my issue.
brrn commentedon Jan 9, 2017
Hey @ReessKennedy, thanks for the feedback. I like the idea of creating a URL that can trigger the compile, like a webhook. That would especially come in handy if we added an option to only compile scss manually (along with adding a compile button to the dashboard).
Would anyone else be interested in this?
benhuson commentedon Jan 9, 2017
@brrn Yep, it would be handy so it could be triggered like a webhook. Some deploy tools allow you to trigger a URL after deploying code if your hosting only supports FTP (not SSH) so being able to recompile the SCSS after a deploy would be useful.
dmbostan commentedon Jan 10, 2017
@brrn hell, yeah! Any ETA on this ?
dmbostan commentedon Jan 11, 2017
@ReessKennedy can you share the code if possible? I don't quite get it.
ReessKennedy commentedon Feb 2, 2017
@dmbostan Sorry for the delay man. If you haven't figured it out, you can just open up the wp-scss.php file and then just wrap all the code with this
`if ($_GET['compress'] == 'scss') {
Plugin code goes here ... .
}`
Then whenever you want to update the .CSS you can just visit any page on site and add ?compress=scss. (Or you can change the trigger to any variable / keyword Budug, for security.)
You'll no longer be able to see the plugin options page with this so you have to set those settings first.
You probably don't have to wrap the entire page with brackets but I didn't want to waste any time looking at what to hone in on and knew this would work just as good.
dmbostan commentedon Feb 2, 2017
@ReessKennedy thanks! Will give it a try.
primathon commentedon Dec 8, 2017
@ReessKennedy @dmbostan Here's how I got this working. Wanted to regenerate the stylesheets whenever I saved an SCSS file within the AceIDE editor. Took quite a bit of debugging to find the correct hooks, but it's actually incredibly simple in the end:
Really, all you need to do is pick a place to add the
wp_scss_needs_compilingfunction to theshutdownhook, and it'll take care of the rest.[-]How to trigger wp scss[/-][+]Trigger wp scss to compile based on URL trigger (webhook)[/+]