Add in offline templating and a bit of JS