diff --git a/cmd/build/data_source.go b/cmd/build/data_source.go index 4c6615e2..5f80a900 100644 --- a/cmd/build/data_source.go +++ b/cmd/build/data_source.go @@ -61,6 +61,7 @@ type content struct { type env struct { local string baseurl string + fingerprint string entrypointHTML string entrypointJS string cms cms @@ -85,6 +86,7 @@ func DataSource(buildPath string, spaPath string, siteConfig readers.SiteConfig) env := env{ local: strconv.FormatBool(Local), baseurl: siteConfig.BaseURL, + fingerprint: siteConfig.Fingerprint, entrypointHTML: siteConfig.EntryPointHTML, entrypointJS: siteConfig.EntryPointJS, cms: cms{ @@ -98,6 +100,7 @@ func DataSource(buildPath string, spaPath string, siteConfig readers.SiteConfig) // Create env magic prop. envStr := "export let env = { local: " + env.local + ", baseurl: '" + env.baseurl + + "', fingerprint: '" + env.fingerprint + "', entrypointHTML: '" + env.entrypointHTML + "', entrypointJS: '" + env.entrypointJS + "', cms: { repo: '" + env.cms.repo + @@ -453,6 +456,7 @@ func createProps(currentContent content, allContentStr string, env env) error { ", shadowContent: {}"+ ", env: {local: "+env.local+ ", baseurl: '"+env.baseurl+ + "', fingerprint: '"+env.fingerprint+ "', entrypointJS: '"+env.entrypointJS+ "', cms: { repo: '"+env.cms.repo+ "', redirectUrl: '"+env.cms.redirectUrl+ diff --git a/cmd/serve/watcher.go b/cmd/serve/watcher.go index 9fc8e6c4..2172ec4a 100644 --- a/cmd/serve/watcher.go +++ b/cmd/serve/watcher.go @@ -82,8 +82,9 @@ func (w *watcher) watch(buildPath string, Build buildFunc) { case <-timer.C: fmt.Println("Change detected, rebuilding site") // TODO: cancel build if new change is made before finishing - err := Build() - if err == nil && build.Doreload { + Build() + // Check for live-reload flag + if build.Doreload { reloadC <- struct{}{} } diff --git a/defaults/starters/bare/layouts/global/head.svelte b/defaults/starters/bare/layouts/global/head.svelte index 9ab57528..bbe12233 100755 --- a/defaults/starters/bare/layouts/global/head.svelte +++ b/defaults/starters/bare/layouts/global/head.svelte @@ -8,8 +8,8 @@ { title } - + - + diff --git a/defaults/starters/bare/plenti.json b/defaults/starters/bare/plenti.json index f3c4995d..b5425aca 100755 --- a/defaults/starters/bare/plenti.json +++ b/defaults/starters/bare/plenti.json @@ -1,6 +1,5 @@ { "build": "public", - "entrypoint_js": ":fingerprint", "local": { "port": 3000 } diff --git a/defaults/starters/learner/layouts/global/head.svelte b/defaults/starters/learner/layouts/global/head.svelte index 47f0397d..f0a94ebf 100755 --- a/defaults/starters/learner/layouts/global/head.svelte +++ b/defaults/starters/learner/layouts/global/head.svelte @@ -9,10 +9,10 @@ { title } - + - + diff --git a/defaults/starters/learner/plenti.json b/defaults/starters/learner/plenti.json index f7a92ee8..c31d2dab 100755 --- a/defaults/starters/learner/plenti.json +++ b/defaults/starters/learner/plenti.json @@ -6,7 +6,7 @@ "baseurl": "/", "build": "public", "entrypoint_html": "global/html.svelte", - "entrypoint_js": ":fingerprint", + "entrypoint_js": "custom-spa-folder", "local": { "port": 3000 }, diff --git a/readers/site_config.go b/readers/site_config.go index a5fead10..a0171dbe 100644 --- a/readers/site_config.go +++ b/readers/site_config.go @@ -14,6 +14,7 @@ import ( // SiteConfig is the site's configuration file values. type SiteConfig struct { + Fingerprint string BuildDir string `json:"build"` BaseURL string `json:"baseurl"` Theme string `json:"theme"` @@ -87,11 +88,13 @@ func GetSiteConfig(basePath string) (SiteConfig, string) { siteConfig.EntryPointHTML = "global/html.svelte" } + // Generate a new random string + siteConfig.Fingerprint = createRandomString() + if siteConfig.EntryPointJS == "" { siteConfig.EntryPointJS = "spa" } else if siteConfig.EntryPointJS == ":fingerprint" { - // Generate a new random string - siteConfig.EntryPointJS = createRandomString() + siteConfig.EntryPointJS = siteConfig.Fingerprint } return siteConfig, configPath