It has been a weekend in the spirit of headless Drupal, front-end optimizations and server side hacks. The result is I updated my blog to Drupal 8. Since you are reading this, it must mean it is live.
First let's start with the cold facts (almost chronologically ordered by request lifetime):
Other front-end technologies used that does not directly relate to the request itself:
Yeah, that's mostly just a novelty act. There is no real gain there. Quite the opposite, I have added some hacks to get around some limitations.
HHVM does not work very well with logged in users right now, but works alright for serving anonymous content.When I reload and look at the source code, there is no css loading. WAT?
Yeah, I am just assuming you remember the styles from last page load. Also, I have made it an image to have a 1 HTTP request CMS, right?No, really. How does that work?
The real magic is happening by checking if you as a user already have downloaded my page earlier. If you have, I don't need to serve you css, as far as I am concerned. You should have saved that last time, so I just take care of that.OK, so you use a cookie and save css in localstorage. Does that not screw with the varnish cache
Good question. I have some logic to internally rewrite the cached pages with a key to the same varnish hash. This way, all users trying to look at a css-less page with the css stored in localstorage will be served the same page, and php will not get touched.What a great idea!
Really? Are you really sure you have thought of all the limitations? Because they are many. But seeing as this is my personal tech blog, and I like to experiment, it went live anyway.Give us the code!
And since I am feeling pretty bad ass right now, let's end with Clint Eastwood as an animated gif.Tags:
Now travis fails probably due to missing QA tools https://travis-ci.org/build2be/php-grade/jobs/30972914