// Compile or copy in our assets from src into the public assets folder, for use by the app func setupAssets(server *server.Server) { defer server.Timef("#info Finished loading assets in %s", time.Now()) // Compilation of assets is done on deploy // We just load them here assetsCompiled := server.ConfigBool("assets_compiled") appAssets = assets.New(assetsCompiled) // Load asset details from json file on each run err := appAssets.Load() if err != nil { // Compile assets for the first time server.Logf("#info Compiling assets") err := appAssets.Compile("src", "public") if err != nil { server.Fatalf("#error compiling assets %s", err) } } // Set up helpers which are aware of fingerprinted assets // These behave differently depending on the compile flag above // when compile is set to no, they use precompiled assets // otherwise they serve all files in a group separately view.Helpers["style"] = appAssets.StyleLink view.Helpers["script"] = appAssets.ScriptLink }
// buildAssets compiles the app assets before a deploy, so that they're available for production use func buildAssets() { log.Printf("Compiling assets...") err := assets.New(true).Compile("src", "public") if err != nil { log.Fatalf("#error compiling assets %s", err) } }